/* Inter weights 400–800 are self-hosted by the base redeem.css stylesheet. */
:root{--bg:#f6f7f9;--surface:#fff;--surface-2:#f0f2f5;--line:#e5e7eb;--ink:#0b0e13;--muted:#646b78;--accent:#658d27;--accent-hover:#577a22;--link:#4d701c;--ok:#22834b;--bad:#bc3e38;--warn:#8c651b;--rail:#f6f7f9;--rail-muted:#646b78;--shadow:0 4px 12px -8px #0b0e1338;font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color-scheme:light;scrollbar-color:#c6cad2 transparent;scroll-padding-top:24px}
:root[data-theme=dark]{--bg:#0c0e12;--surface:#13151c;--surface-2:#1a1d25;--line:#292d37;--ink:#e8eaf0;--muted:#a2a9b8;--accent:#badd69;--accent-hover:#cbe998;--link:#badd69;--ok:#79d9a3;--bad:#f79c95;--warn:#e4be72;--rail:#171a21;--rail-muted:#a2a9b8;color-scheme:dark;scrollbar-color:#454b59 transparent}
body{font-size:14px;line-height:1.7;background:var(--bg);min-width:320px;padding:0 40px}body,h1,h2,h3,button,input,textarea{font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif}h1,h2,h3{font-synthesis:none;text-wrap:balance}button,input,textarea{transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease,box-shadow 180ms ease}button{touch-action:manipulation}a{text-underline-offset:4px}::selection{background:color-mix(in srgb,var(--accent) 24%,var(--surface));color:var(--ink)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}input,textarea{caret-color:var(--accent)}[hidden]{display:none!important}.redeem-panel,.lookup-card{animation:none}.redeem-header{max-width:1280px;width:100%;padding:25px 0;margin:0 auto;min-height:92px;gap:24px}.redeem-brand{gap:12px;letter-spacing:0;font-weight:600}.service-mark{width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--accent);display:grid;place-items:center;font-size:17px;font-weight:700;letter-spacing:-.03em;flex:none}.redeem-brand strong{display:block;font-size:17px;font-weight:600;line-height:1.4}.redeem-brand small{display:block;font-size:11px;color:var(--muted);font-weight:400;line-height:1.6;margin-top:1px}.header-controls{gap:28px}.redeem-tabs{background:var(--surface-2);border-radius:10px;padding:4px;gap:2px}.redeem-tabs button{min-height:40px;min-width:74px;font-size:14px;padding:8px 18px;border-radius:7px;color:var(--muted);font-weight:600}.redeem-tabs [aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 2px 5px -2px #0b0e1320}.header-help{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);min-height:44px}.header-help svg{width:16px;height:16px}.header-help:hover{color:var(--accent)}
.redeem-layout{display:grid;grid-template-columns:340px minmax(0,1fr);max-width:1280px;width:100%;margin:8px auto 0;padding:0;border:1px solid var(--line);border-radius:20px;overflow:clip;min-height:min(740px,calc(100dvh - 176px));background:var(--surface)}.activation-rail{background:var(--rail);color:var(--ink);display:flex;flex-direction:column;padding:44px 36px 30px;min-width:0}.customer-intro h1{font-size:32px;line-height:1.35;font-weight:700;letter-spacing:-.025em;white-space:pre-line}.customer-intro p{font-size:14px;line-height:1.75;color:var(--rail-muted);margin-top:20px;max-width:24ch}.activation-rail #activation-steps{margin-top:40px}.redeem-steps{display:flex;gap:0;flex-direction:column;align-items:stretch;margin:0;font-size:14px;font-weight:500;color:var(--rail-muted)}.redeem-steps span{position:relative;gap:15px;padding:14px 0;min-height:58px}.redeem-steps b{width:32px;height:32px;flex:none;background:transparent;border:1px solid var(--line);border-radius:50%;color:var(--rail-muted);font-size:12px;font-weight:500}.redeem-steps i{height:22px;flex:none;width:1px;background:var(--line);margin-left:16px}.redeem-steps .current{color:var(--ink);font-weight:600}.redeem-steps .current b{color:var(--surface);background:var(--ink);border-color:var(--ink)}.redeem-steps .complete{color:var(--ink)}.redeem-steps .complete b{background:color-mix(in srgb,var(--accent) 12%,var(--surface));border-color:var(--line);color:var(--link)}.redeem-steps .complete .icon{width:15px;height:15px}.context-guide{margin-top:36px}.context-guide h2{font-size:14px;font-weight:600;color:var(--ink)}.context-guide p{color:var(--rail-muted);font-size:13px;line-height:1.9;margin-top:8px;max-width:30ch}.rail-contact{margin-top:auto;padding-top:48px;font-size:12px;line-height:1.9;color:var(--rail-muted)}.rail-contact strong{font-weight:500;color:var(--ink)}.activation-workspace{min-width:0;padding:0 52px 36px;display:flex;flex-direction:column}.redeem-environment{max-width:none;margin:0 -52px;padding:9px 20px;background:var(--surface-2);border-radius:0;border-bottom:1px solid var(--line);color:var(--muted);font-size:11px;text-align:center}.customer-main{width:100%;max-width:600px;min-width:0;margin:0 auto;padding-top:48px;outline:none}.redeem-panel,.redeem-panel.batch-mode{padding:0;border:0;border-radius:0;box-shadow:none;background:none;min-width:0}.redeem-panel h2{font-size:24px;font-weight:700;line-height:1.35;letter-spacing:-.025em}.redeem-description{font-size:14px;line-height:1.7;margin-top:12px;color:var(--muted);text-wrap:pretty}.field{margin-top:28px}.field>span{font-size:14px;font-weight:600;margin-bottom:10px}.field .key-input{display:flex;gap:12px;align-items:center;background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:0 16px;margin:0;min-height:56px;color:var(--muted)}.key-input input{font-family:inherit;font-size:16px;font-weight:400;letter-spacing:.025em;height:54px;padding:0;text-transform:uppercase}.key-input input::placeholder{font-family:inherit;font-size:14px;letter-spacing:0;color:var(--muted)}.entry-key-icon{width:20px;height:20px;flex:none;color:var(--muted)}.key-input:focus-within,.session-input:focus,.lookup-input:focus{border-color:var(--accent);box-shadow:none;outline:2px solid var(--accent);outline-offset:2px}.session-input,.lookup-input{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:16px;font-size:14px;line-height:1.7;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;margin-top:12px;min-height:170px}.session-input{height:180px}.button{min-height:50px;font-size:14px;font-weight:600;border-radius:14px;padding:12px 20px;background:var(--surface);border:1px solid var(--line);gap:9px;line-height:1.5;box-shadow:none;transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease,box-shadow 180ms ease,transform 180ms ease}.button:hover:not(:disabled){box-shadow:0 4px 12px -8px color-mix(in srgb,var(--accent) 36%,transparent)}.button-primary{background:var(--ink);border-color:var(--ink);color:var(--surface)}.button-primary:hover:not(:disabled){background:var(--ink);border-color:var(--ink);opacity:.9}.button:active:not(:disabled){transform:scale(.985)}.button:disabled{opacity:1;background:var(--surface-2);border-color:var(--line);color:var(--muted);box-shadow:none}.button-primary:disabled{background:var(--ink);border-color:var(--ink);color:var(--surface);opacity:.5}.full-width{min-height:52px;margin-top:20px;font-size:14px}.redeem-actions{gap:12px;margin-top:24px}.redeem-actions .button{min-height:50px}.redeem-actions .button-primary{flex:1}.redeem-error{background:color-mix(in srgb,var(--bad) 6%,var(--surface));font-size:13px;line-height:1.8;padding:12px 14px;border-radius:8px;margin-top:16px}.heading-row{align-items:flex-start}.plan-badge{font-size:12px;border-radius:6px;background:var(--surface-2);color:var(--ink);padding:6px 10px}.session-guide{margin-top:24px;padding:18px 20px;background:var(--surface-2);border-radius:10px;font-size:13px}.session-guide h3{font-size:14px;font-weight:600;margin:0 0 12px}.session-guide ol{list-style:none;padding:0;display:grid;gap:12px}.session-guide li{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted)}.session-guide li>b{flex:none;display:grid;place-items:center;width:22px;height:22px;background:var(--surface);border:1px solid var(--line);border-radius:50%;font-size:11px;color:var(--ink)}.session-guide a{color:var(--link);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.session-field-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}.session-field-heading label{font-size:14px;font-weight:600}.session-clear{background:none;border:0;color:var(--muted);padding:10px 0;min-height:44px;font-size:13px}.session-clear:hover{color:var(--accent)}.session-feedback{font-size:13px;line-height:1.7;overflow-wrap:anywhere}.redeem-account{margin-top:28px;border:0;border-radius:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.redeem-account>div{padding:18px 0;font-size:14px;gap:24px}.redeem-account dd{font-weight:500}.redeem-disclosure{border-radius:9px;padding:16px 18px;font-size:13px;line-height:1.85;background:var(--surface-2);color:var(--muted);gap:10px;margin-top:24px}.redeem-disclosure .icon{margin-top:4px;flex:none}.customer-help{margin-top:40px;padding-top:28px;border-top:1px solid var(--line);scroll-margin-top:24px}.customer-help h2{font-size:14px;font-weight:600;margin-bottom:8px}.customer-help details{border-bottom:1px solid var(--line)}.customer-help details:last-child{border-bottom:0}.customer-help summary{min-height:48px;display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none;cursor:pointer;font-size:13px;color:var(--muted)}.customer-help summary:hover{color:var(--ink)}.customer-help summary::-webkit-details-marker{display:none}.customer-help summary svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;flex:none;transition:transform 180ms ease}.customer-help details[open] summary svg{transform:rotate(45deg)}.customer-help details p{font-size:13px;line-height:1.75;color:var(--muted);padding:0 26px 16px 0}.customer-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1280px;margin:0 auto;padding:18px 0 24px;color:var(--muted);font-size:11px}.theme-controls{background:none;border-radius:8px;padding:0;gap:2px}.theme-controls button{width:40px;height:40px;border-radius:8px}.theme-controls [aria-pressed=true]{box-shadow:none;color:var(--accent);background:var(--surface-2)}.theme-controls svg{width:16px;height:16px}.redeem-toast{border-radius:10px;line-height:1.7}.skip-link{border-radius:8px;z-index:1000}.activation-rail:has(#activation-steps:empty) .context-guide{margin-top:50px}
:root[data-theme=dark] .service-mark{color:var(--accent)}:root[data-theme=dark] .button-primary{color:var(--surface)}:root[data-theme=dark] .button-primary:disabled{background:var(--ink);color:var(--surface);border-color:var(--ink)}:root[data-theme=dark] .field .key-input,:root[data-theme=dark] .session-input,:root[data-theme=dark] .lookup-input,:root[data-theme=dark] .button:not(.button-primary){border-color:var(--line)}
@media(min-width:1600px){.redeem-layout{margin-top:24px}.redeem-header{padding-top:32px}.customer-main{padding-top:56px}}
@media(max-width:1100px){body{padding:0 28px}.redeem-layout{grid-template-columns:290px minmax(0,1fr)}.activation-rail{padding:36px 28px 28px}.customer-intro h1{font-size:32px}.activation-workspace{padding:0 32px 28px}.redeem-environment{margin-inline:-32px}.customer-main{padding-top:36px}}
@media(max-width:760px){body{padding:0 20px}.redeem-header{min-height:84px;padding:18px 0;gap:12px}.redeem-brand{gap:10px}.service-mark{width:36px;height:36px;border-radius:10px;font-size:15px}.redeem-brand strong{font-size:15px}.redeem-brand small{display:none}.header-controls{gap:0}.header-help{display:none}.redeem-tabs{padding:3px}.redeem-tabs button{min-width:54px;padding:8px 12px;min-height:38px;font-size:13px}.redeem-layout{display:flex;flex-direction:column;margin:0;border-radius:14px;min-height:0}.activation-rail{padding:0;background:var(--surface-2);color:var(--ink)}.customer-intro,.context-guide,.rail-contact{display:none}.activation-rail #activation-steps{margin:0}.redeem-steps{flex-direction:row;align-items:center;padding:18px 20px;color:var(--muted);font-size:12px}.redeem-steps span{padding:0;gap:7px;min-height:30px}.redeem-steps b{width:26px;height:26px;border-color:var(--line);color:var(--muted);font-size:11px}.redeem-steps i{height:1px;min-width:10px;flex:1;margin:0 10px;background:var(--line)}.redeem-steps .current{color:var(--ink)}.redeem-steps .current b{background:var(--ink);border-color:var(--ink);color:var(--surface)}.redeem-steps .complete{color:var(--ink)}.redeem-steps .complete b{background:var(--surface);border-color:var(--line);color:var(--link)}.activation-workspace{padding:0 24px 24px}.redeem-environment{margin:0 -24px;font-size:10px;padding:8px 12px;border-top:1px solid var(--line)}.customer-main{padding-top:30px;max-width:none}.redeem-panel h2{font-size:24px}.redeem-description{font-size:14px}.field{margin-top:24px}.field .key-input{padding:0 12px}.key-input input{font-size:16px}.key-input input::placeholder{font-size:13px}.entry-key-icon{width:18px;height:18px}.button{padding:12px 16px}.customer-help{margin-top:32px;padding-top:24px}.customer-help summary{font-size:12px;min-height:50px}.customer-footer{padding:12px 0 18px}.session-guide{padding:16px}.redeem-account>div{font-size:13px}.activation-rail:has(#activation-steps:empty){display:none}}
@media(max-width:380px){body{padding:0 12px}.activation-workspace{padding-inline:20px}.redeem-environment{margin-inline:-20px}.redeem-steps{padding-inline:16px}.redeem-steps i{margin-inline:7px}.button{padding-inline:13px}.redeem-brand strong{font-size:14px}}
.session-input-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px}.session-input-heading .field{margin:0}.session-input-heading .field>span{margin:0}.session-guide li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 16px}.session-guide-button{min-height:40px;display:inline-flex;align-items:center;font-size:12px;font-weight:500}.session-guide-hint{grid-column:1/-1;font-size:12px;line-height:1.8;color:var(--muted)}.session-guide li+li{padding-top:8px;border-top:1px solid var(--line)}.session-guide li:last-child{display:block;padding-top:12px}.session-input-heading+.session-input{margin-top:10px}
@media(max-width:760px){.session-guide li{grid-template-columns:minmax(0,1fr);gap:0}.session-guide-button{min-height:44px;justify-self:start}.session-guide li+li{padding-top:12px}.session-guide li:last-child{font-size:12px}}

.skip-link:not(:focus){width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0;white-space:nowrap}.skip-link:focus{width:auto;height:auto;clip-path:none;padding:8px 12px;transform:none}
/* Comfortable touch targets without changing page structure. */
.redeem-tabs button{min-height:44px}
.theme-controls button{min-width:44px;min-height:44px}
@media(max-width:760px){:root[data-theme=dark] .redeem-steps .current b{color:var(--surface)}}

/* Known forward-arrow actions keep search and status icons stationary. */
:is(#key-form,#session-form) .button[type="submit"] > .icon,
.button[data-action="lookup-open"] > .icon { transition: transform 180ms ease; }
@media (hover: hover) and (pointer: fine) {
  :is(#key-form,#session-form) .button[type="submit"]:hover:not(:disabled) > .icon,
  .button[data-action="lookup-open"]:hover:not(:disabled) > .icon { transform: translateX(2px); }
}
.field .key-input { transition: background-color 180ms ease,border-color 180ms ease,box-shadow 180ms ease; }
/* Theme changes use the same short color fade across the persistent surfaces. */
body,.redeem-layout,.activation-rail,.redeem-environment,.session-guide,.redeem-disclosure,.theme-controls button {
  transition: background-color 200ms ease,color 200ms ease,border-color 200ms ease;
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { transition: none !important; }
  .button:active:not(:disabled),
  :is(#key-form,#session-form) .button[type="submit"]:hover:not(:disabled) > .icon,
  .button[data-action="lookup-open"]:hover:not(:disabled) > .icon { transform: none; }
}
