:root{--bg:#f4f5f7;--surface:#fff;--ink:#16202c;--ink-soft:#55636f;--line:#e2e6ea;--accent:#1f5fa8;--accent-soft:#eaf1f9;--meta-bg:#0f2436;--meta-ink:#e7eef5;--meta-ink-soft:#9db2c6;--meta-line:#24425c;--yes:#1a7f4b;--yes-bg:#e2f4ea;--no:#a12f2f;--no-bg:#f7e3e3;--p1:#1f5fa8;--p1-bg:#e4eefa;--p2:#7a4bb8;--p2-bg:#efe7f8;--p3:#8a6d1f;--p3-bg:#f6efd8;--none:#5a6a78;--none-bg:#e8ecef;--radius:12px;--shadow:0 1px 2px rgba(16,32,46,.06), 0 6px 20px rgba(16,32,46,.06);font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}code{font-family:SFMono-Regular,JetBrains Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.85em}a{color:var(--accent)}.page{max-width:940px;margin:0 auto;padding:2.5rem 1.25rem 4rem}.page__eyebrow{letter-spacing:.28em;color:var(--accent);margin:0 0 .4rem;font-size:.72rem;font-weight:700}.page__header h1{letter-spacing:-.01em;margin:0 0 .6rem;font-size:1.9rem;line-height:1.2}.page__tagline{max-width:60ch;color:var(--ink-soft);margin:0 0 2rem;font-size:1.02rem}.page__footer{border-top:1px solid var(--line);color:var(--ink-soft);margin-top:2.5rem;padding-top:1.25rem;font-size:.86rem}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.75rem;overflow:hidden}.panel__header{padding:1.1rem 1.4rem .6rem}.panel__header h2{letter-spacing:-.01em;margin:0;font-size:1.2rem}.panel__body{padding:.4rem 1.4rem 1.5rem}.meta-card{background:var(--meta-bg);color:var(--meta-ink);border-radius:10px;margin:0 1.4rem 1.2rem;padding:1rem 1.15rem 1.1rem}.meta-card__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.9rem;display:flex}.meta-card__source{letter-spacing:.01em;font-size:1.05rem;font-weight:700}.meta-card__source a{color:#fff;text-decoration:none}.meta-card__source a:hover{text-decoration:underline}.meta-card__grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.7rem 1.1rem;margin:0 0 .85rem;display:grid}.meta-card__cell dt{text-transform:uppercase;letter-spacing:.13em;color:var(--meta-ink-soft);margin-bottom:.15rem;font-size:.66rem}.meta-card__cell dd{margin:0;font-size:.9rem;font-weight:500}.meta-card__pills{flex-wrap:wrap;gap:.5rem;margin-bottom:.85rem;display:flex}.meta-card__limits{border-top:1px solid var(--meta-line);color:var(--meta-ink-soft);margin:0;padding-top:.8rem;font-size:.86rem}.meta-card__limits-label{text-transform:uppercase;letter-spacing:.13em;color:var(--meta-ink);margin-right:.5rem;font-size:.64rem;font-weight:700;display:inline-block}.pill{white-space:nowrap;border-radius:999px;padding:.22rem .6rem;font-size:.74rem;font-weight:600;display:inline-block}.pill--yes{background:var(--yes-bg);color:var(--yes)}.pill--no{background:var(--no-bg);color:var(--no)}.esap.esap--p1{background:var(--p1-bg);color:var(--p1)}.esap.esap--p2{background:var(--p2-bg);color:var(--p2)}.esap.esap--p3{background:var(--p3-bg);color:var(--p3)}.esap.esap--none{background:var(--none-bg);color:var(--none)}.identity__name{margin:.2rem 0 1rem;font-size:1.35rem;font-weight:700}.kv-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem 1.5rem;margin:0;display:grid}.kv dt{text-transform:uppercase;letter-spacing:.11em;color:var(--ink-soft);margin-bottom:.15rem;font-size:.66rem}.kv dd{margin:0;font-size:.96rem;font-weight:500}.fin__scroll{overflow-x:auto}.fin{border-collapse:collapse;width:100%;font-size:.92rem}.fin thead th{text-align:right;border-bottom:2px solid var(--line);color:var(--ink-soft);white-space:nowrap;padding:.5rem .7rem;font-size:.78rem}.fin thead th.rowhead{text-align:left}.fin tbody td,.fin tbody th{border-bottom:1px solid var(--line);padding:.6rem .7rem}.fin .rowhead{text-align:left;flex-direction:column;gap:.15rem;font-weight:600;display:flex}.rowhead__tag{color:var(--accent);background:var(--accent-soft);border-radius:4px;align-self:flex-start;padding:.05rem .35rem;font-size:.72rem}.fin .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.fin__note{color:var(--ink-soft);margin:.9rem 0 0;font-size:.82rem}.notice{background:var(--accent-soft);color:var(--ink);border:1px solid #cfe0f2;border-radius:8px;margin:.5rem 1.4rem 1rem;padding:.85rem 1rem;font-size:.9rem}.panel__body>.notice{margin-left:0;margin-right:0}.notice--detail{background:var(--none-bg);border-color:var(--line);color:var(--ink-soft);font-size:.82rem}.panel--missing{opacity:.95}.pagenav{margin-top:.6rem}.pagenav a{font-size:.9rem;font-weight:600;text-decoration:none}.pagenav a:hover{text-decoration:underline}.toolbar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.75rem;padding:.75rem 1rem;display:flex}.btn{background:var(--accent);color:#fff;white-space:nowrap;border-radius:8px;padding:.55rem .95rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-block}.btn:hover{filter:brightness(1.08)}.switcher{flex-wrap:wrap;flex:auto;align-items:center;gap:.85rem;min-width:0;display:flex}.switcher__label{text-transform:uppercase;letter-spacing:.13em;color:var(--ink-soft);white-space:nowrap;font-size:.66rem;font-weight:700}.switcher__chips{flex-wrap:wrap;gap:.4rem;display:flex}.chip{color:var(--ink);background:var(--accent-soft);border:1px solid transparent;border-radius:999px;padding:.3rem .7rem;font-size:.85rem;font-weight:500;text-decoration:none;display:inline-block}.chip:hover{border-color:var(--accent)}.chip--active{background:var(--accent);color:#fff;font-weight:600}.sitenav{z-index:20;background:color-mix(in srgb, var(--surface) 88%, transparent);backdrop-filter:saturate(1.4)blur(8px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1.5rem;display:flex;position:sticky;top:0}.sitenav__brand{letter-spacing:.02em;color:var(--ink);font-size:1.05rem;font-weight:800;text-decoration:none}.sitenav__links{flex-wrap:wrap;gap:1.1rem;display:flex}.sitenav__links a{color:var(--ink-soft);font-size:.9rem;font-weight:500;text-decoration:none}.sitenav__links a:hover{color:var(--accent)}.hero{padding:1.5rem 0 2.5rem}.hero h1{letter-spacing:-.02em;max-width:20ch;margin:.4rem 0 .8rem;font-size:2.3rem;line-height:1.12}.hero__lede{max-width:62ch;color:var(--ink-soft);margin:0 0 1.5rem;font-size:1.08rem}.hero__cta{flex-wrap:wrap;gap:.7rem;display:flex}.btn--ghost{color:var(--accent);border:1px solid var(--accent);background:0 0}.btn--ghost:hover{background:var(--accent-soft);filter:none}.section-title{text-transform:uppercase;letter-spacing:.16em;color:var(--ink-soft);margin:0 0 1rem;font-size:.72rem}.gallery{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.ccard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--ink);flex-direction:column;gap:.5rem;padding:1rem 1.1rem;text-decoration:none;transition:border-color .12s,transform .12s;display:flex}.ccard:hover{border-color:var(--accent);transform:translateY(-2px)}.ccard__juris{letter-spacing:.08em;color:var(--accent);background:var(--accent-soft);border-radius:5px;align-self:flex-start;padding:.12rem .45rem;font-size:.68rem;font-weight:700}.ccard__name{font-size:1.05rem;font-weight:700;line-height:1.25}.ccard__avail{flex-direction:column;gap:.2rem;margin-top:auto;display:flex}.ccard__flag{color:var(--ink-soft);align-items:center;gap:.35rem;font-size:.8rem;display:inline-flex}.doc{margin-bottom:2rem}.doc h2{letter-spacing:-.01em;margin:0 0 .6rem;font-size:1.3rem}.prose p{max-width:68ch;color:var(--ink)}.prose .page__tagline{color:var(--ink-soft)}.prose ul{max-width:68ch;padding-left:1.1rem}.prose li{margin:.35rem 0}.phases{max-width:70ch;padding:0;list-style:none}.phases li{border-bottom:1px solid var(--line);align-items:baseline;gap:.75rem;padding:.6rem 0;display:flex}.phases .pill{white-space:nowrap}.src-provides{margin-top:0;font-size:1rem}.src-pills{margin:.4rem 0 .8rem}.src-issues{border-top:1px solid var(--line);color:var(--ink-soft);margin:0;padding-top:.7rem;font-size:.9rem}.src-issues__label{text-transform:uppercase;letter-spacing:.13em;color:var(--ink);margin-right:.5rem;font-size:.62rem;font-weight:700;display:inline-block}.grid__scroll{overflow-x:auto}.grid{border-collapse:collapse;width:100%;font-size:.9rem}.grid th,.grid td{border:1px solid var(--line);padding:.55rem .6rem}.grid thead th{color:var(--ink-soft);vertical-align:bottom;text-align:center;font-size:.72rem}.grid thead th.cat{text-align:left}.grid th.src--integrated{color:var(--accent)}.grid th.src--integrated:after{content:" ●";vertical-align:middle;font-size:.55rem}.grid .cat{text-align:left;max-width:260px}.cat__name{font-weight:600;display:block}.cat__note{color:var(--ink-soft);margin-top:.15rem;font-size:.74rem;font-weight:400;display:block}.grid td.cell{text-align:center}.cell__dot{font-size:1.05rem;line-height:1}.cell--green{background:var(--yes-bg)}.cell--green .cell__dot{color:var(--yes)}.cell--yellow{background:var(--p3-bg)}.cell--yellow .cell__dot{color:var(--p3)}.cell--red{background:var(--no-bg)}.cell--red .cell__dot{color:var(--no)}.cell--na .cell__dot{color:var(--line)}.esapcol{text-align:center;white-space:nowrap}.legend{color:var(--ink-soft);flex-wrap:wrap;gap:1.2rem;margin:1rem 0 0;font-size:.82rem;display:flex}.legend__item{align-items:center;gap:.35rem;display:inline-flex}.dot--green{color:var(--yes)}.dot--yellow{color:var(--p3)}.dot--red{color:var(--no)}.dot--na{color:var(--ink-soft)}.gaps{margin:0;padding-left:1.1rem}.gaps li{margin:.3rem 0}.why-built{margin:.5rem 0 2.75rem}.why-built h2{letter-spacing:-.01em;margin:0 0 .85rem;font-size:1.4rem}.why-built p{max-width:68ch;color:var(--ink-soft);margin:0;font-size:1.02rem}.site-foot{border-top:1px solid var(--line);background:var(--surface);margin-top:3rem}.site-foot__inner{max-width:940px;margin:0 auto;padding:1.75rem 1.25rem 2.5rem}.site-foot__note{max-width:74ch;color:var(--ink-soft);margin:0 0 1.1rem;font-size:.86rem}.creator{flex-wrap:wrap;align-items:center;gap:1.4rem;font-size:.9rem;display:flex}.creator__name{color:var(--ink);font-weight:600}.creator__link{color:var(--accent);align-items:center;gap:.4rem;text-decoration:none;display:inline-flex}.creator__link:hover{text-decoration:underline}.creator__icon{font-size:.95rem}@media (prefers-color-scheme:dark){:root{--bg:#0c1319;--surface:#131c25;--ink:#e7eef5;--ink-soft:#9db2c6;--line:#24313d;--accent:#6ea8e6;--accent-soft:#172a3d;--yes-bg:#10321f;--no-bg:#3a1d1d;--none-bg:#1c2732;--p1-bg:#142a41;--p2-bg:#241a38;--p3-bg:#322a12}.meta-card__source a{color:#fff}.rowhead__tag{background:#172a3d}}