.spec{min-height:100vh;background:var(--ts-surface);color:var(--ts-ink)}.spec-main{max-width:1600px;margin:0 auto;padding:36px 32px}.spec-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.spec-head h1{font-size:1.875rem}.spec-eyebrow,.spec-head p{font-size:.875rem}.spec-eyebrow{letter-spacing:1.5px;color:var(--ts-muted);margin-bottom:10px}.spec-badge{font-size:.875rem;background:var(--ts-surface);padding:8px 12px;border-radius:20px;white-space:nowrap}.spec-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:22px}.spec-metrics>div{padding:20px;background:white;border:1px solid var(--ts-border);border-radius:10px}.spec-metrics strong{font-weight:500;font-size:1.8125rem;display:block}.spec-metrics span{font-size:.875rem;color:var(--ts-muted);display:block;margin-top:7px}.spec-notice{font-size:.875rem;line-height:1.7;padding:15px 18px;background:var(--ts-surface);border:1px solid var(--ts-border);border-radius:8px;margin-bottom:25px}.spec-tabs{display:flex;gap:8px;border-bottom:1px solid var(--ts-border);margin-bottom:22px}.spec-tabs button{padding:13px 18px;font-size:.875rem;border-bottom:2px solid transparent}.spec-tabs button[aria-pressed=true]{color:var(--ts-ink);border-bottom-color:var(--ts-ink);font-weight:600}.spec-filters{display:flex;gap:10px;flex-wrap:wrap}.spec-filters button,.spec-filters input,.spec-filters select{background:#fff;border:1px solid var(--ts-border);border-radius:7px;padding:11px 12px;font-size:.875rem}.spec-filters input{flex:1;min-width:230px}.spec-result{font-size:.875rem;margin:17px 0;color:var(--ts-muted)}.spec-register{background:white;border:1px solid var(--ts-border);border-radius:10px;overflow:hidden}.spec-register details{border-bottom:1px solid var(--ts-border)}.spec-register details:last-child{border:0}.spec-register summary{display:flex;gap:18px;align-items:center;cursor:pointer;padding:17px 20px}.spec-register summary:before{content:">";color:var(--ts-muted);font-size:1.1875rem}.spec-register details[open] summary:before{content:"v"}.spec-register summary code{font-size:.875rem;color:var(--ts-muted);min-width:75px}.spec-register summary strong{font-size:.875rem;font-weight:500;flex:1}.spec-priority,.spec-state{font-size:.875rem;border-radius:5px;padding:5px 8px;background:var(--ts-surface);white-space:nowrap}.spec-priority.P0{background:#fbefdf;color:#9a661e}.spec-priority.P1{background:#eaf0f9;color:#52729b}.spec-priority.P2{background:#f0ebf6;color:#82689b}.spec-state{min-width:85px;text-align:center;color:var(--ts-muted)}.spec-detail{padding:5px 48px 24px;background:var(--ts-canvas);border-top:1px solid var(--ts-border)}.spec-detail h3{text-transform:uppercase;letter-spacing:.7px;margin-top:18px}.spec-detail h3,.spec-detail p{font-size:.875rem;color:var(--ts-muted)}.spec-detail p{max-width:1000px}.spec-detail code{font-size:.875rem;overflow-wrap:anywhere;display:block;margin-top:9px}.spec-detail small{display:block;font-size:.875rem;color:var(--ts-muted);margin-top:20px}.spec-document{width:100%;min-height:500px;border:1px solid var(--ts-border);border-radius:10px;background:white}.spec-empty{padding:45px;text-align:center;font-size:.875rem}.spec-roadmap{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.spec-roadmap section{background:white;border:1px solid var(--ts-border);border-radius:10px;padding:28px}.spec-roadmap h2{font-size:1.375rem;margin-bottom:12px}.spec-roadmap ol{padding-left:22px}.spec-roadmap li{padding:15px 0;font-size:.875rem}.spec-roadmap article{padding:20px 0;border-bottom:1px solid var(--ts-border)}.spec-roadmap h3{font-size:.875rem;margin-bottom:9px}.spec-roadmap article span{font-size:.875rem;color:var(--ts-muted)}.spec button:focus-visible,.spec summary:focus-visible{outline:2px solid var(--ts-ink);outline-offset:-2px}@media(max-width:800px){.spec-main{padding:24px 16px}.spec-metrics{grid-template-columns:repeat(3,1fr)}.spec-head{align-items:flex-start;flex-direction:column}.spec-roadmap{grid-template-columns:1fr}.spec-register summary{gap:8px;flex-wrap:wrap}.spec-register summary strong{min-width:50%}.spec-detail{padding:5px 20px 20px}.spec-tabs button{padding:12px 10px;font-size:.875rem}}body .spec{background:var(--ts-canvas)}body .spec .spec-main{max-width:1560px;padding:24px 40px 40px}.spec .spec-head{margin-bottom:18px}.spec-build-link{font-size:14px;padding:8px 10px;border:1px solid var(--ts-border);border-radius:5px;background:white;color:#087368;white-space:nowrap}.spec-build-link:hover{background:#edf6f2}.spec-counts{display:flex;flex-wrap:wrap;gap:8px 24px;padding:12px 0;border-block:1px solid var(--ts-border);font-size:14px}.spec-counts>div{display:flex;align-items:baseline;gap:8px}.spec-counts dt{color:var(--ts-muted)}.spec-counts dd{margin:0;font-weight:650;font-variant-numeric:tabular-nums}.spec .spec-baseline{font-size:13px;margin:10px 0 14px}.spec-tabs{margin-bottom:16px;gap:4px;flex-wrap:wrap}.spec-tabs button{padding:10px 12px}.spec-filters button,.spec-filters input,.spec-filters select{padding:8px 10px;border-radius:5px}.spec-result{margin:12px 0;font-size:13px}.spec-register summary{padding:12px 16px;gap:12px;min-height:48px}.spec-register summary strong{font-weight:600}.spec-priority,.spec-state{font-size:12px;padding:4px 7px}.spec-detail{padding:4px 42px 18px}.spec-detail h3{font-size:13px;text-transform:none;letter-spacing:0;margin-top:14px}.spec-detail small{font-size:12px;margin-top:12px}.spec-document{height:75vh;min-height:420px;border-radius:6px}.spec .spec-roadmap{gap:20px}.spec .spec-roadmap section{padding:18px 20px;border-radius:6px}.spec-roadmap h2{font-size:18px;margin-bottom:8px}.spec-roadmap li{padding:10px 0;border-bottom:1px solid var(--ts-border)}.spec-roadmap li:last-child{border:0}.spec-roadmap li p{font-size:14px;margin-top:3px}.spec-roadmap article{padding:12px 0}.spec-roadmap h3{margin-bottom:4px}.spec-roadmap article p,.spec-roadmap section>p{font-size:13px}.spec-roadmap a{color:#087368;text-decoration:underline;text-underline-offset:3px}@media(max-width:800px){body .spec .spec-main{padding:20px 16px 32px}.spec .spec-head{flex-direction:row;align-items:center;flex-wrap:wrap;gap:10px}.spec-counts{gap:8px 18px}.spec-filters input{min-width:0;width:100%;flex-basis:100%}.spec-filters select{max-width:100%;flex:1}.spec-detail{padding:4px 16px 16px}.spec-register summary strong{min-width:45%}.spec .spec-roadmap section{padding:16px}.spec-document{height:70vh;min-height:360px}}.spec .spec-head h1{font-size:28px;line-height:1.2;letter-spacing:-.025em}.spec .spec-empty{padding:20px 16px;text-align:left;color:var(--ts-muted)}.spec .spec-roadmap{align-items:start}.spec .spec-roadmap section{border:0;border-top:1px solid var(--ts-border);border-radius:0;background:transparent;padding:16px 0}.spec .spec-detail a{color:var(--ts-accent,#087368);text-decoration:underline;text-underline-offset:3px}.spec .spec-detail code{font-family:inherit;line-height:1.6}.spec .spec-register summary:hover{background:var(--ts-surface)}.spec .spec-tabs button{white-space:nowrap}@media(max-width:800px){.spec .spec-head h1{font-size:25px}.spec .spec-roadmap section{padding:14px 0}.spec .spec-register summary code{min-width:70px}}.spec .spec-head h1{font-size:26px}.spec .spec-register summary{display:grid;grid-template-columns:12px 88px minmax(180px,1fr) 108px 128px;gap:12px;padding:11px 16px}.spec .spec-register summary:before{content:"";display:block;width:6px;height:6px;border-right:1.5px solid;border-bottom:1.5px solid;transform:rotate(-45deg)}.spec .spec-register details[open] summary:before{content:"";transform:rotate(45deg)}.spec .spec-register summary strong{min-width:0;line-height:1.45}.spec .spec-register summary code{min-width:0;font-variant-numeric:tabular-nums}.spec .spec-priority,.spec .spec-state{justify-self:start}.spec .spec-state{min-width:0;text-align:left}.spec .spec-filters{gap:8px}.spec .spec-filters button,.spec .spec-filters input,.spec .spec-filters select{min-height:38px}.spec .spec-tabs{margin-bottom:14px}.spec .spec-detail{padding:2px 16px 16px 128px}.spec .spec-detail p{margin:5px 0}.spec .spec-counts{gap:8px 22px}.spec .spec-counts dd{min-width:1.5ch}@media(max-width:800px){.spec .spec-head h1{font-size:26px}.spec .spec-register summary{grid-template-columns:12px 104px minmax(0,1fr);gap:8px;padding:12px}.spec .spec-register summary strong{min-width:0}.spec .spec-priority{grid-column:2}.spec .spec-state{grid-column:3}.spec .spec-detail{padding:2px 16px 16px}.spec .spec-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.spec .spec-filters input{grid-column:1/-1;width:100%;min-width:0}.spec .spec-filters select{min-width:0;width:100%}.spec .spec-filters button{width:100%}.spec .spec-tabs button{padding:10px 8px}}