/* wibci — loud child of Built by Priest */
@font-face{font-family:Anton;src:url(/assets/fonts/anton-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url(/assets/fonts/inter-var.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{
  --ink:#121016;--paper:#FFF6E5;--white:#fff;--lime:#C8F031;--pink:#FF4F8B;--violet:#5B2EFF;--sky:#7FD8FF;
  --muted:#4A4552;--amber:#E0A030;--line:3px solid var(--ink);--shadow:6px 6px 0 var(--ink);--shadow-s:4px 4px 0 var(--ink);
  --r:14px;--wrap:1180px;
  --h1:clamp(3rem,1.9rem + 6.2vw,8.5rem);--h2:clamp(2rem,1.5rem + 2.6vw,3.6rem);--h3:clamp(1.3rem,1.1rem + .8vw,1.7rem);
  --gap:clamp(3rem,2rem + 3vw,5rem);
}
*{box-sizing:border-box}
html{scroll-padding-top:90px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.55 Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
img,svg{max-width:100%;height:auto}
a{color:inherit;text-decoration-thickness:2px;text-underline-offset:3px}
a:hover{text-decoration-color:var(--pink)}
:focus-visible{outline:3px solid var(--violet);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 1.25rem}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--white);padding:.75rem 1rem;z-index:100}
.skip:focus{left:1rem;top:1rem}
h1,h2,h3,.display{font-family:Anton,Impact,"Arial Narrow Bold",sans-serif;font-weight:400;line-height:.95;letter-spacing:.005em;margin:0 0 1rem}
h1{font-size:var(--h1)}h2{font-size:var(--h2)}h3{font-size:var(--h3);line-height:1.1}
p{margin:0 0 1rem}
.lede{font-size:clamp(1.15rem,1rem + .6vw,1.45rem);max-width:38rem}
.eyebrow{display:inline-block;font-weight:700;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;background:var(--ink);color:var(--lime);padding:.3rem .65rem;border-radius:999px;margin-bottom:1rem}
.muted{color:var(--muted)}
.small{font-size:.875rem}

/* header */
.top{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:var(--line)}
.top .wrap{display:flex;align-items:center;gap:1rem;min-height:68px}
.mark{display:inline-flex;align-items:baseline;text-decoration:none;font-family:Anton,Impact,sans-serif;font-size:2.1rem;line-height:1;letter-spacing:.01em}
.mark b{font-weight:400;color:var(--pink)}
.nav{display:none;gap:.25rem;margin-left:auto;align-items:center}
.nav a{text-decoration:none;font-weight:700;padding:.6rem .8rem;border-radius:999px}
.nav a:hover,.nav a[aria-current=page]{background:var(--ink);color:var(--lime)}
.top .btn{margin-left:auto}
.menu{position:relative}
.menu summary{list-style:none;cursor:pointer;font-weight:700;border:var(--line);border-radius:999px;padding:.55rem .9rem;min-height:44px;display:flex;align-items:center;background:var(--white)}
.menu summary::-webkit-details-marker{display:none}
.menu[open] summary{background:var(--ink);color:var(--lime)}
.menu-list{position:absolute;right:0;top:calc(100% + .5rem);background:var(--white);border:var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:.5rem;min-width:13rem;display:grid}
.menu-list a{padding:.75rem 1rem;text-decoration:none;font-weight:700;border-radius:8px}
.menu-list a:hover{background:var(--lime)}
@media (min-width:960px){.nav{display:flex}.menu{display:none}.top .btn{margin-left:.5rem}}

/* buttons */
.btn{--bg:var(--ink);--fg:var(--white);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.75rem 1.35rem;
  background:var(--bg);color:var(--fg);border:var(--line);border-radius:999px;font:700 1rem/1.1 Inter,system-ui,sans-serif;text-decoration:none;cursor:pointer;
  box-shadow:var(--shadow-s);transition:transform .12s ease,box-shadow .12s ease}
.btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink);text-decoration:none}
.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.btn-lime{--bg:var(--lime);--fg:var(--ink)}.btn-pink{--bg:var(--pink);--fg:var(--ink)}.btn-white{--bg:var(--white);--fg:var(--ink)}
.btn-violet{--bg:var(--violet);--fg:var(--white)}
.btn-lg{font-size:1.15rem;min-height:56px;padding:.9rem 1.6rem}
.btn-s{min-height:44px;padding:.5rem 1rem;font-size:.95rem}
.btn[disabled],.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}
.btn-row{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center}
.linkbtn{background:none;border:0;padding:0;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;color:inherit;min-height:44px}

