/* Raincoin: the fund page, same paper and stamps as the lab */
#rainfx{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.rc-mark{display:grid;place-items:center;width:34px;height:34px;border:3px solid var(--red);color:var(--red);border-radius:4px;font:900 15px 'Archivo';transform:rotate(-8deg)}

/* 5. small labels: larger and darker than the lab's, they carry information here */
.raincoin{--mute:#5f5a4e}
.raincoin .sheet-head{font-size:13px}
.raincoin .kicker{font-size:13px}
.raincoin .fine,.raincoin footer{color:#5f5a4e}

/* 3. first screen: bigger type and card, slabs falling behind */
.rc-hero{grid-template-columns:1.15fr .85fr;min-height:calc(100vh - 60px);padding:56px 0 40px}
.rc-hero h1{font-size:clamp(78px,12.5vw,184px)}
.rc-hero .lead{font-size:20px;max-width:560px}
.rc-hero .hero-copy::before{inset:-70px -120px;background:radial-gradient(closest-side,#f3efe6 62%,#f3efe6e6 78%,#f3efe600)}
.rc-card{position:relative;z-index:1;background:var(--sheet);border:2px solid var(--ink);box-shadow:14px 14px 0 -2px #e6dfcf,0 30px 60px -24px #3a301860;transform:rotate(1.2deg)}
.rc-stamp{height:230px;border-bottom:2px solid var(--ink);display:grid;place-items:center;background:#fffdf8}
.rc-stamp canvas{max-width:92%}
.rc-next{display:grid;justify-items:center;padding:18px;border-bottom:1px dashed var(--rule2)}
.rc-next small,.rc-next span{font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.rc-next b{font:900 72px/1 var(--display);font-stretch:62%;color:var(--blue);font-variant-numeric:tabular-nums}
.rc-split{margin:0;display:grid;grid-template-columns:1fr 1fr}
.rc-split div{padding:14px 18px}
.rc-split div+div{border-left:1px dashed var(--rule2)}
.rc-split dt{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.rc-split dd{margin:0;font:900 52px/1 var(--display);font-stretch:62%}
.rc-split div:last-child dd{color:var(--red)}
.rc-bar{padding:12px 18px;border-top:1px dashed var(--rule2);font:500 13px var(--mono);color:var(--ink2)}
.rc-bar b{color:var(--ink)}

/* 4. a band of live numbers between the hero and the sheets */
.rc-band{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);background:var(--ink);color:var(--sheet);margin:0 calc(50% - 50vw);padding:34px max(16px,calc(50vw - 600px))}
.rc-band div{padding:0 22px;border-left:1px solid #ffffff2a}
.rc-band div:first-child{border-left:0;padding-left:0}
.rc-band b{display:block;font:900 clamp(44px,6vw,84px)/1 var(--display);font-stretch:62%;color:#fff;font-variant-numeric:tabular-nums}
.rc-band span{display:block;margin-top:8px;font:500 13px var(--mono);letter-spacing:.04em;color:#cfc8b8;text-transform:uppercase}
.rc-band div:nth-child(2) b{color:#ff8a9a}

/* 1. how it works as a flow */
.flow{display:grid;grid-template-columns:1fr 34px 1fr 34px 1.6fr 34px 1fr;align-items:center;gap:0;margin:8px 0 22px}
.flow .node{border:2px solid var(--ink);background:#fffdf8;padding:14px 14px 12px;min-height:118px;display:flex;flex-direction:column;gap:4px}
.flow .node small{font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.flow .node b{font:800 24px/1 var(--display);font-stretch:72%;text-transform:uppercase}
.flow .node span{font-size:13px;color:var(--ink2)}
.flow .vault{background:var(--ink);color:var(--sheet)}.flow .vault small,.flow .vault span{color:#cfc8b8}
.flow .split{display:grid;gap:10px}
.flow .split .node{min-height:0}
.flow .drip{border-color:var(--blue)}.flow .drip small{color:var(--blue)}
.flow .camps{border-color:var(--red);box-shadow:5px 5px 0 #c8102e22}.flow .camps small{color:var(--red)}
.flow .wallet{border-style:dashed}
.flow .arrow{height:2px;background:var(--ink);position:relative;margin:0 4px}
.flow .arrow::after{content:"";position:absolute;right:-2px;top:-5px;border:6px solid transparent;border-left:9px solid var(--ink)}
.rules summary{cursor:pointer;font:600 13px var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:10px 0;border-top:1px dotted var(--rule2)}
.rules[open] summary{margin-bottom:6px}
.rc-steps li{font-size:15px}

/* campaigns */
.rc-camps{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.rc-camp{border:1.5px solid var(--ink);background:#fffdf8;padding:0 0 16px;display:flex;flex-direction:column;gap:8px;overflow:hidden}
.rc-camp .mark{height:96px;display:grid;place-items:center;border-bottom:1.5px solid var(--ink);background:repeating-linear-gradient(-45deg,#fffdf8 0 12px,#f6f1e6 12px 24px)}
.rc-camp h3,.rc-camp p,.rc-camp .meta,.rc-camp a{margin-left:18px;margin-right:18px}
.rc-camp h3{margin-top:6px;margin-bottom:0;font:800 26px var(--display);font-stretch:75%;text-transform:uppercase}
.rc-camp p{margin-top:0;margin-bottom:0;color:var(--ink2);font-size:14px}
.rc-camp .meta{display:flex;gap:14px;font:500 12px var(--mono);color:var(--mute);flex-wrap:wrap}
.rc-camp .meta b{color:var(--ink)}
.rc-camp a{color:var(--blue);font:600 13px var(--mono)}
.rc-camp.next{border-style:dashed;background:transparent}
.rc-camp.next .mark{background:transparent;border-bottom-style:dashed}

/* 2. this week's bad luck, from live data */
.rc-luck{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.rc-l{position:relative;border:1.5px solid var(--ink);background:#fffdf8;padding:14px 16px 12px}
.rc-l .g{position:absolute;right:12px;top:12px;width:46px;height:56px;display:grid;place-items:center;border:2.5px solid var(--red);color:var(--red);font:900 34px/1 var(--display);font-stretch:62%;transform:rotate(6deg)}
.rc-l small{display:block;font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.rc-l b{display:block;font:900 44px/1 var(--display);font-stretch:62%;margin:6px 0 2px}
.rc-l span{display:block;font-size:13px;color:var(--ink2)}
.rc-l .bar{height:6px;background:#eee6d6;margin-top:10px}
.rc-l .bar i{display:block;height:100%;background:var(--red)}
.rc-empty{border:1.5px dashed var(--rule2);padding:18px;color:var(--mute);font-size:14px}

.rc-stories{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.rc-story{border:1.5px solid var(--ink);background:#fffdf8;padding:16px 18px}
.rc-story h3{margin:0 0 6px;font:800 20px var(--display);font-stretch:75%;text-transform:uppercase}
.rc-story p{margin:0 0 10px;color:var(--ink2);font-size:14px}
.rc-story .nums{display:flex;gap:20px;font:500 12px var(--mono);color:var(--mute)}
.rc-story .nums b{display:block;font:800 24px var(--display);font-stretch:70%}
.rc-story .lost b{color:var(--red)}.rc-story .got b{color:var(--blue)}

.rc-fund{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:start}
.rc-money{margin:0;border:1.5px solid var(--ink);background:#fffdf8}
.rc-money div{display:flex;justify-content:space-between;padding:12px 16px;border-bottom:1px dotted var(--rule2)}
.rc-money div:last-child{border-bottom:0}
.rc-money dt{font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.rc-money dd{margin:0;font:800 22px var(--display);font-stretch:70%}
.rc-prelaunch{border:2px dashed var(--ink);padding:18px;background:#fffdf8}
.rc-prelaunch b{display:block;font:800 24px var(--display);font-stretch:72%;text-transform:uppercase;margin-bottom:6px}
.rc-prelaunch p{margin:0;color:var(--ink2);font-size:14px}

@media (max-width:1100px){
  .flow{grid-template-columns:1fr;gap:0}
  .flow .arrow{width:2px;height:22px;margin:0 auto}
  .flow .arrow::after{right:-5px;top:auto;bottom:-6px;border:6px solid transparent;border-top:9px solid var(--ink);border-left-color:transparent}
}
@media (max-width:960px){
  .rc-hero,.rc-fund{grid-template-columns:1fr;min-height:0}
  .rc-card{transform:none}
  .rc-band{grid-template-columns:1fr;gap:18px}
  .rc-band div{border-left:0;padding:0;border-top:1px solid #ffffff2a;padding-top:14px}
  .rc-band div:first-child{border-top:0;padding-top:0}
}

/* contract address: one tap copies it */
.rc-ca{display:flex;align-items:center;gap:10px;width:100%;padding:12px 18px;border:0;border-top:2px solid var(--ink);background:#fffdf8;font:500 13px var(--mono);color:var(--ink);text-align:left;cursor:pointer}
.rc-ca:disabled{cursor:default;color:var(--mute)}
.rc-ca:not(:disabled):hover{background:#f6f1e6}
.rc-ca:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}
.ca-label{flex:none;background:var(--ink);color:var(--sheet);padding:2px 7px;font-weight:600}
.ca-val{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ca-hint{flex:none;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}
.rc-ca.copied .ca-hint{color:var(--green)}
