/* Top or Slop – design system (docs/DESIGN.md). Tokens §2, components §5, layouts §4, motion §6. */
@font-face{font-family:Archivo;src:url(/fonts/archivo-latin-wdth-normal.woff2) format("woff2");font-weight:600 900;font-stretch:75% 125%;font-display:swap}
@font-face{font-family:"Public Sans";src:url(/fonts/public-sans-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-display:swap}

:root{
  color-scheme:light;
  --wm-glyph:#FFFFFF;--paper:#F3EFE4;--card:#FFFDF8;--ink:#16130E;--muted:#5C564A;--line:#CFC8B6;
  --slop:#D2291C;--slop-ink:#B3200F;--slop-tint:#FBE3DE;
  --top:#12804A;--top-ink:#0B6A3B;--top-tint:#DDF1E4;
  --gold:#F4C21B;--stage:#26221B;--stage-text:#E9E3D3;--focus:#1F5FD1;
  --f-display:Archivo,"Arial Narrow",system-ui,sans-serif;
  --f-text:"Public Sans",system-ui,sans-serif;
  --f-mono:ui-monospace,"SFMono-Regular",Menlo,monospace;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;
  --r-card:18px;--r-box:12px;--r-btn:999px;--r-chip:999px;--r-img:10px;
  --bw:2px solid var(--ink);
  --sh-0:0 0 0 var(--ink);--sh-1:3px 3px 0 var(--ink);--sh-2:6px 6px 0 var(--ink);
  --wrap:1280px;--gut:16px;
  --deck-w:max(460px,min(960px,calc((100vh - 360px)*1.6)));--side:240px;--gap:32px;
  --ease-out:cubic-bezier(.22,1,.36,1);--ease-in:cubic-bezier(.55,0,1,.45);--ease-spring:cubic-bezier(.34,1.56,.64,1);
  --t-fast:120ms;--t:220ms;--t-slow:320ms;
}
@media(min-width:1024px){:root{--gut:32px}}
@media(min-width:1600px){:root{--side:300px;--gap:48px}}

/* ---------- base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-gutter:stable;overflow-x:clip}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);font:400 16px/1.5 var(--f-text);-webkit-font-smoothing:antialiased;overflow-x:clip}
main{flex:1 0 auto}
img,svg{display:block;max-width:100%}
a{color:inherit}
button,input,textarea{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3,p,ul,ol,dl,figure{margin:0}
ul,ol{padding:0;list-style:none}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:8px;top:-60px;z-index:100;padding:10px 16px;background:var(--ink);color:var(--card);border-radius:8px;font:700 14px/1 var(--f-text)}
.skip:focus{top:8px}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.ph{background:var(--gold);padding:0 4px}

/* ---------- type scale §2.3 */
.mega{font:900 clamp(56px,9vw,112px)/.9 var(--f-display);font-stretch:112%;letter-spacing:-.01em}
h1,.h1{font:850 clamp(32px,4.5vw,48px)/1.05 var(--f-display);font-stretch:100%}
h2,.h2{font:800 24px/1.15 var(--f-display);font-stretch:100%}
.label{font:700 12px/1.2 var(--f-display);font-stretch:100%;text-transform:uppercase;letter-spacing:.08em}
.small{font-size:14px;line-height:1.45}
.tiny{font-size:12px;line-height:1.4;font-weight:500}
.muted{color:var(--muted)}
.num{font-family:var(--f-display);font-weight:800;font-variant-numeric:tabular-nums}
.tiny-link{font-size:12px;line-height:1.4;font-weight:500;text-underline-offset:3px}

/* ---------- wordmark §3 */
.wordmark{display:inline-block;white-space:nowrap;text-decoration:none;font:900 18px/1 var(--f-display);font-stretch:125%}
@media(min-width:1024px){.wordmark{font-size:22px}}
.wm-top{color:var(--top)}.wm-slop{color:var(--slop)}
.wm-o{overflow:visible;display:inline-block;width:.74em;height:.74em;margin:0 .03em;vertical-align:baseline}
.wm-o circle{fill:currentColor}.wm-g{fill:var(--wm-glyph)}.wm-x{fill:none;stroke:var(--wm-glyph);stroke-width:5;stroke-linecap:round}
.wm-or{margin:0 .18em;color:var(--ink);font-weight:600;font-stretch:100%;font-size:.62em;vertical-align:.12em}
.on-stage .wm-or{color:var(--stage-text)}

/* ---------- header / footer §5.13 */
.site-header{height:52px;background:var(--paper);border-bottom:var(--bw)}
.hd-in{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut);height:100%;display:flex;align-items:center;gap:16px}
.hd-tag{display:none;color:var(--muted)}
.hd-nav{margin-left:auto;display:flex;align-items:center;gap:20px}
.hd-lb{display:none}
.hide-xs{display:none}
@media(min-width:400px){.hide-xs{display:inline}}
@media(min-width:640px){.hd-lb{display:inline}}
@media(min-width:1024px){.site-header{height:64px}.hd-tag{display:block}}
.btn-link{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.hd-lb,.hd-acc{font-weight:600}
.hd-acc{white-space:nowrap}
.btn.hd-submit{--bg:var(--gold);--fg:var(--ink)}
.hd-menu{position:relative}
.hd-menu>summary{list-style:none;gap:6px}
.hd-menu>summary::-webkit-details-marker{display:none}
.hd-chev{width:12px;height:12px;transition:transform var(--t-fast) var(--ease-out)}
.hd-menu[open] .hd-chev{transform:rotate(180deg)}
.hd-pop{position:absolute;right:0;top:calc(100% + 8px);z-index:20;width:min(280px,calc(100vw - 2 * var(--gut)));display:grid;gap:2px;padding:12px;background:var(--card);border:var(--bw);border-radius:var(--r-box);box-shadow:var(--sh-2)}
.hd-pop-h{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:2px 8px}
.hd-pages{display:grid;padding:2px 0 8px;margin-bottom:6px;border-bottom:1px solid var(--line)}
.hd-pages>li{padding:4px 8px}
.hd-pages>li:has(.hd-page){padding:0}
.hd-page,.hd-pop-link{display:block;width:100%;padding:8px;border:0;border-radius:8px;background:none;font:600 15px/1.3 var(--f-text);color:var(--ink);text-align:left;text-decoration:none;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hd-page:hover,.hd-pop-link:hover,.hd-page:focus-visible,.hd-pop-link:focus-visible{background:var(--paper)}
/* mobile menu (below 1024 px): burger next to the gold button, footer links inside */
.mnav{position:relative;margin-left:-10px}
.mnav>summary{list-style:none;width:40px;padding:0}
.mnav>summary::-webkit-details-marker{display:none}
.mnav-btn svg{width:20px;height:20px}
.mnav-legal{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px;padding:10px 8px 2px;border-top:1px solid var(--line);font-size:14px;line-height:1.5}
.mnav-legal a{color:var(--muted);text-underline-offset:3px;white-space:nowrap}
@media(max-width:639.98px){.hd-acc{display:none}}
@media(min-width:1024px){.mnav{display:none}}
.site-footer{border-top:var(--bw);padding:20px 0 28px;font-size:14px;line-height:1.7}
.ft-in{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut);text-align:right}
.ft-in a{text-underline-offset:3px;white-space:nowrap}
.ft-in .sep{color:var(--muted)}

/* ---------- buttons §5.1 */
.btn{--bg:var(--ink);--fg:var(--card);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border:var(--bw);border-radius:var(--r-btn);background:var(--bg);color:var(--fg);font:800 16px/1 var(--f-display);text-decoration:none;box-shadow:var(--sh-1);transition:transform var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out);cursor:pointer;-webkit-tap-highlight-color:transparent}
.btn-secondary{--bg:var(--card);--fg:var(--ink)}
.btn-sm{min-height:40px;padding:0 16px;font-size:15px}
.btn-block{display:flex;width:100%}
.btn:hover,.btn.is-hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}
.btn:active,.btn.is-active{transform:translate(3px,3px);box-shadow:var(--sh-0)}
.btn:disabled,.btn[aria-disabled=true]{opacity:.45;box-shadow:none;transform:none;pointer-events:none}
.btn-vote{--fg:#fff;min-height:56px;width:min(44vw,170px);padding:0 16px;gap:10px;font:900 20px/1 var(--f-display);font-stretch:112%;text-transform:uppercase}
.btn-slop{--bg:var(--slop);--lab:var(--slop-ink)}.btn-top{--bg:var(--top);--lab:var(--top-ink)}
.vote-disc{display:inline-flex;align-items:center;justify-content:center}
.btn-top .vote-disc{order:2}
.btn-vote svg{width:20px;height:20px;flex:none}
@media(min-width:1024px){.btn-vote{min-height:64px;width:170px}}
/* round swipe buttons below 1024 px (§5.1, .votebar only; the profile keeps the pills). .votebar-round = the same for the styleguide. */
@media(max-width:1023.98px){
  .votebar .btn-vote{display:flex;flex-direction:column;gap:4px;width:auto;min-height:0;padding:0;border:0;border-radius:14px;background:none;box-shadow:none;color:var(--lab);font:800 12px/1.2 var(--f-text);font-stretch:100%;letter-spacing:.04em}
  .votebar .btn-vote:hover,.votebar .btn-vote.is-hover,.votebar .btn-vote:active,.votebar .btn-vote.is-active{transform:none;box-shadow:none}
  .votebar .btn-top .vote-disc{order:0}
  .votebar .vote-disc{width:68px;height:68px;border:var(--bw);border-radius:50%;background:var(--bg);box-shadow:var(--sh-1);color:#fff;transition:transform var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out)}
  .votebar .btn-vote svg{width:30px;height:30px}
  .votebar .btn-vote:hover .vote-disc,.votebar .btn-vote.is-hover .vote-disc{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}
  .votebar .btn-vote:active .vote-disc,.votebar .btn-vote.is-active .vote-disc{transform:translate(3px,3px);box-shadow:var(--sh-0)}
}
.votebar-round .btn-vote{display:flex;flex-direction:column;gap:4px;width:auto;min-height:0;padding:0;border:0;border-radius:14px;background:none;box-shadow:none;color:var(--lab);font:800 12px/1.2 var(--f-text);font-stretch:100%;letter-spacing:.04em}
.votebar-round .btn-vote:hover,.votebar-round .btn-vote.is-hover,.votebar-round .btn-vote:active,.votebar-round .btn-vote.is-active{transform:none;box-shadow:none}
.votebar-round .btn-top .vote-disc{order:0}
.votebar-round .vote-disc{width:68px;height:68px;border:var(--bw);border-radius:50%;background:var(--bg);box-shadow:var(--sh-1);color:#fff;transition:transform var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out)}
.votebar-round .btn-vote svg{width:30px;height:30px}
.votebar-round .btn-vote:hover .vote-disc,.votebar-round .btn-vote.is-hover .vote-disc{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}
.votebar-round .btn-vote:active .vote-disc,.votebar-round .btn-vote.is-active .vote-disc{transform:translate(3px,3px);box-shadow:var(--sh-0)}

/* ---------- stamp §3 (speckle mask: evenodd holes, 8 % area) */
.stamp{--c:var(--slop);--rot:14deg;display:inline-block;color:var(--c);border:5px solid currentColor;border-radius:10px;padding:4px 14px;background:color-mix(in srgb,currentColor 8%,transparent);font:900 40px/1 var(--f-display);font-stretch:75%;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;transform:rotate(var(--rot)) scale(var(--sc,1));-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill-rule='evenodd' d='M0 0H100V100H0ZM0.0 92.1m-0.8 0a0.8 0.8 0 1 0 1.6 0a0.8 0.8 0 1 0 -1.6 0M72.9 53.3m-1.5 0a1.5 1.5 0 1 0 3.0 0a1.5 1.5 0 1 0 -3.0 0M75.5 54.3m-2.2 0a2.2 2.2 0 1 0 4.4 0a2.2 2.2 0 1 0 -4.4 0M81.7 24.2m-1.6 0a1.6 1.6 0 1 0 3.2 0a1.6 1.6 0 1 0 -3.2 0M69.8 5.4m-1.8 0a1.8 1.8 0 1 0 3.6 0a1.8 1.8 0 1 0 -3.6 0M92.2 80.7m-0.8 0a0.8 0.8 0 1 0 1.6 0a0.8 0.8 0 1 0 -1.6 0M92.3 68.9m-1.9 0a1.9 1.9 0 1 0 3.8 0a1.9 1.9 0 1 0 -3.8 0M91.2 90.8m-1.0 0a1.0 1.0 0 1 0 2.0 0a1.0 1.0 0 1 0 -2.0 0M83.7 33.2m-0.8 0a0.8 0.8 0 1 0 1.6 0a0.8 0.8 0 1 0 -1.6 0M42.8 29.5m-2.5 0a2.5 2.5 0 1 0 5.0 0a2.5 2.5 0 1 0 -5.0 0M72.9 87.8m-0.7 0a0.7 0.7 0 1 0 1.4 0a0.7 0.7 0 1 0 -1.4 0M56.1 50.9m-0.9 0a0.9 0.9 0 1 0 1.8 0a0.9 0.9 0 1 0 -1.8 0M90.9 5.5m-1.1 0a1.1 1.1 0 1 0 2.2 0a1.1 1.1 0 1 0 -2.2 0M66.4 92.4m-0.9 0a0.9 0.9 0 1 0 1.8 0a0.9 0.9 0 1 0 -1.8 0M40.6 28.4m-1.2 0a1.2 1.2 0 1 0 2.4 0a1.2 1.2 0 1 0 -2.4 0M33.3 53.2m-1.1 0a1.1 1.1 0 1 0 2.2 0a1.1 1.1 0 1 0 -2.2 0M90.6 45.8m-2.6 0a2.6 2.6 0 1 0 5.2 0a2.6 2.6 0 1 0 -5.2 0M63.4 51.6m-1.9 0a1.9 1.9 0 1 0 3.8 0a1.9 1.9 0 1 0 -3.8 0M94.0 39.7m-1.2 0a1.2 1.2 0 1 0 2.4 0a1.2 1.2 0 1 0 -2.4 0M58.7 35.1m-1.1 0a1.1 1.1 0 1 0 2.2 0a1.1 1.1 0 1 0 -2.2 0M79.5 87.8m-0.9 0a0.9 0.9 0 1 0 1.8 0a0.9 0.9 0 1 0 -1.8 0M7.8 40.7m-0.6 0a0.6 0.6 0 1 0 1.2 0a0.6 0.6 0 1 0 -1.2 0M99.6 22.0m-0.9 0a0.9 0.9 0 1 0 1.8 0a0.9 0.9 0 1 0 -1.8 0M45.7 59.3m-1.1 0a1.1 1.1 0 1 0 2.2 0a1.1 1.1 0 1 0 -2.2 0M88.5 89.1m-3.5 0a3.5 3.5 0 1 0 7.0 0a3.5 3.5 0 1 0 -7.0 0M76.1 27.5m-0.6 0a0.6 0.6 0 1 0 1.2 0a0.6 0.6 0 1 0 -1.2 0M7.6 0.2m-1.1 0a1.1 1.1 0 1 0 2.2 0a1.1 1.1 0 1 0 -2.2 0M74.1 48.9m-1.2 0a1.2 1.2 0 1 0 2.4 0a1.2 1.2 0 1 0 -2.4 0M88.2 23.5m-1.8 0a1.8 1.8 0 1 0 3.6 0a1.8 1.8 0 1 0 -3.6 0M11.8 48.9m-0.6 0a0.6 0.6 0 1 0 1.2 0a0.6 0.6 0 1 0 -1.2 0M63.7 92.2m-0.7 0a0.7 0.7 0 1 0 1.4 0a0.7 0.7 0 1 0 -1.4 0M18.8 96.9m-2.0 0a2.0 2.0 0 1 0 4.0 0a2.0 2.0 0 1 0 -4.0 0M26.6 22.3m-1.0 0a1.0 1.0 0 1 0 2.0 0a1.0 1.0 0 1 0 -2.0 0M5.2 76.9m-2.4 0a2.4 2.4 0 1 0 4.8 0a2.4 2.4 0 1 0 -4.8 0M49.8 3.3m-1.0 0a1.0 1.0 0 1 0 2.0 0a1.0 1.0 0 1 0 -2.0 0M13.1 68.8m-0.7 0a0.7 0.7 0 1 0 1.4 0a0.7 0.7 0 1 0 -1.4 0M88.3 86.1m-4.0 0a4.0 4.0 0 1 0 8.0 0a4.0 4.0 0 1 0 -8.0 0M76.5 42.0m-1.3 0a1.3 1.3 0 1 0 2.6 0a1.3 1.3 0 1 0 -2.6 0M88.2 39.8m-0.9 0a0.9 0.9 0 1 0 1.8 0a0.9 0.9 0 1 0 -1.8 0M88.7 55.9m-1.4 0a1.4 1.4 0 1 0 2.8 0a1.4 1.4 0 1 0 -2.8 0M73.5 33.5m-1.7 0a1.7 1.7 0 1 0 3.4 0a1.7 1.7 0 1 0 -3.4 0M19.9 31.2m-4.1 0a4.1 4.1 0 1 0 8.2 0a4.1 4.1 0 1 0 -8.2 0M63.2 87.2m-1.3 0a1.3 1.3 0 1 0 2.6 0a1.3 1.3 0 1 0 -2.6 0M64.5 13.5m-1.6 0a1.6 1.6 0 1 0 3.2 0a1.6 1.6 0 1 0 -3.2 0M77.1 94.6m-0.9 0a0.9 0.9 0 1 0 1.8 0a0.9 0.9 0 1 0 -1.8 0M44.7 16.6m-1.8 0a1.8 1.8 0 1 0 3.6 0a1.8 1.8 0 1 0 -3.6 0M56.2 50.7m-1.6 0a1.6 1.6 0 1 0 3.2 0a1.6 1.6 0 1 0 -3.2 0M75.1 2.6m-1.2 0a1.2 1.2 0 1 0 2.4 0a1.2 1.2 0 1 0 -2.4 0M20.3 72.3m-0.8 0a0.8 0.8 0 1 0 1.6 0a0.8 0.8 0 1 0 -1.6 0M66.0 42.9m-0.8 0a0.8 0.8 0 1 0 1.6 0a0.8 0.8 0 1 0 -1.6 0M82.3 91.5m-2.8 0a2.8 2.8 0 1 0 5.6 0a2.8 2.8 0 1 0 -5.6 0M95.9 2.5m-2.2 0a2.2 2.2 0 1 0 4.4 0a2.2 2.2 0 1 0 -4.4 0M72.4 89.8m-0.6 0a0.6 0.6 0 1 0 1.2 0a0.6 0.6 0 1 0 -1.2 0M8.0 10.8m-0.6 0a0.6 0.6 0 1 0 1.2 0a0.6 0.6 0 1 0 -1.2 0M60.5 94.6m-0.7 0a0.7 0.7 0 1 0 1.4 0a0.7 0.7 0 1 0 -1.4 0M20.2 67.5m-1.0 0a1.0 1.0 0 1 0 2.0 0a1.0 1.0 0 1 0 -2.0 0M99.4 42.3m-2.5 0a2.5 2.5 0 1 0 5.0 0a2.5 2.5 0 1 0 -5.0 0M39.7 41.6m-0.7 0a0.7 0.7 0 1 0 1.4 0a0.7 0.7 0 1 0 -1.4 0M80.8 97.4m-1.1 0a1.1 1.1 0 1 0 2.2 0a1.1 1.1 0 1 0 -2.2 0M50.9 12.2m-1.1 0a1.1 1.1 0 1 0 2.2 0a1.1 1.1 0 1 0 -2.2 0M17.1 7.8m-1.2 0a1.2 1.2 0 1 0 2.4 0a1.2 1.2 0 1 0 -2.4 0M55.6 48.1m-0.9 0a0.9 0.9 0 1 0 1.8 0a0.9 0.9 0 1 0 -1.8 0M41.3 31.4m-0.6 0a0.6 0.6 0 1 0 1.2 0a0.6 0.6 0 1 0 -1.2 0M41.3 9.1m-1.4 0a1.4 1.4 0 1 0 2.8 0a1.4 1.4 0 1 0 -2.8 0M77.7 76.4m-1.9 0a1.9 1.9 0 1 0 3.8 0a1.9 1.9 0 1 0 -3.8 0M96.2 80.1m-2.0 0a2.0 2.0 0 1 0 4.0 0a2.0 2.0 0 1 0 -4.0 0M34.8 40.7m-1.5 0a1.5 1.5 0 1 0 3.0 0a1.5 1.5 0 1 0 -3.0 0M56.7 72.2m-2.1 0a2.1 2.1 0 1 0 4.2 0a2.1 2.1 0 1 0 -4.2 0M72.9 88.5m-3.6 0a3.6 3.6 0 1 0 7.2 0a3.6 3.6 0 1 0 -7.2 0M43.8 48.7m-4.0 0a4.0 4.0 0 1 0 8.0 0a4.0 4.0 0 1 0 -8.0 0M35.8 7.9m-1.7 0a1.7 1.7 0 1 0 3.4 0a1.7 1.7 0 1 0 -3.4 0M70.8 73.8m-3.3 0a3.3 3.3 0 1 0 6.6 0a3.3 3.3 0 1 0 -6.6 0M20.7 23.8m-0.9 0a0.9 0.9 0 1 0 1.8 0a0.9 0.9 0 1 0 -1.8 0M91.6 80.0m-2.2 0a2.2 2.2 0 1 0 4.4 0a2.2 2.2 0 1 0 -4.4 0M53.6 44.3m-2.4 0a2.4 2.4 0 1 0 4.8 0a2.4 2.4 0 1 0 -4.8 0M87.4 27.1m-1.7 0a1.7 1.7 0 1 0 3.4 0a1.7 1.7 0 1 0 -3.4 0M39.5 18.8m-1.1 0a1.1 1.1 0 1 0 2.2 0a1.1 1.1 0 1 0 -2.2 0M89.9 82.2m-1.4 0a1.4 1.4 0 1 0 2.8 0a1.4 1.4 0 1 0 -2.8 0M87.7 11.6m-1.6 0a1.6 1.6 0 1 0 3.2 0a1.6 1.6 0 1 0 -3.2 0M0.1 13.2m-0.6 0a0.6 0.6 0 1 0 1.2 0a0.6 0.6 0 1 0 -1.2 0M62 85h11v0.6h-11ZM85 66h11v0.6h-11ZM56 2h21v0.8h-21ZM68 12h13v0.9h-13ZM86 52h17v0.9h-17Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill-rule='evenodd' d='M0 0H100V100H0ZM0.0 92.1m-0.8 0a0.8 0.8 0 1 0 1.6 0a0.8 0.8 0 1 0 -1.6 0M72.9 53.3m-1.5 0a1.5 1.5 0 1 0 3.0 0a1.5 1.5 0 1 0 -3.0 0M75.5 54.3m-2.2 0a2.2 2.2 0 1 0 4.4 0a2.2 2.2 0 1 0 -4.4 0M81.7 24.2m-1.6 0a1.6 1.6 0 1 0 3.2 0a1.6 1.6 0 1 0 -3.2 0M69.8 5.4m-1.8 0a1.8 1.8 0 1 0 3.6 0a1.8 1.8 0 1 0 -3.6 0M92.2 80.7m-0.8 0a0.8 0.8 0 1 0 1.6 0a0.8 0.8 0 1 0 -1.6 0M92.3 68.9m-1.9 0a1.9 1.9 0 1 0 3.8 0a1.9 1.9 0 1 0 -3.8 0M91.2 90.8m-1.0 0a1.0 1.0 0 1 0 2.0 0a1.0 1.0 0 1 0 -2.0 0M83.7 33.2m-0.8 0a0.8 0.8 0 1 0 1.6 0a0.8 0.8 0 1 0 -1.6 0M42.8 29.5m-2.5 0a2.5 2.5 0 1 0 5.0 0a2.5 2.5 0 1 0 -5.0 0M72.9 87.8m-0.7 0a0.7 0.7 0 1 0 1.4 0a0.7 0.7 0 1 0 -1.4 0M56.1 50.9m-0.9 0a0.9 0.9 0 1 0 1.8 0a0.9 0.9 0 1 0 -1.8 0M90.9 5.5m-1.1 0a1.1 1.1 0 1 0 2.2 0a1.1 1.1 0 1 0 -2.2 0M66.4 92.4m-0.9 0a0.9 0.9 0 1 0 1.8 0a0.9 0.9 0 1 0 -1.8 0M40.6 28.4m-1.2 0a1.2 1.2 0 1 0 2.4 0a1.2 1.2 0 1 0 -2.4 0M33.3 53.2m-1.1 0a1.1 1.1 0 1 0 2.2 0a1.1 1.1 0 1 0 -2.2 0M90.6 45.8m-2.6 0a2.6 2.6 0 1 0 5.2 0a2.6 2.6 0 1 0 -5.2 0M63.4 51.6m-1.9 0a1.9 1.9 0 1 0 3.8 0a1.9 1.9 0 1 0 -3.8 0M94.0 39.7m-1.2 0a1.2 1.2 0 1 0 2.4 0a1.2 1.2 0 1 0 -2.4 0M58.7 35.1m-1.1 0a1.1 1.1 0 1 0 2.2 0a1.1 1.1 0 1 0 -2.2 0M79.5 87.8m-0.9 0a0.9 0.9 0 1 0 1.8 0a0.9 0.9 0 1 0 -1.8 0M7.8 40.7m-0.6 0a0.6 0.6 0 1 0 1.2 0a0.6 0.6 0 1 0 -1.2 0M99.6 22.0m-0.9 0a0.9 0.9 0 1 0 1.8 0a0.9 0.9 0 1 0 -1.8 0M45.7 59.3m-1.1 0a1.1 1.1 0 1 0 2.2 0a1.1 1.1 0 1 0 -2.2 0M88.5 89.1m-3.5 0a3.5 3.5 0 1 0 7.0 0a3.5 3.5 0 1 0 -7.0 0M76.1 27.5m-0.6 0a0.6 0.6 0 1 0 1.2 0a0.6 0.6 0 1 0 -1.2 0M7.6 0.2m-1.1 0a1.1 1.1 0 1 0 2.2 0a1.1 1.1 0 1 0 -2.2 0M74.1 48.9m-1.2 0a1.2 1.2 0 1 0 2.4 0a1.2 1.2 0 1 0 -2.4 0M88.2 23.5m-1.8 0a1.8 1.8 0 1 0 3.6 0a1.8 1.8 0 1 0 -3.6 0M11.8 48.9m-0.6 0a0.6 0.6 0 1 0 1.2 0a0.6 0.6 0 1 0 -1.2 0M63.7 92.2m-0.7 0a0.7 0.7 0 1 0 1.4 0a0.7 0.7 0 1 0 -1.4 0M18.8 96.9m-2.0 0a2.0 2.0 0 1 0 4.0 0a2.0 2.0 0 1 0 -4.0 0M26.6 22.3m-1.0 0a1.0 1.0 0 1 0 2.0 0a1.0 1.0 0 1 0 -2.0 0M5.2 76.9m-2.4 0a2.4 2.4 0 1 0 4.8 0a2.4 2.4 0 1 0 -4.8 0M49.8 3.3m-1.0 0a1.0 1.0 0 1 0 2.0 0a1.0 1.0 0 1 0 -2.0 0M13.1 68.8m-0.7 0a0.7 0.7 0 1 0 1.4 0a0.7 0.7 0 1 0 -1.4 0M88.3 86.1m-4.0 0a4.0 4.0 0 1 0 8.0 0a4.0 4.0 0 1 0 -8.0 0M76.5 42.0m-1.3 0a1.3 1.3 0 1 0 2.6 0a1.3 1.3 0 1 0 -2.6 0M88.2 39.8m-0.9 0a0.9 0.9 0 1 0 1.8 0a0.9 0.9 0 1 0 -1.8 0M88.7 55.9m-1.4 0a1.4 1.4 0 1 0 2.8 0a1.4 1.4 0 1 0 -2.8 0M73.5 33.5m-1.7 0a1.7 1.7 0 1 0 3.4 0a1.7 1.7 0 1 0 -3.4 0M19.9 31.2m-4.1 0a4.1 4.1 0 1 0 8.2 0a4.1 4.1 0 1 0 -8.2 0M63.2 87.2m-1.3 0a1.3 1.3 0 1 0 2.6 0a1.3 1.3 0 1 0 -2.6 0M64.5 13.5m-1.6 0a1.6 1.6 0 1 0 3.2 0a1.6 1.6 0 1 0 -3.2 0M77.1 94.6m-0.9 0a0.9 0.9 0 1 0 1.8 0a0.9 0.9 0 1 0 -1.8 0M44.7 16.6m-1.8 0a1.8 1.8 0 1 0 3.6 0a1.8 1.8 0 1 0 -3.6 0M56.2 50.7m-1.6 0a1.6 1.6 0 1 0 3.2 0a1.6 1.6 0 1 0 -3.2 0M75.1 2.6m-1.2 0a1.2 1.2 0 1 0 2.4 0a1.2 1.2 0 1 0 -2.4 0M20.3 72.3m-0.8 0a0.8 0.8 0 1 0 1.6 0a0.8 0.8 0 1 0 -1.6 0M66.0 42.9m-0.8 0a0.8 0.8 0 1 0 1.6 0a0.8 0.8 0 1 0 -1.6 0M82.3 91.5m-2.8 0a2.8 2.8 0 1 0 5.6 0a2.8 2.8 0 1 0 -5.6 0M95.9 2.5m-2.2 0a2.2 2.2 0 1 0 4.4 0a2.2 2.2 0 1 0 -4.4 0M72.4 89.8m-0.6 0a0.6 0.6 0 1 0 1.2 0a0.6 0.6 0 1 0 -1.2 0M8.0 10.8m-0.6 0a0.6 0.6 0 1 0 1.2 0a0.6 0.6 0 1 0 -1.2 0M60.5 94.6m-0.7 0a0.7 0.7 0 1 0 1.4 0a0.7 0.7 0 1 0 -1.4 0M20.2 67.5m-1.0 0a1.0 1.0 0 1 0 2.0 0a1.0 1.0 0 1 0 -2.0 0M99.4 42.3m-2.5 0a2.5 2.5 0 1 0 5.0 0a2.5 2.5 0 1 0 -5.0 0M39.7 41.6m-0.7 0a0.7 0.7 0 1 0 1.4 0a0.7 0.7 0 1 0 -1.4 0M80.8 97.4m-1.1 0a1.1 1.1 0 1 0 2.2 0a1.1 1.1 0 1 0 -2.2 0M50.9 12.2m-1.1 0a1.1 1.1 0 1 0 2.2 0a1.1 1.1 0 1 0 -2.2 0M17.1 7.8m-1.2 0a1.2 1.2 0 1 0 2.4 0a1.2 1.2 0 1 0 -2.4 0M55.6 48.1m-0.9 0a0.9 0.9 0 1 0 1.8 0a0.9 0.9 0 1 0 -1.8 0M41.3 31.4m-0.6 0a0.6 0.6 0 1 0 1.2 0a0.6 0.6 0 1 0 -1.2 0M41.3 9.1m-1.4 0a1.4 1.4 0 1 0 2.8 0a1.4 1.4 0 1 0 -2.8 0M77.7 76.4m-1.9 0a1.9 1.9 0 1 0 3.8 0a1.9 1.9 0 1 0 -3.8 0M96.2 80.1m-2.0 0a2.0 2.0 0 1 0 4.0 0a2.0 2.0 0 1 0 -4.0 0M34.8 40.7m-1.5 0a1.5 1.5 0 1 0 3.0 0a1.5 1.5 0 1 0 -3.0 0M56.7 72.2m-2.1 0a2.1 2.1 0 1 0 4.2 0a2.1 2.1 0 1 0 -4.2 0M72.9 88.5m-3.6 0a3.6 3.6 0 1 0 7.2 0a3.6 3.6 0 1 0 -7.2 0M43.8 48.7m-4.0 0a4.0 4.0 0 1 0 8.0 0a4.0 4.0 0 1 0 -8.0 0M35.8 7.9m-1.7 0a1.7 1.7 0 1 0 3.4 0a1.7 1.7 0 1 0 -3.4 0M70.8 73.8m-3.3 0a3.3 3.3 0 1 0 6.6 0a3.3 3.3 0 1 0 -6.6 0M20.7 23.8m-0.9 0a0.9 0.9 0 1 0 1.8 0a0.9 0.9 0 1 0 -1.8 0M91.6 80.0m-2.2 0a2.2 2.2 0 1 0 4.4 0a2.2 2.2 0 1 0 -4.4 0M53.6 44.3m-2.4 0a2.4 2.4 0 1 0 4.8 0a2.4 2.4 0 1 0 -4.8 0M87.4 27.1m-1.7 0a1.7 1.7 0 1 0 3.4 0a1.7 1.7 0 1 0 -3.4 0M39.5 18.8m-1.1 0a1.1 1.1 0 1 0 2.2 0a1.1 1.1 0 1 0 -2.2 0M89.9 82.2m-1.4 0a1.4 1.4 0 1 0 2.8 0a1.4 1.4 0 1 0 -2.8 0M87.7 11.6m-1.6 0a1.6 1.6 0 1 0 3.2 0a1.6 1.6 0 1 0 -3.2 0M0.1 13.2m-0.6 0a0.6 0.6 0 1 0 1.2 0a0.6 0.6 0 1 0 -1.2 0M62 85h11v0.6h-11ZM85 66h11v0.6h-11ZM56 2h21v0.8h-21ZM68 12h13v0.9h-13ZM86 52h17v0.9h-17Z'/%3E%3C/svg%3E");-webkit-mask-size:90px 90px;mask-size:90px 90px;pointer-events:none;user-select:none}
@media(min-width:640px){.stamp{font-size:52px}}
.stamp-top{--c:var(--top);--rot:-14deg}
.stamp-slop{--c:var(--slop);--rot:14deg}
.stamp-wait{--c:var(--ink);--rot:-8deg}
.stamp-sm{font-size:28px;border-width:4px;padding:3px 10px}
@keyframes slam{from{opacity:0;transform:rotate(var(--rot)) scale(1.6)}to{opacity:1;transform:rotate(var(--rot)) scale(1)}}
.stamp.is-slam{animation:slam 140ms var(--ease-out) both}

/* ---------- chips §5.4 */
.chip-why{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px;border:var(--bw);border-radius:var(--r-chip);background:var(--card);color:var(--ink);font:600 14px/1.2 var(--f-text);text-align:left;-webkit-tap-highlight-color:transparent}
.chip-key{display:none;font-size:12px;font-weight:500;color:var(--muted)}
@media(pointer:fine){.chip-key{display:inline}}
.is-slop{--dir:var(--slop);--dir-ink:var(--slop-ink);--dir-tint:var(--slop-tint)}
.is-top{--dir:var(--top);--dir-ink:var(--top-ink);--dir-tint:var(--top-tint)}
.chip-why:hover,.chip-why:focus-visible,.chip-why.is-hover{background:var(--dir-tint,var(--paper))}
.chip-why.is-chosen{background:var(--dir,var(--ink));color:#fff;box-shadow:var(--sh-1)}
.chip-why.is-chosen .chip-key{color:#fff}
.chip-plain{width:100%;justify-content:flex-start}
.chip-plain:hover{background:var(--paper)}
.tag{display:inline-block;padding:3px 10px;border:1.5px solid var(--ink);border-radius:999px;background:var(--card);font-size:12px;line-height:1.4;font-weight:500;white-space:nowrap}
.tags{display:flex;gap:10px 6px;flex-wrap:wrap;align-content:flex-start;min-width:0;height:26px;overflow:hidden}
.chip-info{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;background:var(--ink);color:var(--card);font-size:12px;line-height:1.4;font-weight:500}

/* ---------- boxes */
.box{background:var(--card);border:var(--bw);border-radius:var(--r-box);box-shadow:var(--sh-2);padding:16px}
.box-flat{box-shadow:none}

/* ---------- deck card §5.2 */
.deck-wrap{position:relative;width:min(100% - 32px,480px);margin:0 auto}
.deck{position:relative;display:grid;width:100%}
.deck>.card{grid-area:1/1}
.card{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--card);border:var(--bw);border-radius:var(--r-card);overflow:hidden;transition:transform var(--t) var(--ease-out),opacity var(--t) var(--ease-out);touch-action:none;user-select:none;-webkit-user-select:none;transform-origin:50% 50%}
.js .card[data-pos="0"]{cursor:grab}
.card[data-pos="0"]{z-index:3;box-shadow:var(--sh-2)}
/* stack edges: the scaled cards grow from their bottom edge, so 14/28 px (mobile 8/16) of each stay visible below the top card */
.card[data-pos="1"]{z-index:2;transform:scale(.96) translateY(var(--o1,14px));transform-origin:50% 100%;pointer-events:none}
.card[data-pos="2"]{z-index:1;transform:scale(.92) translateY(var(--o2,28px));transform-origin:50% 100%;pointer-events:none}
.card[data-pos="2"] .card-in,.card[data-pos="2"] .ask-in{visibility:hidden}
.card.is-dragging{transition:none;cursor:grabbing;transform-origin:50% 120%;will-change:transform}
.card.is-leaving{pointer-events:none;transform-origin:50% 120%;transition:transform var(--leave,320ms) var(--ease-out),opacity var(--leave,320ms) var(--ease-out)}
.card-in{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
.card-photo{position:relative;flex:none;aspect-ratio:16/10;background:var(--paper);border-bottom:var(--bw);overflow:hidden}
.card-photo picture{position:absolute;inset:0;display:block}
.card-photo img{width:100%;height:100%;object-fit:cover;object-position:top;-webkit-user-drag:none}
.photo-tl{position:absolute;top:8px;left:8px;display:flex;gap:6px;z-index:2}
.photo-tl .chip-info{background:rgba(22,19,14,.8)}
.photo-hint{position:absolute;right:8px;bottom:8px;z-index:2;background:rgba(22,19,14,.8)}
.card-report{position:absolute;top:8px;right:8px;z-index:3;width:32px;height:32px;display:grid;place-items:center;padding:0;border:var(--bw);border-radius:50%;background:var(--card)}
.card-report svg{width:16px;height:16px}
.card-report:hover{background:var(--paper)}
.card-stamps .stamp{position:absolute;top:24px;opacity:0;z-index:4;transform-origin:50% 50%}
.card-stamps .stamp-top{left:24px}.card-stamps .stamp-slop{right:24px}
.card[data-dir-stamp=top] [data-stamp=top],.card[data-dir-stamp=slop] [data-stamp=slop]{opacity:1}
.card-body{flex:none;padding:12px 14px;display:flex;flex-direction:column;gap:4px}
.card-head{display:flex;align-items:baseline;gap:8px;min-width:0;height:26px}
.card-name{font:800 20px/1.1 var(--f-display);font-stretch:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:0 0 auto;max-width:calc(100% - 28px)}
.card-host{font-size:14px;line-height:1.45;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:0 1 auto}
.verified{flex:none;align-self:center;width:16px;height:16px;display:grid;place-items:center;border-radius:50%;background:var(--top);color:#fff}
.verified svg{width:10px;height:10px}
.verified.is-inline{display:inline-grid;vertical-align:-2px;margin:0 1px}
.card-bio{font-size:15px;line-height:1.4;height:42px;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}
.card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:28px;margin-top:2px}
.card-visit{flex:none;font-size:14px;text-underline-offset:3px;font-weight:500}
.card-foot .tags{flex:1 1 0}
.card-maker{flex:none;display:inline-flex;align-items:center;gap:4px;max-width:45%;padding:3px 10px;border:1.5px solid var(--ink);border-radius:999px;background:var(--card);font-size:12px;line-height:1.4;font-weight:500;text-decoration:none;white-space:nowrap}
.card-maker span{overflow:hidden;text-overflow:ellipsis}
.card-maker svg{width:12px;height:12px;flex:none}
.card-maker:hover{background:var(--paper)}
.photo-scroll{position:absolute;top:0;bottom:0;right:2px;z-index:3;width:3px;opacity:0;pointer-events:none;transition:opacity 200ms linear}
.photo-scroll.is-visible{opacity:1}
.photo-scroll i{display:block;width:3px;height:var(--sh,0px);border-radius:2px;background:rgba(22,19,14,.45);transform:translateY(var(--sy,0px))}
@media(min-width:1024px){.photo-scroll{display:none}}
@media(min-width:1024px){.card-body{padding:14px 18px;gap:4px}.card-name{font-size:24px}.card-head{height:27px}}
@media(max-width:1023.98px){.card{background:var(--paper)}}
@media(max-height:759.98px) and (max-width:1023.98px){.card-bio{height:21px;-webkit-line-clamp:1;line-clamp:1}}

/* ---------- deck column, vote bar, stats §4.1 / §5.1 */
.deckcol{position:relative;min-width:0}
.deckcol.is-empty .deck-wrap,.deckcol.is-empty .votebar,.deckcol.is-empty .swipe-hint{display:none}
.votebar{display:grid;grid-template-columns:auto auto;justify-content:center;column-gap:24px;row-gap:8px;margin-top:44px}
.stats{grid-column:1/-1;text-align:center;font-size:14px;line-height:1.45;color:var(--muted)}
.stats b{color:var(--ink);font-weight:700}
.swipe-hint{position:relative;height:0}
.swipe-hint span{position:absolute;left:0;right:0;top:29px;text-align:center;font-size:12px;line-height:13px;color:var(--muted)}
.nojs{margin-top:16px;padding:12px 16px;font-size:14px}
.js .nojs{display:none}
.deck-watchdog{margin-top:16px;padding:12px 16px;font-size:14px}
html:not(.js) .swipe-hint,html:not(.js) .crowd-pill{display:none}
@keyframes v-fade{from{opacity:0}}

/* ---------- crowd pill §5.6 */
.crowd-pill{position:absolute;top:12px;left:0;right:0;z-index:6;margin:0 auto;width:max-content;max-width:calc(100% - 112px);padding:8px 14px;border-radius:18px;background:rgba(22,19,14,.92);color:var(--card);font:700 14px/1.35 var(--f-text);text-align:center;opacity:0;pointer-events:none}
.crowd-pill .num{font-size:15px}
.pill-dir{display:inline-block;padding:1px 6px;border-radius:6px;background:var(--dir,var(--ink));color:#fff;font:800 12px/1.4 var(--f-text);letter-spacing:.04em;vertical-align:1px}
.pill-dir.is-top{--dir:var(--top)}.pill-dir.is-slop{--dir:var(--slop)}
.crowd-pill.is-show{animation:pill-in 160ms var(--ease-out) both,pill-out 200ms linear 2200ms forwards}
@keyframes pill-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@keyframes pill-out{from{opacity:1}to{opacity:0}}
@keyframes pill-fade{from{opacity:0}to{opacity:1}}
.crowd-pill.is-static{position:static;opacity:1;animation:none;pointer-events:auto;margin:0}

/* ---------- coach §5.15 */
.coach{position:absolute;inset:0;z-index:7;pointer-events:none;opacity:0;border-radius:var(--r-card);overflow:hidden}
.coach::before,.coach::after{content:"";position:absolute;top:0;bottom:0;width:50%}
.coach::before{left:0;background:linear-gradient(to right,rgba(210,41,28,.28),transparent)}
.coach::after{right:0;background:linear-gradient(to left,rgba(18,128,74,.28),transparent)}
.coach.is-show{animation:coach-in 200ms linear both}
.coach.is-leaving{animation:coach-out 160ms linear both}
@keyframes coach-in{from{opacity:0}to{opacity:1}}
@keyframes coach-out{from{opacity:1}to{opacity:0}}
.coach-side{position:absolute;z-index:1;top:50%;display:flex;flex-direction:column;align-items:center;gap:6px;transform:translateY(-50%)}
.coach-slop{left:16px;--c:var(--slop)}.coach-top{right:16px;--c:var(--top)}
.coach-disc{display:grid;place-items:center;width:56px;height:56px;border:var(--bw);border-radius:50%;background:var(--c);box-shadow:var(--sh-1);color:#fff}
.coach-disc svg{width:26px;height:26px}
.coach-label{padding:2px 8px;border-radius:999px;background:var(--c);color:#fff;font:800 12px/1.4 var(--f-text);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.coach-hints{position:absolute;z-index:1;left:0;right:0;bottom:calc(160px + 24px);display:flex;flex-direction:column;align-items:center;gap:8px}
.coach-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:18px;background:rgba(22,19,14,.92);color:var(--card);font:700 14px/1.35 var(--f-text);text-align:center}
.coach-pill svg{width:14px;height:14px;flex:none}
@media(max-width:1023.98px){.coach{border-radius:0}.coach-hints{bottom:calc(140px + 24px + env(safe-area-inset-bottom))}}
.coach.is-static{position:relative;inset:auto;display:block;height:420px;opacity:1;animation:none;border-radius:var(--r-card)}

/* ---------- ask card §5.6b */
.card-ask{min-height:300px}
.ask-in{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:14px;padding:16px;overflow:hidden}
.ask-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.ask-head .label{color:var(--muted)}
.ask-head .btn-link{font-size:14px;line-height:1.45;font-weight:600}
.ask-q{display:flex;align-items:center;gap:14px;min-width:0}
.ask-thumb{position:relative;flex:none;width:96px;height:60px}
.ask-thumb img{width:100%;height:100%;border:1.5px solid var(--ink);border-radius:8px;object-fit:cover;object-position:top;background:var(--paper)}
.ask-thumb [data-f=stamp]:empty{display:none}
.ask-thumb .stamp,.ask-thumb [data-f=stamp]{position:absolute;right:-4px;bottom:-4px}
.ask-thumb .stamp{font-size:18px;border-width:3px;padding:2px 8px;border-radius:7px}
.ask-crowd{margin:-4px 0 0;font:600 14px/1.4 var(--f-text);color:var(--ink)}
.ask-crowd:empty{display:none}
.ask-title{font:800 20px/1.2 var(--f-display);font-stretch:100%;min-width:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;overflow-wrap:anywhere}
.ask-title .t-top{color:var(--top-ink)}.ask-title .t-slop{color:var(--slop-ink)}
.ask-chips{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ask-chips .chip-why{min-height:48px;width:100%;justify-content:flex-start;padding:6px 14px}
.ask-more{display:block;text-align:right}
.ask-hint{margin-top:auto;text-align:center;font-size:12px;line-height:1.4;font-weight:500;color:var(--muted)}
@media(min-width:1024px){
  .ask-in{padding:20px}
  .ask-thumb{width:120px;height:75px}
  .ask-title{font-size:22px}
}

/* ---------- judge bar §5.7, invite banner */
.judgebar{margin-bottom:10px;padding:6px 12px 8px;background:var(--gold);border:var(--bw);border-radius:var(--r-box)}
.jb-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13px;font-weight:600;line-height:1.25}
.jb-top .num{font-size:16px;flex:none}
.jb-segs{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;margin-top:5px}
.jb-segs span{height:5px;background:var(--card);border:1px solid var(--ink)}
.jb-segs span.is-on{background:var(--ink)}
.invite{margin-bottom:10px;padding:8px 12px;border:var(--bw);border-radius:var(--r-box);background:var(--card);font-size:14px;font-weight:600;line-height:1.3}

/* ---------- rank box §5.3 */
.col-rank{display:none}
.rankbox{display:grid;gap:16px}
.rb{padding:16px}
.rb-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px}
.rb-title{display:flex;align-items:center;gap:6px}
.rb-title svg{flex:none;width:15px;height:15px}
.rb-list{display:grid;gap:6px}
.rb-row{display:grid;grid-template-columns:28px 64px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:64px;padding:0 6px;margin:0 -6px;border-radius:10px;text-decoration:none}
a.rb-row:hover{background:var(--paper)}
.rb-rank{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font-size:18px;line-height:1}
.rb-rank.is-gold{background:var(--gold)}
.rb-thumb{width:64px;height:40px;border:1.5px solid var(--ink);border-radius:6px;overflow:hidden;background:var(--paper)}
.rb-thumb img{width:100%;height:100%;object-fit:cover;object-position:top}
.rb-txt{min-width:0;display:grid;gap:1px}
.rb-name{font-size:14px;line-height:1.3;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.rb-pct{display:grid;justify-items:end;font-size:12px;line-height:1.25;font-weight:700;color:var(--top-ink)}
.rb-pct .num{font-size:15px}
.rb-pct.is-low{color:var(--slop-ink)}
.rb-one{font-size:12px;line-height:1.4;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1599.98px){.rb-row{grid-template-columns:28px minmax(0,1fr) auto}.rb-row .rb-thumb{display:none}.rb-ph .tiny{display:none}}
.rb-ph{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:60px;padding:0 12px;border:2px dashed var(--ink);border-radius:10px;text-decoration:none;font-size:14px;font-weight:700}
.rb-ph .tiny{text-decoration:underline;text-underline-offset:3px;font-weight:500;white-space:nowrap}
.rb-ph:hover{background:var(--paper)}
.rb-ph .rb-rank{margin-right:2px}
.rb-ph-l{display:flex;align-items:center;gap:8px;min-width:0}
.rb-ph-l>span:last-child{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jb .rb-list{gap:4px}
.jb-row{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;min-height:48px}
.jb-txt{min-width:0;display:grid;gap:1px}
.jb-handle{display:inline-flex;align-items:center;gap:5px;min-width:0;font-size:14px;line-height:1.3;font-weight:700;text-decoration:none;color:var(--ink)}
a.jb-handle:hover span{text-decoration:underline;text-underline-offset:3px}
.jb-handle svg{flex:none;width:13px;height:13px}
.jb-handle span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jb-sub{font-size:12px;line-height:1.35;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jb-maker{color:inherit}
.jb-pts{font-weight:700;color:var(--ink)}
.jb .rb-ph{min-height:48px}
.ad{position:relative;display:flex;align-items:center;gap:10px;padding:12px 14px;border:2px dashed var(--ink);border-radius:var(--r-box);text-decoration:none}
.ad-t{display:grid;gap:1px;min-width:0}
.ad-t b{font-size:14px;line-height:1.3}
.ad-t span{font-size:12px;line-height:1.4;color:var(--muted)}
.ad-live{border-style:solid;padding-right:78px}
.ad-logo{flex:none;width:40px;height:40px;border:1.5px solid var(--ink);border-radius:8px;object-fit:cover;background:var(--paper)}
.ad-label{position:absolute;top:8px;right:10px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
@media(max-width:1599.98px){.ad-live{padding-top:30px;padding-right:16px}}
a.ad:hover{background:var(--card)}
@media(min-width:1024px){.col-rank{display:flex;flex-direction:column;gap:16px;position:sticky;top:20px}}

/* ---------- top slider §5.3b (SPEC §7.12) */
.mstrip{position:relative;flex:none;display:flex;align-items:stretch;height:50px;background:var(--paper);border-bottom:var(--bw)}
.ms-track{position:relative;flex:1 1 auto;min-width:0;display:flex;align-items:center;padding-left:var(--gut);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent)}
.ms-track::-webkit-scrollbar{display:none}
.ms-list{flex:none;display:flex;gap:8px;padding-right:8px}
.ms-list li{flex:none}
.ms-item{display:flex;align-items:center;gap:6px;height:36px;padding:0 10px 0 6px;border:1.5px solid var(--ink);border-radius:10px;background:var(--card);text-decoration:none;white-space:nowrap}
.ms-item:hover{background:var(--paper)}
.ms-rank{font-size:13px;line-height:1}
.ms-kind{flex:none;display:grid;place-items:center;width:16px;height:16px}
.ms-kind svg{width:16px;height:16px}
.ms-ph .ms-rank{margin-right:2px}
.ms-thumb{flex:none;width:40px;height:25px;border:1px solid var(--ink);border-radius:4px;overflow:hidden;background:var(--paper)}
.ms-thumb img{width:100%;height:100%;object-fit:cover;object-position:top}
.ms-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;font-size:12px;line-height:1.3;font-weight:700}
.ms-pct{font-size:12px;line-height:1.3;font-weight:700;color:var(--top-ink)}
.ms-pct.is-low{color:var(--slop-ink)}
.ms-ad{background:var(--gold);padding-left:8px}
.ms-ad:hover{background:var(--gold)}
.ms-logo{flex:none;width:24px;height:24px;border:1.5px solid var(--ink);border-radius:5px;object-fit:cover;background:var(--card)}
.ms-tag{font-size:12px;line-height:1.3;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.ms-ph{border-style:dashed;padding:0 12px;font-size:12px;line-height:1.3;font-weight:700}
.ms-pause{position:absolute;right:8px;top:7px;z-index:2;height:36px;padding:0 14px;border:var(--bw);border-radius:999px;background:var(--card);font:700 12px/1 var(--f-text)}
.ms-pause:not(:focus){width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0;white-space:nowrap}
@media(min-width:1024px){.mstrip{display:none}}
body.has-judgebar .mstrip{display:none}

/* ---------- home layout §4.1 / §4.2 */
.home-grid{display:block}
@media(min-width:1024px){
  .home-grid .deck-wrap{width:100%}
  /* invite banner / judge bar above the card (~48 px): smaller card so the buttons stay above the fold; kept after the banner hides (no size jump) */
  .home-grid:has(.invite,.judgebar){--deck-w:max(460px,min(960px,calc((100vh - 420px)*1.6)))}
  /* the card has priority: the side boxes give up to 40 px each (down to 200) before it shrinks */
  /* the grid sits in the middle of the space between header and footer */
  .page-deck main{display:flex;flex-direction:column;justify-content:center}
  .home-grid{--side-w:clamp(200px,calc((100vw - 2 * var(--gut) - 2 * var(--gap) - var(--deck-w)) / 2),var(--side));display:grid;grid-template-columns:var(--side-w) minmax(0,var(--deck-w)) var(--side-w);justify-content:center;align-items:start;gap:var(--gap);padding:20px var(--gut) 32px}
}
@media(max-width:1023.98px){
  body.page-deck{height:100vh;height:100dvh;min-height:0;overflow:hidden}
  .page-deck main{flex:1 1 0;min-height:0;display:flex;flex-direction:column}
  .page-deck .home-grid{flex:1 1 0;min-height:0;display:flex;flex-direction:column;padding:0}
  .page-deck .deckcol{flex:1 1 0;min-height:0;display:flex;flex-direction:column;padding:0}
  .page-deck .judgebar,.page-deck .invite{flex:none;width:100%;margin:0;border-width:0 0 2px;border-radius:0}
  .page-deck .site-footer,.page-deck .swipe-hint,.page-deck .stats{display:none}
  .nojs,.deck-watchdog{margin:8px 12px 0}
  /* Revision 3 (§4.2b): borderless full-width card, no stack edges, no visible vote buttons */
  .page-deck .deck-wrap{flex:1 1 0;min-height:0;display:flex;flex-direction:column;width:100%;margin:0;background:var(--paper)}
  .page-deck .deck{flex:1 1 0;min-height:0;grid-template-rows:minmax(0,1fr);padding:0}
  .page-deck .card{border-width:2px 0 0;border-radius:0}
  .page-deck .card[data-pos="0"]{box-shadow:none}
  .page-deck .card[data-pos="1"]{transform:scale(.94);transform-origin:50% 50%}
  .page-deck .card[data-pos="2"]{visibility:hidden;transform:scale(.94);transform-origin:50% 50%}
  .page-deck .card-photo{flex:1 1 auto;min-height:0;aspect-ratio:auto}
  /* the phone shot keeps its natural height (top-aligned, the client pans it vertically, §6.8); no phone shot: whole first screen on a stage */
  .page-deck .card-photo:not(.is-wide) picture{position:static}
  .page-deck .card-photo:not(.is-wide) img{height:auto;object-fit:fill}
  .page-deck .card-photo.is-wide{background:var(--stage)}
  .page-deck .card-photo.is-wide img{object-fit:contain;object-position:50% 50%}
  .page-deck .card-body{padding:12px 16px max(12px,env(safe-area-inset-bottom))}
  .page-deck .ask-in{padding:16px 16px max(16px,env(safe-area-inset-bottom))}
  /* vote bar: sr-only, floating bar of round buttons while it has focus */
  .votebar{position:fixed;z-index:30;left:0;right:0;bottom:0;display:grid;grid-template-columns:auto auto;justify-content:center;column-gap:28px;row-gap:0;margin:0;padding:12px 12px max(12px,env(safe-area-inset-bottom));background:var(--paper);border-top:var(--bw)}
  .votebar:not(:focus-within){width:1px;height:1px;left:auto;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
  .stats-agree{display:none}
}
/* Revision 4 (§6.8): phone shot over the whole card height, the info block lies on top and is pushed out by the client while the photo pans (not for .is-wide, not in low landscape) */
@media(max-width:1023.98px) and (min-height:521px){
  .page-deck .card-in{position:relative}
  .page-deck .card-photo:not(.is-wide){--info-h:128px;position:absolute;inset:0;border-bottom:0;aspect-ratio:auto}
  .page-deck .card-photo:not(.is-wide) + .card-body{position:absolute;left:0;right:0;bottom:0;z-index:2;background:var(--paper);border-top:var(--bw);will-change:transform}
  .page-deck .card-photo:not(.is-wide) .photo-hint{bottom:calc(var(--info-h) + 8px)}
}
/* low landscape: like Revision 2 – scrolls, visible buttons, rounded card, fixed 16:10 photo (the phone shot cropped from the top) */
@media(max-width:1023.98px) and (max-height:520px){
  body.page-deck{height:auto;min-height:100vh;overflow:auto}
  .page-deck main,.page-deck .home-grid,.page-deck .deckcol,.page-deck .deck-wrap{display:block;flex:none}
  .page-deck .deck-wrap{width:min(100% - 24px,420px);margin:12px auto 0;background:none}
  .page-deck .deck{padding-bottom:16px;--o1:8px;--o2:16px}
  .page-deck .card{border-width:2px;border-radius:var(--r-card)}
  .page-deck .card[data-pos="0"]{box-shadow:var(--sh-2)}
  .page-deck .card[data-pos="1"]{transform:scale(.96) translateY(var(--o1));transform-origin:50% 100%}
  .page-deck .card[data-pos="2"]{visibility:visible;transform:scale(.92) translateY(var(--o2));transform-origin:50% 100%}
  .page-deck .card-photo,.page-deck .card-photo.is-wide{flex:none;aspect-ratio:16/10;background:var(--paper)}
  .page-deck .card-photo:not(.is-wide) picture{position:absolute}
  .page-deck .card-photo img,.page-deck .card-photo.is-wide img{height:100%;object-fit:cover;object-position:top}
  .page-deck .votebar,.page-deck .votebar:not(:focus-within){position:static;width:auto;height:auto;overflow:visible;clip:auto;border:0;background:none;padding:8px 12px 12px}
  .page-deck .stats{display:block}
  .page-deck .judgebar,.page-deck .invite{width:min(100% - 24px,420px);margin:8px auto 0;border-width:2px;border-radius:var(--r-box)}
  .page-deck .card-body{padding:12px 14px}
}
.deck-empty,.deck-error{margin:0 auto;width:min(100% - 32px,480px);text-align:left}
.deck-empty{text-align:center}
.deck-empty h2{margin-bottom:8px}
.deck-empty p{margin-bottom:16px;color:var(--muted)}
.deck-error{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;font-weight:600}
@media(min-width:1024px){.deck-empty,.deck-error{width:100%}}

/* ---------- toast §5.11, turnstile §5.12 */
.toast{position:fixed;z-index:60;left:50%;bottom:24px;max-width:min(92vw,420px);padding:12px 16px;border-radius:12px;background:var(--ink);color:var(--card);font:600 14px/1.45 var(--f-text);opacity:0;visibility:hidden;transform:translate(-50%,12px);transition:opacity 180ms var(--ease-out),transform 180ms var(--ease-out),visibility 0s linear 180ms;pointer-events:none}
.toast.is-show{opacity:1;visibility:visible;transform:translate(-50%,0);transition-delay:0s}
.toast.is-static{position:static;display:inline-block;transform:none;opacity:1;visibility:visible}
@media(max-width:1023.98px){.page-deck .toast{bottom:calc(20px + env(safe-area-inset-bottom))}}
.ts-box{display:none;position:fixed;z-index:55;left:50%;bottom:24px;transform:translateX(-50%);padding:12px 16px;border-radius:12px;background:var(--ink);color:var(--card);font:600 14px/1.45 var(--f-text);text-align:center}
.ts-box.is-visible{display:block}
.ts-box p{margin-bottom:8px}
@media(max-width:1023.98px){.page-deck .ts-box{bottom:calc(20px + env(safe-area-inset-bottom))}}

/* ---------- dialogs: profile §5.5, report §5.8b, done §5.8 */
dialog{color:var(--ink);padding:0;margin:auto;border:var(--bw);border-radius:var(--r-card);background:var(--card);box-shadow:var(--sh-2);overflow:hidden;max-width:none;max-height:none}
dialog::backdrop{background:rgba(22,19,14,.55)}
dialog[open]::backdrop{animation:v-fade 180ms linear}
@keyframes dlg-in{from{opacity:0;transform:scale(.96)}}
@keyframes dlg-out{to{opacity:0;transform:scale(.96)}}
@keyframes sheet-in{from{transform:translateY(100%)}}
@keyframes sheet-out{to{transform:translateY(100%)}}
dialog[open]{animation:dlg-in 220ms var(--ease-out)}
dialog.is-closing{animation:dlg-out 160ms var(--ease-in) forwards}
dialog.is-dragging{animation:none;transition:none}
.dlg{width:min(420px,calc(100vw - 32px));padding:20px}
.dlg-done{width:min(520px,calc(100vw - 32px));padding:28px 24px 24px}
.dlg h1,.dlg h2{margin-bottom:8px}
.dlg h1{font-size:clamp(28px,5vw,36px)}
.dlg p{margin-bottom:16px}
.dlg-list{display:grid;gap:8px;margin:12px 0 16px}
.dlg-act{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px;margin-top:20px}
.dlg-stamp{margin:4px 0 20px 6px;display:block;width:max-content}
@media(max-width:699.98px){
  .dlg,.dlg-done{width:100%;margin:auto 0 0;border-radius:18px 18px 0 0;border-bottom:0;box-shadow:none}
  .dlg-done{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
  dialog[open].dlg,dialog[open].dlg-done{animation:sheet-in 280ms var(--ease-out)}
  dialog.dlg.is-closing,dialog.dlg-done.is-closing{animation:sheet-out 220ms var(--ease-in) forwards}
}
.profile{width:min(760px,calc(100vw - 32px));max-height:92vh;max-height:92dvh}
.profile[open]{display:flex;flex-direction:column}
.profile.is-open{transform:none}
.pf-gal{position:relative;flex:none;height:min(60vh,520px);background:var(--stage);color:var(--stage-text)}
.pf-photos{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.pf-photos img{width:100%;height:100%;object-fit:contain;animation:v-fade 150ms linear}
.pf-segs{position:absolute;top:10px;left:10px;right:56px;z-index:3;display:flex;gap:4px}
.pf-segs span{flex:1;height:4px;border-radius:2px;background:rgba(233,227,211,.35);box-shadow:0 0 0 1px rgba(22,19,14,.4)}
.pf-segs span.is-on{background:var(--card)}
.pf-zone{position:absolute;top:0;bottom:0;width:35%;z-index:2;background:none;border:0;padding:0;-webkit-tap-highlight-color:transparent}
.pf-zone.prev{left:0}.pf-zone.next{right:0}
.pf-arrow{display:none;position:absolute;z-index:4;top:50%;width:40px;height:40px;margin-top:-20px;place-items:center;padding:0;border:var(--bw);border-radius:50%;background:var(--card);color:var(--ink);font-size:18px;line-height:1}
.pf-arrow.prev{left:12px}.pf-arrow.next{right:12px}
@media(pointer:fine){.pf-arrow{display:grid}}
.pf-caption{position:absolute;left:12px;bottom:12px;z-index:3;padding:3px 8px;border-radius:4px;background:rgba(38,34,27,.85);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--stage-text)}
.pf-close{position:absolute;top:8px;right:8px;z-index:5;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:40px;height:40px;padding:0;border:var(--bw);border-radius:999px;background:var(--card);color:var(--ink);font:700 14px/1 var(--f-text)}
.pf-close svg{width:14px;height:14px}
.pf-close span{display:none}
@media(min-width:1024px){.pf-close{padding:0 14px}.pf-close span{display:inline}}
.pf-body{flex:1 1 auto;min-height:0;overflow:auto;padding:20px;display:grid;gap:10px;align-content:start}
.pf-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px;min-width:0}
.pf-head .card-name{font-size:24px;overflow:visible;white-space:normal;flex:0 1 auto;max-width:none}
.pf-bio{font-size:15px;line-height:1.45}
.pf-looking{font-size:14px}
.pf-looking b{font-weight:700}
.pf-body .tags{height:auto;overflow:visible}
.pf-foot{flex:none;display:flex;justify-content:center;gap:16px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:var(--card);border-top:var(--bw)}
.pf-foot .btn-vote{width:min(44%,170px)}
@media(max-width:699.98px){
  .profile{width:100%;height:calc(100vh - 8px);height:calc(100dvh - 8px);max-height:none;margin:auto 0 0;border-radius:18px 18px 0 0;border-bottom:0;box-shadow:none}
  .pf-gal{height:min(58dvh,470px)}
  .pf-photos{padding:44px 0 36px}
  .pf-photos img{width:auto;height:auto;max-width:calc(100% - 40px);max-height:100%;border:2px solid var(--stage-text);border-radius:16px}
  dialog[open].profile{animation:sheet-in 280ms var(--ease-out)}
  dialog.profile.is-closing{animation:sheet-out 220ms var(--ease-in) forwards}
}
/* static embedding (styleguide) */
.profile.is-static{display:flex;flex-direction:column;position:static;width:min(760px,100%);margin:0;animation:none;box-shadow:var(--sh-2)}
.profile.is-static .pf-gal{height:340px}
.profile.is-static.is-mobile{width:375px;height:780px;border-radius:18px 18px 0 0;max-width:100%}
.profile.is-static.is-mobile .pf-gal{height:min(58dvh,380px)}
.profile.is-static.is-mobile .pf-photos{padding:44px 0 36px}
.profile.is-static.is-mobile .pf-photos img{width:auto;height:auto;max-width:calc(100% - 40px);max-height:100%;border:2px solid var(--stage-text);border-radius:16px}
.profile.is-static.is-mobile .pf-close span{display:none}
.profile.is-static .pf-arrow{display:grid}
.profile.is-static.is-mobile .pf-arrow{display:none}

/* static dialogs (styleguide) */
.dlg.is-static,.dlg-done.is-static{display:block;margin:0;width:min(100%,520px);border:var(--bw);border-radius:var(--r-card);background:var(--card);box-shadow:var(--sh-2);animation:none}
.dlg.is-static{width:min(100%,420px)}

/* ---------- forms §4.4 / §5.10 */
.form-box{padding:24px;display:grid;gap:20px}
.field{display:grid;gap:6px}
.field-label{font:700 15px/1.3 var(--f-text)}
.field-label .opt{font-weight:400;color:var(--muted)}
.field-hint{font-size:14px;line-height:1.45;color:var(--muted)}
.input{display:block;width:100%;height:48px;padding:0 14px;border:var(--bw);border-radius:10px;background:var(--card);color:var(--ink);font:400 16px/1.3 var(--f-text);-webkit-appearance:none;appearance:none}
textarea.input{height:auto;min-height:96px;padding:12px 14px;resize:vertical}
.input::placeholder{color:var(--muted);opacity:1}
.input:focus-visible,.input.is-focus{outline:3px solid var(--focus);outline-offset:2px}
.field-foot:empty{display:none}
.field-foot{display:flex;justify-content:space-between;gap:12px;min-height:17px}
.field-count{margin-left:auto;font-size:12px;line-height:1.4;font-weight:500;color:var(--muted);font-variant-numeric:tabular-nums}
.field.has-error .input{border-color:var(--slop-ink)}
.field-err{font-size:14px;line-height:1.45;font-weight:600;color:var(--slop-ink)}
.check{display:grid;grid-template-columns:22px 1fr;gap:4px 12px;align-items:start}
.check input{-webkit-appearance:none;appearance:none;margin:2px 0 0;width:22px;height:22px;display:grid;place-content:center;border:var(--bw);border-radius:6px;background:var(--card)}
.check input::before{content:"";width:12px;height:12px;background:var(--ink);clip-path:polygon(14% 52%,0 66%,38% 100%,100% 22%,86% 8%,38% 72%);transform:scale(0)}
.check input:checked::before{transform:scale(1)}
.check .field-label{font-weight:600}
.check .field-hint{grid-column:2}
.form-error{padding:12px 14px;border:2px solid var(--slop-ink);border-radius:10px;background:var(--card);color:var(--slop-ink);font-size:14px;line-height:1.45;font-weight:600}
.form-rules{font-size:12px;line-height:1.4;color:var(--muted)}
.turnstile{min-height:0}
.submit-grid{display:grid;gap:32px;max-width:var(--wrap);margin:0 auto;padding:24px var(--gut) 64px}
.submit-main{max-width:560px;display:grid;gap:16px;align-content:start}
.how-list{counter-reset:how;display:grid;gap:16px;margin-top:12px}
.how-list li{counter-increment:how;position:relative;padding-left:44px}
.how-list li::before{content:counter(how);position:absolute;left:0;top:-2px;font:800 24px/1 var(--f-display);width:32px;height:32px;display:grid;place-items:center;border:var(--bw);border-radius:50%}
@media(min-width:1024px){.submit-grid{grid-template-columns:minmax(0,560px) minmax(0,360px);justify-content:center;gap:64px}}

/* ---------- result page §4.3 / §5.9 */
.res{max-width:1120px;margin:0 auto;padding:24px var(--gut) 64px;display:grid;gap:24px}
.res-cols{display:grid;gap:24px;align-items:start}
.res-main,.res-side{display:grid;gap:16px;align-content:start;min-width:0}
@media(min-width:900px){.res-cols{grid-template-columns:minmax(0,560px) minmax(0,1fr);gap:48px}}
/* Revision 11 (SPEC §22.1): the entry as a deck card (static: no swipe, no gallery) */
.card.is-static{box-shadow:var(--sh-2);touch-action:auto;user-select:auto;-webkit-user-select:auto}
.res-card .card-name{font-size:clamp(22px,3vw,28px);height:auto}
.res-card .card-head{height:auto}
.res-card a.card-host{text-underline-offset:3px}
.res-card a.card-host:hover,.res-card a.card-host:focus-visible{text-decoration:underline}
.res-card .verified{align-self:center}
.res-card .card-bio{height:auto;min-height:21px}
.res-owner{display:grid;gap:12px}
.res-owner-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}
.res-owner-tag{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.res-owner-msg{color:var(--muted)}
.res-edit{display:grid;gap:14px;padding:16px 20px}
.res-edit h2{font-size:20px}
.res-mod{padding:0}
.res-mod>summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;padding:14px 48px 14px 20px;position:relative;cursor:pointer;list-style:none;border-radius:var(--r-box)}
.res-mod>summary::-webkit-details-marker{display:none}
.res-mod>summary::after{content:"";position:absolute;right:22px;top:50%;width:8px;height:8px;margin-top:-6px;border:solid var(--ink);border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform var(--t-fast) var(--ease-out)}
.res-mod[open]>summary::after{transform:rotate(-135deg);margin-top:-2px}
.res-mod>summary:hover{background:var(--paper)}
.res-mod-h{font:800 18px/1.2 var(--f-display)}
.res-mod-sub{color:var(--muted)}
.res-mod-in{display:grid;gap:12px;padding:0 20px 18px;min-width:0}
.res-mod pre.code{margin:0}
.res-perks{gap:4px;padding:0 20px 12px 38px;list-style:disc;font-size:15px}
.badge-opts{display:flex;flex-wrap:wrap;gap:8px 16px}
.res-photo .stamp{position:absolute;top:24px;left:24px;font-size:52px}
.res-photo .stamp-slop{left:auto;right:24px}
.res-wait h1{color:var(--ink)}
.res-wait p{margin-top:8px;color:var(--muted)}
.mega-wrap{display:grid;gap:8px}
.mega.is-top{color:var(--top)}.mega.is-slop{color:var(--slop)}
.mega-line{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;font-size:16px}
.mega-line b{font-weight:700}
.live{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--top);animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{50%{opacity:.35}}
.rank-badge{display:inline-block;width:max-content;max-width:100%;padding:6px 14px;border:var(--bw);border-radius:999px;background:var(--gold);box-shadow:var(--sh-1);font:800 16px/1.2 var(--f-display)}
.rank-none{font-size:14px;color:var(--muted)}
.split p{font-size:16px;font-weight:600}
.split small{display:block;margin-top:2px;font-size:12px;color:var(--muted);font-weight:500}
.split b{color:var(--ink)}
.share-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.share .small{margin-top:10px;color:var(--muted)}
/* SPEC §7.8: owners (result.js sets data-owner) get their share box, everyone else the one about the page */
.res:not([data-owner]) .share-own,.res[data-owner] .share-pub{display:none}
.why-cols{display:grid;gap:24px;margin-top:14px}
@media(min-width:700px){.why-cols{grid-template-columns:1fr 1fr;gap:40px}}
.why-col h3{font:800 18px/1.2 var(--f-display);margin-bottom:12px}
.why-col.is-slop h3{color:var(--slop-ink)}.why-col.is-top h3{color:var(--top-ink)}
.why-list{display:grid;gap:12px}
.why-row{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:4px 12px}
.why-n{font-size:16px}
.why-bar{grid-column:1/-1;height:10px;border-radius:999px;overflow:hidden;background:var(--bg-track)}
.why-col.is-slop{--bg-track:var(--slop-tint);--bg-fill:var(--slop)}
.why-col.is-top{--bg-track:var(--top-tint);--bg-fill:var(--top)}
.why-bar i{display:block;height:100%;border-radius:999px;background:var(--bg-fill)}
.why-empty{font-size:14px;color:var(--muted)}
.res-better{font-size:16px;font-weight:600}
.res-better b{font-weight:800}
.sig-sub{color:var(--muted);margin-top:4px}
.sig-list{display:grid;gap:14px;margin-top:14px}
.sig-row{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:4px 12px}
.sig-n{font-size:16px}
.sig-bar{grid-column:1/-1;height:10px;border-radius:999px;overflow:hidden;background:var(--line)}
.sig-bar i{display:block;height:100%;border-radius:999px;background:var(--ink)}
.sig-avg{grid-column:1/-1;font-size:12px;color:var(--muted)}
.sig-note{margin-top:14px;font-size:14px;font-weight:600}
.res-links{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;font-weight:600}
.savebox{display:grid;gap:12px;padding:16px 20px;background:var(--card);border:3px solid var(--gold);border-radius:var(--r-box)}
.savebox h2{font-size:20px}
.save-row{display:flex;flex-wrap:wrap;gap:10px}
.codefield{flex:1 1 220px;min-width:0;height:48px;padding:0 12px;border:var(--bw);border-radius:10px;background:var(--paper);font:400 13px/1 var(--f-mono)}

/* ---------- leaderboard §4.5 */
.top-wrap{max-width:860px;margin:0 auto;padding:24px var(--gut) 64px;display:grid;gap:20px}
.seg{display:inline-flex;max-width:100%;overflow:hidden;border:var(--bw);border-radius:999px;background:var(--card)}
.seg a{padding:10px 16px;font:700 14px/1.2 var(--f-text);text-decoration:none;white-space:nowrap}
.seg a+a{border-left:var(--bw)}
.seg a[aria-current=page]{background:var(--ink);color:var(--card)}
.seg button{padding:10px 16px;border:0;background:none;color:inherit;cursor:pointer;font:700 14px/1.2 var(--f-text);white-space:nowrap}
.seg button+button{border-left:var(--bw)}
.seg button[aria-pressed=true]{background:var(--ink);color:var(--card)}
.seg-sm{justify-self:start}
.seg-sm button{padding:6px 14px;font-size:13px}
.lead-list{display:grid;gap:10px}
.lead-row{display:grid;grid-template-columns:44px 120px minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px 14px;background:var(--card);border:var(--bw);border-radius:var(--r-box);text-decoration:none}
.lead-row:hover{background:var(--paper)}
.lead-rank{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;font-size:28px;line-height:1}
.lead-rank.is-gold{background:var(--gold)}
.lead-row .rb-thumb{width:120px;height:75px;border-radius:8px}
.lead-txt{min-width:0}
.lead-name{font:800 20px/1.2 var(--f-display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lead-one{font-size:14px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lead-stat{text-align:right;font-weight:700;font-size:14px;line-height:1.3;color:var(--top-ink)}
.lead-stat.is-low{color:var(--slop-ink)}
.lead-stat span{display:block;font-weight:500;font-size:12px;color:var(--muted)}
@media(max-width:639.98px){.lead-row{grid-template-columns:36px 72px minmax(0,1fr);gap:10px}.lead-rank{width:36px;height:36px;font-size:22px}.lead-row .rb-thumb{width:72px;height:45px}.lead-stat{grid-column:3;text-align:left}}

/* ---------- prose §4.6 */
.prose{max-width:720px;margin:0 auto;padding:24px var(--gut) 64px}
.prose>*+*{margin-top:var(--s5)}
.prose h1{margin-bottom:8px}
.prose h2{margin-top:var(--s6)}
.prose p,.prose li{max-width:65ch}
.prose ul{list-style:disc;padding-left:20px}
.prose a{text-underline-offset:3px}
.prose code,.prose pre,.code{font:400 14px/1.5 var(--f-mono);overflow-wrap:anywhere}
.prose pre,.code{display:block;margin:0;padding:12px 14px;background:var(--paper);border:var(--bw);border-radius:8px;overflow-x:auto;white-space:pre-wrap}
.page-title{margin-bottom:8px}

/* ---------- styleguide */
.sg{max-width:1120px;margin:0 auto;padding:32px var(--gut) 8px;overflow-x:clip}
.sg>h2{padding-bottom:8px;margin-bottom:20px;border-bottom:var(--bw)}
.sg h3{font:700 14px/1.3 var(--f-text);margin:20px 0 10px;color:var(--muted)}
.sg-row{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}
.sg-wm-lg .wordmark{font-size:48px}
.sg-stage{position:relative;padding:24px 8px 40px}
.sg-sw{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.sg-sw div{border:var(--bw);border-radius:10px;overflow:hidden;font-size:12px;line-height:1.4;background:var(--card)}
.sg-sw i{display:block;height:48px;border-bottom:var(--bw)}
.sg-sw span{display:block;padding:6px 8px}
.sg-type>div{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line)}
.sg-type small{font-size:12px;color:var(--muted)}
.sg-cols{display:grid;gap:24px;grid-template-columns:minmax(0,1fr)}
@media(min-width:800px){.sg-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.sg-narrow{width:min(100%,480px)}
.sg-drag{margin:0 40px;width:min(calc(100% - 80px),480px)}
@media(min-width:800px){.sg-drag{margin:0 60px}}
.sg-frame{position:relative;border:var(--bw);border-radius:var(--r-box);background:var(--card);overflow:auto}
.sg-frame iframe{display:block;border:0;width:1440px;height:900px;transform-origin:0 0}
.sg-frame.is-scaled{overflow:hidden}
.sg-frame.is-scaled iframe{position:absolute;left:0;top:0}
.sg-strip .mstrip{display:flex}
.sg-col{width:min(100%,520px);position:relative}
.sg-ask{width:min(100%,420px);height:520px;display:grid}
.sg-ask>.card{grid-area:1/1}
.sg-pills{display:grid;gap:16px;justify-items:start}
.sg-pills .crowd-pill{max-width:min(100%,420px)}
.sg-round .votebar,.sg-round .votebar:not(:focus-within){position:static;display:flex;justify-content:center;align-items:center;gap:28px;width:auto;height:auto;overflow:visible;clip:auto;margin:0;padding:12px 0;border:0;background:none}
.sg-round .stats{display:block}
.sg-round .stats{font-size:12px;line-height:1.3}
.sg-round .stats [data-f=swiped]{display:block;width:min-content;margin:0 auto}
.sg-round .stats [data-f=swiped]::first-line{font:800 18px/1.1 var(--f-display);color:var(--ink)}
.sg-ink{padding:20px;background:var(--ink);color:var(--card);border-radius:var(--r-box)}
body.sg-only-layout .sg-intro,body.sg-only-layout .sg:not(.sg-layout){display:none}
.sg-layout{display:none}
body.sg-only-layout .sg-layout,body.sg-only-layout .sg-wrap{display:contents}
body.sg-only-layout .site-footer{display:none}

/* ---------- gesture helpers §6.2 */
@keyframes wiggle{50%{transform:rotate(var(--wig,2deg))}}
.card.is-wiggle{animation:wiggle 140ms var(--ease-out)}

/* ---------- reduced motion §6.6: no rotation/flight/scale, fades only; countdown stays */
@media(prefers-reduced-motion:reduce){
  .btn{transition:none}
  .btn:hover,.btn.is-hover,.btn:active,.btn.is-active{transform:none}
  .card{transition:opacity 120ms linear}
  .card[data-pos="1"],.card[data-pos="2"]{transform:none}
  .card[data-pos="2"]{visibility:hidden}
  .card.is-dragging{transform-origin:50% 50%}
  .card.is-leaving{transition:opacity 120ms linear!important;opacity:0}
  .card.is-wiggle{animation:none}
  .stamp.is-slam{animation:v-fade 120ms linear both}
  .crowd-pill.is-show{animation:pill-fade 160ms linear both,pill-out 200ms linear 2200ms forwards}
  .live-dot{animation:none}
  dialog[open],dialog[open].dlg,dialog[open].dlg-done,dialog[open].profile{animation:v-fade 120ms linear}
  dialog.is-closing,dialog.dlg.is-closing,dialog.dlg-done.is-closing,dialog.profile.is-closing{animation:none;opacity:0}
  .toast,.toast.is-show{transition:opacity 120ms linear;transform:translate(-50%,0)}
  .pf-photos img{animation:none}
}

/* == wave 2 F == result, submit, top, prose pages, manage, lab */
.res-region{display:grid;gap:16px;align-content:start}
.res-region:empty{display:none}
.res-stampslot{display:contents}
.res-pending h2{font-size:clamp(24px,3vw,32px)}
.res-pending p{margin-top:8px;color:var(--muted)}
.js .res-photo[data-anim] .stamp{opacity:0;animation:slam 140ms var(--ease-out) 300ms both}
@media(max-width:639.98px){.res-photo .stamp{font-size:40px;top:16px;left:16px}.res-photo .stamp-slop{left:auto;right:16px}}
.res-side .mega{font-size:clamp(44px,14.5vw,80px)}
@media(min-width:900px){.res-side .mega{font-size:clamp(40px,4.6vw,72px)}}
.res-links{align-self:center}
.res-links .btn-link[hidden]{display:none}
.res-links .btn-link{font-size:15px}
.savebox .save-row .btn{min-height:48px}

.form-set{display:grid;gap:20px;min-width:0;margin:0;padding:0;border:0}
.form-set:disabled{opacity:.55}
.form-nojs{font-weight:600}
.js .form-nojs{display:none}
.turnstile:empty{display:none}
.form-box .btn{justify-self:stretch}
.submit-how h2{font-size:20px}
.submit-how h2+.how-list{margin-top:12px}
.perks{display:grid;gap:14px;margin:12px 0 32px}
.perks li{display:grid;gap:2px;position:relative;padding-left:32px}
.perks li::before{content:"";position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;background:var(--top) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.perks b{font-weight:700}
.perks.is-compact{gap:8px;margin:16px 0 20px}
.perks.is-compact span{display:none}
@media(min-width:1024px){.perks-top{display:none}}
.perks span{font-size:14px;line-height:1.45;color:var(--muted)}
.submit-how .how-list li{display:grid;gap:2px}
.submit-how .how-list b{font-weight:700}
.submit-how .how-list span{font-size:14px;line-height:1.45;color:var(--muted)}
.submit-main h1{font-size:clamp(30px,4.2vw,44px)}
.field.has-error .input,.input[aria-invalid=true]{border-color:var(--slop-ink)}

.top-wrap .seg{justify-self:start}
.top-intro{color:var(--muted)}
.top-foot{margin-top:8px}
.lead-empty{display:grid;gap:16px;justify-items:start}
.lead-empty p{max-width:52ch}
.lead-list>li{min-width:0}

.about h2,.prose h2{font-size:22px}
.prose h2{margin-top:var(--s6)}
.prose h1+h2,.prose .page-title+p{margin-top:var(--s4)}
.prose h2+*{margin-top:var(--s2)}
.prose .btn{text-decoration:none}
.notfound{padding-top:48px}
.notfound h1{margin-bottom:0}

.manage{padding-bottom:64px}
.m-view,.a-view{display:grid;gap:24px}
.m-status{font:800 20px/1.3 var(--f-display)}
.m-mod{display:grid;gap:12px;align-content:start;max-width:none}
.m-mod h2{margin:0;font-size:20px}
.m-mod p{max-width:none}
.m-act{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}
.m-saved{color:var(--top-ink);font-weight:600}
.m-done{font:800 18px/1.3 var(--f-display);color:var(--top-ink)}
.m-mod pre.code{margin:0}
.badge-preview{display:flex;align-items:center;padding:16px;background:var(--paper);border:var(--bw);border-radius:10px}
.badge-preview[data-theme=dark]{background:var(--stage)}
.badge-preview img{display:block;max-width:100%;height:auto}
.badge-code{height:auto;field-sizing:content;padding:10px 12px;line-height:1.5;resize:none;overflow-wrap:anywhere}
.m-mod [data-f=url],.m-mod [data-f=host]{overflow-wrap:anywhere;font-weight:600}
.m-remove-armed{--bg:var(--slop);--fg:#fff}
.manage .form-error{margin-top:0}

.lab{max-width:1280px;margin:0 auto;padding:20px var(--gut) 64px;display:grid;gap:20px}
.lab-gate{display:grid;gap:10px;max-width:420px}
.lab-row{display:flex;gap:10px;align-items:center}
.lab-row .input{flex:1;min-width:0}
.lab-main{display:grid;gap:20px;min-width:0}
.lab-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.lab-head h1{font-size:32px;line-height:1}
.lab-tabs{display:flex;gap:4px;padding:4px;border:var(--bw);border-radius:var(--r-btn);background:var(--card)}
.lab-tab{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 16px;border:0;border-radius:var(--r-btn);background:none;color:var(--ink);font:800 15px/1 var(--f-display);cursor:pointer}
.lab-tab:hover{background:var(--paper)}
.lab-tab[aria-selected=true]{background:var(--ink);color:var(--card)}
.lab-count{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--slop);color:#fff;font:800 12px/20px var(--f-text);text-align:center}
.lab-tools{display:flex;align-items:center;gap:8px;margin-left:auto}
.lab-muted{color:var(--muted)}
.lab-msg{position:sticky;top:8px;z-index:5;justify-self:start;padding:8px 14px;border:var(--bw);border-radius:var(--r-box);background:var(--top-tint);font-weight:700;font-size:14px;box-shadow:var(--sh-1)}
.lab-msg.is-bad{background:var(--slop-tint)}
.lab-panel{display:grid;gap:20px;min-width:0}
.lab-dash{display:grid;gap:20px;min-width:0}
.lab-kpis{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.lab-kpi{display:grid;gap:4px;align-content:start;padding:14px 16px;background:var(--card);border:var(--bw);border-radius:var(--r-box);box-shadow:var(--sh-1);min-width:0}
.lab-kpi-l{font:700 12px/1.2 var(--f-display);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.lab-kpi-v{font:800 34px/1.05 var(--f-display);font-variant-numeric:tabular-nums}
.lab-kpi-s{font-size:13px;color:var(--muted)}
.lab-delta{color:var(--muted)}.lab-delta.is-up{color:var(--top-ink);font-weight:700}.lab-delta.is-down{color:var(--slop-ink);font-weight:700}
.lab-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr))}
.lab-span2{grid-column:1/-1}
.lab-card{display:grid;gap:10px;align-content:start;min-width:0;overflow-x:auto;background:var(--card);border:var(--bw);border-radius:var(--r-box);padding:14px 16px}
.lab-card h3{font:700 12px/1.2 var(--f-display);text-transform:uppercase;letter-spacing:.08em}
.lab-card-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}
.lab-note{color:var(--muted)}
.lab-empty{font-size:14px;color:var(--muted);padding:4px 0}
.lab-seg{display:inline-flex;flex-wrap:wrap;gap:2px;padding:2px;border:1.5px solid var(--ink);border-radius:999px}
.lab-seg-b{min-height:28px;padding:0 12px;border:0;border-radius:999px;background:none;font:700 13px/1 var(--f-text);color:var(--ink);cursor:pointer}
.lab-seg-b[aria-pressed=true]{background:var(--ink);color:var(--card)}
.lab-chart-box{display:grid;gap:6px}
.lab-chart-top strong{font:800 22px/1 var(--f-display)}
.lab-chart{display:block;width:100%;height:150px;border-bottom:1.5px solid var(--ink)}
.lab-chart rect{fill:var(--ink);opacity:.82}
.lab-chart rect:hover{opacity:1;fill:var(--focus)}
.lab-chart rect.is-today{fill:var(--top)}
.lab-chart-x{display:flex;justify-content:space-between}
.lab-atts{list-style:none;display:grid;gap:0}
.lab-att{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;padding:8px 0;border-top:1px solid var(--line);font-size:14px}
.lab-att:first-child{border-top:0;padding-top:0}
.lab-att.is-hot strong{color:var(--slop-ink)}
.lab-link{padding:0;border:0;background:none;font:700 14px/1.3 var(--f-text);color:var(--ink);text-decoration:underline;cursor:pointer}
.lab-acts{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.btn-xs{min-height:30px;padding:0 12px;font-size:13px;box-shadow:none}
.btn-xs.is-danger{--bg:var(--slop);--fg:#fff}
.lab-caplines{display:grid;gap:8px}
.lab-capline{display:grid;grid-template-columns:150px 1fr 140px;gap:12px;align-items:center}
.lab-capline .n{text-align:right;font-variant-numeric:tabular-nums}
.lab-meter{display:block;height:10px;border:1.5px solid var(--ink);border-radius:999px;background:var(--paper);overflow:hidden;min-width:60px}
.lab-meter>span{display:block;height:100%;background:var(--top)}
.lab-meter.is-hot>span{background:var(--slop)}
.lab-top{list-style:none;display:grid;gap:8px;counter-reset:top}
.lab-top li{display:grid;grid-template-columns:20px 48px minmax(0,1fr);grid-template-areas:"n img name" "n img meta";column-gap:10px;align-items:center;counter-increment:top}
.lab-top li::before{content:counter(top);grid-area:n;font:800 16px/1 var(--f-display)}
.lab-top img,.lab-top .lab-thumb{grid-area:img;width:48px;height:30px}
.lab-top a{grid-area:name;font-weight:700;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lab-top .small{grid-area:meta}
.lab-funnel{display:grid;gap:8px}
.lab-fstep{display:grid;grid-template-columns:90px 1fr 48px;gap:10px;align-items:center}
.lab-fstep .n{text-align:right;font-variant-numeric:tabular-nums}
.lab-fbar{display:block;height:18px;background:var(--paper);border-radius:4px;overflow:hidden}
.lab-fbar>span{display:block;height:100%;background:var(--ink)}
.lab-more{display:grid;gap:12px}
.lab-more>summary{cursor:pointer;font:800 18px/1.2 var(--f-display);width:max-content}
.lab-more[open]>summary{margin-bottom:12px}
.lab-thumb{display:block;width:64px;height:40px;object-fit:cover;object-position:top;border:1.5px solid var(--ink);border-radius:6px;background:var(--paper)}
.lab-find{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.lab-q{flex:1 1 260px;height:44px;min-width:0}
.lab-sel{height:44px;width:auto;padding:0 10px;font-size:14px}
.lab-chips{display:flex;flex-wrap:wrap;gap:6px;border:0;padding:0;margin:0}
.lab-chip input{position:absolute;opacity:0;pointer-events:none}
.lab-chip span{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border:1.5px solid var(--ink);border-radius:999px;background:var(--card);font:700 13px/1 var(--f-text);cursor:pointer}
.lab-chip input:checked+span{background:var(--ink);color:var(--card)}
.lab-chip input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}
.lab-list{display:grid;border:var(--bw);border-radius:var(--r-box);background:var(--card);overflow:hidden}
.lab-list:empty{display:none}
.lab-list>.lab-empty{padding:14px 16px}
.lab-pitem{border-top:1px solid var(--line)}
.lab-pitem:first-of-type{border-top:0}
.lab-prow{display:grid;grid-template-columns:64px minmax(0,3fr) minmax(90px,1fr) 64px 64px 92px 40px;gap:12px;align-items:center;padding:8px 14px;font-size:14px}
.lab-prow .n{text-align:right;font-variant-numeric:tabular-nums}
.lab-phead{font:700 12px/1.2 var(--f-display);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--paper);border-bottom:1px solid var(--line)}
.lab-pname{display:grid;min-width:0}
.lab-pname>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lab-warn{color:var(--slop-ink);font-weight:800}
.lab-pill{display:inline-block;padding:2px 8px;border-radius:999px;font:700 12px/1.4 var(--f-text);background:var(--paper);border:1px solid var(--line)}
.lab-pill.is-live{background:var(--top-tint);border-color:var(--top)}
.lab-pill.is-pending{background:#FFF4CC;border-color:var(--gold)}
.lab-pill.is-hidden,.lab-pill.is-rejected{background:var(--slop-tint);border-color:var(--slop)}
.lab-pill.is-removed{color:var(--muted)}
.lab-more-b{width:36px;height:32px;border:1.5px solid var(--ink);border-radius:8px;background:var(--card);font:800 18px/1 var(--f-text);cursor:pointer}
.lab-more-b[aria-expanded=true]{background:var(--ink);color:var(--card)}
.lab-pact{display:grid;gap:10px;padding:12px 14px 14px 90px;background:var(--paper);border-top:1px dashed var(--line)}
.lab-in{height:36px;width:auto;min-width:0;font-size:14px;padding:0 10px}
.lab-pact .lab-in{flex:1 1 220px;max-width:360px}
.lab-pager{display:flex;align-items:center;gap:12px}
.lab-t{width:100%;border-collapse:collapse;font-size:13px;line-height:1.35}
.lab-t th,.lab-t td{padding:5px 8px;text-align:left;vertical-align:middle;border-top:1px solid var(--line);white-space:nowrap}
.lab-t thead th{font-weight:700;border-top:0}
.lab-t tfoot th{border-top:1.5px solid var(--ink)}
.lab-t td.n,.lab-t th.n{text-align:right;font-variant-numeric:tabular-nums}
.lab-scrollbox{max-height:320px;overflow:auto}
.lab-form{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:flex-end}
.lab-form label{display:grid;gap:4px}
.lab-num{width:90px}
.lab-stack{display:grid;gap:10px}
.lab-stack>.btn{justify-self:start}
.lab-cost{display:grid}
.lab-latest{list-style:none;display:grid;gap:8px}
.lab-latest li{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;align-items:center}
.lab-latest .lab-thumb{width:48px;height:30px}
.lab-line{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px}
form.lab-line{grid-template-columns:minmax(0,1fr) auto auto}
.lab-area{min-height:110px;padding:10px;font:14px/1.4 var(--f-mono);resize:vertical}
.lab-dl{display:grid;gap:2px 0}
.lab-dl dd{margin:0}
.lab-dl dt{margin-top:8px}.lab-dl dt:first-child{margin-top:0}
.lab-dl code,.lab-note code{font:12px var(--f-mono)}
@media(max-width:899.98px){
  .lab-prow{grid-template-columns:56px minmax(0,1fr) auto 40px;row-gap:4px}
  .lab-prow>:nth-child(4),.lab-prow>:nth-child(5),.lab-prow>:nth-child(6){display:none}
  .lab-phead{display:none}
  .lab-thumb{width:56px;height:35px}
  .lab-pact{padding-left:14px}
  .lab-tools{margin-left:0}
  .lab-rej{display:none}
}
@media(max-width:639.98px){
  .lab-head h1{font-size:26px}
  .lab-tabs{width:100%}.lab-tab{flex:1;justify-content:center;padding:0 8px}
  .lab-kpis{grid-template-columns:1fr 1fr}
  .lab-kpi-v{font-size:26px}
  .lab-form label,.lab-form .lab-in{width:100%}
  .lab-capline{grid-template-columns:1fr auto}.lab-capline .lab-meter{grid-column:1/-1;grid-row:2}
  form.lab-line{grid-template-columns:1fr auto}form.lab-line label{grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce){.js .res-photo[data-anim] .stamp{opacity:1;animation:none}}

/* == wave 2 E == deck engine states (public/js/deck.js) */
.card{-webkit-touch-callout:none}
.card[data-pos="out"]{z-index:4;box-shadow:var(--sh-2);pointer-events:none}
.card.is-springing{transition:transform var(--t-slow) var(--ease-spring);transform-origin:50% 120%}
.card.is-springing .stamp{transition:opacity 120ms linear}
.card.is-entering{opacity:0;transition:none}
.card:focus-visible{outline-offset:4px}
body.page-deck{overflow-x:clip}
.deckcol.is-empty{display:flex;flex-direction:column}
.deckcol.is-empty .deck-empty{order:-1}
/* mobile: the message sits in the middle of the space the deck would take */
@media(max-width:1023.98px){.page-deck .deckcol.is-empty{justify-content:center}}
dialog[open].is-still{animation:none!important}
@media(min-width:1024px){.pf-segs{right:116px}}
.pf-arrow[aria-disabled=true]{opacity:.35;cursor:default}
@media(prefers-reduced-motion:reduce){
  .card.is-springing{transition:none}
  dialog.is-closing{transition:opacity 120ms linear}
}
.m-todo{display:grid;gap:12px;align-content:start}
.m-todo p{max-width:none}

/* ---------- maker row §5.14 (Revision 2) */
.maker{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0}
.maker .label{color:var(--muted);margin-right:2px}
.maker-link{display:inline-flex;align-items:center;gap:5px;padding:2px 10px;border:1.5px solid var(--ink);border-radius:999px;background:var(--card);color:var(--ink);font-size:12px;line-height:1.4;font-weight:600;text-decoration:none}
.maker-link svg{width:14px;height:14px;flex:none}
.maker-link:hover{background:var(--paper)}

/* ---------- maker fields (Agent A) */
.field-group{display:grid;gap:6px;min-width:0;margin:0;padding:0;border:0}
.field-group>legend{padding:0;margin-bottom:6px}
.maker-fields{display:grid;gap:12px;margin-top:6px}
.m-mod .maker-fields{margin-top:0}
.pf-maker:empty{display:none}
.sg-coach .deck-wrap{width:min(100%,480px)}
.sg-coach .coach.is-static{position:absolute;inset:0;height:auto}
.sg-coach .coach-hints{bottom:160px}

/* ---------- Revision 6: reasons, notify fields, owner box, confirm page (DESIGN §10) */
@media(max-height:699.98px){.ask-chips{gap:8px}.ask-chips .chip-why{min-height:44px}}
.ask-chips .chip-why{line-height:1.2}
.why-row.is-zero>.small,.why-row.is-zero>.why-n{color:var(--muted)}
.notify-fields{display:grid;gap:12px;min-width:0}
.check.is-disabled{opacity:.5;cursor:not-allowed}
.check.is-disabled label,.check.is-disabled input{cursor:not-allowed}
.m-mod .notify-fields{gap:12px}
.m-state{font-size:14px;line-height:1.45;color:var(--muted)}
.m-state.is-ok::before{content:"✓ ";color:var(--top-ink);font-weight:700}
.m-note{font-size:14px;line-height:1.45;font-weight:600;color:var(--top-ink)}
.owner-notify{display:grid;gap:12px;align-content:start;padding:20px;border-radius:14px}
.owner-notify h2{font-size:20px}
.owner-notify .on-row{display:grid;gap:10px}
.owner-notify .on-row .btn{justify-self:stretch}
.owner-notify .on-row .field-foot{min-height:0}
.owner-done{font:800 18px/1.3 var(--f-display);color:var(--top-ink)}
.owner-done::before{content:"✓ "}
@media(min-width:560px){.owner-notify .on-row{grid-template-columns:minmax(0,1fr) auto;align-items:start}.owner-notify .on-row .btn{justify-self:auto}}
.confirm{max-width:560px;margin:0 auto;padding:48px var(--gut) 64px;display:grid;gap:16px;align-content:start}
.confirm [data-js=confirm-state]{display:grid;gap:16px;justify-items:start}
.confirm .btn{justify-self:start}
.m-remove-addr{color:var(--slop-ink);font-size:15px;font-weight:600}
[data-js=m-notify-form]{display:grid;gap:12px}
[data-js=owner-form]{display:grid;gap:12px}
.confirm section{display:grid;gap:16px;justify-items:start}

/* Revision 10 (SPEC §21): boards with more tabs, judges, pages of the day, account, join card */
.top-wrap>.seg{overflow-x:auto;scrollbar-width:none}
.top-wrap>.seg::-webkit-scrollbar{display:none}
.seg.seg-sm a{padding:6px 14px;font-size:13px}
.jd-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px 14px;background:var(--card);border:var(--bw);border-radius:var(--r-box)}
.jd-txt{min-width:0;display:grid;gap:2px}
.jd-main{display:flex;align-items:center;gap:8px;min-width:0}
.jd-handle{display:inline-flex;align-items:center;gap:6px;min-width:0;font:800 20px/1.2 var(--f-display);text-decoration:none}
.jd-handle span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jd-handle svg,.jd-other svg{flex:none;width:16px;height:16px}
.jd-other{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;color:var(--muted)}
.jd-other:hover{color:var(--ink);background:var(--paper)}
.jd-maker{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:639.98px){.jd-row{grid-template-columns:36px minmax(0,1fr);gap:10px}.jd-row .lead-stat{grid-column:2;text-align:left}.jd-handle{font-size:18px}}
/* Revision 13 (SPEC §24): one pages board, Page of the day on top, "Almost ranked" below */
.potd{display:grid;gap:10px;padding:14px 16px;background:var(--gold)}
.potd p{margin:0}
.potd .small.muted{color:var(--ink)}
.potd-row{display:grid;grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:14px;text-decoration:none}
.potd-row .rb-thumb{width:120px;height:75px;border-radius:8px}
.potd-txt{min-width:0;display:grid;gap:4px}
.potd-name{font:800 22px/1.2 var(--f-display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.potd-row .lead-stat{color:var(--ink)}
.top-almost{display:grid;gap:12px;justify-items:start;margin-top:8px}
.top-almost-head{display:grid;gap:4px}
.top-almost-head p{margin:0}
.almost-list{display:grid;gap:6px;width:100%}
.almost-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px;padding:6px 10px;border-radius:10px;text-decoration:none}
.almost-row:hover{background:var(--card)}
.almost-txt{min-width:0;display:grid;gap:6px}
.almost-name{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.almost-bar{display:block;height:8px;border:1.5px solid var(--ink);border-radius:999px;background:var(--card);overflow:hidden}
.almost-bar span{display:block;height:100%;background:var(--ink)}
.almost-n{font-size:14px;font-weight:700}
.top-more{margin:0;font-weight:700}
@media(max-width:639.98px){.potd-row{grid-template-columns:72px minmax(0,1fr)}.potd-row .rb-thumb{width:72px;height:45px}.potd-row .lead-stat{grid-column:2;text-align:left}.potd-name{font-size:18px}}
.signin-btns{display:grid;gap:10px;max-width:360px}
.account .signin-btns{margin:4px 0 8px}
.inapp{display:grid;gap:10px;padding:12px;border:var(--bw);border-radius:12px;background:var(--card)}
.inapp p{margin:0}
.inapp-act{display:flex;flex-wrap:wrap;gap:8px}
.inapp-act .btn{flex:1 1 auto;padding:0 16px}
.a-pages{display:grid;gap:10px}
.a-pages li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.a-links{display:inline-flex;gap:14px;margin-left:auto}
.card-join .ask-title{-webkit-line-clamp:2;line-clamp:2}
.join-text{font-size:15px;line-height:1.45}
.card-join .signin-btns{max-width:none}
.res-today{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.win-badge{display:inline-block;padding:6px 14px;border:var(--bw);border-radius:999px;background:var(--top);color:#fff;box-shadow:var(--sh-1);font:800 16px/1.2 var(--f-display)}
