*{box-sizing:border-box}
:root{color-scheme:light dark;--ground:#050d23;--card:#fff;--fg:#050d23;--muted:#415058;--line:#c8cdd0;--field:#fff;
--field-line:#415058;--brand:#800020;--brand-hover:#66001a;--brand-line:#800020;--label:#800020;--link:#800020;
--ring:#800020;--err:#d41121;--err-bg:#fdf1f2;--note:#800020;--note-bg:#f2f2f3;--foot:#ddc796;--foot-muted:#c8cdd0;
--shadow:0 1px 2px rgba(0,0,0,.25),0 18px 48px rgba(0,0,0,.35)}
@media (prefers-color-scheme:dark){:root{--ground:#02050e;--card:#050d23;--fg:#f2f2f3;--muted:#c8cdd0;--line:#26324a;
--field:#02050e;--field-line:#7d8a92;--brand-hover:#9a0027;--brand-line:#ddc796;--label:#ddc796;--link:#ddc796;
--ring:#ddc796;--err:#ff0040;--err-bg:#0d1430;--note:#ddc796;--note-bg:#0d1430;--shadow:0 0 0 1px #1a2440,0 18px 48px rgba(0,0,0,.6)}}
html{background:var(--ground)}
body{margin:0;background:var(--ground);color:var(--fg);-webkit-text-size-adjust:100%;
font:16px/1.5 Inter,"Inter Variable",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.wrap{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;
padding:max(32px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom))}
.card{width:100%;max-width:420px;background:var(--card);border-top:4px solid var(--brand);border-radius:14px;
padding:32px 28px 28px;box-shadow:var(--shadow)}
.card.wide{max-width:680px}
.brand{margin:0 0 28px}
.logo{display:block;width:150px;height:auto}
.product{margin:16px 0 0;font-size:12px;line-height:1.4;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--label)}
h1{font-size:24px;line-height:1.25;font-weight:700;letter-spacing:-.01em;margin:0 0 16px}
h2{font-size:16px;line-height:1.3;margin:28px 0 8px}
p{margin:0 0 16px}
.hint{color:var(--muted);margin:0 0 20px}
.steps{display:flex;flex-wrap:wrap;align-items:center;gap:8px;list-style:none;margin:-4px 0 20px;padding:0;font-size:14px;color:var(--muted)}
.steps li{display:flex;align-items:center;gap:8px}
.steps li+li::before{content:"";display:block;width:20px;height:1px;background:var(--field-line)}
.steps .n{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;
border:1px solid var(--field-line);font-size:12px;font-weight:700;color:var(--fg)}
.steps [aria-current]{color:var(--fg);font-weight:600}
.steps [aria-current] .n{background:var(--brand);border-color:var(--brand-line);color:#fff}
.alert,.notice{margin:0 0 20px;padding:12px 14px;border-radius:8px;font-size:15px;color:var(--fg)}
.alert{background:var(--err-bg);border-left:4px solid var(--err)}
.notice{background:var(--note-bg);border-left:4px solid var(--note)}
.field{margin:0 0 18px}
label{display:block;font-size:14px;font-weight:600;margin:0 0 6px}
.field input{display:block;width:100%;min-height:48px;margin:0;padding:11px 14px;font:inherit;font-size:17px;color:var(--fg);
background:var(--field);border:1px solid var(--field-line);border-radius:10px;-webkit-appearance:none;appearance:none}
.field input.code{font-size:26px;letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums;padding-left:calc(14px + .35em)}
input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--ring);outline-offset:2px}
.field input:focus{border-color:var(--ring)}
button{display:block;width:100%;min-height:48px;margin:4px 0 0;padding:12px 16px;font:inherit;font-size:16px;font-weight:600;
border-radius:10px;border:1px solid transparent;cursor:pointer;transition:background-color .15s,border-color .15s}
.primary{background:var(--brand);border-color:var(--brand-line);color:#fff}
.primary:hover{background:var(--brand-hover)}
.secondary{background:transparent;border-color:var(--field-line);color:var(--fg)}
.secondary:hover{background:var(--note-bg)}
button:disabled{opacity:.5;cursor:not-allowed}
a{color:var(--link);text-underline-offset:2px}
.more{margin:24px 0 0;padding:20px 0 0;border-top:1px solid var(--line)}
.more p{font-size:14px;color:var(--muted);margin:0 0 12px}
.back{margin:20px 0 0;font-size:15px}
.back a{display:inline-flex;align-items:center;min-height:44px}
.foot{width:100%;max-width:420px;margin:20px 0 0;text-align:center;font-size:13px;line-height:1.5;color:var(--foot)}
.foot p{margin:0 0 4px}
.foot a{color:var(--foot)}
.foot .org{color:var(--foot-muted)}
.foot .rights{margin:8px 0 0;font-size:12px;color:var(--foot-muted)}
@media (max-width:400px){.card{padding:28px 20px 24px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
.scroll{overflow-x:auto;margin:0 0 16px}
table{border-collapse:collapse;width:100%;font-size:13px}
th,td{text-align:left;padding:8px 12px 8px 0;border-bottom:1px solid var(--line);vertical-align:top;white-space:nowrap}
th{font-weight:600;color:var(--muted)}
.sessions .this{font-weight:600}
