@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400..700&family=Fraunces:ital,opsz,wght@0,9..144,400..600;1,9..144,400..600&display=swap');
/* Revision 13b-2: payment return and waiting page. Revision 18d: in the brand system (approved 2026-10-25),
   shared by the payment return, the private-link page and the public sample reading. */
:root{--ink:#192b2b;--paper:#f7f2e8;--card:#fffdf8;--muted:#5f6a66;--seal:#ad3d2c;--line:#e4d9c3;--line-2:#cdbb98;--jade:#183f35;--gold:#c6ad79}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 'DM Sans',system-ui,'Segoe UI',Arial,sans-serif}
.purchase-page{position:relative;max-width:520px;margin:clamp(40px,12vh,120px) auto;padding:40px clamp(24px,5vw,40px) 32px;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:0 1px 0 rgba(25,43,43,.04),0 22px 48px -22px rgba(25,43,43,.32)}
.purchase-page::before{content:"";position:absolute;inset:9px;border:1px solid var(--line-2);border-radius:15px;opacity:.6;pointer-events:none}
.purchase-brand{position:relative;display:inline-flex;align-items:center;gap:10px;margin-bottom:30px;color:var(--ink);text-decoration:none;font:600 17px/1 'DM Sans',system-ui,sans-serif;letter-spacing:-.015em}
.purchase-brand img{width:32px;height:32px}
.purchase-brand .brand-light{font-weight:500;color:rgba(25,43,43,.6)}
.purchase-page h1{position:relative;margin:0 0 12px;font:500 clamp(28px,6vw,36px)/1.2 'Fraunces','Times New Roman',serif;letter-spacing:-.015em}
.purchase-page p{position:relative;margin:0 0 12px;color:var(--muted)}
.purchase-elapsed{font-variant-numeric:tabular-nums;font-size:15px;min-height:1.6em}
.purchase-help{margin-top:30px!important;padding-top:18px;border-top:1px solid var(--line);font-size:14px}
.purchase-help a{color:var(--ink);text-underline-offset:3px}
.purchase-page:is([data-state=verifying],[data-state=preparing],[data-state=opening]) h1::after{content:"";display:block;width:64px;height:3px;margin:18px auto 0;border-radius:3px;background:var(--seal);animation:purchase-pulse 1.6s ease-in-out infinite}
@keyframes purchase-pulse{0%,100%{opacity:.25;transform:scaleX(.4)}50%{opacity:1;transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.purchase-page h1::after{animation:none;opacity:1}}
/* The public sample reading: a slim note above the reading. */
.sample-bar{position:relative;z-index:5;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 16px;padding:12px 16px;background:var(--jade);color:#e7e1d3;font-size:14.5px;text-align:center}
.sample-bar b{color:#fff;font-weight:600}
.sample-bar a{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;background:var(--paper);color:var(--jade);font-weight:600;text-decoration:none}
.sample-bar a:hover{background:#fff}
#sample-loading{margin:80px auto;text-align:center;color:var(--muted)}
