:root{--bg:#0e0d12;--surf:#17151d;--surf2:#1f1c28;--line:#2c2937;--text:#f4f0e9;--mut:#a7a2b3;--acc:#ffb347;--acc2:#ff7a59;--ok:#46d39a;--warn:#ffcf5c;--err:#ff6b6b;--r:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(1200px 500px at 85% -10%,#2a1b3d55,transparent),var(--bg);color:var(--text);font:16px/1.6 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,.brand,.big{font-family:Fraunces,Georgia,serif;line-height:1.15;letter-spacing:-.01em}
h1{font-size:clamp(2rem,5vw,3.4rem);margin:.2em 0 .3em}h2{font-size:clamp(1.4rem,3vw,1.9rem);margin:2em 0 .7em}h3{font-size:1.15rem;margin:.2em 0 .4em}
h1 em{font-style:normal;background:linear-gradient(90deg,var(--acc),var(--acc2));-webkit-background-clip:text;background-clip:text;color:transparent}
a{color:var(--acc);text-decoration:none}a:hover{text-decoration:underline}
p{margin:.5em 0 1em}.muted{color:var(--mut)}.small{font-size:.85rem}.center{text-align:center}.lead{font-size:1.15rem;color:#d8d3e2;max-width:60ch}
.wrap{width:min(1120px,100% - 32px);margin-inline:auto}main.wrap{padding:24px 0 72px;min-height:70vh}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;color:#000;padding:8px;z-index:99}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
/* header */
.top{position:sticky;top:0;z-index:20;background:#0e0d12e6;backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:20px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.25rem;color:var(--text)}.brand:hover{text-decoration:none}
.logo{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--acc),var(--acc2));color:#0e0d12;font-size:1.1rem}
.links{display:flex;align-items:center;gap:4px;flex:1;flex-wrap:wrap}.links a,.linkbtn{color:#d8d3e2;padding:8px 10px;border-radius:8px;font-size:.93rem}.links a:hover,.linkbtn:hover{background:var(--surf2);text-decoration:none}.links a.on{color:var(--acc)}.links .sp{flex:1}
.linkbtn{background:none;border:0;cursor:pointer;font:inherit}.inline{display:inline;margin:0}.burger{display:none;margin-left:auto;background:none;border:1px solid var(--line);color:var(--text);border-radius:8px;padding:6px 10px;font-size:1.1rem}
@media(max-width:900px){.burger{display:block}.links{display:none;position:absolute;left:0;right:0;top:64px;background:var(--surf);padding:12px 16px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}.links.open{display:flex}.links .sp{display:none}}
/* buttons */
.btn{display:inline-block;background:linear-gradient(135deg,var(--acc),var(--acc2));color:#1a1206!important;font-weight:600;border:0;border-radius:999px;padding:11px 22px;cursor:pointer;font-size:.98rem;font-family:inherit;text-align:center}
.btn:hover{text-decoration:none;filter:brightness(1.07)}.btn.sm{padding:7px 16px;font-size:.88rem}.btn.xs{padding:3px 10px;font-size:.78rem}.btn.big{padding:14px 28px;font-size:1.05rem;font-family:Inter,sans-serif}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--text)!important}.btn.ghost:hover{border-color:var(--acc)}.btn[disabled]{opacity:.6;cursor:wait}
.danger-btn{background:var(--err)}
/* hero */
.hero{padding:56px 0 28px}.eyebrow{color:var(--acc);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;margin:0}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}
.stats{display:flex;gap:32px;list-style:none;padding:0;margin:32px 0 0;flex-wrap:wrap}.stats li{display:flex;flex-direction:column}.stats b{font:700 2rem Fraunces,serif;color:var(--acc)}.stats span{color:var(--mut);font-size:.85rem}
/* layout bits */
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:900px){.grid3,.grid4{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.grid2,.grid3,.grid4{grid-template-columns:1fr}}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between}.wrap-s{gap:8px}
.card{background:var(--surf);border:1px solid var(--line);border-radius:var(--r);padding:20px;margin-bottom:0}
.list{display:grid;gap:14px}.card.link{color:inherit;display:block;transition:.15s}.card.link:hover{transform:translateY(-3px);border-color:var(--acc);text-decoration:none}
.card.link p{color:#cfcad9}.ico{font-size:1.6rem}.big{font-size:2.2rem;color:var(--acc);display:block;margin-bottom:.2em}
.card.stat{text-align:center;color:inherit}.card.stat b{display:block;font:700 2.4rem Fraunces,serif;color:var(--acc)}.card.stat span{color:var(--mut)}
.card.danger{border-color:#5b2a33}.empty{background:var(--surf);border:1px dashed var(--line);border-radius:var(--r);padding:28px;text-align:center;color:var(--mut)}
.steps{list-style:none;padding:0;counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.steps li{counter-increment:s;background:var(--surf);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:flex;flex-direction:column;gap:6px}
.steps li:before{content:counter(s);width:32px;height:32px;border-radius:50%;background:var(--acc);color:#111;display:grid;place-items:center;font-weight:700}.steps span{color:var(--mut)}@media(max-width:800px){.steps{grid-template-columns:1fr}}
.pledge{margin-top:56px;background:linear-gradient(135deg,#2a1b3d,#1b1523);border:1px solid var(--line);border-radius:22px;padding:32px}.pledge h2{margin-top:0}
.ticks{list-style:none;padding:0;margin:0}.ticks li{padding:6px 0 6px 28px;position:relative}.ticks li:before{content:"✔";color:var(--ok);position:absolute;left:0}
.plain{list-style:none;padding:0}.narrow{max-width:560px;margin:24px auto}.narrow.wide{max-width:820px}
/* forms */
.form{display:grid;gap:14px}label{display:grid;gap:6px;font-weight:500;font-size:.93rem}label small{font-weight:400;color:var(--mut)}
input,select,textarea{width:100%;background:var(--surf2);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:11px 12px;font:inherit}
input:focus,select:focus,textarea:focus{outline:2px solid var(--acc);border-color:transparent}textarea{resize:vertical}
label.check{display:flex;gap:10px;align-items:flex-start;font-weight:400}label.check input{width:auto;margin-top:5px}
fieldset{border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;display:grid;gap:14px;margin:0 0 6px}legend{padding:0 8px;font-family:Fraunces,serif;font-size:1.1rem}legend small{font:400 .8rem Inter}.lbl{margin:.4em 0 0;font-weight:600;font-size:.9rem}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:block;cursor:pointer}.chip input{position:absolute;opacity:0;width:0}.chip span{display:block;padding:6px 13px;border:1px solid var(--line);border-radius:999px;font-size:.88rem;background:var(--surf2);color:#d8d3e2}
.chip input:checked+span{background:var(--acc);color:#1a1206;border-color:var(--acc);font-weight:600}.chip input:focus-visible+span{outline:2px solid var(--acc);outline-offset:2px}
.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:16px 0 22px}.filters input,.filters select{width:auto;min-width:140px;flex:1 1 150px}.filters .check{flex:0 0 auto}.filters .check input{flex:0 0 auto;min-width:0;width:auto}
/* flash, pills, tags */
.flash{padding:12px 16px;border-radius:10px;margin:0 0 16px;border:1px solid var(--line);background:var(--surf)}.flash.ok{border-color:#1f6b4f;background:#10281f}.flash.err{border-color:#7a2d35;background:#2a1519}.flash.warn{border-color:#7a6224;background:#2a2310}
.warnbox{background:#2a2310;border:1px solid #7a6224;border-radius:10px;padding:10px 14px;font-size:.9rem}
.pill{display:inline-block;padding:2px 10px;border-radius:999px;border:1px solid var(--line);font-size:.75rem;background:var(--surf2);color:#d8d3e2;white-space:nowrap}
.pay-paid{border-color:#1f6b4f;color:var(--ok)}.pay-fee{border-color:#7a6224;color:var(--warn)}
.tags{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 10px}.tags span{font-size:.78rem;padding:2px 10px;border-radius:999px;background:var(--surf2);border:1px solid var(--line);color:#cfcad9}
.tick{color:var(--acc);font-size:.8em}.mtag{color:var(--ok);font-weight:600}.count{font:400 .9rem Inter;color:var(--mut)}
.clip{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#cfcad9;font-size:.92rem;margin:0}
.opp.past{opacity:.55}details.rep summary{cursor:pointer;color:var(--mut);font-size:.82rem}details.rep form{display:flex;gap:6px;margin-top:8px}
/* member */
.card.member{display:block;color:inherit;transition:.15s}.card.member:hover{border-color:var(--acc);text-decoration:none;transform:translateY(-3px)}
.avatar{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#6c4bd6,var(--acc2));display:grid;place-items:center;font:700 1.2rem Fraunces,serif;margin-bottom:10px;color:#fff}.avatar.xl{width:84px;height:84px;font-size:2.2rem;margin:0}
.phead{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.phead h1{margin:0}.pgrid{align-items:start;grid-template-columns:2fr 1fr}@media(max-width:800px){.pgrid{grid-template-columns:1fr}}
.side{position:sticky;top:84px}.mini{padding:6px 0;border-bottom:1px solid var(--line)}.links2 a{margin-right:12px}
.pager{display:flex;gap:6px;margin-top:24px}.pager a{padding:6px 12px;border:1px solid var(--line);border-radius:8px}.pager a.on{background:var(--acc);color:#111}
/* admin */
.subnav{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 18px}.subnav a{padding:6px 14px;border-radius:999px;border:1px solid var(--line);color:#d8d3e2;font-size:.88rem}.subnav a.on{background:var(--acc);color:#111;border-color:var(--acc)}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r)}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--surf);color:var(--mut);font-weight:500}.acts{display:flex;gap:4px;flex-wrap:wrap}.acts form{margin:0}
.admin-card form.row input{flex:1}
/* prose */
.prose h2{margin-top:1.6em}.prose h3{margin-top:1.4em;color:var(--acc);font-family:Inter;font-size:1rem;text-transform:uppercase;letter-spacing:.05em}.prose li{margin:.3em 0}.prose pre{background:var(--surf);border:1px solid var(--line);border-radius:10px;padding:14px;overflow:auto;font-size:.82rem}
.prose .note{background:#2a2310;border:1px solid #7a6224;border-radius:10px;padding:10px 14px}.prose hr{border:0;border-top:1px solid var(--line);margin:32px 0}.prose .pill{margin-left:10px}
/* footer */
.foot{border-top:1px solid var(--line);padding:36px 0;background:#0b0a0f}.cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px}.cols a{display:block;color:#cfcad9;padding:2px 0;font-size:.9rem}.cols h4{margin:0 0 8px;color:var(--mut);font-weight:500}.brand-sm{font-family:Fraunces,serif;font-size:1.2rem}@media(max-width:700px){.cols{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
