/* ============================================================
   ANTI FRAUD FUND — $AFC
   An investigator's corkboard. Everything on the page is pinned
   to cork: a manila case folder, polaroids, index cards, sticky
   notes, newspaper clippings. Red string runs between the pins
   (drawn by app.js from the real pin positions). Rubber stamps.
   Black redaction bars that clear under a magnifier cursor.
   Typewriter for documents (Special Elite), handwriting for notes
   (Caveat), block caps for stamps (Anton).
   Nothing here looks like the Sherwood camp, the arXiv paper, the
   Dutch ledger, the SpaceX black page or the XP desktop.
   ============================================================ */
:root{
  --cork:#b98a55; --cork-d:#9c7040; --cork-l:#cfa26c;
  --paper:#f5eedb; --paper-d:#e8dcc0; --paper-line:#c9bda0;
  --manila:#e9c98c; --manila-d:#d1ad6a; --manila-tab:#f0d59f;
  --ink:#1e1a16; --ink-2:#4b4238; --ink-3:#7a6f61;
  --red:#b8322b; --red-d:#8e2420; --red-l:#d94a42;
  --string:#c8202a;
  --yellow:#fbe88a; --yellow-d:#e6cf5d; --pink:#f9b8c4; --pink-d:#e797a5;
  --blue:#2f5fa8; --white:#f3f0e6;
  --doc:"Special Elite","Courier New",ui-monospace,monospace;
  --hand:"Caveat","Segoe Script","Bradley Hand",cursive;
  --stamp:"Anton",Impact,"Arial Narrow",sans-serif;
  --shadow:0 10px 18px -8px rgba(30,20,10,.55), 0 2px 4px rgba(30,20,10,.25);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
body{margin:0;color:var(--ink);font:17px/1.5 var(--doc);background:var(--cork);overflow-x:hidden;min-height:100vh}
a{color:var(--red-d)}
img,svg{display:block;max-width:100%}
button{font-family:inherit;cursor:pointer}
::selection{background:var(--red);color:var(--paper)}

/* ---------- the cork ---------- */
.cork{position:fixed;inset:0;z-index:0;pointer-events:none;
  background-color:var(--cork);
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .22 0 0 0 0 .1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='400' height='400' filter='url(%23n)'/%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600'%3E%3Cfilter id='m'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.02' numOctaves='2' seed='7'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .85 0 0 0 0 .6 0 0 0 .18 0'/%3E%3C/filter%3E%3Crect width='600' height='600' filter='url(%23m)'/%3E%3C/svg%3E"),
    radial-gradient(ellipse at 50% 0%, rgba(255,230,190,.25), transparent 60%),
    radial-gradient(ellipse at 50% 100%, rgba(40,20,5,.35), transparent 60%);
}
.cork::after{content:"";position:absolute;inset:0;
  box-shadow:inset 0 0 120px rgba(40,20,5,.45), inset 0 0 18px rgba(0,0,0,.3);
  border:14px solid #3b2718;border-image:linear-gradient(#5a3b24,#2e1c10) 1}

.top,main,.foot{position:relative;z-index:1}

/* ---------- tape label + index tabs ---------- */
.top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 28px 0;flex-wrap:wrap}
.label-tape{display:inline-flex;align-items:center;text-decoration:none;color:var(--ink);position:relative;transform:rotate(-1deg)}
.label-text{display:block;background:var(--white);border:1px solid rgba(0,0,0,.15);padding:8px 16px;font:15px/1 var(--doc);letter-spacing:.18em;box-shadow:var(--shadow)}
.label-text b{color:var(--red)}
.label-text i{font-style:normal;color:var(--ink-3)}
.tape-l,.tape-r{position:absolute;top:-8px;width:44px;height:18px;background:rgba(255,245,200,.55);border:1px solid rgba(255,255,255,.35);transform:rotate(-8deg);box-shadow:0 1px 2px rgba(0,0,0,.1)}
.tape-l{left:-14px}.tape-r{right:-14px;transform:rotate(7deg)}
.tabs{display:flex;gap:6px;flex-wrap:wrap}
.tabs a{display:block;background:var(--paper);color:var(--ink);text-decoration:none;font:15px/1 var(--doc);letter-spacing:.04em;padding:10px 14px 8px;border:1px solid rgba(0,0,0,.18);border-bottom:0;border-radius:6px 6px 0 0;box-shadow:0 -2px 6px -3px rgba(0,0,0,.35);transform:translateY(0);transition:transform .15s}
.tabs a:hover{transform:translateY(-3px)}
.tabs a.tab-red{background:var(--red);color:var(--paper)}

/* ---------- boards ---------- */
.board{position:relative;padding:48px 28px 64px;max-width:1240px;margin:0 auto}
.string{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:visible}
.string path{fill:none;stroke:var(--string);stroke-width:2.2;stroke-linecap:round;filter:drop-shadow(0 2px 1px rgba(0,0,0,.35))}
.board-title{font:400 clamp(30px,4.6vw,48px)/1.05 var(--doc);margin:0 0 6px;color:var(--paper);text-shadow:0 2px 0 rgba(0,0,0,.35);letter-spacing:.02em}
.board-title span{display:inline-block;font:400 .5em/1 var(--doc);background:var(--red);color:var(--paper);padding:6px 10px 4px;margin-right:10px;vertical-align:middle;transform:rotate(-3deg);box-shadow:var(--shadow)}
.board-sub{margin:0 0 34px;color:#fff3dc;font:500 22px/1.3 var(--hand);text-shadow:0 1px 0 rgba(0,0,0,.35)}
.board-sub a{color:#fff}

/* pinned things share this */
.pin-item{position:relative;z-index:2;transform:rotate(var(--rot,0deg));box-shadow:var(--shadow);transition:transform .25s cubic-bezier(.2,.9,.3,1.4)}
.pin-item:hover{transform:rotate(calc(var(--rot,0deg) * .3)) translateY(-2px)}
.pin{position:absolute;top:-9px;left:50%;width:22px;height:22px;border-radius:50%;transform:translateX(-50%);z-index:3;
  box-shadow:inset -4px -5px 8px rgba(0,0,0,.45), inset 3px 3px 6px rgba(255,255,255,.55), 0 6px 6px -2px rgba(0,0,0,.5)}
.pin::after{content:"";position:absolute;left:50%;top:80%;width:3px;height:9px;background:linear-gradient(#777,#222);transform:translateX(-50%);border-radius:0 0 2px 2px;z-index:-1}
.pin-red{background:radial-gradient(circle at 35% 30%,#ff7a70,#b8322b 60%,#6d1a15)}
.pin-white{background:radial-gradient(circle at 35% 30%,#fff,#e6e2d6 60%,#8a857a)}
.pin-blue{background:radial-gradient(circle at 35% 30%,#7fa6ee,#2f5fa8 60%,#132c56)}

/* ---------- hero: folder + polaroid + notes ---------- */
.hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.9fr);gap:56px 48px;align-items:start;padding-top:70px}
.folder{grid-row:1/3}
.folder-tab{display:inline-block;background:var(--manila-tab);border:1px solid var(--manila-d);border-bottom:0;border-radius:8px 8px 0 0;padding:8px 18px 5px;font:15px/1 var(--doc);letter-spacing:.2em;margin-left:22px;color:var(--ink-2)}
.folder-tab span{color:var(--red);font-weight:700}
.folder-body{position:relative;background:var(--manila);border:1px solid var(--manila-d);padding:38px 40px 44px;
  background-image:repeating-linear-gradient(0deg,transparent 0 29px,rgba(0,0,0,.05) 29px 30px)}
.eyebrow{margin:0 0 14px;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2)}
h1{margin:0 0 18px;font:400 clamp(44px,7.5vw,88px)/.95 var(--doc);letter-spacing:-.01em;color:var(--ink)}
.lede{font-size:clamp(18px,2vw,22px);line-height:1.45;margin:0 0 16px}
.lede strong{background:linear-gradient(transparent 55%,rgba(184,50,43,.35) 55%);font-weight:400}
.how{margin:0 0 26px;color:var(--ink-2);font-size:16px;line-height:1.55}
.handle{font-weight:700;color:var(--red-d);border-bottom:2px solid var(--red);white-space:nowrap}
.cta{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;padding:12px 22px;background:var(--paper);color:var(--ink);text-decoration:none;font:17px/1 var(--doc);letter-spacing:.06em;border:1.5px solid var(--ink);box-shadow:3px 3px 0 var(--ink);transition:transform .12s,box-shadow .12s}
.btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}
.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.btn-red{background:var(--red);color:var(--paper);border-color:var(--red-d);box-shadow:3px 3px 0 var(--red-d)}
.btn-red:hover{box-shadow:4px 4px 0 var(--red-d)}
.btn-red:active{box-shadow:1px 1px 0 var(--red-d)}

.stamp{position:absolute;font:400 34px/1 var(--stamp);letter-spacing:.12em;color:var(--red);border:4px solid var(--red);padding:6px 14px 4px;border-radius:6px;opacity:.85;pointer-events:none;
  mix-blend-mode:multiply;transform:rotate(-14deg) scale(1);
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.6' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 -0.6'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23g)'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.6' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 -0.6'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23g)'/%3E%3C/svg%3E")}
.stamp-open{right:26px;top:48px;animation:slam .5s cubic-bezier(.2,1.4,.4,1) .6s both}
.stamp-paid{right:14px;bottom:80px;font-size:44px;transform:rotate(12deg);animation:slam .5s cubic-bezier(.2,1.4,.4,1) .3s both}
@keyframes slam{0%{opacity:0;transform:rotate(-14deg) scale(2.2)}70%{opacity:.95;transform:rotate(-14deg) scale(.96)}100%{opacity:.85;transform:rotate(-14deg) scale(1)}}
.stamp-paid{animation-name:slam2}
@keyframes slam2{0%{opacity:0;transform:rotate(12deg) scale(2.2)}70%{opacity:.95;transform:rotate(12deg) scale(.96)}100%{opacity:.85;transform:rotate(12deg) scale(1)}}

.polaroid{margin:0;background:#fbfaf5;padding:14px 14px 18px;width:min(100%,320px);justify-self:end}
.polaroid .photo{aspect-ratio:1;overflow:hidden;background:#222;filter:sepia(.35) contrast(1.05)}
.polaroid .photo svg,.polaroid .photo img{width:100%;height:100%;object-fit:cover}
.polaroid figcaption{margin-top:12px;font:700 21px/1.15 var(--hand);color:var(--ink-2);text-align:center}
.polaroid-sm{width:min(100%,220px)}
.polaroid-sm figcaption{font-size:19px}

.sticky{padding:22px 20px 18px;font:500 22px/1.2 var(--hand);color:var(--ink);width:min(100%,290px)}
.sticky p{margin:0 0 6px}
.sticky .small{font-size:17px;color:var(--ink-2)}
.sticky b{font-weight:700;color:var(--red-d)}
.sticky-yellow{background:linear-gradient(160deg,var(--yellow),var(--yellow-d))}
.sticky-pink{background:linear-gradient(160deg,var(--pink),var(--pink-d))}
.hero .sticky{justify-self:end}

.clip{background:var(--paper);padding:18px 20px;text-decoration:none;color:var(--ink)}
.clip-warn{width:min(100%,300px);font-size:14px;line-height:1.45;border-left:6px solid var(--red);justify-self:end;
  background-image:repeating-linear-gradient(0deg,transparent 0 21px,rgba(0,0,0,.06) 21px 22px)}
.clip-warn p{margin:0}
.clip-warn b{color:var(--red)}

/* ---------- follow the money ---------- */
.money{padding-top:80px}
.flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 36px;align-items:start}
.card{background:var(--paper);padding:26px 24px 24px;
  background-image:linear-gradient(90deg,transparent 30px,rgba(184,50,43,.35) 30px,rgba(184,50,43,.35) 31px,transparent 31px),repeating-linear-gradient(0deg,transparent 0 27px,rgba(47,95,168,.22) 27px 28px);background-position:0 8px}
.card-n{position:absolute;left:-14px;top:18px;width:36px;height:36px;border-radius:50%;background:var(--ink);color:var(--paper);font:400 20px/36px var(--stamp);text-align:center;box-shadow:var(--shadow)}
.card h3{margin:0 0 10px 14px;font:400 22px/1.15 var(--doc)}
.card p{margin:0 0 0 14px;font-size:15.5px;line-height:1.55;color:var(--ink-2)}
.card-wide{grid-column:span 2}
.card-burn{background-color:#efe3d2}
.money .sticky{margin:44px 0 0 auto}

.redact{background:var(--ink);color:var(--ink);padding:0 4px;border-radius:2px;transition:background .25s,color .25s;cursor:zoom-in}
.redact:hover,.redact.on{background:rgba(184,50,43,.18);color:var(--ink)}
.magnify{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Ccircle cx='16' cy='16' r='11' fill='rgba(255,255,255,.35)' stroke='%231e1a16' stroke-width='3'/%3E%3Cpath d='M24 24l12 12' stroke='%231e1a16' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") 16 16, zoom-in}

/* ---------- case files ---------- */
.clips{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:40px 30px;align-items:start}
.news{display:block;padding:22px 20px 20px;border-top:5px double var(--ink);font-size:15px}
.news .date{display:block;font-size:12px;letter-spacing:.2em;color:var(--red);margin-bottom:8px}
.news h3{margin:0 0 8px;font:400 21px/1.15 var(--doc)}
.news p{margin:0;color:var(--ink-2);line-height:1.5;font-size:14.5px}
.news:hover h3{text-decoration:underline;text-decoration-color:var(--red)}
.cases .sticky{margin:44px auto 0 0}

/* ---------- club rules + token card ---------- */
.rules-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:44px 40px;align-items:start}
.card-rules{padding-left:30px}
.card-rules ol{margin:0;padding:0 0 0 30px;font-size:16px;line-height:1.55}
.card-rules li{margin:0 0 12px;padding-left:4px}
.card-rules li::marker{font-family:var(--stamp);color:var(--red)}
.card-rules b{color:var(--ink)}

.index-card{background:var(--paper);padding:0 0 22px;
  background-image:linear-gradient(0deg,transparent 0,transparent 100%),repeating-linear-gradient(0deg,transparent 0 31px,rgba(47,95,168,.25) 31px 32px);background-position:0 44px}
.ic-head{background:rgba(184,50,43,.9);color:var(--paper);font:400 15px/1 var(--doc);letter-spacing:.3em;padding:14px 22px 12px;border-bottom:2px solid var(--red-d)}
.index-card dl{display:grid;grid-template-columns:auto 1fr;gap:0 16px;margin:12px 22px 18px;font-size:16px}
.index-card dt{color:var(--ink-3);padding:6px 0;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.index-card dd{margin:0;padding:6px 0;line-height:1.3}
.ca-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ca-row code{font:14px/1.2 ui-monospace,Menlo,Consolas,monospace;word-break:break-all;color:var(--ink-2)}
.ca-row button{font:13px/1 var(--doc);padding:6px 10px;background:var(--ink);color:var(--paper);border:0}
.ca-row button.ok{background:#2c7a3d}
.ic-links{display:flex;gap:10px;flex-wrap:wrap;padding:0 22px}
.rules .polaroid-sm{margin:0 auto 0 0}

.btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}

/* ---------- footer ---------- */
.foot{max-width:1240px;margin:0 auto;padding:20px 28px 60px;text-align:center}
.foot .label-tape{transform:rotate(1deg)}
.foot .small-tape .label-text{font-size:13px;letter-spacing:.14em}
.foot p{max-width:760px;margin:28px auto 0;color:#fff1d8;font-size:13.5px;line-height:1.6;text-shadow:0 1px 0 rgba(0,0,0,.35)}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .card-wide{grid-column:span 2}
  .hero{grid-template-columns:minmax(0,1fr) minmax(240px,.7fr);gap:44px 28px}
  .folder-body{padding:30px 28px 36px}
}
@media (max-width:760px){
  .top{padding:16px 16px 0}
  .board{padding:36px 16px 48px}
  .hero{grid-template-columns:1fr;gap:40px;padding-top:56px}
  .folder{grid-row:auto}
  .polaroid,.hero .sticky,.clip-warn{justify-self:start}
  .flow{grid-template-columns:1fr;gap:36px}
  .card-wide{grid-column:auto}
  .rules-grid{grid-template-columns:1fr}
  .string{display:none}
  .stamp{font-size:26px;border-width:3px}
  .stamp-paid{font-size:34px;bottom:auto;top:6px}
  .stamp-open{top:10px;right:10px}
  .label-text{font-size:12px;letter-spacing:.12em;white-space:nowrap}
  .index-card dl{grid-template-columns:1fr;gap:0}
  .index-card dt{padding-bottom:0}
  .cork::after{border-width:8px}
}
@media (prefers-reduced-motion:reduce){
  .stamp{animation:none !important}
  .pin-item{transition:none}
}