/* sections */
section{padding:var(--gap) 0}
.band-lime{background:var(--lime)}.band-ink{background:var(--ink);color:var(--paper)}.band-pink{background:var(--pink)}.band-violet{background:var(--violet);color:var(--white)}
.band-ink a{color:var(--lime)}
.band-ink .eyebrow{background:var(--lime);color:var(--ink)}
.hero{background:var(--lime);border-bottom:var(--line);padding:clamp(2.5rem,1.5rem + 5vw,6rem) 0 clamp(3rem,2rem + 4vw,5.5rem);overflow:hidden;position:relative}
.hero h1{max-width:13ch}
.hero h1 .ell{color:var(--pink);-webkit-text-stroke:2px var(--ink);paint-order:stroke fill}
.ticker{font-family:Anton,Impact,sans-serif;font-size:clamp(1.6rem,1.1rem + 2.4vw,3rem);line-height:1.32;min-height:2.7em;margin:.5rem 0 1rem;max-width:24ch}
.ticker span{background:var(--ink);color:var(--lime);box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:.02em .3em .08em}
.ticker-note{font-size:.875rem;font-weight:700;margin:0 0 1.5rem}
.sticker{position:absolute;right:max(1.25rem,calc((100vw - var(--wrap))/2 + 1.25rem));top:2rem;width:clamp(120px,14vw,170px);aspect-ratio:1;border-radius:50%;background:var(--pink);border:var(--line);box-shadow:var(--shadow);
  display:none;place-items:center;text-align:center;font-family:Anton,Impact,sans-serif;font-size:clamp(1.05rem,.9rem + .5vw,1.35rem);line-height:1.05;transform:rotate(12deg);padding:1rem}
@media (min-width:700px){.sticker{display:grid}}
@media (prefers-reduced-motion:no-preference){.sticker{animation:wob 6s ease-in-out infinite}@keyframes wob{50%{transform:rotate(4deg) scale(1.04)}}}

