:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f6f1;--ink:#1d1c18;--muted:#6f6a5f;--line:#d9d2c3;--surface:#fffdf8;--accent:#0f766e;--accent-dark:#115e59;--danger:#b91c1c;--ok:#15803d;--soft-teal:#dff3ef}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}.redeem-shell{background:linear-gradient(#ede7dc 1px, transparent 1px), linear-gradient(90deg, #ede7dc 1px, transparent 1px), var(--bg);background-size:44px 44px;place-items:center;min-height:100svh;padding:32px;display:grid}.redeem-stage{border:1px solid var(--line);background:#fffdf8eb;border-radius:8px;grid-template-columns:minmax(360px,520px) minmax(360px,1fr);align-items:stretch;gap:24px;width:min(1120px,100%);min-height:640px;display:grid;overflow:hidden;box-shadow:0 24px 70px #1d1c181a}.redeem-copy{flex-direction:column;justify-content:center;padding:46px;display:flex}.redeem-visual{border-left:1px solid var(--line);background:radial-gradient(circle at 50% 45%,#0f766e1c,#0000 38%),linear-gradient(135deg,#ffffffb3,#e8e2d66b);align-content:center;place-items:center;gap:26px;min-height:100%;padding:42px;display:grid;position:relative}.brand-row{color:var(--accent-dark);align-items:center;gap:10px;font-weight:800;display:flex}h1{letter-spacing:0;margin:18px 0 8px;font-size:clamp(34px,5vw,64px);line-height:.96}.lede{color:var(--muted);margin:0 0 30px;font-size:16px}.form-stack{gap:16px;display:grid}label{gap:8px;font-weight:800;display:grid}.field-help{color:var(--muted);font-size:12px;font-weight:700}input,textarea,select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:6px;outline:none;padding:13px 14px;transition:border-color .18s,box-shadow .18s,transform .18s}input:focus,textarea:focus,select:focus{border-color:#0f766eb8;box-shadow:0 0 0 4px #0f766e1c}textarea{resize:vertical;min-height:138px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}button{cursor:pointer;border:0;border-radius:6px}button:disabled{opacity:.55;cursor:not-allowed}.primary{background:var(--accent);color:#fff;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 18px;font-weight:800;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.primary:hover:not(:disabled){background:var(--accent-dark);transform:translateY(-1px);box-shadow:0 10px 24px #0f766e33}.redeem-action{min-height:48px}.cdk-pool{border:1px solid var(--line);background:#fffdf89e;border-radius:8px;gap:10px;padding:12px;display:grid}.pool-head{color:var(--accent-dark);justify-content:space-between;align-items:center;gap:12px;font-weight:800;display:flex}.pool-head strong{background:var(--soft-teal);border:1px solid #0f766e3d;border-radius:999px;place-items:center;min-width:28px;height:24px;font-size:12px;display:grid}.pool-add{grid-template-columns:1fr auto;align-items:stretch;gap:8px;display:grid}.pool-add textarea{min-height:58px;max-height:110px;font-size:12px}.pool-add-button{background:var(--ink);min-width:82px;color:var(--surface);justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:800;display:inline-flex}.pool-add-button:hover:not(:disabled){background:var(--accent-dark)}.pool-notice{color:var(--muted);margin:-2px 0 0;font-size:12px;font-weight:800}.pool-stack{gap:8px;max-height:172px;padding-right:2px;display:grid;overflow:auto}.pool-ticket{background:linear-gradient(90deg,#0f766e14,#0000 38%),#fff;border:1px solid #d9d2c3eb;border-radius:8px;grid-template-columns:1fr 38px;align-items:stretch;min-height:42px;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden}.pool-ticket:before,.pool-ticket:after{content:"";background:var(--surface);border:1px solid var(--line);z-index:1;border-radius:999px;width:12px;height:12px;position:absolute;top:50%;transform:translateY(-50%)}.pool-ticket:before{left:-7px}.pool-ticket:after{right:-7px}.pool-ticket.active{border-color:#0f766eb8;box-shadow:0 8px 24px #0f766e1f}.pool-ticket.consuming{pointer-events:none;animation:.62s ease-in forwards ticket-consume}.pool-ticket.consuming .ticket-select:after{content:"";background:linear-gradient(110deg,#0000 0%,#15803d38 42%,#15803d61 50%,#0000 70%);animation:.46s ease-out forwards ticket-sweep;position:absolute;inset:0;transform:translate(-110%)}.ticket-select,.ticket-remove{color:var(--ink);background:0 0;border-radius:0;position:relative}.ticket-select{text-align:left;align-items:center;gap:8px;min-width:0;padding:0 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-weight:800;display:flex}.ticket-select span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ticket-remove{border-left:1px dashed var(--line);color:var(--muted);place-items:center;display:grid}.ticket-remove:hover:not(:disabled){color:var(--danger);background:#b91c1c14}.pool-empty{min-height:40px;color:var(--muted);border:1px dashed var(--line);border-radius:8px;place-items:center;font-size:13px;font-weight:800;display:grid}.status-line{min-height:44px;color:var(--muted);align-items:center;gap:10px;margin-top:18px;display:flex}.status-line.success{color:var(--ok)}.status-line.failed,.error{color:var(--danger)}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.redeem-svg{width:min(430px,100%);height:auto;overflow:visible}.svg-panel{fill:#fffdf8d1;stroke:var(--line);stroke-width:1.5px}.svg-cable{fill:none;stroke:#d8d0bf;stroke-width:8px;stroke-linecap:round}.svg-cable-active{fill:none;stroke:url(#tealStroke);stroke-width:8px;stroke-linecap:round;stroke-dasharray:52 180;opacity:0;animation:1.35s ease-in-out infinite cable-flow}.redeem-svg.submitting .svg-cable-active,.redeem-svg.processing .svg-cable-active,.redeem-svg.success .svg-cable-active{opacity:1}.credential-node rect,.benefit-node rect{fill:#fff;stroke:#cfc6b4;stroke-width:1.5px}.credential-node path,.benefit-node path{stroke:var(--accent-dark);stroke-width:5px;stroke-linecap:round}.orbit{transform-origin:180px 140px}.orbit circle:first-child{fill:none;stroke:#0f766e33;stroke-width:1.5px;stroke-dasharray:8 9}.orbit-dot{fill:var(--accent);filter:url(#softGlow);opacity:.72}.orbit.is-busy{animation:1.8s linear infinite orbit-spin}.redeem-packets circle{fill:var(--accent);opacity:0;animation:1.15s ease-in-out infinite packet-pop}.redeem-packets circle:nth-child(2){animation-delay:.14s}.redeem-packets circle:nth-child(3){animation-delay:.28s}.redeem-packets circle:nth-child(4){animation-delay:.42s}.success-mark circle{fill:#15803d1a;stroke:var(--ok);stroke-width:2px;transform-origin:180px 140px;animation:.75s ease-out both success-pulse}.success-mark path{fill:none;stroke:var(--ok);stroke-width:9px;stroke-linecap:round;stroke-linejoin:round}.success-mark path:not(.burst){stroke-dasharray:92;stroke-dashoffset:92px;animation:.52s ease-out .16s forwards draw-check}.success-mark .burst{stroke-width:4px;opacity:0;animation:.55s ease-out .32s forwards burst}.success-mark .b2{animation-delay:.36s}.success-mark .b3{animation-delay:.4s}.success-mark .b4{animation-delay:.44s}.success-mark .b5{animation-delay:.48s}.failed-mark circle{fill:#b91c1c14;stroke:var(--danger);stroke-width:2px}.failed-mark path{fill:none;stroke:var(--danger);stroke-width:8px;stroke-linecap:round}.step-rail{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(3,1fr);gap:1px;width:min(420px,100%);display:grid}.step-rail span{min-height:42px;color:var(--muted);background:#fffdf8d1;place-items:center;font-size:13px;font-weight:800;display:grid}.step-rail span.active{color:var(--accent-dark);background:var(--soft-teal)}.step-rail span.done{color:var(--ok)}@keyframes cable-flow{0%{stroke-dashoffset:210px}to{stroke-dashoffset:0}}@keyframes orbit-spin{to{transform:rotate(360deg)}}@keyframes packet-pop{0%,to{opacity:0;transform:translateY(7px)scale(.72)}35%,70%{opacity:1;transform:translateY(0)scale(1)}}@keyframes success-pulse{0%{opacity:0;transform:scale(.72)}60%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}@keyframes draw-check{to{stroke-dashoffset:0}}@keyframes burst{0%{opacity:0;transform:scale(.82)}55%{opacity:1}to{opacity:0;transform:scale(1.18)}}@keyframes ticket-sweep{to{transform:translate(110%)}}@keyframes ticket-consume{0%{opacity:1;max-height:48px;transform:translate(0)scale(1)}45%{opacity:1;max-height:48px;transform:translate(8px)scale(.985)}to{opacity:0;max-height:0;margin-bottom:-8px;transform:translate(28px)scale(.88)}}.loading-shell{place-items:center;min-height:100svh;padding:24px;display:grid}.loading-panel{width:min(360px,100%);color:var(--muted);border:1px solid var(--line);background:#fffdf8f0;border-radius:8px;place-items:center;gap:14px;padding:28px;font-weight:800;display:grid;box-shadow:0 24px 60px #1d1c181f}@media (width<=900px){.redeem-shell{place-items:stretch stretch;padding:16px}.redeem-stage{grid-template-columns:1fr;min-height:auto}.redeem-copy{padding:28px}.redeem-visual{border-left:0;border-top:1px solid var(--line);padding:22px}.pool-add{grid-template-columns:1fr}.pool-add-button{min-height:40px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
