:root{color-scheme:dark;font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:#ecebe3;background:#151817;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--access-muted:#a4aaa1;--access-line:rgba(236,235,227,.12)}
*{box-sizing:border-box}
body{margin:0;min-width:280px;min-height:100vh;min-height:100svh;background:radial-gradient(ellipse at 22% 8%,rgba(125,153,126,.14),transparent 48%),radial-gradient(ellipse at 88% 84%,rgba(141,119,100,.09),transparent 52%),#151817}
button,input{font:inherit}
button{cursor:pointer;-webkit-tap-highlight-color:transparent}
button:disabled{cursor:default}
button,input{outline:none}
button:focus-visible,input:focus-visible{outline:2px solid #d4dfc2;outline-offset:4px}
[hidden]{display:none!important}
.access-shell{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px max(30px,env(safe-area-inset-bottom));isolation:isolate}
.access-card{width:min(100%,424px);padding:38px 36px 36px;border:1px solid var(--access-line);border-radius:28px;background:linear-gradient(145deg,rgba(45,51,47,.73),rgba(29,32,30,.88));box-shadow:0 24px 90px -36px #0008,inset 0 1px 0 #ffffff07;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.access-mark{width:52px;height:52px;display:grid;place-items:center;margin-bottom:24px;border:1px solid #d8e2c724;border-radius:16px;background:#d2dec510;color:#d4dfc2}
.access-mark svg{width:40px;height:40px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.access-heading h1{margin:0;font-size:27px;font-weight:600;line-height:1.4;letter-spacing:.04em}
.access-heading p{margin:9px 0 31px;color:var(--access-muted);font-size:14px;line-height:1.6}
.access-field+.access-field{margin-top:21px}
.access-field label{display:block;margin-bottom:10px;font-size:13px;line-height:1.5;font-weight:500;color:#cfD2c9}
.access-field input{display:block;width:100%;min-width:0;height:52px;padding:0 15px;border:1px solid var(--access-line);border-radius:12px;background:rgba(12,16,13,.27);color:#f2f1e9;font-size:16px;line-height:1.5;transition:border-color .16s ease,background .16s ease}
.access-field input::placeholder{color:#858d82;font-size:13px}
.access-field input:hover{border-color:#ecebe329}
.access-field input:focus{border-color:#bbc8a566;background:#11161170}
.access-field input[aria-invalid=true]{border-color:#d9a592a1}
.access-challenge{display:grid;grid-template-columns:minmax(0,1fr) 142px;gap:10px;align-items:center}
.access-challenge input{text-transform:uppercase;letter-spacing:.12em}
.access-challenge input::placeholder{letter-spacing:0;text-transform:none}
.access-refresh{position:relative;display:flex;align-items:center;justify-content:center;width:142px;height:52px;padding:0;overflow:hidden;border:1px solid var(--access-line);border-radius:12px;background:#18251f;color:#cbd2c9}
.access-refresh img{display:block;width:100%;height:100%;object-fit:contain}
#access-image-placeholder{font-size:12px}
.access-refresh-icon{position:absolute;right:5px;bottom:4px;width:16px;height:16px;padding:1px;border-radius:4px;background:#e4e6dac9;stroke:#3c4e3d;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .16s ease}
.access-refresh:not(:disabled):hover .access-refresh-icon,.access-refresh:focus-visible .access-refresh-icon{opacity:1}
.access-refresh:disabled{opacity:.72}
.access-hint{margin:10px 0 0;color:#929a8e;font-size:12px;line-height:1.6}
.access-status{min-height:39px;margin:15px 0 9px;color:#e2b9a8;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.access-submit{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:52px;padding:0 18px;border:1px solid #eff5e230;border-radius:12px;background:#d4dfc2;color:#242d20;font-size:14px;font-weight:600;line-height:1;transition:background .16s ease,transform .16s ease,opacity .16s ease}
.access-submit svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.access-submit:not(:disabled):hover{background:#e0e9d1}
.access-submit:not(:disabled):active{transform:translateY(1px)}
.access-submit:disabled{opacity:.45}
.access-footer{margin:26px 0 0;color:#7f887c;font-size:11px;line-height:1.7;letter-spacing:.08em;text-align:center}
.access-noscript{margin:20px 0 0;color:#e2b9a8;font-size:13px;line-height:1.6}
@media(max-width:420px){.access-shell{padding:28px 18px max(24px,env(safe-area-inset-bottom))}.access-card{padding:30px 23px;border-radius:24px}.access-challenge{grid-template-columns:minmax(0,1fr) 126px;gap:8px}.access-refresh{width:126px}.access-field input{padding:0 12px}.access-heading h1{font-size:25px}}
@media(max-width:330px){.access-card{padding:26px 17px}.access-challenge{grid-template-columns:minmax(0,1fr) 108px}.access-refresh{width:108px}.access-field input::placeholder{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}
