:root{color-scheme:light;--bg:#f3efe6;--panel:rgba(255,250,240,.92);--ink:#1e2430;--muted:#6f7682;--line:rgba(30,36,48,.12);--accent:#2f6f57;--accent-2:#d89b3d;--danger:#b64545}body{background:radial-gradient(circle at top left,rgba(216,155,61,.22),transparent 28%),radial-gradient(circle at bottom right,rgba(47,111,87,.18),transparent 30%),var(--bg);color:var(--ink);font-family:Trebuchet MS,Segoe UI,sans-serif;margin:0}.portal-shell{display:grid;min-height:100vh;padding:24px;place-items:center}.hero-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--panel);border:1px solid var(--line);border-radius:22px;box-shadow:0 24px 70px #2e31381f;padding:28px;width:min(100%,720px)}.eyebrow{color:var(--accent);font-size:12px;letter-spacing:.16em;margin-bottom:10px;text-transform:uppercase}h1{font-size:clamp(32px,5vw,48px);line-height:1;margin:0 0 8px}p{color:var(--muted);margin:0 0 22px}.redeem-form{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.redeem-form label{color:var(--muted);display:grid;font-size:14px;gap:6px}.redeem-form label:first-child{grid-column:1/-1}input{background:#ffffffe6;border:1px solid var(--line);border-radius:12px;box-sizing:border-box;color:var(--ink);font-size:15px;padding:12px 14px;width:100%}.actions{display:flex;grid-column:1/-1;justify-content:flex-end;margin-top:8px}button{border:0;border-radius:999px;cursor:pointer;font-size:15px;padding:12px 18px}button.primary{background:linear-gradient(120deg,var(--accent),#3b8d6d);color:#fff}button:disabled{cursor:wait;opacity:.6}.state{border-radius:14px;margin-top:18px;padding:14px 16px}.state.error{background:#b6454514;border:1px solid rgba(182,69,69,.18);color:var(--danger)}.state.success{background:#2f6f5714;border:1px solid rgba(47,111,87,.18)}.result-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px}.result-grid div{display:grid;gap:4px}.result-grid span{color:var(--muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase}@media(max-width:640px){.hero-card{padding:20px}.redeem-form,.result-grid{grid-template-columns:1fr}}
