*,::after,::before{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{height:100%;background:#000;color:#f6f6f6;font-family:'DM Sans',sans-serif;overflow-x:hidden}.bg{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(255,255,255,.03) 0,transparent 70%)}.wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:max(32px,env(safe-area-inset-top)) 20px max(32px,env(safe-area-inset-bottom))}.brand{text-align:center;margin-bottom:48px}.logo{font-family:'Bebas Neue',sans-serif;font-size:0;letter-spacing:10px;color:#f5f5f5;line-height:1}.tagline{font-size:11px;letter-spacing:4px;color:#999;text-transform:uppercase;margin-top:8px;font-weight:600}.sess-banner{background:#111;border:1px solid #1a1a1a;border-radius:18px;padding:24px;text-align:center;margin-bottom:28px;width:100%;max-width:400px;display:none}.sess-name{font-family:'Bebas Neue',sans-serif;font-size:24px;color:#f5f5f5;margin-bottom:4px;letter-spacing:1px}.sess-sub{font-size:13px;color:#888;margin-bottom:18px}.sess-btns{display:flex;gap:10px;justify-content:center}.sess-go{padding:14px 28px;background:#f5f5f5;color:#000;border:none;border-radius:12px;font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:1px;cursor:pointer;font-weight:700}.sess-out{padding:14px 18px;background:0 0;color:#aaa;border:1px solid #222;border-radius:12px;font-family:'DM Sans',sans-serif;font-size:13px;cursor:pointer;font-weight:500}.mode-sw{display:flex;background:#111;border:1px solid #1a1a1a;border-radius:14px;padding:4px;margin-bottom:24px;gap:4px;width:100%;max-width:380px}.mode-btn{flex:1;padding:13px 10px;border:none;border-radius:10px;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:600;cursor:pointer;color:#888;background:0 0;letter-spacing:.3px;transition:all .2s}.mode-btn.active{background:#f5f5f5;color:#000}.card{width:100%;max-width:400px;background:#111;border:1px solid #1a1a1a;border-radius:20px;padding:32px 28px}.card-hd{margin-bottom:24px}.card-hd h2{font-family:'Bebas Neue',sans-serif;font-size:34px;letter-spacing:1px;color:#f5f5f5;margin-bottom:4px}.card-hd p{font-size:13px;color:#888;line-height:1.5}.fld{margin-bottom:16px}.fld label{display:block;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#aaa;margin-bottom:8px;font-weight:700}.fi{width:100%;background:#1a1a1a;border:1px solid #222;border-radius:12px;padding:15px 16px;color:#f5f5f5;font-family:'DM Sans',sans-serif;font-size:15px;transition:border-color .2s;-webkit-appearance:none}.fi:focus{outline:0;border-color:#aaa}.fi::placeholder{color:#999}.btn{width:100%;padding:18px;background:#f5f5f5;color:#000;border:none;border-radius:14px;font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:2px;cursor:pointer;margin-top:8px;transition:opacity .2s,transform .15s;font-weight:700}.btn:active{transform:scale(.98);opacity:.9}.btn:disabled{opacity:.3;cursor:not-allowed;transform:none}.errmsg{background:#1a0a0a;border:1px solid #2a1010;border-radius:10px;padding:12px 16px;font-size:13px;color:#f44336;margin-top:14px;display:none;text-align:center;line-height:1.5}.loading{display:none;text-align:center;padding:16px;color:#aaa;font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:600}.loader{width:18px;height:18px;border:2px solid #222;border-top-color:#f5f5f5;border-radius:50%;animation:spin .7s linear infinite;display:inline-block;margin-right:8px;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.lock-msg{background:#1a1200;border:1px solid #2a2000;border-radius:10px;padding:12px 16px;font-size:13px;color:#ff9800;text-align:center;margin-top:14px;display:none}.susp-msg{background:#1a0a0a;border:1px solid #2a1010;border-radius:14px;padding:20px;text-align:center;margin-top:14px;display:none}.susp-msg h3{color:#f44336;font-size:16px;margin-bottom:6px}.susp-msg p{font-size:12px;color:#999;line-height:1.6}.tos-bar{width:100%;max-width:400px;margin-top:20px;text-align:center}.tos-text{font-size:11px;color:#999;line-height:1.8}.tos-link{color:#aaa;text-decoration:none;border-bottom:1px solid #999}footer{margin-top:32px;text-align:center;font-size:11px;color:#aaa;font-weight:500} @media (display-mode: browser) { .page { padding-bottom: 60px; } }
