:root{--bg:#0B0B0B;--ink:#F4F4F2;--mut:#8A8A86;--acc:#00E58A;--line:#222}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:"Inter",system-ui,sans-serif}
a{color:inherit}
.disp{font-family:"Anton",Impact,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.01em;line-height:.92}
.acc{color:var(--acc)}

nav{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;background:rgba(11,11,11,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
nav .logo{font-family:"Anton",sans-serif;font-size:24px;text-decoration:none;letter-spacing:.04em}
nav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
nav ul a{text-decoration:none;font-family:"Space Mono",monospace;font-size:13px;text-transform:uppercase;color:var(--mut)}
nav ul a:hover,nav ul a[aria-current]{color:var(--acc)}

main{max-width:1200px;margin:0 auto;padding:0 16px}
.btn{display:inline-block;padding:16px 28px;border:2px solid var(--ink);font-family:"Space Mono",monospace;font-weight:700;text-transform:uppercase;text-decoration:none;font-size:14px;letter-spacing:.06em;transition:.15s}
.btn:hover{background:var(--ink);color:var(--bg)}
.btn.fill{background:var(--acc);border-color:var(--acc);color:#000}
.btn.fill:hover{background:var(--ink);border-color:var(--ink)}
.btn[aria-disabled]{opacity:.45;pointer-events:none}
.row{display:flex;gap:12px;flex-wrap:wrap}

/* home */
.hero{min-height:calc(100vh - 60px);display:flex;flex-direction:column;justify-content:center;padding:40px 0}
.hero h1{font-size:clamp(72px,min(19vw,22vh),260px);margin:0}
.ticker{font-family:"Space Mono",monospace;font-size:clamp(16px,2.4vw,22px);margin:28px 0 36px;min-height:1.6em}
.ticker::before{content:"> ";color:var(--acc)}
.marquee{overflow:hidden;border-block:1px solid var(--line);padding:18px 0;white-space:nowrap}
.marquee div{display:inline-block;animation:slide 40s linear infinite;font-family:"Anton",sans-serif;font-size:42px;text-transform:uppercase}
.marquee span{margin:0 28px}
.marquee span:nth-child(even){color:var(--acc)}
@keyframes slide{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee div{animation:none}}

/* pages */
.page-h{font-size:clamp(64px,12vw,150px);margin:60px 0 30px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-bottom:80px}
.card{background:#141414;border:1px solid var(--line);display:flex;flex-direction:column}
.card img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.card .meta{padding:14px;display:flex;justify-content:space-between;align-items:center;gap:8px;font-family:"Space Mono",monospace;font-size:13px}
.card .btn{margin:0 14px 14px;text-align:center;padding:12px}
.lines{list-style:none;padding:0;margin:0 0 80px}
.lines li{font-family:"Anton",sans-serif;text-transform:uppercase;font-size:clamp(34px,6vw,72px);line-height:1.05;padding:14px 0;border-bottom:1px solid var(--line)}
.lines li:nth-child(3n+2){color:var(--acc)}
.vid{aspect-ratio:16/9;width:100%;border:0;display:block}
.empty{font-family:"Space Mono",monospace;color:var(--mut);margin-bottom:80px}
.amounts{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0 80px}
.amounts .btn{font-size:28px;padding:22px 34px}

footer{border-top:1px solid var(--line);padding:24px 20px;font-family:"Space Mono",monospace;font-size:12px;color:var(--mut);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
@media (max-width:560px){nav{flex-direction:column;align-items:flex-start;gap:8px}}

/* donate */
.tracker{margin:0 0 40px}
.tr-top{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.tr-raised{font-size:clamp(56px,10vw,110px);color:var(--acc)}
.tr-goal,.tr-count{font-family:"Space Mono",monospace;color:var(--mut);font-size:15px}
.bar{height:14px;background:#1c1c1c;border:1px solid var(--line);margin:14px 0 10px;overflow:hidden}
.bar div{height:100%;width:0;background:var(--acc);transition:width 1s ease}
.give{display:flex;flex-direction:column;gap:14px;max-width:640px;margin-bottom:70px}
.give .amounts{margin:0}
.give .amounts .btn{font-size:22px;padding:16px 22px;background:none;color:var(--ink);cursor:pointer}
.give .amounts .btn.on{background:var(--acc);border-color:var(--acc);color:#000}
.custom{display:flex;align-items:center;border:2px solid var(--ink);padding:0 12px;font-family:"Anton",sans-serif;font-size:22px}
.custom input{width:90px;background:none;border:0;color:var(--ink);font:inherit;padding:14px 6px;outline:none}
.field{background:#141414;border:2px solid var(--line);color:var(--ink);font:16px "Space Mono",monospace;padding:16px}
.field:focus,.custom:focus-within{border-color:var(--acc);outline:none}
.field:disabled{opacity:.4}
.check{font-family:"Space Mono",monospace;font-size:14px;display:flex;gap:10px;align-items:center;cursor:pointer}
.check input{width:20px;height:20px;accent-color:var(--acc)}
.btn.big{font-size:22px;padding:20px;cursor:pointer}
.btn:disabled{opacity:.5;cursor:default}
.err{color:#ff5b5b;font-family:"Space Mono",monospace;font-size:14px;margin:0;min-height:1em}
.sub{font-size:clamp(40px,7vw,72px);margin:0 0 16px}
.patrons{list-style:none;padding:0;margin:0 0 90px;counter-reset:p}
.patrons li{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-family:"Space Mono",monospace;font-size:16px}
.patrons li span:first-child{overflow-wrap:anywhere}
.empty-row{color:var(--mut)}
.thanks{position:fixed;inset:0;background:rgba(0,0,0,.82);display:flex;align-items:center;justify-content:center;padding:16px;z-index:20}
.thanks[hidden]{display:none}
.thanks-box{background:var(--bg);border:2px solid var(--acc);padding:36px 28px;max-width:520px;text-align:center}
.thanks-h{font-size:clamp(56px,12vw,96px);margin-bottom:12px}
.thanks-box p{font-family:"Space Mono",monospace;font-size:16px;line-height:1.6;margin:0 0 24px}
.fine{font-family:"Space Mono",monospace;font-size:12px;color:var(--mut);margin:0}
