:root{--bg-top:#f5f5f7;--bg-bottom:#e8e8ed;--ink:#1d1d1f;--ink-soft:#6e6e73;--line:#d2d2d7;--line-focus:#1d1d1f;--card-a:#3a3d42;--card-b:#101113;--sheen: rgba(255,255,255,.14);--error:#c0392b}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Arial,sans-serif;background:radial-gradient(120% 140% at 50% -10%,var(--bg-top) 0%,var(--bg-bottom) 60%);color:var(--ink);-webkit-font-smoothing:antialiased}.stage{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:96px 24px 80px}h1{font-size:clamp(32px,5vw,48px);font-weight:600;letter-spacing:-.02em;margin:0 0 8px;text-align:center}.sub{font-size:17px;color:var(--ink-soft);margin:0 0 56px;text-align:center;max-width:420px;line-height:1.5}.panel{width:100%;max-width:900px;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}@media(max-width:760px){.panel{grid-template-columns:1fr}}.card-wrap{perspective:1400px;position:sticky;top:96px}.card{width:100%;aspect-ratio:1.586/1;max-width:400px;margin:0 auto;position:relative;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.2,.9,.2,1)}.card.flipped{transform:rotateY(180deg)}.face{position:absolute;inset:0;border-radius:18px;backface-visibility:hidden;background:linear-gradient(155deg,rgba(255,255,255,.08),transparent 40%),linear-gradient(135deg,var(--card-a),var(--card-b));box-shadow:0 30px 60px -20px #00000073,0 2px 6px #00000026;color:#f5f5f7;overflow:hidden}.face.front{padding:26px 28px}.face:after{content:"";position:absolute;top:-60%;left:-20%;width:70%;height:220%;background:linear-gradient(75deg,transparent 40%,var(--sheen) 50%,transparent 60%);transform:rotate(8deg);pointer-events:none}.chip{width:44px;height:32px;border-radius:6px;background:linear-gradient(135deg,#d8c98a,#a98f4c);margin-bottom:28px;position:relative}.chip:before{content:"";position:absolute;inset:5px;border:1px solid rgba(0,0,0,.25);border-radius:4px}.card-number{font-size:22px;letter-spacing:2.5px;font-weight:500;font-variant-numeric:tabular-nums;margin-bottom:30px;white-space:nowrap;min-height:26px}.card-bottom-row{display:flex;justify-content:space-between;align-items:flex-end}.field-block{display:flex;flex-direction:column;gap:4px}.field-label{font-size:9px;letter-spacing:.08em;color:#f5f5f78c}.field-value{font-size:14px;font-weight:500;letter-spacing:.5px;font-variant-numeric:tabular-nums;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.brand-mark{position:absolute;top:24px;right:26px;height:30px;display:flex;align-items:center;justify-content:flex-end;opacity:0;transform:translateY(-4px);transition:opacity .25s ease,transform .25s ease}.brand-mark.visible{opacity:1;transform:translateY(0)}.brand-visa{font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:700;font-size:22px;letter-spacing:.5px;color:#f5f5f7}.brand-mastercard{display:flex;align-items:center}.brand-mastercard .circle{width:26px;height:26px;border-radius:50%}.brand-mastercard .circle.left{background:#eb5a2c;margin-right:-9px}.brand-mastercard .circle.right{background:#f2a90c;mix-blend-mode:screen}.brand-amex{background:#1f72c4;color:#fff;font-size:11px;font-weight:700;letter-spacing:.03em;padding:5px 9px;border-radius:4px}.brand-discover{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:#f5f5f7;letter-spacing:.01em}.brand-discover .dot{width:16px;height:16px;border-radius:50%;background:#f6862d}.face.back{transform:rotateY(180deg)}.magnetic-strip{height:44px;background:#111214;margin-top:26px}.signature-row{margin:26px 28px 0;display:flex;align-items:center;gap:12px}.signature-box{flex:1;height:34px;background:repeating-linear-gradient(45deg,#e9e9ea,#e9e9ea 4px,#f4f4f5 4px 8px);border-radius:4px}.cvv-box{background:#fff;color:#1d1d1f;font-size:13px;font-weight:600;padding:8px 12px;border-radius:4px;min-width:44px;text-align:center;font-variant-numeric:tabular-nums}.back-note{margin:14px 28px 0;font-size:9px;color:#f5f5f773;line-height:1.5}.input-wrap{position:relative;display:flex;align-items:center}.input-wrap input{padding-right:64px}.input-brand{position:absolute;right:14px;display:flex;align-items:center;justify-content:center;height:22px;opacity:0;transform:translateY(-2px) scale(.9);transition:opacity .2s ease,transform .2s ease;pointer-events:none}.input-brand.visible{opacity:1;transform:translateY(0) scale(1)}.input-brand .brand-visa{color:#1a1f71;font-size:17px}.input-brand .brand-mastercard .circle{width:18px;height:18px}.input-brand .brand-mastercard .circle.left{background:#eb5a2c;margin-right:-6px}.input-brand .brand-mastercard .circle.right{background:#f2a90c;mix-blend-mode:multiply}.input-brand .brand-amex{font-size:9px;padding:4px 7px}.input-brand .brand-discover{font-size:11px;color:#f6862d}.input-brand .brand-discover .dot{width:12px;height:12px}form{display:flex;flex-direction:column;gap:22px}.group{display:flex;flex-direction:column;gap:8px}.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{font-size:13px;font-weight:500;color:var(--ink-soft)}input{font-family:inherit;font-size:16px;color:var(--ink);padding:13px 14px;border-radius:10px;border:1px solid var(--line);background:#fff;outline:none;transition:border-color .2s ease,box-shadow .2s ease;width:100%}input::placeholder{color:#b6b6ba}input:focus{border-color:var(--line-focus);box-shadow:0 0 0 4px #1d1d1f0f}input.invalid{border-color:var(--error)}.hint{font-size:12px;color:var(--error);min-height:14px}button{margin-top:8px;font-family:inherit;font-size:16px;font-weight:600;color:#fff;background:var(--ink);border:none;border-radius:12px;padding:15px;cursor:pointer;transition:transform .15s ease,background .2s ease}button:hover{background:#000}button:active{transform:scale(.98)}.disclaimer{text-align:center;font-size:12px;color:var(--ink-soft);margin-top:18px;line-height:1.5}.status{text-align:center;font-size:13px;font-weight:500;min-height:16px;margin:14px 0 0;color:var(--ink-soft)}.status.ok{color:#1e7e34}.status.err{color:var(--error)}
