/* AIO v15 layer. Palette: #0E7C86 #0A5A61 #08474D(logo) #5FB3B9 #E6F3F4 #0B0F14 #4A5560 #C9D1D6, coral #FF6B4A accent only. */
.skip{position:absolute;left:8px;top:-60px;z-index:100;background:#E6F3F4;color:#0B0F14;padding:12px 16px;border-radius:8px;font-weight:700;text-decoration:none}
.skip:focus{top:8px}
:focus-visible{outline:3px solid #E6F3F4;outline-offset:2px;box-shadow:0 0 0 6px #0E7C86}
a:hover{color:#E6F3F4}
nav.rail .ic svg{width:20px;height:20px;display:block;margin:0 auto 4px}
.menu-btn{display:none}
.vdiv{height:24px;background:url(divider-facet-row.svg) left center/1200px 24px repeat-x;opacity:.9}
.v15tri{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.v15tri .t{transform-box:fill-box;transform-origin:50% 50%}
.vh.v15{height:150px}
@media(min-width:900px){.vh.v15{height:200px}}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:18px 0}
.stat{background:#161C22;border:1px solid #4A5560;border-radius:12px;padding:14px 16px}
.stat b{display:block;font:700 34px "JetBrains Mono",monospace;color:#E6F3F4}
.stat span{font-size:14px;color:#C9D1D6}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:14px 0 24px}
.gal a{display:block;border:1px solid #4A5560;border-radius:12px;overflow:hidden;background:#0B0F14;color:#E6F3F4;text-decoration:none}
.gal img{display:block;width:100%;height:auto;aspect-ratio:1200/630;background:#0A5A61}
.gal span{display:block;padding:10px 12px;font-size:15px;line-height:1.4}
.pcard,.gal a,.stat,.pi li{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.pcard:hover,.gal a:hover,.gal a:focus-visible,.pi li:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(14,124,134,.28);border-color:#0E7C86}
.pf{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin:16px 0;align-items:end}
.pf label{display:block;font:600 13px "JetBrains Mono",monospace;color:#5FB3B9;margin-bottom:6px}
.pf input,.pf select{width:100%;min-height:44px;font:16px Inter,sans-serif;background:#161C22;color:#E6F3F4;border:1px solid #4A5560;border-radius:8px;padding:8px 10px}
.pcount{color:#C9D1D6;font-size:15px;min-height:22px}
.pi{list-style:none;padding:0;margin:8px 0 24px;display:grid;gap:12px}
.pi li{background:#161C22;border:1px solid #4A5560;border-radius:12px;padding:14px 16px}
.pi .m{font:600 13px "JetBrains Mono",monospace;color:#5FB3B9}
.pi h2{font-size:18px;text-transform:none;letter-spacing:0;color:#E6F3F4;margin:6px 0}
.pi h2 a{color:#E6F3F4}
.pi p{margin:4px 0;color:#C9D1D6}
.pi .links a{display:inline-flex;align-items:center;min-height:44px;margin-right:16px}
.tag{display:inline-block;border:1px solid #0E7C86;border-radius:999px;padding:2px 10px;font-size:13px;color:#E6F3F4;margin-right:6px}
html.motion .rv{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
html.motion .rv.in{opacity:1;transform:none}
@keyframes tIn{from{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--r)) scale(.5)}to{opacity:1;transform:none}}
@keyframes tDrift{from{transform:none}to{transform:translate(var(--dx),var(--dy)) rotate(var(--dr))}}
@keyframes tFloat{0%{transform:translate(0,0) rotate(0)}50%{transform:translate(var(--dx),var(--dy)) rotate(180deg)}100%{transform:translate(0,0) rotate(360deg)}}
html.motion .vh.v15{background-image:none}
html.motion .v15tri .t{animation:tIn 1.6s cubic-bezier(.2,.8,.2,1) var(--d) both,tDrift var(--s) ease-in-out calc(var(--d) + 1.6s) infinite alternate}
html.motion .v15tri .p{transform-box:fill-box;transform-origin:50% 50%;animation:tFloat var(--s) linear infinite}
@media(max-width:800px){
 .pf{grid-template-columns:1fr}
 html.js nav.rail{display:none}
 html.js main{padding-bottom:24px}
 html.js .menu-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:0 12px;background:#0A5A61;color:#E6F3F4;border:1px solid #0E7C86;border-radius:8px;font:600 14px "JetBrains Mono",monospace;cursor:pointer;order:3}
 html.js .menu-btn[aria-expanded=true]{position:fixed;top:12px;right:12px;z-index:60}
 html.js nav.rail.open{display:flex;position:fixed;inset:0;height:100vh;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:72px 16px 16px;gap:6px;z-index:50;overflow:auto;border:0}
 html.js nav.rail.open a{flex:none;flex-direction:row;justify-content:flex-start;gap:14px;font-size:16px;min-height:52px;padding:0 16px;text-align:left}
 html.js nav.rail.open .ic svg{margin:0}
 .stat b{font-size:28px}
 th{font-size:13px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.ft{margin:40px 0 8px;padding-top:14px;border-top:1px solid #4A5560;color:#C9D1D6;font-size:14px}
