#location-dialog{box-sizing:border-box;width:450px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:30px;border-radius:28px;background:radial-gradient(ellipse at 80% 25%,#43436166,transparent 65%),#13242c;color:#eff8f3;overflow:auto}
#location-dialog .welcome-kicker{display:block;color:#d2ff5a;font-size:10px;letter-spacing:1.6px;font-weight:800;margin:2px 0 16px}
#location-dialog h2{font-size:40px;line-height:1.05;font-weight:800;letter-spacing:-1.8px;margin:0}
#location-dialog h2 em{color:#d2ff5a;font-style:normal}
#location-dialog .welcome-lead{font-size:14px;line-height:1.55;color:#c0d0d2;margin:12px 0}
.welcome-rover{height:180px;display:flex;justify-content:center;align-items:center;margin:-7px -10px;pointer-events:none}
.welcome-rover .exp-rover3d{width:100%;max-width:350px}.welcome-rover canvas{max-width:100%;height:auto!important}
.welcome-modes{display:flex;gap:8px;margin:8px 0 18px}.welcome-modes span{flex:1;font-size:11px;border:1px solid #ffffff20;border-radius:10px;padding:10px;color:#c4d2d5}.welcome-modes b{display:block;color:#eef8f1;margin-bottom:5px;font-size:12px}
.welcome-actions{display:grid;gap:9px}.welcome-actions button{min-height:48px;width:100%;border-radius:13px;font-size:14px;font-weight:800;padding:12px 16px;background:#ffffff09;border:1px solid #ffffff22;color:#dce9e5}.welcome-actions .primary{background:#d2ff5a;color:#15210e;border:0}
#location-dialog .welcome-footer{margin:15px 0 0;font-size:11px;text-align:center;line-height:1.5}.welcome-footer a,.club-info-link{color:#adc6ce;text-decoration:underline;text-underline-offset:3px}
.rank-choices{display:grid;gap:10px;margin:18px 0}.rank-choice{width:100%;text-align:left;padding:18px;border:1px solid #ffffff25;border-radius:17px;background:#ffffff06;color:#e9f4ef}.rank-choice strong{font-size:17px;display:block}.rank-choice span{display:block;color:#d2ff5a;font-size:12px;margin-top:8px}.rank-choice small{display:block;color:#a9bcc5;line-height:1.5;margin-top:7px}.rank-back{margin:8px 0 18px;min-height:44px;color:#b8ced0;background:transparent;font-size:12px}.rank-explainer{padding:14px;border:1px solid #ffffff1c;border-radius:12px;color:#a9bcc5;font-size:12px;line-height:1.55}.rank-scope{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0}.rank-scope span{font-size:10px;padding:7px 10px;border-radius:20px;background:#d2ff5a1a;color:#d2ff5a}.rank-table-head{display:grid;grid-template-columns:32px 1fr auto;gap:12px;padding:12px 0;font-size:10px;color:#a9bcc5;border-bottom:1px solid #ffffff25}.rank-table-head span:last-child{text-align:right}
.google-auth{margin:14px 0}.google-auth button{width:100%;min-height:46px;padding:12px 16px;border:1px solid #ffffff32;border-radius:12px;background:#f6f8fb;color:#18262a;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:12px}.google-auth svg{width:20px;height:20px;flex:0 0 20px}.google-auth small{display:block;font-size:11px;color:#9fb3bc;text-align:center;margin-top:9px}
.account-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.account-links a{color:#c8ded8;font-size:12px;min-height:44px;display:inline-flex;align-items:center}
@media(max-width:400px){#location-dialog{padding:24px}#location-dialog h2{font-size:35px}.welcome-rover{height:150px}.welcome-modes{margin-bottom:14px}.welcome-modes span{padding:9px;font-size:10px}}
@media(max-height:650px){#location-dialog{padding:21px}#location-dialog h2{font-size:32px}.welcome-rover{height:110px}.welcome-rover .exp-rover3d{max-width:220px}.welcome-modes{margin:4px 0 12px}#location-dialog .welcome-lead{font-size:12px}}

.auth-notice{position:fixed;z-index:9999;top:16px;left:50%;transform:translateX(-50%);width:min(460px,calc(100vw - 32px));box-sizing:border-box;display:flex;align-items:center;gap:15px;background:#203b35;color:#ecffd3;border:1px solid #d2ff5a66;border-radius:14px;padding:12px 16px;font-size:13px;box-shadow:0 8px 35px #0008}.auth-notice button{flex-shrink:0;min-width:44px;min-height:44px;border:0;background:transparent;color:inherit;font-size:24px}.club-account>small{display:block;color:#bada9e;margin-top:16px}
.account-links .nickname-link{background:transparent;color:#d2ff5a;font:inherit;font-size:12px;min-height:44px;padding:0 10px;border:1px solid #d2ff5a55;border-radius:10px;cursor:pointer}
#nickname-dialog{box-sizing:border-box;width:440px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:28px;border:1px solid #ffffff30;border-radius:24px;background:#14292e;color:#eef8f3;overflow:auto;box-shadow:0 18px 70px #0009;font:14px/1.5 system-ui,sans-serif}
#nickname-dialog::backdrop{background:#061419b3;backdrop-filter:blur(5px)}
#nickname-dialog .nickname-kicker{font-size:10px;font-weight:800;letter-spacing:1.2px;color:#d2ff5a}
#nickname-dialog h2{font-size:28px;line-height:1.15;margin:14px 0}#nickname-dialog p{color:#bdcfd0;margin:12px 0}
#nickname-dialog label{display:block;font-weight:700;margin:20px 0 8px}#nickname-dialog input{box-sizing:border-box;width:100%;min-width:0;min-height:48px;padding:12px;font:16px system-ui,sans-serif;border:1px solid #ffffff55;border-radius:12px;color:#fff;background:#091f25}
#nickname-dialog small{display:block;font-size:12px;color:#afc5c7;margin-top:7px}#nickname-dialog #nickname-signin{font-size:12px}#nickname-dialog #nickname-error{color:#ffb8b8;font-size:13px}#nickname-dialog #nickname-error:empty{display:none}
#nickname-dialog .nickname-actions{display:flex;gap:10px;margin-top:24px}#nickname-dialog button{flex:1;min-width:0;min-height:46px;padding:10px;border-radius:12px;border:1px solid #ffffff33;background:transparent;color:#dcebea;font:600 14px system-ui,sans-serif;cursor:pointer}#nickname-dialog #nickname-save{background:#d2ff5a;border-color:#d2ff5a;color:#142215}#nickname-dialog button:disabled{opacity:.55;cursor:wait}
#nickname-dialog :focus-visible,.nickname-link:focus-visible{outline:2px solid #d2ff5a;outline-offset:3px}
@media(max-width:360px){#nickname-dialog{padding:22px}#nickname-dialog h2{font-size:25px}}
