@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Sans:wght@400;500;600;700;800&display=swap";:root{--ink:#231f1a;--ink-muted:#6b6258;--ink-dim:#9d948a;--paper:#fbf7ef;--paper-card:#fffdf8;--paper-warm:#f5efe0;--coral:#ff5a3c;--coral-dim:#ff5a3c1f;--teal:#10b6a6;--teal-dim:#10b6a61f;--gold:#e7a33a;--gold-dim:#e7a33a33;--violet:#6a4cff;--border:#231f1a1a;--border-strong:#231f1a2e;--serif:"DM Serif Display", "Iowan Old Style", Georgia, "Times New Roman", serif;--sans:"DM Sans", -apple-system, "Segoe UI", system-ui, sans-serif;--mono:"SF Mono", ui-monospace, "JetBrains Mono", monospace;--radius-card:20px;--radius-btn:12px;--shadow-card:0 2px 12px #231f1a12, 0 8px 32px #231f1a0d;--shadow-letter:0 4px 20px #231f1a1a, 0 16px 56px #231f1a14;--shadow-btn:0 4px 16px #ff5a3c47;--text-primary:var(--ink);--text-muted:var(--ink-muted);--text-dim:var(--ink-dim);--border-subtle:var(--border);--aurora1:var(--coral);--aurora2:var(--teal);--aurora3:var(--gold)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--sans);background-color:var(--paper);color:var(--ink);background-image:radial-gradient(900px 600px at 80% -5%,#ff5a3c12,#0000 60%),radial-gradient(600px 500px at 0 70%,#10b6a60f,#0000 55%);background-attachment:fixed;min-height:100dvh;line-height:1.6}.wrap{max-width:720px;margin:0 auto;padding:40px 22px 80px}.tag{font:600 11px / 1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-muted);border:1px solid var(--border-strong);border-radius:999px;margin-bottom:28px;padding:7px 14px;text-decoration:none;transition:border-color .2s,color .2s;display:inline-block}.tag:hover{border-color:var(--coral);color:var(--coral)}.btn{border:1.5px solid var(--border-strong);background:var(--paper-card);color:var(--ink);border-radius:var(--radius-btn);font-size:15px;font-weight:700;font-family:var(--sans);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:13px 20px;text-decoration:none;transition:background .2s,border-color .2s,transform .15s;display:inline-flex}.btn:hover{background:var(--paper-warm);border-color:var(--ink);transform:translateY(-1px)}.btn.primary{background:var(--coral);border-color:var(--coral);color:#fff;box-shadow:var(--shadow-btn)}.btn.primary:hover{background:#e64a2e;border-color:#e64a2e;transform:translateY(-1px)}.cta{background:var(--coral);color:#fff;font-size:18px;font-weight:800;font-family:var(--sans);border-radius:var(--radius-btn);cursor:pointer;box-shadow:var(--shadow-btn);border:none;align-items:center;gap:12px;padding:16px 28px;transition:opacity .2s,transform .15s,box-shadow .2s;display:inline-flex}.cta:hover:not(:disabled){opacity:.93;transform:translateY(-2px);box-shadow:0 8px 28px #ff5a3c61}.cta:disabled{opacity:.55;cursor:not-allowed}.cta .coin{font-size:20px}.hero{flex-direction:column;align-items:flex-start;gap:0;max-width:720px;margin:0 auto;padding:56px 22px 80px;display:flex}.hero h1{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);margin-bottom:20px;font-size:clamp(36px,6.5vw,64px);line-height:1}.hero h1 em{color:var(--coral);font-style:italic}.hero .lead{color:var(--ink-muted);max-width:560px;margin-bottom:32px;font-size:clamp(16px,2.4vw,20px);line-height:1.6}.form-fields{flex-direction:column;gap:10px;width:100%;max-width:480px;margin-bottom:20px;display:flex}.form-fields input{background:var(--paper-card);border:1.5px solid var(--border-strong);color:var(--ink);font-family:var(--sans);border-radius:10px;outline:none;width:100%;padding:12px 16px;font-size:16px;transition:border-color .2s,box-shadow .2s}.form-fields input::placeholder{color:var(--ink-dim)}.form-fields input:focus{border-color:var(--coral);box-shadow:0 0 0 3px #ff5a3c1f}.form-fields input:disabled{opacity:.5}.form-error{color:var(--coral);margin-bottom:12px;font-size:14px;font-weight:600}.hint{color:var(--ink-dim);margin-top:20px;font-size:14px}.hint strong{color:var(--ink-muted)}.blurpill{filter:blur(6px);opacity:.45;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.landing-footer{color:var(--ink-dim);border-top:1px solid var(--border);max-width:480px;margin-top:52px;padding-top:20px;font-size:12px;line-height:1.75}.reveal{max-width:720px;margin:0 auto;padding:48px 22px 80px}.thanks{font-family:var(--serif);color:var(--ink);margin-bottom:10px;font-size:clamp(22px,3.5vw,30px)}.donor-label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);font-size:14px;font-weight:600;font-family:var(--mono);margin-bottom:4px}.donor{font:800 clamp(52px, 11vw, 96px) / 1 var(--mono);letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;background:linear-gradient(#0000 55%,#e7a33a47 55% 90%,#0000 90%);margin-bottom:10px;padding:0 4px;display:inline-block}.global{color:var(--ink-muted);margin-bottom:28px;font-size:15px}.global strong{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700}.letter{background:var(--paper-card);color:var(--ink);border-radius:var(--radius-card);box-shadow:var(--shadow-letter);border:1px solid var(--border);margin-bottom:22px;padding:36px 32px 44px;position:relative;overflow:hidden}.letter:before{content:"";background:linear-gradient(90deg, var(--coral), var(--teal) 60%, var(--gold));border-radius:var(--radius-card) var(--radius-card) 0 0;height:3px;position:absolute;top:0;left:0;right:0}.lhead{font:600 11px / 1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);justify-content:space-between;align-items:baseline;margin-bottom:18px;display:flex}.from{font-family:var(--serif);color:var(--ink-muted);margin-bottom:18px;font-size:16px;font-style:italic}.letter p{font-family:var(--serif);color:var(--ink);margin-bottom:16px;font-size:18px;line-height:1.72}.letter p:last-of-type{margin-bottom:0}.seal{border:2.5px solid var(--gold);color:#7a5c14;width:84px;height:84px;font:700 9px / 1.2 var(--mono);text-align:center;letter-spacing:.08em;background:radial-gradient(circle at 40% 35%,#fff0c0,#f5d680 50%,#e7a33a);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;bottom:22px;right:26px;transform:rotate(-8deg);box-shadow:0 3px 12px #e7a33a73,inset 0 1px 2px #ffffff80}.seal-n{margin-top:3px;font-size:15px;font-weight:800;display:block}.lfoot{border-top:1px solid var(--border);font:600 11px / 1 var(--mono);letter-spacing:.14em;color:var(--ink-dim);text-transform:uppercase;justify-content:space-between;align-items:center;margin-top:36px;padding-top:14px;display:flex}.actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.actions .btn,.actions .btn.primary{text-align:center;flex:1;min-width:160px}.status-screen{text-align:center;max-width:480px;color:var(--ink-muted);flex-direction:column;align-items:center;gap:16px;margin:80px auto 0;font-size:18px;display:flex}.status-hint{color:var(--ink-dim);font-size:14px}.status-icon{opacity:.4;font-size:48px}.spinner{border:3px solid #231f1a1a;border-top-color:var(--teal);border-radius:50%;width:40px;height:40px;animation:.9s linear infinite spin}@media (prefers-reduced-motion:reduce){.spinner{opacity:.4;animation:none}}@keyframes spin{to{transform:rotate(360deg)}}.permalink-letter{margin-top:16px}.permalink-cta{text-align:center;flex-direction:column;align-items:center;gap:14px;margin-top:32px;display:flex}.permalink-sub{color:var(--ink-dim);font-size:13px}.album-title{font-family:var(--serif);color:var(--ink);margin-bottom:12px;font-size:clamp(28px,4vw,40px)}.progress{color:var(--ink-muted);margin-bottom:24px;font-size:14px;font-weight:500}.progress strong{color:var(--coral);font-weight:800}.album{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin-bottom:32px;display:grid}.mini{aspect-ratio:3/4;font:600 11px / 1.3 var(--mono);box-shadow:var(--shadow-card);border-radius:14px;padding:14px 12px;text-decoration:none;position:relative;overflow:hidden}.mini.collected{background:var(--paper-card);color:var(--ink);border:1px solid var(--border);transition:transform .15s,box-shadow .15s}.mini.collected:before{content:"";background:var(--coral);border-radius:14px 14px 0 0;height:4px;position:absolute;top:0;left:0;right:0}.mini.collected:nth-child(3n+1):before{background:var(--coral)}.mini.collected:nth-child(3n+2):before{background:var(--teal)}.mini.collected:nth-child(3n):before{background:var(--gold)}.mini.collected:hover{transform:translateY(-3px);box-shadow:0 6px 24px #231f1a1f,0 2px 6px #231f1a0f}.mini-title{word-break:break-word;color:var(--ink-muted)}.mini-num{color:var(--coral);font-size:14px;font-weight:800;font-family:var(--mono);position:absolute;bottom:12px;left:12px}.mini.locked{background:var(--paper);color:var(--ink-dim);border:1.5px dashed var(--border-strong);box-shadow:none;cursor:default;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.locked-q{opacity:.3;font-size:28px}.locked-label{text-align:center;opacity:.5;letter-spacing:.05em;font-size:10px}.album-empty{text-align:center;color:var(--ink-muted);flex-direction:column;align-items:center;gap:16px;padding:56px 0;display:flex}.album-recent{margin-bottom:28px}.album-recent h2{font-family:var(--serif);color:var(--ink);margin-bottom:12px;font-size:22px}.recent-list{flex-direction:column;gap:6px;display:flex}.recent-item{background:var(--paper-card);border:1px solid var(--border);color:var(--ink);border-radius:10px;align-items:center;gap:12px;padding:11px 16px;text-decoration:none;transition:background .15s,border-color .15s,transform .12s;display:flex}.recent-item:hover{background:var(--paper-warm);border-color:var(--border-strong);transform:translate(2px)}.recent-num{font:700 14px var(--mono);color:var(--coral);min-width:60px}.recent-title{color:var(--ink-muted);flex:1;font-size:14px}.recent-arrow{opacity:.35;color:var(--ink)}.album-cta{text-align:center;margin-top:20px}@media (width<=480px){.actions{flex-direction:column}.actions .btn{min-width:unset}.seal{width:68px;height:68px;bottom:14px;right:16px}.seal-n{font-size:13px}.letter{padding:28px 20px 60px}}
