@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Inter:wght@400;500;600;700&display=swap');
:root{--bg:#f1f4f8;--surface:#fff;--surface-2:#f7f9fb;--ink:#17202b;--muted:#718096;--line:#e2e8f0;--accent:#2563eb;--accent-soft:#eaf1ff;--good:#14946b;--warn:#ad6b16;--err:#c5445b;--shadow:0 18px 50px rgba(30,50,80,.08);--sans:Inter,system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;--mono:"DM Mono",monospace}*{box-sizing:border-box}html{background:var(--bg);color:var(--ink);font-family:var(--sans);color-scheme:light}body{margin:0;min-height:100vh;background:var(--bg);display:flex;flex-direction:column}.page{flex:1;width:100%}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 85% -10%,rgba(37,99,235,.08),transparent 32%),radial-gradient(circle at -10% 70%,rgba(20,148,107,.05),transparent 28%)}button,input,textarea{font:inherit}button{cursor:pointer}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;z-index:5;background:var(--surface);padding:10px 14px;border-radius:8px}.chrome{position:relative;z-index:1;max-width:1120px;margin:0 auto;padding:20px 22px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-weight:700;text-decoration:none}.brand-mark{width:28px;height:28px;border-radius:9px;background:var(--accent);position:relative;box-shadow:0 6px 16px rgba(37,99,235,.22)}.brand-mark:before{content:"";position:absolute;width:10px;height:10px;border:2px solid white;border-radius:3px;left:7px;top:7px;transform:rotate(45deg)}.tabs{justify-self:center;display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--line);background:rgba(255,255,255,.72);border-radius:12px}.tab{border:0;background:transparent;color:var(--muted);display:flex;align-items:center;gap:7px;border-radius:9px;padding:8px 14px;font-size:13px;transition:.18s}.tab-icon{font-size:18px;line-height:1}.tab:hover{color:var(--ink);background:var(--surface-2)}.tab.active{background:var(--accent);color:white;box-shadow:0 5px 13px rgba(37,99,235,.2)}.theme-switch{justify-self:end;display:flex;gap:2px;border:1px solid var(--line);background:var(--surface);padding:3px;border-radius:10px}.theme-switch button{border:0;background:transparent;color:var(--muted);padding:6px 8px;border-radius:7px;font-size:11px}.theme-switch button span{margin-left:2px}.theme-switch button:hover{color:var(--ink);background:var(--surface-2)}.theme-switch button.active{color:var(--accent);background:var(--accent-soft)}.page{position:relative;z-index:1;max-width:1120px;margin:0 auto;padding:38px 22px 0}.view{display:block}.page-head{margin-bottom:26px}.page-head h1{font-size:32px;letter-spacing:-.05em;margin:0 0 8px}.page-head p,.lead{color:var(--muted);font-size:14px;line-height:1.65;margin:0}.redeem-grid{display:grid;grid-template-columns:290px minmax(0,650px);gap:38px;align-items:start;justify-content:center}.voucher{position:sticky;top:20px;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.voucher-face{min-height:190px;padding:22px;background:linear-gradient(145deg,#1d4ed8,#2563eb 55%,#4f8df7);color:white;position:relative}.voucher-face:after{content:"";position:absolute;width:130px;height:130px;border:1px solid rgba(255,255,255,.22);border-radius:50%;right:-45px;bottom:-58px;box-shadow:0 0 0 20px rgba(255,255,255,.06),0 0 0 40px rgba(255,255,255,.04)}.voucher-chip{display:block;width:34px;height:25px;border:1px solid rgba(255,255,255,.75);border-radius:6px;background:linear-gradient(90deg,transparent 46%,rgba(255,255,255,.7) 47% 51%,transparent 52%);margin-bottom:48px}.voucher-plan{margin:0;font-size:14px;font-weight:600}.voucher-code{margin:7px 0 0;font:11px var(--mono);letter-spacing:.08em;opacity:.75}.voucher-stub{padding:18px 20px}.voucher-stub dl{display:grid;gap:14px;margin:0 0 18px}.voucher-stub dl div{display:flex;justify-content:space-between;gap:12px}.voucher-stub dt{font-size:11px;color:var(--muted)}.voucher-stub dd{margin:0;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.status-pill{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:11px;background:var(--surface-2);color:var(--muted)}.status-pill.neutral{color:var(--muted)}.redeem-main{min-width:0}.steps{display:flex;align-items:center;list-style:none;padding:0;margin:0 0 28px;color:var(--muted);font-size:11px}.steps .step{display:flex;align-items:center;gap:7px;white-space:nowrap}.steps .step span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--surface);border:1px solid var(--line);font:11px var(--mono)}.steps .step b{font-weight:500}.steps .step.active{color:var(--accent)}.steps .step.active span{color:white;background:var(--accent);border-color:var(--accent)}.steps i{height:1px;background:var(--line);flex:1;margin:0 9px}.panel-step{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:30px;box-shadow:var(--shadow)}.panel-step h2{font-size:24px;letter-spacing:-.04em;margin:0 0 8px}.field{margin-top:24px}.field label,.field-label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}.field-hint{margin:8px 0 0;color:var(--muted);font-size:11px}.field-error{color:var(--err);font-size:12px}.panel-step input,.panel-step textarea{width:100%;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--ink);padding:12px 13px;outline:none}.panel-step textarea{resize:vertical;line-height:1.6}.panel-step input:focus,.panel-step textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(37,99,235,.12)}.actions{display:flex;gap:10px;margin-top:22px}.actions-split{justify-content:space-between;align-items:center}.btn{border:1px solid transparent;border-radius:9px;padding:10px 15px;font-size:13px;font-weight:600;transition:.18s}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 5px 12px rgba(37,99,235,.16)}.btn-primary:hover{background:#1d4ed8;transform:translateY(-1px)}.btn-ghost{border-color:var(--line);background:var(--surface);color:var(--ink)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.btn-quiet,.link-button{border:0;background:none;color:var(--muted);padding:8px 0;font-size:12px}.btn-quiet:hover,.link-button:hover{color:var(--accent)}.file-button input{display:none}.session-help{margin-top:18px;padding:12px 14px;border-radius:9px;background:var(--surface-2);color:var(--muted);font-size:12px;line-height:1.65}.session-help summary{cursor:pointer;color:var(--accent);font-weight:600}.session-help ol{padding-left:20px}.session-help a{color:var(--accent)}.summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0}.summary div{padding:13px;border-radius:9px;background:var(--surface-2)}.summary dt{color:var(--muted);font-size:11px;margin-bottom:5px}.summary dd{margin:0;font-size:13px;word-break:break-word}.warning,.notice{padding:12px 14px;border-radius:9px;background:#fff7e6;color:var(--warn);font-size:12px;line-height:1.6}.result-icon{width:42px;height:42px;border-radius:50%;background:var(--accent-soft);margin-bottom:18px;position:relative}.result-icon:after{content:"";position:absolute;inset:12px;border:2px solid var(--accent);border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}.result-status{display:flex;justify-content:space-between;align-items:center;margin:24px 0;padding:14px;border-radius:9px;background:var(--surface-2)}.result-status strong{color:var(--accent);font-size:14px}.result-status span{color:var(--muted);font-size:11px}.orders{margin-top:22px}.order{border-top:1px solid var(--line);padding:15px 0}.order strong{color:var(--accent);font-size:13px}.order p{white-space:pre-line;color:var(--muted);font:11px/1.7 var(--mono);margin:6px 0 0}.faq-list{margin-top:24px}.faq-list details{border-top:1px solid var(--line);padding:16px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;font-size:13px;font-weight:600}.faq-list p{color:var(--muted);font-size:12px;line-height:1.7;margin:11px 0 0}.flow{max-width:940px;margin:28px auto 0;padding:22px 0;border-top:1px solid var(--line)}.flow h2{font-size:13px;margin:0 0 17px}.flow>div{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.flow span{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:12px}.flow b{color:var(--accent);font:11px var(--mono)}.home{display:block;margin:25px auto;border:0;background:none;color:var(--muted);font-size:12px}.home:hover{color:var(--accent)}footer{max-width:1120px;margin:28px auto;padding:0 22px 30px;color:var(--muted);font:11px var(--mono);display:flex;justify-content:space-between}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@keyframes spin{to{transform:rotate(360deg)}}
:root[data-theme=dark]{--bg:#09111c;--surface:#111b29;--surface-2:#172437;--ink:#e9f0f7;--muted:#8d9eb0;--line:#283b52;--accent:#6ea8fe;--accent-soft:#1b3150;--good:#65d5ac;--warn:#e6bb78;--err:#ff8295;--shadow:0 18px 55px rgba(0,0,0,.24);color-scheme:dark} @media(prefers-color-scheme:dark){:root[data-theme=system]{--bg:#09111c;--surface:#111b29;--surface-2:#172437;--ink:#e9f0f7;--muted:#8d9eb0;--line:#283b52;--accent:#6ea8fe;--accent-soft:#1b3150;--good:#65d5ac;--warn:#e6bb78;--err:#ff8295;--shadow:0 18px 55px rgba(0,0,0,.24);color-scheme:dark}}
@media(max-width:780px){.chrome{grid-template-columns:1fr auto;gap:14px}.tabs{grid-column:1/-1;grid-row:2;justify-self:stretch;justify-content:space-around}.tab{flex:1;justify-content:center}.theme-switch{justify-self:end}.page{padding-top:26px}.redeem-grid{grid-template-columns:1fr;gap:20px}.voucher{position:static}.voucher-face{min-height:120px}.voucher-chip{margin-bottom:22px}.flow>div{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.chrome{padding:14px 15px}.page{padding:24px 15px 0}.page-head h1{font-size:28px}.panel-step{padding:22px}.summary{grid-template-columns:1fr}.actions-split{align-items:stretch;flex-direction:column}.actions-split .btn{width:100%;text-align:center}.flow>div{grid-template-columns:1fr}.flow span{padding:4px 0}footer{padding:0 15px 24px;display:block;line-height:2}}
.redeem-grid{grid-template-columns:280px minmax(0,650px);gap:64px;align-items:start}.voucher{height:auto;margin-top:51px;display:block;box-shadow:0 18px 44px rgba(30,50,80,.1)}.voucher-face{flex:none;min-height:190px}.panel-step{box-shadow:0 18px 44px rgba(30,50,80,.06)}.page-head{max-width:994px;margin:0 auto 26px;display:grid;grid-template-columns:280px minmax(0,650px);gap:64px}.page-head-copy{grid-column:1}.page-head-copy p{color:var(--muted);font-size:14px;line-height:1.65;margin:8px 0 0}.page-head h1{margin:0}@media(max-width:780px){.redeem-grid{grid-template-columns:1fr;gap:20px}.voucher{height:auto;margin-top:0}.voucher-face{min-height:120px}.page-head{display:block;margin-bottom:26px}.chrome{max-width:994px;grid-template-columns:280px minmax(0,650px);gap:64px;padding-left:0;padding-right:0}.brand{grid-column:1}.header-right{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:20px}.header-right .tabs{margin:0}.header-right .theme-switch{margin-left:auto}@media(max-width:780px){.chrome{display:flex;flex-wrap:wrap;gap:14px;padding:14px 15px}.brand{flex:1}.header-right{width:100%;order:3;display:flex;gap:10px}.header-right .tabs{flex:1;justify-content:space-around}.header-right .theme-switch{margin-left:0}}
}
.chrome{max-width:1120px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px}.brand{flex:0 0 auto}.header-right{display:flex;align-items:center;gap:16px;margin-left:auto}.header-right .tabs{margin:0}.theme-icon{width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--muted);font-size:17px;line-height:1;display:grid;place-items:center}.theme-icon:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.theme-icon:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:780px){.chrome{display:flex;flex-wrap:wrap;gap:14px;padding:14px 15px}.brand{flex:1}.header-right{width:100%;order:3;gap:10px}.header-right .tabs{flex:1;justify-content:space-around}.theme-icon{flex:none}}