#auth-screen{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:radial-gradient(ellipse at 50% 0%,#315a43 0%,#142b20 48%,#09150f 100%);overflow:auto}#auth-screen[hidden]{display:none}.auth-panel{width:min(100%,420px);padding:clamp(22px,6vw,34px);border:1px solid #d8c27b66;border-radius:22px;background:linear-gradient(155deg,#203e30f5,#10251df7);box-shadow:0 24px 80px #0008;color:#f3f7ed}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:30px}.auth-crest{width:46px;height:46px;border:1px solid #d8c27b;border-radius:14px;display:grid;place-items:center;background:#315b40;color:#f5d98d;font-family:Rajdhani;font-size:30px;font-weight:700}.auth-brand strong{display:block;font-family:Rajdhani;font-size:22px;letter-spacing:2px}.auth-brand small{font-size:9px;letter-spacing:1.7px;color:#c6d4bd}.auth-panel h1{margin:0 0 7px;font-family:Rajdhani;font-size:30px}.auth-subtitle{margin:0 0 22px;color:#c3d0c0;font-size:13px;line-height:1.5}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;margin-bottom:18px;border-radius:11px;background:#0b1c14}.auth-tabs button{border:0;border-radius:8px;padding:10px;background:transparent;color:#b7c5b8;font-weight:700}.auth-tabs button.selected{background:#d9c27c;color:#17271c}.auth-panel form{display:grid;gap:13px}.auth-panel label{display:grid;gap:7px;color:#e0e9dc;font-size:12px;font-weight:700}.auth-panel input{width:100%;min-height:46px;border:1px solid #71877377;border-radius:10px;padding:0 13px;background:#0b1b13;color:#fff;font:inherit;font-size:14px;outline:none}.auth-panel input:focus{border-color:#e0c779;box-shadow:0 0 0 3px #e0c77922}.auth-panel input::placeholder{color:#748578}.auth-primary,.auth-google{width:100%;min-height:47px;border-radius:10px;font:inherit;font-weight:800;cursor:pointer}.auth-primary{margin-top:4px;border:1px solid #f0d98f;background:linear-gradient(135deg,#e3c875,#b89549);color:#1c2a1e}.auth-primary:disabled,.auth-google:disabled{opacity:.55;cursor:wait}.auth-divider{display:flex;align-items:center;gap:12px;margin:17px 0;color:#8ea18e;font-size:11px}.auth-divider:before,.auth-divider:after{content:'';height:1px;flex:1;background:#71877355}.auth-google{border:1px solid #9aaf9a66;background:#f4f6f0;color:#26352a}.auth-google b{display:inline-grid;place-items:center;width:21px;height:21px;margin-right:8px;border-radius:50%;background:#fff;color:#4285f4;font-size:15px}.auth-message{min-height:18px;margin:12px 0 0;font-size:12px;line-height:1.4}.auth-message.error{color:#ffaaa0}.auth-message.success{color:#b9e6a8}.auth-terms,.auth-hint{margin:14px 0 0;color:#91a392;font-size:10px;line-height:1.5}.auth-logout{margin-top:18px;padding:9px 0;border:0;background:transparent;color:#d6c47f;font-size:12px;text-decoration:underline}.auth-panel [hidden]{display:none!important}@media(max-height:650px){#auth-screen{place-items:start center}.auth-panel{margin:auto 0;padding:20px}.auth-brand{margin-bottom:18px}}
.character-choice{margin:0 0 14px}.character-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.character-option{min-height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px solid #71877377;border-radius:14px;background:#0b1b13;color:#e8eee3;font:inherit;cursor:pointer}.character-option.selected{border:2px solid #e0c779;background:linear-gradient(145deg,#42553a,#1b3325);box-shadow:0 0 0 3px #e0c77922}.character-icon{font-size:36px;line-height:1;color:#e0c779}.character-option b{font-size:14px}.character-choice .auth-hint{margin:0 0 8px}

.character-preview{width:100%;height:290px;overflow:hidden;border:1px solid #8e83ce88;border-radius:16px;background:radial-gradient(ellipse at 50% 35%,#56518c 0%,#292d59 58%,#171f3d 100%);touch-action:pan-y}.character-preview canvas{display:block;width:100%;height:100%;touch-action:pan-y}.preview-hint{text-align:center;margin:7px 0 14px;color:#b8b6d5;font-size:10px}.character-options{margin-bottom:14px}.character-option{min-height:64px}.character-icon{font-size:28px}
