*{box-sizing:border-box}
[hidden]{display:none!important}
:root{color-scheme:dark;--bg:#090a0c;--panel:#101113;--surface:#191a1d;--line:#2c2c2b;--text:#f6f5ef;--muted:#a6a6a5;--accent:#ffda23;--accent-light:#ffe983;--good:#8edbb5;--bad:#ffadb5}
body{margin:0;min-height:100svh;padding:42px 22px 26px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 0%,#ffce2110,transparent 60%),linear-gradient(#ffffff02 1px,transparent 1px),linear-gradient(90deg,#ffffff02 1px,transparent 1px),var(--bg);background-size:auto,48px 48px,48px 48px,auto;color:var(--text);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,a{-webkit-tap-highlight-color:transparent}
button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit}
button:disabled{cursor:wait;opacity:.6}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.portal{position:relative;isolation:isolate;width:100%;max-width:600px;padding:30px;background:linear-gradient(135deg,#28251b40,transparent 44%),linear-gradient(180deg,#141518,var(--panel));border:1px solid #45412b;border-radius:19px;box-shadow:0 24px 100px #0008,inset 0 1px 0 #fff1,0 0 70px #ffda2305}
.portal::before{content:"";position:absolute;top:-1px;left:32px;right:32px;height:1px;background:linear-gradient(90deg,transparent,#ffe77788,transparent);pointer-events:none}
.header{display:flex;align-items:center;gap:18px;padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid #ffffff0b}
.brand{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:800;letter-spacing:-.5px;text-decoration:none;flex-shrink:0}
.brand-avatar{display:block;width:54px;height:54px;flex:none}
.brand-avatar img{display:block;width:100%;height:100%;object-fit:contain}
.brand-wordmark{display:flex;flex-direction:column;gap:5px}
.brand-name{display:flex;align-items:center;gap:9px;line-height:1.1}
.brand-name svg{height:18px;width:18px;fill:var(--accent)}
.brand-subtitle{color:#c5c3bc;font-size:10px;font-weight:450;letter-spacing:0}
.eyebrow{font-size:10px;font-weight:700;color:var(--accent);letter-spacing:1.8px;margin:0 0 8px}
h1{font-size:32px;font-weight:680;letter-spacing:-1.1px;line-height:1.18;margin:0 0 10px}
.subheading{margin:0;color:var(--muted);font-size:13px;line-height:1.7}
.subheading strong{color:#e8deba;font-weight:600}
.intro{margin-bottom:23px}
.provider-list{display:grid;gap:12px}
.provider-option{display:flex;align-items:center;gap:15px;min-height:106px;padding:20px;border:1px solid #48422b;border-radius:12px;background:linear-gradient(105deg,#ffda2309,transparent 80%),#17181a;color:var(--text);text-decoration:none;transition:background .18s,border-color .18s,transform .18s;min-width:0}
.provider-option:hover{border-color:#ffda2388;background:linear-gradient(105deg,#ffda2314,transparent 80%),#1c1d1d;transform:translateY(-1px)}
.provider-option:active{transform:translateY(0)}
.provider-icon{flex:none;width:43px;height:43px;display:flex;align-items:center;justify-content:center}
.provider-icon img{display:block;width:100%;height:100%;object-fit:contain}
.provider-details{display:flex;flex-direction:column;gap:4px;min-width:0}
.provider-details strong{font-size:17px;font-weight:650;letter-spacing:-.3px}
.provider-details>span{font-size:12px;color:var(--muted);white-space:normal;overflow-wrap:anywhere}
.provider-dot{color:#66655d;padding:0 4px}
.provider-reward{margin-left:auto;color:var(--accent-light);display:flex;flex-direction:column;align-items:center;font-size:29px;font-weight:600;line-height:1;letter-spacing:-1px}
.provider-reward>span{font-size:8px;letter-spacing:1.3px;color:#a39562;margin-top:6px}
.provider-arrow{flex:none;align-self:center;font-size:20px;color:#b3a165;margin-left:3px}
.choice-note{display:flex;align-items:center;gap:8px;color:#96958b;font-size:11px;line-height:1.6;margin:20px 0 0}
.choice-note svg{width:15px;height:15px;flex:none;stroke:#b8a85f;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.back-link{display:inline-block;font-size:11px;color:#b7ad88;text-decoration:none;margin:-8px 0 20px;padding:4px 0}
.back-link:hover{color:var(--accent-light)}
#landing-notice{margin-top:16px}
.checkpoint-panel{padding:18px;border:1px solid #3b382a;border-radius:12px;background:linear-gradient(135deg,#ffda2305,transparent 55%),#0c0d0f;box-shadow:inset 0 1px 0 #ffffff03}
.progress-heading{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:550;margin-bottom:11px}
#progress-count{padding:2px 8px;border:1px solid #ffda2322;background:#ffda2308;border-radius:5px;color:var(--accent);font-size:11px;font-variant-numeric:tabular-nums}
.progress-track{height:4px;background:#2d2b22;border-radius:6px;overflow:hidden}
.progress-track>div{height:100%;width:0;background:linear-gradient(90deg,#dba50a,var(--accent));box-shadow:0 0 8px #ffda2333;transition:width .25s ease}
.steps{list-style:none;margin:17px 0 18px;padding:0;display:grid;gap:9px}
.steps li{display:flex;align-items:center;gap:12px;min-height:64px;padding:11px 13px;border:1px solid #292a2b;border-radius:8px;background:#161719;transition:border-color .2s,background .2s}
.step-number{display:flex;align-items:center;justify-content:center;flex:none;width:29px;height:29px;border-radius:8px;background:#27282a;color:#b9b9b5;font-size:12px;font-weight:650;border:1px solid #ffffff08}
.steps li>div{display:flex;flex-direction:column;gap:2px}
.steps strong{font-size:13px;font-weight:600}
.step-state{color:var(--muted);font-size:11px}
.step-mark{margin-left:auto;color:var(--good);font-size:18px}
.steps .current{border-color:#ffda2355;background:linear-gradient(105deg,#ffda2310,transparent),#171714}
.current .step-number{background:var(--accent);color:#242010;border-color:#ffe982;box-shadow:0 2px 10px #ffda2315}
.steps .done{border-color:#8edbb52b;background:#10201844}
.done .step-number{background:#8edbb514;color:var(--good);border-color:#8edbb52b}
.reward{display:flex;align-items:center;gap:11px;padding-top:16px;border-top:1px solid #343229}
.reward-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #ffda232b;border-radius:8px;background:#ffda230b;color:var(--accent)}
.reward-icon svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.reward>div{display:flex;flex-direction:column;gap:2px}
.reward strong{font-size:12px;font-weight:600}
.reward div>span{font-size:11px;color:var(--muted)}
.reward-duration{margin-left:auto;padding:4px 10px;border:1px solid #ffda2344;background:#ffda2310;border-radius:6px;font-size:14px;color:var(--accent-light);font-weight:650}
.action-area{padding-top:17px}
.state-description{font-size:12px;line-height:1.6;color:#b1afa5;margin:0 0 13px;min-height:19px}
.button{display:flex;align-items:center;justify-content:center;min-height:47px;width:100%;padding:11px 16px;border-radius:8px;font-size:13px;font-weight:700;text-decoration:none;transition:background .15s,transform .15s,box-shadow .15s,border-color .15s}
.primary{background:linear-gradient(180deg,#ffe044,#ffcf18);color:#17150c;border:1px solid #ffe579;box-shadow:inset 0 1px 0 #fff6,0 3px 15px #ffcc1810;text-shadow:0 1px 0 #ffffff20}
.primary:hover:not(:disabled){background:linear-gradient(180deg,#ffe76b,#ffdc36);box-shadow:inset 0 1px 0 #fff7,0 4px 22px #ffda2326}
.primary:active:not(:disabled){transform:translateY(1px)}
.secondary{background:#24231d;border:1px solid #4b4531;color:#f3dc91;margin-top:9px}
.secondary:hover{background:#302c20;border-color:#786432}
.session-note{font-size:10px;color:#8c8b82;text-align:center;margin:11px 0 0}
.alternative{border-top:1px solid #ffffff0c;margin-top:23px;padding-top:17px;display:flex;justify-content:space-between;align-items:center;gap:15px}
.alternative>div{display:flex;flex-direction:column;gap:3px}
.alternative strong{font-size:12px;font-weight:550}
.alternative div>span{font-size:10px;color:var(--muted)}
.alternative a{display:flex;align-items:center;gap:7px;font-size:12px;text-decoration:none;color:#e7d291;white-space:nowrap;padding:8px 0;transition:color .15s}
.alternative a:hover{color:#fff0af}
.alternative a[aria-disabled=true]{opacity:.5;cursor:default}
.page-footer{font-size:10px;color:#87867c;margin:17px 0 0;text-align:center}
.preview-note{font-size:10px;letter-spacing:.1px;color:#c7b573;text-align:center;margin-bottom:14px;padding:6px 11px;border:1px dashed #8d793a55;background:#2d271333;border-radius:5px}
.notice{color:var(--bad);background:#4c212733;border:1px solid #8a3d4955;border-radius:7px;padding:10px 12px;font-size:12px;margin:0 0 12px;overflow-wrap:anywhere}
.notice.success{color:#a2e4c5;background:#1d3b2b44;border-color:#335b4455}
.key-panel{border:1px solid #796128;border-radius:10px;background:#ffda2307;padding:13px;margin-bottom:14px}
.key-panel label{font-size:10px;letter-spacing:1px;color:var(--accent)}
.key-row{display:flex;gap:10px;margin-top:8px;align-items:center}
.key-row input{background:none;border:none;padding:0;color:var(--text);min-width:0;width:100%;font:600 14px ui-monospace,Consolas,monospace}
.key-row button{background:#3e341a;border:1px solid #7a622c;color:#ffe793;border-radius:6px;padding:7px 13px;font-size:12px}
.key-panel p{color:var(--muted);font-size:11px;margin:10px 0 0}
#security-check{margin:4px 0 14px;min-height:65px}
.error-page h1{font-size:25px;margin-top:30px}
.error-page p{color:var(--muted);font-size:13px}
.error-page .support{font-size:11px;margin:20px 0}
@media(max-width:480px){body{padding:22px 14px;justify-content:flex-start}.portal{padding:23px 19px;border-radius:16px}.portal::before{left:20px;right:20px}.header{gap:10px;padding-bottom:20px;margin-bottom:23px}.brand{gap:10px;font-size:17px}.brand-avatar{width:47px;height:47px;border-radius:10px}.brand-name{gap:5px}.brand-name svg{width:16px;height:16px}.brand-subtitle{font-size:9px}h1{font-size:29px}.subheading{font-size:13px}.checkpoint-panel{padding:15px}.steps li{padding:11px}.preview-note{font-size:9px}.key-row input{font-size:12px}.key-row button{min-height:44px}.alternative{gap:10px}.alternative a{min-height:44px}}
@media(max-width:340px){.reward div>span{font-size:10px}}
@media(max-width:480px){.provider-option{padding:17px 13px;gap:11px;min-height:98px}.provider-icon{width:35px;height:35px;font-size:20px}.provider-details strong{font-size:15px}.provider-details>span{font-size:10px}.provider-dot{padding:0 2px}.provider-reward{font-size:25px}.provider-arrow{font-size:17px;margin-left:0}.choice-note{font-size:10px}.back-link{min-height:35px;padding-top:7px}}
@media(max-width:340px){.provider-option{gap:9px;padding:16px 10px}.provider-icon{width:29px;height:31px;border-radius:7px;font-size:18px}.provider-icon svg{width:20px;height:20px}.provider-details strong{font-size:14px}.provider-details>span{font-size:9px}.provider-reward{font-size:23px}.provider-reward>span{font-size:7px}.provider-arrow{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
