@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&display=swap');
:root{--navy:#101a35;--blue:#3b82f6;--cyan:#43d9e8;--ink:#18243b;--muted:#718096;--panel:rgba(255,255,255,.96)}
*{box-sizing:border-box}body{margin:0;font-family:Nunito,system-ui,sans-serif;background:#0d1730;color:var(--ink);overflow:hidden}button,input{font:inherit}button{cursor:pointer;border:0}
.hidden{display:none!important}.auth-screen{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;background:radial-gradient(circle at 20% 20%,#234f88,#101a35 60%);padding:5vw;gap:5vw;align-items:center;color:#fff}.auth-art h1{font-size:clamp(42px,7vw,88px);line-height:.94;margin:22px 0;font-weight:900;letter-spacing:-3px}.auth-art h1 span{color:#48d7e8}.auth-art p{font-size:18px;color:#c8d7ef;max-width:470px}.brand-pill{display:inline-block;background:#ffffff1c;border:1px solid #ffffff35;border-radius:30px;padding:9px 15px;font-size:12px;font-weight:900;letter-spacing:1px}.auth-mascot{font-size:clamp(35px,5vw,65px);margin-top:38px;letter-spacing:8px}.auth-card{background:#fff;border-radius:25px;padding:30px;max-width:440px;width:100%;margin:auto;box-shadow:0 25px 80px #0005}.tabs{display:flex;background:#eef3fa;padding:5px;border-radius:13px;margin-bottom:25px}.tab{flex:1;padding:11px;border-radius:10px;background:transparent;color:#64748b;font-weight:900}.tab.active{background:#fff;color:#1d4ed8;box-shadow:0 2px 8px #0c234014}.auth-card h2{margin:0 0 20px;font-size:25px}.auth-card label{display:block;font-size:13px;font-weight:800;margin:13px 0 6px}.auth-card input{width:100%;border:1px solid #d9e2ef;border-radius:11px;padding:13px;outline:none}.auth-card input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f622}.primary{background:linear-gradient(110deg,#2563eb,#06b6d4);color:#fff;border-radius:12px;padding:13px 18px;font-weight:900;box-shadow:0 8px 20px #2563eb35}.wide{width:100%;margin-top:20px}.auth-card small{display:block;color:#8290a5;margin-top:18px;line-height:1.5}.message{font-size:13px;color:#dc2626;margin-top:12px;min-height:18px}
#game{position:fixed;inset:0;background:#9bd7f4}#world{position:absolute;inset:0}#world canvas{display:block;width:100%;height:100%}.topbar{position:absolute;z-index:5;top:15px;left:18px;right:18px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.topbar>*{pointer-events:auto}.game-brand,.player-chip,.glass-btn{background:#10203bd9;color:#fff;border:1px solid #ffffff30;backdrop-filter:blur(12px);border-radius:15px}.game-brand{display:flex;gap:10px;align-items:center;padding:10px 15px}.game-brand>span{font-size:27px}.game-brand b,.game-brand small,.player-chip b,.player-chip small{display:block}.game-brand b{font-size:13px;letter-spacing:1px}.game-brand small{font-size:9px;color:#91c9f5;letter-spacing:2px}.player-chip{display:flex;align-items:center;gap:9px;padding:8px 13px}.player-chip>span{font-size:27px}.player-chip b{font-size:13px}.player-chip small{font-size:10px;color:#b6c9e1}.top-actions{display:flex;gap:7px}.glass-btn{padding:10px 13px;font-size:12px;font-weight:900}.hud-left{position:absolute;z-index:4;top:95px;left:18px;display:flex;flex-direction:column;gap:9px;width:170px}.level-card,.hud-button{background:#10203bdf;color:#fff;border:1px solid #ffffff30;border-radius:14px;padding:12px;backdrop-filter:blur(10px);text-align:left}.level-card span{font-size:10px;color:#70e4ed;font-weight:900;display:block}.level-card b{font-size:17px}.xp-track{height:6px;background:#ffffff30;border-radius:9px;margin-top:8px;overflow:hidden}.xp-track i{display:block;height:100%;width:0;background:#43d9e8}.hud-button{font-weight:900;font-size:12px}.hud-button:hover,.glass-btn:hover{background:#2563eb}.location-label{position:absolute;z-index:3;top:98px;left:50%;transform:translateX(-50%);background:#10203bc9;color:white;padding:9px 18px;border-radius:30px;font-size:11px;font-weight:900;letter-spacing:1px;white-space:nowrap}.live-dot{display:inline-block;width:7px;height:7px;background:#4ade80;border-radius:50%;margin-right:6px}.crosshair{position:absolute;top:50%;left:50%;color:#fff;text-shadow:0 1px 5px #000;font-size:22px;transform:translate(-50%,-50%);pointer-events:none}.hint,.nearby-hint{position:absolute;z-index:3;bottom:18px;left:50%;transform:translateX(-50%);background:#10203bd9;color:#fff;border-radius:30px;padding:9px 15px;font-size:11px;white-space:nowrap}.nearby-hint{bottom:55px;color:#a5f3fc}.panel{position:absolute;z-index:10;top:50%;left:50%;transform:translate(-50%,-50%);width:min(440px,92vw);max-height:78vh;overflow:auto;background:var(--panel);border-radius:22px;padding:22px;box-shadow:0 25px 80px #07132966}.wide-panel{width:min(850px,94vw)}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.panel-head small{color:#3b82f6;font-size:10px;font-weight:900;letter-spacing:1.5px}.panel-head h2{margin:3px 0;font-size:25px}.close{width:32px;height:32px;border-radius:50%;background:#edf2f8;color:#475569;font-size:22px}.mission-item{border:1px solid #e3eaf3;border-radius:14px;padding:13px;margin:9px 0;display:flex;gap:12px;align-items:center}.mission-icon{width:43px;height:43px;border-radius:12px;background:#e8f5ff;display:grid;place-items:center;font-size:22px}.mission-item div:nth-child(2){flex:1}.mission-item b{display:block;font-size:13px}.mission-item small{color:#718096;font-size:11px}.mission-item button{background:#2563eb;color:#fff;padding:8px 11px;border-radius:9px;font-size:11px;font-weight:900}.avatar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.avatar-option{background:#f1f6fb;border:2px solid transparent;border-radius:15px;padding:13px;text-align:center;font-weight:900;color:#24334c}.avatar-option span{display:block;font-size:37px}.avatar-option.selected{border-color:#2563eb;background:#eff6ff}.modal{position:absolute;inset:0;z-index:20;background:#06132999;display:grid;place-items:center;padding:15px}.modal-card{position:relative;background:white;border-radius:23px;width:min(540px,96vw);max-height:88vh;overflow:auto;padding:27px;box-shadow:0 25px 80px #0005}.modal-close{position:absolute;right:16px;top:16px}.modal-card h2{margin:3px 40px 10px 0}.modal-card p{color:#64748b;font-size:14px;line-height:1.6}.task-list{padding-left:22px;color:#334155;font-size:14px;line-height:1.9}.task-box{background:#eff6ff;border:1px solid #dbeafe;padding:14px;border-radius:13px;margin:15px 0}.task-box label{display:block;margin:8px 0;font-size:13px}.task-box input{margin-right:8px}.complete-btn{background:#16a34a;color:white;padding:12px 16px;border-radius:11px;font-weight:900;width:100%;margin-top:12px}.complete-btn:disabled{opacity:.45;cursor:not-allowed}.toast{position:absolute;z-index:30;top:85px;left:50%;transform:translateX(-50%);background:#10203b;color:#fff;padding:12px 18px;border-radius:12px;opacity:0;transition:.2s;pointer-events:none}.toast.show{opacity:1}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.stat{background:#eff6ff;border-radius:13px;padding:13px}.stat b{display:block;font-size:24px;color:#1d4ed8}.stat small{color:#64748b}.data-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:12px}.data-table th,.data-table td{text-align:left;padding:9px;border-bottom:1px solid #e5eaf1}.data-table th{color:#64748b}.mobile-controls{display:none;position:absolute;z-index:4;bottom:30px;left:20px;right:20px;justify-content:space-between;align-items:end;pointer-events:none}.mobile-controls>*{pointer-events:auto}#joystick{width:110px;height:110px;border-radius:50%;background:#10203b55;border:2px solid #ffffff99;position:relative;touch-action:none}#stick{position:absolute;width:43px;height:43px;left:31px;top:31px;border-radius:50%;background:#ffffffd9;box-shadow:0 3px 10px #0004}#jumpBtn{width:65px;height:65px;border-radius:50%;background:#10203bdc;color:white;font-size:25px;border:2px solid #ffffff88}.rank-row{display:flex;align-items:center;padding:10px;border-bottom:1px solid #edf1f6;gap:10px}.rank-row b{flex:1}.rank-row span{color:#2563eb;font-weight:900}.empty{color:#94a3b8;text-align:center;padding:20px}
@media(max-width:700px){.auth-screen{grid-template-columns:1fr;padding:22px;gap:15px}.auth-art{text-align:center}.auth-art h1{font-size:44px}.auth-art p{font-size:14px;margin:auto}.auth-mascot{margin-top:10px}.auth-card{padding:22px}.topbar{top:8px;left:8px;right:8px;flex-wrap:wrap;gap:6px}.game-brand{padding:7px 9px}.game-brand>span{font-size:20px}.game-brand b{font-size:10px}.game-brand small{font-size:7px}.player-chip{padding:6px 8px}.player-chip>span{font-size:20px}.player-chip b{font-size:10px}.player-chip small{font-size:8px}.top-actions{width:100%;justify-content:flex-end}.glass-btn{padding:7px 9px;font-size:10px}.hud-left{top:112px;left:8px;width:125px;gap:6px}.level-card,.hud-button{padding:8px;border-radius:10px}.level-card b{font-size:14px}.hud-button{font-size:10px}.location-label{top:112px;left:auto;right:8px;transform:none;font-size:9px;padding:8px}.hint{display:none}.mobile-controls{display:flex}.nearby-hint{bottom:145px;font-size:10px;max-width:90%;text-align:center}.panel{top:53%;padding:17px}.wide-panel{width:96vw}.stats-grid{grid-template-columns:repeat(2,1fr)}}
