:root{color:#172033;font-synthesis:none;--accent:#4f46e5;background:#f4f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}a{color:inherit}.public-layout{background:#f7f9fc;min-height:100vh}.public-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20;background:#ffffffe0;border-bottom:1px solid #e8edf5;align-items:center;gap:32px;height:72px;padding:0 max(24px,50vw - 590px);display:flex;position:sticky;top:0}.brand,.admin-brand{align-items:center;gap:10px;font-size:20px;font-weight:750;text-decoration:none;display:flex}.brand-mark{color:#fff;background:var(--accent);width:34px;height:34px;box-shadow:0 8px 22px color-mix(in srgb, var(--accent) 35%, transparent);border-radius:11px;place-items:center;display:grid}.brand-logo{object-fit:contain;border-radius:10px;width:38px;height:38px;display:block}.public-nav{flex:1;gap:7px;display:flex}.public-nav a{color:#5e687b;border-radius:9px;padding:9px 13px;text-decoration:none}.public-nav a:hover,.public-nav a.active{color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, white)}.public-language-select{width:132px}.public-footer{text-align:center;color:#8690a2;padding:28px}.page-shell{width:min(1060px,100% - 32px);margin:40px auto}.narrow-shell{width:min(720px,100% - 32px);margin:48px auto}.page-heading{margin-bottom:24px}.page-heading>h1.ant-typography{margin-bottom:8px}.page-heading p{color:#738095;margin:0}.form-card{border:1px solid #e4e9f1;box-shadow:0 18px 50px #1d2b4b12}.result-card{margin-top:20px}.secret-input textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.redemption-flow-card>.ant-card-body{padding:30px}.redemption-flow-step{background:#fff;border:1px solid #e2e8f1;border-radius:16px;padding:22px;transition:border-color .24s,box-shadow .24s,opacity .24s}.redemption-flow-step.is-active{border-color:color-mix(in srgb, var(--accent) 44%, #dce3ee);box-shadow:0 10px 28px color-mix(in srgb, var(--accent) 8%, transparent)}.redemption-flow-step.is-complete{border-color:#a7e0b8}.redemption-flow-step.is-locked{opacity:.68}.redemption-step-heading{align-items:center;gap:12px;margin-bottom:18px;display:flex}.redemption-step-heading h4.ant-typography{margin:0 0 2px}.redemption-step-number{color:#fff;background:var(--accent);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-weight:700;transition:background-color .24s;display:grid}.redemption-flow-step.is-complete .redemption-step-number{background:#16a34a}.redemption-flow-step.is-locked .redemption-step-number{background:#aeb7c5}.redemption-control-row{align-items:flex-start;gap:12px;display:flex}.redemption-control-field{flex:1;min-width:0;margin-bottom:16px}.redemption-validate-button{flex:0 0 104px}.validation-success{color:#fff;background:#16a34a;border-radius:50%;flex:0 0 40px;place-items:center;width:40px;height:40px;animation:.42s cubic-bezier(.2,.9,.3,1.25) both validation-success-in;display:grid;box-shadow:0 7px 18px #16a34a3d}.validation-success .anticon{font-size:23px}@keyframes validation-success-in{0%{opacity:0;transform:scale(.55)rotate(-35deg)}70%{transform:scale(1.12)rotate(4deg)}to{opacity:1;transform:scale(1)rotate(0)}}.redemption-validation-summary{color:#647187;background:#f7faf8;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.redemption-validation-summary>span{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.redemption-flow-connector{width:24px;height:52px;margin:0 auto;position:relative}.redemption-flow-connector:before{content:"";background:#d6dde8;width:2px;transition:background-color .3s;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.redemption-flow-connector span{border-bottom:2px solid #a8b2c2;border-right:2px solid #a8b2c2;width:8px;height:8px;transition:border-color .3s;position:absolute;bottom:5px;left:50%;transform:translate(-50%)rotate(45deg)}.redemption-flow-connector.is-complete:before{background:#50bb70}.redemption-flow-connector.is-complete span{border-color:#2fa653}.redemption-session-input textarea{resize:vertical;min-height:228px}.redemption-session-field{margin-bottom:12px}.redemption-session-help-link.ant-typography{color:#1677ff}.redemption-session-help-link.ant-typography:hover,.redemption-session-help-link.ant-typography:focus-visible{color:#4096ff}.redemption-session-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.redemption-session-notice{flex:1;min-width:0}.redemption-status-card{background:#fafbfd;border-color:#e2e8f1;overflow:hidden}.redemption-result.ant-result{padding:20px 12px 24px}.redemption-result .ant-result-icon{margin-bottom:12px}.redemption-result .ant-result-icon>.anticon{font-size:54px}.redemption-result .ant-result-title{font-size:21px}.redemption-status-placeholder{color:#8a95a7;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:152px;padding:24px;display:flex}.redemption-status-placeholder .anticon{font-size:34px}.redemption-warning,.redemption-polling-error{margin-top:16px}.redemption-submit-button{margin-top:18px;transition:background-color .22s,border-color .22s,color .22s}.redemption-submit-button.ant-btn-disabled,.redemption-submit-button.ant-btn-disabled:hover{color:#fff;box-shadow:none;background:#b8bec8;border-color:#b8bec8}.redemption-reset-button{margin:12px auto 0;display:block}.admin-layout{min-height:100vh}.admin-layout .ant-layout-sider{border-right:1px solid #e8edf3;height:100vh;position:sticky;top:0}.admin-brand{height:64px;padding:0 18px}.admin-header{background:#fff;border-bottom:1px solid #e8edf3;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex}.admin-content{padding:28px;overflow:auto}.admin-page{max-width:1400px;margin:0 auto}.admin-title{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.brand-logo-editor{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.brand-logo-preview{color:#8c96a8;background:#f7f9fc;border:1px dashed #cfd6e2;border-radius:16px;place-items:center;width:84px;height:84px;font-size:30px;display:grid;overflow:hidden}.brand-logo-preview img{object-fit:contain;width:100%;height:100%}.stat-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.stat-card{border:1px solid #e5eaf2}.toolbar{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.code-value{letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.muted{color:#7a879b}.status-dot{background:#8c8c8c;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.status-dot.success{background:#16a34a}.status-dot.processing{background:#2563eb}.status-dot.failed{background:#dc2626}@media (width<=880px){.public-header{gap:14px;padding:0 16px}.public-nav{display:none}.stat-grid{grid-template-columns:1fr 1fr}.admin-content{padding:18px}}@media (width<=560px){.stat-grid{grid-template-columns:1fr}.public-header .ant-btn>span:not(.anticon){display:none}}:root[data-theme=dark]{color:#e6eaf2;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0e1420}:root[data-theme=dark] .public-layout{background:#101722}:root[data-theme=dark] .public-header,:root[data-theme=dark] .admin-header,:root[data-theme=dark] .admin-layout .ant-layout-sider{background:#111824f0;border-color:#293244}:root[data-theme=dark] .public-nav a,:root[data-theme=dark] .page-heading p,:root[data-theme=dark] .muted,:root[data-theme=dark] .public-footer{color:#9aa7ba}:root[data-theme=dark] .form-card,:root[data-theme=dark] .stat-card{box-shadow:none;border-color:#2b3547}:root[data-theme=dark] .redemption-flow-step,:root[data-theme=dark] .redemption-status-card{background:#141d2a;border-color:#303b4e}:root[data-theme=dark] .redemption-flow-step.is-active{border-color:color-mix(in srgb, var(--accent) 65%, #303b4e)}:root[data-theme=dark] .redemption-flow-step.is-complete{border-color:#286f40}:root[data-theme=dark] .redemption-validation-summary{color:#a8b4c6;background:#101821}:root[data-theme=dark] .redemption-flow-connector:before{background:#394457}:root[data-theme=dark] .redemption-flow-connector.is-complete:before{background:#50bb70}:root[data-theme=dark] .redemption-submit-button.ant-btn-disabled,:root[data-theme=dark] .redemption-submit-button.ant-btn-disabled:hover{color:#dce1e9;background:#4c5666;border-color:#4c5666}@media (prefers-reduced-motion:reduce){.validation-success{animation:none}}@media (width<=560px){.redemption-flow-card>.ant-card-body{padding:16px}.redemption-flow-step{padding:18px 14px}.redemption-control-row{gap:8px}.redemption-validate-button{flex-basis:82px}}
