@font-face { font-family:'Chakra Petch'; font-weight:500; font-display:swap; src:url('/fonts/ChakraPetch-500.woff2') format('woff2'); }
@font-face { font-family:'Chakra Petch'; font-weight:700; font-display:swap; src:url('/fonts/ChakraPetch-700.woff2') format('woff2'); }
@font-face { font-family:'Space Grotesk'; font-weight:400; font-display:swap; src:url('/fonts/SpaceGrotesk-400.woff2') format('woff2'); }
@font-face { font-family:'Space Grotesk'; font-weight:600; font-display:swap; src:url('/fonts/SpaceGrotesk-600.woff2') format('woff2'); }
:root {
  --po-bg:#0A0620; --po-panel:#150C36; --po-line:#3A2573; --po-text:#F1E9FF; --po-cyan:#22E4FF; --po-magenta:#FF2BD6;
  --po-font-head:'Chakra Petch',system-ui,sans-serif; --po-font-body:'Space Grotesk',system-ui,sans-serif;
}
* { box-sizing:border-box; }
body { margin:0; background:var(--po-bg); color:var(--po-text); font:400 1rem/1.6 var(--po-font-body); }
h1,h2,h3 { font-family:var(--po-font-head); font-weight:700; line-height:1.25; }
h1,h2 { color:var(--po-cyan); }
a { color:var(--po-cyan); } a:hover { color:var(--po-text); }
.wrap { max-width:62rem; margin:0 auto; padding:0 1.25rem; }
header.site { border-bottom:1px solid var(--po-line); }
header.site .wrap { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; justify-content:space-between; padding-block:.9rem; }
.brand { display:flex; align-items:center; gap:.5rem; font:700 1.5rem var(--po-font-head); color:var(--po-text); text-decoration:none; text-shadow:2px 2px 0 var(--po-magenta), -2px -2px 0 rgba(34,228,255,.7); }
.brand img { width:32px; height:32px; }
nav a { margin-left:1.1rem; color:var(--po-text); font-weight:600; text-decoration:none; }
nav a:hover { color:var(--po-cyan); }
main { padding-block:1.5rem 3rem; }
footer.site { border-top:1px solid var(--po-line); padding-block:1.5rem; font-size:.9rem; background:var(--po-panel); }
.disclosure { border-left:4px solid var(--po-magenta); background:var(--po-panel); padding:.6rem .9rem; margin:1rem 0; font-size:.95rem; }
.badge { display:inline-block; font:600 .72rem/1 var(--po-font-body); letter-spacing:.06em; text-transform:uppercase; padding:.25rem .45rem; border:1px solid var(--po-magenta); color:var(--po-magenta); border-radius:2px; white-space:nowrap; }
.tablewrap { overflow-x:auto; }
table { border-collapse:collapse; width:100%; font-size:.92rem; margin:1rem 0; background:var(--po-panel); }
th,td { border:1px solid var(--po-line); padding:.5rem .6rem; text-align:left; vertical-align:top; }
th { background:var(--po-line); color:var(--po-text); font-family:var(--po-font-head); }
td.num { font-weight:600; color:var(--po-cyan); }
.btn { display:inline-block; background:var(--po-cyan); color:var(--po-bg); padding:.5rem .9rem; text-decoration:none; font-weight:600; border-radius:2px; }
.btn:hover { color:var(--po-bg); background:var(--po-text); }
.btn-note { font-size:.8rem; margin-left:.5rem; color:var(--po-magenta); }
.callout { border:1px solid var(--po-line); border-left:4px solid var(--po-cyan); background:var(--po-panel); padding:.5rem 1rem; margin:1rem 0; }
.callout-warning, .callout-caution { border-left-color:var(--po-magenta); }
.muted { color:#b9aed6; font-size:.9rem; }
.notrec { border-left:4px solid var(--po-magenta); padding:.5rem .9rem; background:var(--po-panel); }
.prose table { display:block; overflow-x:auto; }
.prose hr { border:0; border-top:1px solid var(--po-line); }
code { background:var(--po-panel); padding:.1rem .3rem; }
.err { border-left:4px solid var(--po-magenta); background:var(--po-panel); padding:.5rem .9rem; margin:1rem 0; }
.ok { border-left:4px solid var(--po-cyan); background:var(--po-panel); padding:.5rem .9rem; margin:1rem 0; }
.adminform fieldset { border:1px solid var(--po-line); margin:1rem 0; padding:.5rem 1rem 1rem; }
.adminform label { display:block; margin:.6rem 0; font-weight:600; }
.adminform label.inline, form.inline { display:inline; font-weight:400; }
.adminform input:not([type=checkbox]), .adminform select, .adminform textarea { display:block; width:100%; margin-top:.25rem; padding:.45rem; background:var(--po-bg); color:var(--po-text); border:1px solid var(--po-line); font:inherit; }
button { font:inherit; cursor:pointer; }
.btn { border:0; }
.btn.secondary { background:transparent; color:var(--po-cyan); border:1px solid var(--po-cyan); }
.btn.danger, a.danger { color:var(--po-magenta); }
.btn.danger { background:transparent; border:1px solid var(--po-magenta); }
blockquote.callout { margin:1rem 0; }
.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
details.faq { border:1px solid var(--po-line); background:var(--po-panel); margin:.5rem 0; padding:.1rem .9rem; }
details.faq summary { cursor:pointer; padding:.6rem 0; font-weight:600; }
details.faq[open] summary { color:var(--po-cyan); }
.faq-a { padding-bottom:.6rem; }
.msg { border:1px solid var(--po-line); background:var(--po-panel); padding:.5rem 1rem; margin:1rem 0; }
.msg.unread { border-left:4px solid var(--po-cyan); }
.msgbody { white-space:pre-wrap; }
[hidden] { display:none !important; }
.small { font-size:.82rem; }
.tools { display:flex; flex-wrap:wrap; gap:.6rem 1.2rem; align-items:center; margin:1rem 0; }
html:not(.js) .jstools { display:none; }
.tools input[type=number], .tools select { background:var(--po-bg); color:var(--po-text); border:1px solid var(--po-line); padding:.3rem .4rem; font:inherit; width:auto; }
.tools input[type=number] { width:7rem; }
.tabs { display:inline-flex; border:1px solid var(--po-line); }
.tabs button { background:transparent; color:var(--po-text); border:0; padding:.45rem .9rem; font-weight:600; }
.tabs button[aria-selected=true] { background:var(--po-cyan); color:var(--po-bg); }
.sortbtn { background:none; border:0; color:inherit; font:inherit; font-weight:700; cursor:pointer; padding:0; }
.sortbtn::after { content:" ↕"; opacity:.6; }
.mono { display:inline-flex; width:1.9rem; height:1.9rem; align-items:center; justify-content:center; border:1px solid var(--po-cyan); color:var(--po-cyan); font:700 .75rem var(--po-font-head); margin-right:.3rem; }
.rank { color:var(--po-magenta); }
.us-yes strong { color:var(--po-cyan); } .us-no strong { color:var(--po-magenta); } .us-unknown strong { color:var(--po-text); }
.btn.small { padding:.3rem .7rem; }
table.cmp td { min-width:7rem; }
@media (max-width:767px) {
  table.cmp thead { display:none; }
  table.cmp, table.cmp tbody, table.cmp tr, table.cmp td { display:block; width:100%; }
  table.cmp tr { border:1px solid var(--po-line); background:var(--po-panel); margin:0 0 1rem; padding:.4rem .2rem; }
  table.cmp td { border:0; border-bottom:1px solid var(--po-line); padding:.35rem .7rem; }
  table.cmp td:last-child { border-bottom:0; }
  table.cmp td[data-label]::before { content:attr(data-label); display:block; font:600 .7rem var(--po-font-body); letter-spacing:.06em; text-transform:uppercase; color:#b9aed6; }
  table.cmp td.firmcell::before { display:none; }
  .tablewrap { overflow-x:visible; }
}
nav { display:flex; flex-wrap:wrap; gap:.3rem 1.1rem; }
nav a { margin-left:0; }
/* home table polish: short rows, sticky first column, horizontal scroll inside the container */
.wrap.wide { max-width:96rem; }
.clamp { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.detail { display:none; }
table.cmp-home { font-size:.88rem; }
table.cmp-home td, table.cmp-home th { padding:.4rem .5rem; }
table.cmp-home td { min-width:6.5rem; max-width:13rem; }
table.cmp-home td.firmcell { min-width:11rem; }
.tablewrap { position:relative; }
@media (min-width:768px) {
  table.cmp-home th:first-child, table.cmp-home td:first-child { position:sticky; left:0; z-index:2; background:var(--po-panel); box-shadow:1px 0 0 var(--po-line); }
  table.cmp-home th:first-child { background:var(--po-line); }
}
@media (max-width:767px) {
  .detail { display:inline; }
  .clamp { display:block; -webkit-line-clamp:unset; overflow:visible; }
  table.cmp-home td { max-width:none; }
}
