:root{color-scheme:dark;--page:#0d0e10;--surface:#15171a;--field:#101215;--ink:#edeef0;--muted:#9b9fa7;--line:#2b2e34;--focus:#b6c6ed;--error:#ffb4aa;--radius:18px;font-family:"Manrope","Segoe UI",sans-serif;font-size:15px}
*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);min-height:100svh}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer;transition:background .15s,color .15s,border-color .15s,transform .15s}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,.terms:focus-visible{outline:2px solid var(--focus);outline-offset:4px}button:active:not(:disabled){transform:translateY(1px)}[hidden]{display:none!important}
.access-shell{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;width:100%}.brand{display:flex;align-items:center;gap:9px;margin-bottom:28px;text-decoration:none;color:var(--ink);font-size:20px;font-weight:600;letter-spacing:-.7px}.brand-mark{font-size:25px;line-height:1;color:#c4cad5}.brand:hover{color:#fff}.access-card{width:min(100%,400px);min-width:0;border:1px solid var(--line);border-radius:var(--radius);padding:30px;background:var(--surface);box-shadow:0 8px 32px #0002}.access-card:has(#terms-stage:not([hidden])){width:min(100%,500px)}
.steps{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;list-style:none}h1{font-size:25px;font-weight:550;letter-spacing:-.045em;line-height:1.25;margin:0 0 9px}.card-copy{font-size:13px;line-height:1.65;color:var(--muted);margin:0 0 28px}label{display:block;font-size:12px;font-weight:500;margin:0 0 10px}.input-wrap{display:flex;align-items:stretch;border:1px solid #373b43;border-radius:10px;background:var(--field);transition:border-color .15s,box-shadow .15s}.input-wrap:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px #b6c6ed12}.input-wrap input{width:100%;min-width:0;flex:1;border:0;border-radius:10px 0 0 10px;background:transparent;color:var(--ink);padding:14px;font-family:Consolas,monospace;font-size:14px;letter-spacing:.025em}.input-wrap input:focus-visible{outline:0}.input-wrap:has(input[aria-invalid=true]){border-color:var(--error)}.input-action{background:none;border:0;border-radius:0 10px 10px 0;min-width:58px;min-height:46px;padding:0 12px;font-size:11px;color:var(--muted)}.input-action:hover{background:#ffffff08;color:#fff}.helper{color:var(--muted);font-size:11px;line-height:1.5;margin:10px 0 23px}
.primary{display:block;width:100%;min-height:46px;padding:13px 16px;border:1px solid #edeef0;border-radius:10px;background:#edeef0;color:#111316;font-size:12px;font-weight:650;text-align:center}.primary span{margin-left:7px}.primary:hover:not(:disabled){background:#fff;border-color:#fff}.primary:disabled{color:#858b95;background:#292d34;border-color:#323740}.primary[aria-busy=true]{cursor:progress}.status{color:var(--muted);font-size:12px;line-height:1.65;margin:18px 0 0;overflow-wrap:anywhere}.status:empty{display:none}.status[data-state=error]{color:var(--error)}.text-button{background:none;border:0;border-radius:6px;color:var(--muted);font-size:11px;min-height:40px;padding:10px 12px}.text-button:hover{color:var(--ink);background:#ffffff06}.leave{margin-top:16px}#back-code{display:block;margin:10px auto -9px}
.terms{max-height:clamp(180px,35svh,280px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#444a54 transparent;padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--field);font-size:12px;line-height:1.8;color:#afb3bb;margin-bottom:20px}.terms h3{color:var(--ink);font-size:12px;font-weight:600;line-height:1.6;margin:22px 0 8px}.terms h3:first-child{margin-top:0}.terms p{margin:0 0 12px}.terms p:last-child{margin-bottom:0}.consent{display:flex;align-items:flex-start;gap:11px;margin-bottom:20px;font-size:11px;font-weight:400;line-height:1.75;cursor:pointer}.consent input{width:17px;height:17px;flex-shrink:0;accent-color:#dbe3f5;margin:2px 0 0}
@media(max-width:480px){.access-shell{padding:28px 18px}.brand{margin-bottom:22px}.access-card{padding:25px 22px;border-radius:16px}.card-copy{margin-bottom:23px}.terms{padding:15px}.consent{font-size:12px}}@media(max-height:650px){.access-shell{justify-content:flex-start;padding-top:24px;padding-bottom:20px}.brand{margin-bottom:20px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