.steps{display:grid;gap:1.25rem;counter-reset:s}
.step{background:var(--white);color:var(--ink);border:var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:1.5rem}
.step h3::before{counter-increment:s;content:counter(s);display:inline-grid;place-items:center;width:2.4rem;height:2.4rem;margin-right:.6rem;border-radius:50%;background:var(--pink);border:var(--line);font-size:1.3rem}
.step:nth-child(2) h3::before{background:var(--lime)}.step:nth-child(3) h3::before{background:var(--sky)}.step:nth-child(4) h3::before{background:var(--violet);color:var(--white)}
@media (min-width:700px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (min-width:960px){.steps.four{grid-template-columns:repeat(4,1fr)}}

/* ideas */
.toolbar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:0 0 1.5rem}
.chip{display:inline-flex;align-items:center;min-height:44px;padding:.45rem 1rem;border:var(--line);border-radius:999px;background:var(--white);font-weight:700;cursor:pointer;font-size:.95rem;color:var(--ink);text-decoration:none}
.chip[aria-pressed=true],.chip[aria-current=true]{background:var(--ink);color:var(--lime)}
select,input,textarea{font:inherit;color:var(--ink)}
.select{min-height:44px;border:var(--line);border-radius:999px;padding:.45rem 2.2rem .45rem 1rem;background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23121016' stroke-width='2.5' fill='none'/%3E%3C/svg%3E") no-repeat right 1rem center;appearance:none;font-weight:700}
.grid{display:grid;gap:1.5rem}
@media (min-width:700px){.grid.two{grid-template-columns:repeat(2,1fr)}}
@media (min-width:960px){.grid.three{grid-template-columns:repeat(3,1fr)}.grid.two-wide{grid-template-columns:1.3fr 1fr}}
.cols{display:grid;gap:2.5rem}
@media (min-width:960px){.cols{grid-template-columns:repeat(2,1fr);gap:3rem}}
.idea{display:grid;grid-template-columns:auto 1fr;gap:1rem;background:var(--white);border:var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:1.1rem;align-items:start}
.idea h3{font-size:clamp(1.35rem,1.15rem + .7vw,1.75rem);margin:0 0 .35rem}
.idea h3 a{text-decoration:none}.idea h3 a:hover{text-decoration:underline;text-decoration-color:var(--pink)}
.idea p{margin:0 0 .6rem;overflow-wrap:anywhere}
.meta{display:flex;flex-wrap:wrap;gap:.4rem .8rem;align-items:center;font-size:.875rem;color:var(--muted)}
.tag{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .55rem;border:2px solid var(--ink);border-radius:999px;color:var(--ink)}
.tag-open{background:var(--lime)}.tag-taken{background:var(--pink)}.tag-built{background:var(--violet);color:var(--white)}.tag-pending{background:var(--sky)}.tag-rejected{background:#ddd}
.tag-cat{background:var(--paper)}
.vote{display:grid;place-items:center;align-content:center;gap:.1rem;width:4.4rem;min-height:4.8rem;border:var(--line);border-radius:12px;background:var(--paper);cursor:pointer;font:700 1.35rem/1 Inter,system-ui,sans-serif;color:var(--ink);box-shadow:var(--shadow-s);transition:transform .12s,box-shadow .12s,background .12s;padding:.4rem}
.vote svg{width:22px;height:22px}
.vote small{font-size:.66rem;font-weight:700;letter-spacing:.04em;line-height:1.1;text-align:center}
.vote:hover{background:var(--lime);transform:translate(-2px,-2px);box-shadow:var(--shadow)}
.vote[aria-pressed=true]{background:var(--ink);color:var(--lime);box-shadow:none;transform:none;cursor:default}
.vote.pop{animation:pop .35s ease}
@keyframes pop{40%{transform:scale(1.18) rotate(-4deg)}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.empty{border:3px dashed var(--ink);border-radius:var(--r);padding:2rem;text-align:center;background:var(--white)}
.empty .display{font-size:clamp(1.8rem,1.4rem + 2vw,2.8rem);margin-bottom:.5rem}
.loading{padding:2rem;text-align:center;font-weight:700}
.showcase .idea{grid-template-columns:1fr;background:var(--white)}
.showcase .idea .btn{justify-self:start}

/* forms */
.card{background:var(--white);border:var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:clamp(1.25rem,1rem + 1.5vw,2.25rem)}
.form{display:grid;gap:1.15rem;max-width:40rem}
.field{display:grid;gap:.35rem}
.field label{font-weight:700}
.field .hint{font-size:.875rem;color:var(--muted)}
.input,textarea.input{width:100%;min-height:48px;border:var(--line);border-radius:10px;padding:.7rem .9rem;background:var(--white);font-size:1.0625rem}
textarea.input{min-height:9rem;resize:vertical}
.input:focus{outline:3px solid var(--violet);outline-offset:2px}
.prefix{display:flex;align-items:stretch}
.prefix span{display:flex;align-items:center;padding:0 .8rem;border:var(--line);border-right:0;border-radius:10px 0 0 10px;background:var(--lime);font-weight:700;font-size:.9rem;white-space:nowrap}
.prefix .input{border-radius:0 10px 10px 0}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.notice{border:var(--line);border-radius:10px;padding:1rem 1.1rem;font-weight:600;background:var(--sky)}
.notice.bad{background:#FFD0DF}.notice.good{background:var(--lime)}
.notice:empty{display:none}
.count{font-size:.8rem;color:var(--muted);text-align:right}
.tabs{display:flex;gap:.5rem;margin-bottom:1.25rem;flex-wrap:wrap}

/* idea page */
.idea-hero{background:var(--white);border-bottom:var(--line)}
.idea-hero h1{font-size:clamp(2.4rem,1.6rem + 4vw,5rem);max-width:18ch}
.idea-hero .wibci-line{font-family:Anton,Impact,sans-serif;font-size:clamp(1.2rem,1rem + 1vw,1.8rem);color:var(--muted);margin-bottom:.5rem}
.big-text{font-size:clamp(1.15rem,1rem + .5vw,1.4rem);max-width:40rem;white-space:pre-line;overflow-wrap:anywhere}
.idea-side{display:grid;gap:1rem;align-content:start}
.statusbox{border:var(--line);border-radius:var(--r);padding:1.25rem;box-shadow:var(--shadow);background:var(--paper)}
.statusbox.built{background:var(--violet);color:var(--white)}.statusbox.built a:not(.btn){color:var(--lime)}
.statusbox.taken{background:var(--pink)}.statusbox.open{background:var(--lime)}
.vote-big{display:flex;align-items:center;gap:1rem}
.vote-big .vote{width:6rem;min-height:6rem;font-size:1.8rem}

/* tables (admin, dashboard) */
.list{display:grid;gap:1rem}
.row{background:var(--white);border:var(--line);border-radius:var(--r);padding:1rem;display:grid;gap:.6rem}
.row h3{font-size:1.35rem;margin:0}
.row .actions{display:flex;flex-wrap:wrap;gap:.5rem}
.row pre{white-space:pre-wrap;font:inherit;margin:0}
.kv{display:flex;flex-wrap:wrap;gap:.3rem 1rem;font-size:.875rem;color:var(--muted)}
.kv b{color:var(--ink)}

/* prose */
.prose{max-width:42rem}
.prose h2{font-size:clamp(1.8rem,1.4rem + 1.5vw,2.6rem);margin-top:2.5rem}
.prose h3{margin-top:1.75rem}
.prose li{margin-bottom:.4rem}
.todo{background:#FFE7A8;border:2px dashed var(--ink);padding:.05rem .35rem;border-radius:4px;font-weight:700}

/* footer */
.foot{background:var(--ink);color:var(--paper);padding:3rem 0 2rem;border-top:var(--line)}
.foot .wrap{display:grid;gap:2rem}
.foot .mark{font-size:3rem;color:var(--paper)}
.foot nav{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem}
.foot nav a{color:var(--paper);font-weight:600;padding:.6rem 0;display:inline-block}
.bbp{display:inline-flex;align-items:center;gap:.55rem;border:2px solid var(--amber);border-radius:999px;padding:.45rem .9rem .45rem .5rem;color:var(--paper);text-decoration:none;font-weight:700;font-size:.95rem;width:max-content}
.bbp i{width:1.4rem;height:1.4rem;border-radius:50%;background:var(--amber);display:inline-block}
.bbp:hover{background:var(--amber);color:var(--ink);text-decoration:none}
.bbp:hover i{background:var(--ink)}
@media (min-width:700px){.foot .wrap{grid-template-columns:1fr auto;align-items:end}}
.foot .legal{font-size:.875rem;opacity:.85;grid-column:1/-1;margin:0}

/* helpers */
.center{text-align:center}.mt0{margin-top:0}.mb2{margin-bottom:2rem}
.split{display:grid;gap:2rem;align-items:start}
@media (min-width:960px){.split{grid-template-columns:1.25fr 1fr;gap:3rem}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.toast{position:fixed;left:50%;bottom:1.25rem;transform:translateX(-50%);background:var(--ink);color:var(--lime);padding:.8rem 1.2rem;border-radius:999px;font-weight:700;z-index:99;border:2px solid var(--lime);max-width:calc(100vw - 2rem)}
