@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--navy:#07152b;--navy2:#0d2140;--panel:rgba(8,22,43,.84);--line:rgba(184,213,255,.15);--muted:#91a6c2;--cyan:#65e4ee;--blue:#5e8cff;--gold:#ffc96b;--green:#7fe3b0;--white:#f6f9ff;--shadow:0 18px 60px rgba(0,0,0,.28)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:'DM Sans',sans-serif;color:var(--white)}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}
/* Login */
.auth-page{min-height:100vh;background:radial-gradient(circle at 15% 15%,#1c4274 0,transparent 32%),radial-gradient(circle at 90% 80%,#183b68 0,transparent 35%),linear-gradient(135deg,#061226,#0b1c35 55%,#0b1830);overflow-x:hidden;display:flex;align-items:center;justify-content:center;padding:38px 22px;position:relative}.auth-backdrop{position:absolute;inset:0;overflow:hidden;pointer-events:none}.orb{position:absolute;border-radius:50%;filter:blur(2px);opacity:.16}.orb-one{width:370px;height:370px;background:#54d5e9;top:-200px;right:12%}.orb-two{width:480px;height:480px;border:1px solid #7ca8ff;bottom:-300px;left:5%;opacity:.23}.auth-stars{position:absolute;top:16%;left:12%;color:#9bdaf1;letter-spacing:20px;opacity:.3}.auth-layout{position:relative;z-index:1;width:min(1120px,100%);display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:65px}.auth-intro{padding:20px 0}.brand-line{display:flex;align-items:center;gap:12px;font-family:'Space Grotesk',sans-serif;font-size:19px;letter-spacing:2px;font-weight:600}.brand-logo{width:39px;height:39px;display:grid;place-items:center;border:1px solid #4b9cb5;border-radius:13px;background:linear-gradient(145deg,#15395f,#102641);font-size:21px}.brand-line b{color:var(--cyan)}.live-pill{font:700 9px 'DM Sans';letter-spacing:1px;color:#8ce5bd;border:1px solid rgba(124,227,176,.3);background:rgba(68,171,123,.12);padding:6px 9px;border-radius:30px;margin-left:4px}.eyebrow{font-size:10px;letter-spacing:2.6px;color:var(--cyan);font-weight:800;margin:34px 0 12px}.auth-intro h1,.teacher-welcome h1{font:700 clamp(36px,5vw,58px)/1.08 'Space Grotesk',sans-serif;letter-spacing:-2px;margin:0}.auth-intro h1 span,.teacher-welcome h1 span{color:var(--cyan)}.intro-copy{max-width:460px;color:#b2c3da;line-height:1.8;font-size:15px;margin:23px 0}.feature-chips{display:flex;flex-wrap:wrap;gap:9px;margin:25px 0}.feature-chips span{border:1px solid rgba(161,197,245,.2);background:rgba(255,255,255,.045);border-radius:30px;padding:9px 12px;color:#d3e1f6;font-size:12px}.animal-preview{display:flex;align-items:center;gap:9px;margin-top:35px}.animal-preview span{width:47px;height:47px;display:grid;place-items:center;border-radius:16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);font-size:25px;transform:rotate(-4deg)}.animal-preview span:nth-child(even){transform:rotate(5deg) translateY(-7px)}.intro-foot{display:block;color:#718aa9;font-size:11px;margin-top:34px;letter-spacing:.5px}.auth-card{background:rgba(12,29,53,.88);border:1px solid rgba(174,211,255,.18);box-shadow:var(--shadow);border-radius:25px;padding:27px 29px;backdrop-filter:blur(20px);width:100%;max-width:470px;justify-self:end}.auth-card-top{display:flex;align-items:center;gap:13px;margin-bottom:24px}.mini-logo{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(140deg,#237d9c,#355be5);font:800 14px 'Space Grotesk';box-shadow:0 8px 24px rgba(52,125,210,.25)}.auth-card-top strong{display:block;font:700 16px 'Space Grotesk'}.auth-card-top small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;background:rgba(3,12,25,.55);border-radius:12px;margin-bottom:23px}.auth-tab{background:transparent;border:0;color:#91a5c1;padding:10px;border-radius:9px;font-size:12px;font-weight:700}.auth-tab.active{background:#1b395b;color:#eaf8ff;box-shadow:0 3px 14px rgba(0,0,0,.14)}.auth-form{display:flex;flex-direction:column;gap:9px}.auth-form.hidden{display:none}.auth-form label,.teacher-form label{font-size:11px;color:#b2c4dc;font-weight:700;margin-top:5px}.auth-form input:not([type=radio]),.auth-form select,.teacher-form input{width:100%;border:1px solid rgba(167,198,236,.18);background:rgba(3,13,27,.52);color:white;padding:13px 14px;border-radius:10px;outline:none;font-size:13px}.auth-form input:focus,.auth-form select:focus,.teacher-form input:focus{border-color:#5bb9d6;box-shadow:0 0 0 3px rgba(91,185,214,.12)}.auth-form select option,.mission-modal select option{background:#102442;color:white}.primary-btn,.primary-link{border:0;color:#07182e;background:linear-gradient(100deg,#69dce6,#75b6ff);border-radius:11px;padding:13px 16px;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 8px 22px rgba(54,166,205,.18);transition:.2s}.primary-btn{margin-top:10px}.primary-btn:hover,.primary-link:hover{filter:brightness(1.08);transform:translateY(-1px)}.primary-btn span,.primary-link span{font-size:18px}.form-foot,.small-note{color:#8197b5;font-size:10px;text-align:center;line-height:1.6;margin:5px 0 0}.auth-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:15px;margin-top:19px;color:#87a0bd;font-size:10px;text-align:center}.animal-picker{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:2px 0 3px}.animal-picker label{margin:0;cursor:pointer}.animal-picker input{position:absolute;opacity:0;pointer-events:none}.animal-picker label span{display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 2px;border:1px solid rgba(159,194,232,.17);border-radius:10px;background:rgba(255,255,255,.035);font-size:21px}.animal-picker label small{font-size:8px;color:#9fb3cf}.animal-picker label.selected span,.animal-picker label:has(input:checked) span{border-color:#65dce4;background:rgba(79,190,211,.13)}.alert{border-radius:10px;padding:11px 13px;font-size:12px;line-height:1.6;margin:0 0 16px}.alert.error{background:rgba(217,74,93,.13);border:1px solid rgba(241,113,127,.25);color:#ffc0c8}.alert.success{background:rgba(77,190,133,.13);border:1px solid rgba(77,190,133,.25);color:#b8f6d4}.install-card{max-width:510px}.install-card h1{font:700 29px 'Space Grotesk';margin:10px 0 20px}.install-card .eyebrow{margin-top:20px}.credential-box{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:15px;background:rgba(0,0,0,.17);border-radius:12px;margin:15px 0}.credential-box span{font-size:11px;color:#8fa7c4}.credential-box strong{font-size:13px}.install-card .primary-link{margin-top:18px}
/* Game scene */
.game-page{background:#07152b;overflow:hidden;overscroll-behavior:none}.game-page #gameRoot{position:relative;width:100vw;height:100dvh;min-height:540px;overflow:hidden}.game-page #gameCanvas{position:absolute;inset:0;background:linear-gradient(#99c9e4,#cee6ed 52%,#82b88a)}.game-page canvas{display:block;width:100%;height:100%;touch-action:none}.glass-panel{background:linear-gradient(145deg,rgba(8,23,44,.91),rgba(9,29,53,.82));border:1px solid rgba(185,215,255,.17);box-shadow:0 12px 38px rgba(4,14,31,.25);backdrop-filter:blur(15px)}.game-topbar{position:absolute;z-index:5;top:0;left:0;right:0;height:65px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,rgba(4,16,33,.83),rgba(4,16,33,.05));pointer-events:none}.game-brand{display:flex;align-items:center;gap:9px;font:700 15px 'Space Grotesk';letter-spacing:1.4px;pointer-events:auto}.game-brand span{font-size:21px}.game-brand b{color:#e8f8ff}.world-tag{font-size:9px;letter-spacing:1.2px;color:#d9edf6;background:rgba(5,20,40,.42);padding:8px 12px;border:1px solid rgba(255,255,255,.14);border-radius:30px}.world-tag i,.live-dot{display:inline-block;width:6px;height:6px;border-radius:100%;background:#6fe5ac;box-shadow:0 0 10px #6fe5ac;margin-right:5px}.top-user{display:flex;align-items:center;gap:9px;pointer-events:auto;background:rgba(5,18,36,.5);border:1px solid rgba(255,255,255,.13);padding:5px 8px 5px 5px;border-radius:12px}.top-avatar{width:32px;height:32px;border-radius:10px;background:rgba(255,255,255,.1);display:grid;place-items:center;font-size:20px}.top-user b{display:block;font-size:11px;max-width:125px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-user small{display:block;color:#9cb5cf;font-size:9px;margin-top:2px}.icon-link{font-size:18px;margin-left:6px;color:#a8bfd8}.hud-left{position:absolute;z-index:4;left:18px;top:82px;bottom:18px;width:275px;border-radius:18px;padding:17px 16px;display:flex;flex-direction:column;max-height:calc(100dvh - 100px)}.hud-heading{display:flex;justify-content:space-between;align-items:center}.hud-heading small,.panel-title small{color:#7fa2c7;font-size:8px;letter-spacing:1.5px;font-weight:800}.hud-heading h2{font:700 19px 'Space Grotesk';margin:3px 0 0}.quest-icon{font-size:22px;color:#80dce8}.xp-line{margin-top:17px}.xp-line>div:first-child{display:flex;justify-content:space-between;color:#8ba4c2;font-size:9px;letter-spacing:.5px}.xp-line>div:first-child b{color:#dff8ff}.xp-track{height:6px;border-radius:9px;background:rgba(255,255,255,.1);margin-top:8px;overflow:hidden}.xp-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#5de2c0,#68c8ff);border-radius:9px;transition:width .3s}.mission-progress{display:flex;justify-content:space-between;color:#91a8c4;font-size:9px;margin:13px 0 9px}.mission-list{display:flex;flex-direction:column;gap:6px;overflow:auto;min-height:80px;padding-right:3px}.mission-item{display:flex;align-items:center;gap:9px;padding:9px 8px;border:1px solid rgba(174,205,245,.1);background:rgba(255,255,255,.035);border-radius:11px;cursor:pointer;transition:.15s}.mission-item:hover{background:rgba(83,174,207,.13);border-color:rgba(101,213,226,.3)}.mission-item.done{opacity:.55}.mission-item .mission-symbol{width:31px;height:31px;flex:0 0 31px;border-radius:9px;background:rgba(107,171,230,.13);display:grid;place-items:center;font-size:16px}.mission-item b{display:block;font-size:10px;line-height:1.3}.mission-item small{display:block;color:#91a7c2;font-size:8px;margin-top:3px}.mission-check{margin-left:auto;color:#75e8b3;font-size:15px}.side-divider{border-top:1px solid rgba(255,255,255,.08);margin:13px 0 10px}.mini-section-title{font-size:8px;font-weight:800;letter-spacing:1.4px;color:#82a3c5}.map-legend{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:9px 0;font-size:8px;color:#a7bad2}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:3px}.dot-blue{background:#62c7ef}.dot-orange{background:#ffb977}.dot-purple{background:#af9bff}.dot-green{background:#79e6a6}.mini-map{height:72px;background:linear-gradient(135deg,#244f60,#376e68);border-radius:9px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.12);flex:0 0 72px}.map-road{position:absolute;background:#95a9a3;opacity:.5}.map-road-a{height:13px;width:130%;top:31px;left:-10px;transform:rotate(-21deg)}.map-road-b{height:100px;width:10px;top:-12px;left:55%;transform:rotate(28deg)}.map-pin{position:absolute;width:7px;height:7px;border-radius:100%;border:1px solid rgba(255,255,255,.8);box-shadow:0 0 0 3px rgba(255,255,255,.13)}.pin-player{left:50%;top:50%;background:white}.pin-lab{left:22%;top:28%;background:#62c7ef}.pin-house{right:20%;top:20%;background:#ffb977}.pin-server{right:28%;bottom:17%;background:#af9bff}.pin-puzzle{left:25%;bottom:15%;background:#79e6a6}.hud-right{position:absolute;z-index:4;right:18px;top:82px;width:206px;display:flex;flex-direction:column;gap:9px}.online-card,.leader-card{border-radius:15px;padding:12px 13px}.online-top{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1px;color:#a7bad1;font-weight:800}.online-top b{font:700 19px 'Space Grotesk';color:#7ce9b5}.online-avatars{display:flex;gap:4px;margin:9px 0 7px}.online-avatars span{width:24px;height:24px;display:grid;place-items:center;border-radius:8px;background:rgba(255,255,255,.08);font-size:14px}.online-card>small{color:#8299b5;font-size:8px}.leader-title{display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:1px;margin-bottom:9px}.leader-title span{font-size:15px}.leader-row{display:flex;align-items:center;gap:7px;padding:7px 0;border-top:1px solid rgba(255,255,255,.065)}.leader-row:first-of-type{border-top:0}.leader-rank{font-size:9px;color:#a7bbd3;width:13px}.leader-avatar{width:24px;height:24px;border-radius:8px;background:rgba(255,255,255,.08);display:grid;place-items:center;font-size:14px}.leader-name{font-size:9px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leader-score{font-size:8px;color:#7edfe3;font-weight:800}.help-btn{border:1px solid rgba(255,255,255,.18);color:#e0efff;background:rgba(6,23,43,.56);border-radius:10px;padding:10px;font-size:10px;font-weight:700}.interaction-hint{position:absolute;z-index:3;left:50%;top:19%;transform:translateX(-50%);display:none;align-items:center;gap:8px;border-radius:40px;background:rgba(5,18,34,.78);border:1px solid rgba(255,255,255,.2);padding:7px 12px;backdrop-filter:blur(9px)}.interaction-hint.visible{display:flex}.interaction-hint>span{width:22px;height:22px;background:#72dfe4;color:#092038;border-radius:6px;display:grid;place-items:center;font-size:11px;font-weight:900}.interaction-hint b{font-size:9px;letter-spacing:1px}.interaction-hint small{color:#a8bbd2;font-size:9px}.bottom-controls{position:absolute;z-index:4;left:50%;bottom:18px;transform:translateX(-50%);display:flex;align-items:flex-end;gap:12px;pointer-events:none}.dpad{display:none;pointer-events:auto;flex-direction:column;align-items:center;gap:4px}.dpad>button,.dpad>div button{width:37px;height:33px;border:1px solid rgba(255,255,255,.2);background:rgba(7,23,43,.72);color:white;border-radius:8px;font-size:12px}.dpad>div{display:flex;gap:4px}.dpad button:active{background:#267d9a}.control-note{color:#d0e1ef;background:rgba(5,17,33,.55);border:1px solid rgba(255,255,255,.13);padding:9px 12px;border-radius:9px;font-size:9px;backdrop-filter:blur(8px)}.interact-button,.avatar-button{pointer-events:auto;border:1px solid rgba(255,255,255,.18);background:linear-gradient(110deg,#60d8df,#71b7ff);color:#09203b;padding:11px 14px;border-radius:10px;font-size:9px;font-weight:900;letter-spacing:.4px;box-shadow:0 6px 18px rgba(0,0,0,.17)}.avatar-button{background:rgba(6,22,42,.77);color:#e6f6ff}.crosshair{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%);color:rgba(255,255,255,.6);font-size:16px;text-shadow:0 1px 4px #17334a;pointer-events:none}.toast{position:absolute;z-index:10;left:50%;top:78px;transform:translate(-50%,-10px);opacity:0;pointer-events:none;background:rgba(8,25,47,.94);border:1px solid rgba(112,220,224,.35);border-radius:11px;padding:11px 17px;color:#e8f9ff;font-size:11px;box-shadow:var(--shadow);transition:.25s;max-width:min(90vw,460px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.modal-backdrop{position:absolute;inset:0;z-index:20;display:none;align-items:center;justify-content:center;padding:17px;background:rgba(1,8,18,.62);backdrop-filter:blur(7px)}.modal-backdrop.open{display:flex}.mission-modal{position:relative;width:min(520px,100%);max-height:min(86dvh,760px);overflow-y:auto;border-radius:20px;padding:25px 27px;color:#f4f8ff}.modal-close{position:absolute;right:14px;top:12px;width:29px;height:29px;border-radius:9px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:white;font-size:19px}.modal-kicker{font-size:9px;letter-spacing:1.7px;color:var(--cyan);font-weight:900}.modal-title{font:700 25px 'Space Grotesk';margin:8px 25px 8px 0}.modal-subtitle{color:#9eb3cf;font-size:11px;line-height:1.7;margin:0 0 16px}.mission-story{border:1px solid rgba(131,190,226,.15);background:rgba(255,255,255,.045);padding:13px 14px;border-radius:12px;margin-bottom:16px;color:#c8d9ec;font-size:11px;line-height:1.7}.mission-story b{color:#f1fbff}.mission-form{display:flex;flex-direction:column;gap:10px}.mission-form label{font-size:10px;color:#a9c0d9;font-weight:700}.mission-form input,.mission-form select{width:100%;padding:11px 12px;background:rgba(2,12,26,.64);border:1px solid rgba(160,194,233,.22);border-radius:9px;color:#f7fbff;font-size:12px;outline:none}.mission-form input:focus,.mission-form select:focus{border-color:#67cedd}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.field-unit{display:flex;flex-direction:column;gap:5px}.mission-submit{width:100%;border:0;background:linear-gradient(100deg,#68e1dc,#7cb4ff);color:#08203a;border-radius:10px;padding:12px;font-size:11px;font-weight:900;margin-top:5px}.mission-feedback{font-size:10px;color:#ffb4b9;min-height:15px;line-height:1.5}.avatar-modal{max-width:470px}.avatar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px}.avatar-choice{border:1px solid rgba(173,211,247,.17);background:rgba(255,255,255,.04);border-radius:13px;padding:12px 4px;color:#eaf6ff;display:flex;flex-direction:column;align-items:center;gap:5px}.avatar-choice span{font-size:30px}.avatar-choice small{font-size:9px;color:#a6bad2}.avatar-choice.selected{border-color:#6cdae3;background:rgba(75,192,211,.16)}.loading-line{font-size:10px;color:#8ca4c0;padding:10px}
/* Teacher */
.teacher-page{background:#07152b;min-height:100vh;color:#eef5ff}.teacher-top{height:67px;padding:0 max(22px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(6,19,38,.9)}.teacher-top-right{display:flex;align-items:center;gap:13px;font-size:11px;color:#a8bad1}.teacher-top-right b{color:#eff8ff}.logout-chip{padding:8px 11px;border-radius:8px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1)}.teacher-main{width:min(1180px,calc(100% - 36px));margin:36px auto 25px}.teacher-welcome{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:25px}.teacher-welcome .eyebrow{margin:0 0 10px}.teacher-welcome h1{font-size:38px}.teacher-welcome p:not(.eyebrow){color:#97adc8;font-size:12px}.teacher-welcome .primary-link{padding:11px 15px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:17px}.stat-card{border:1px solid rgba(171,205,242,.13);background:linear-gradient(145deg,rgba(17,42,73,.9),rgba(9,26,50,.88));padding:17px 18px;border-radius:15px;display:grid;grid-template-columns:36px 1fr;column-gap:10px;align-items:center}.stat-card>span{grid-row:span 2;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.07);font-size:18px}.stat-card small{font-size:10px;color:#8fa9c6}.stat-card strong{font:700 23px 'Space Grotesk';margin-top:3px}.teacher-content-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,.85fr);gap:16px}.teacher-panel{border:1px solid rgba(171,205,242,.13);background:rgba(10,28,52,.86);border-radius:15px;padding:18px;min-width:0}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.panel-title h2{font:700 18px 'Space Grotesk';margin:4px 0 0}.panel-count{font-size:10px;color:#9eb4ce;padding:7px 10px;border-radius:20px;background:rgba(255,255,255,.06)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;color:#819ab9;font-size:9px;letter-spacing:.6px;font-weight:800;padding:11px 9px;border-bottom:1px solid rgba(255,255,255,.1)}td{padding:12px 9px;border-bottom:1px solid rgba(255,255,255,.055);font-size:11px;color:#c9d8e9}td b{color:#eff8ff}.sub-cell{display:block;color:#718ba9;font-size:9px;margin-top:3px}.rank-number{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:rgba(255,255,255,.07);font-weight:800}.score-cell{color:#77dce4}.empty-cell{text-align:center;color:#8fa8c2;padding:25px}.teacher-side{display:flex;flex-direction:column;gap:14px}.teacher-form{display:flex;flex-direction:column;gap:8px}.teacher-form input{padding:10px 11px;font-size:11px}.teacher-form label{margin-top:3px}.teacher-form .primary-btn{font-size:11px;padding:11px}.teacher-account{display:flex;align-items:center;gap:9px;padding:8px 0;border-top:1px solid rgba(255,255,255,.07)}.teacher-account:first-of-type{border-top:0}.teacher-avatar{width:31px;height:31px;display:grid;place-items:center;background:rgba(255,255,255,.08);border-radius:9px}.teacher-account b{display:block;font-size:11px}.teacher-account small{display:block;font-size:9px;color:#8ca4c0;margin-top:2px}.you-tag{margin-left:auto;font-size:8px;color:#7fe1b0;border:1px solid rgba(127,225,176,.3);padding:4px 6px;border-radius:5px}.teacher-footer{text-align:center;color:#627e9e;font-size:10px;padding:22px 0}
@media (max-width:1050px){.hud-left{width:245px}.hud-right{width:185px}.mission-item{padding:8px 7px}.auth-layout{gap:35px}}
@media (max-width:760px){.auth-page{padding:20px 14px}.auth-layout{grid-template-columns:1fr;gap:24px;max-width:480px}.auth-intro{padding:10px 5px 0}.auth-intro .eyebrow{margin-top:23px}.auth-intro h1{font-size:38px}.intro-copy{font-size:12px;margin:14px 0}.feature-chips{gap:6px;margin:14px 0}.feature-chips span{font-size:10px;padding:7px 9px}.animal-preview{margin-top:14px}.animal-preview span{width:35px;height:35px;font-size:19px}.intro-foot{display:none}.auth-card{justify-self:center;padding:22px 18px}.animal-picker{grid-template-columns:repeat(4,1fr)}.game-page #gameRoot{min-height:500px}.game-topbar{height:55px;padding:0 11px}.game-brand{font-size:12px;gap:5px}.world-tag{font-size:7px;padding:6px 8px;letter-spacing:.5px}.top-user{gap:5px;padding:4px 6px}.top-avatar{width:27px;height:27px;font-size:17px}.top-user b{max-width:84px;font-size:9px}.top-user small{font-size:8px}.hud-left{left:9px;top:64px;bottom:auto;width:190px;max-height:43dvh;padding:11px;border-radius:13px}.hud-heading h2{font-size:15px}.hud-heading small{font-size:7px}.quest-icon{font-size:17px}.xp-line{margin-top:10px}.xp-line>div:first-child{font-size:8px}.mission-progress{font-size:8px;margin:9px 0 6px}.mission-list{gap:4px;min-height:60px}.mission-item{gap:6px;padding:6px}.mission-item .mission-symbol{width:25px;height:25px;flex-basis:25px;font-size:13px}.mission-item b{font-size:8px}.mission-item small{font-size:7px}.mission-check{font-size:12px}.side-divider{margin:8px 0 7px}.mini-section-title{font-size:7px}.map-legend{font-size:7px;gap:4px;margin:6px 0}.mini-map{height:48px;flex-basis:48px}.map-road-a{top:21px;height:9px}.hud-right{right:9px;top:64px;width:130px;gap:6px}.online-card,.leader-card{padding:8px;border-radius:11px}.online-top{font-size:7px}.online-top b{font-size:15px}.online-avatars{margin:5px 0}.online-avatars span{width:19px;height:19px;font-size:11px}.online-card>small{font-size:7px}.leader-title{font-size:7px;margin-bottom:5px}.leader-title span{font-size:12px}.leader-row{gap:4px;padding:5px 0}.leader-rank{font-size:7px;width:10px}.leader-avatar{width:19px;height:19px;font-size:11px}.leader-name{font-size:7px}.leader-score{font-size:7px}.help-btn{font-size:8px;padding:7px}.bottom-controls{bottom:10px;left:10px;right:10px;transform:none;justify-content:space-between;gap:5px}.dpad{display:flex}.dpad>button,.dpad>div button{width:32px;height:28px;font-size:10px}.control-note{display:none}.interact-button,.avatar-button{font-size:8px;padding:10px 9px}.crosshair{display:none}.interaction-hint{top:51%;padding:6px 9px;gap:5px}.interaction-hint b{font-size:8px}.interaction-hint small{font-size:8px}.toast{top:60px;font-size:9px;padding:9px 12px}.mission-modal{padding:22px 17px;border-radius:16px}.modal-title{font-size:21px}.mission-story{font-size:10px;padding:10px}.field-grid{gap:7px}.mission-form input,.mission-form select{font-size:11px;padding:10px}.avatar-grid{grid-template-columns:repeat(4,1fr)}.avatar-choice span{font-size:25px}.avatar-choice{padding:9px 2px}.teacher-top{padding:0 14px}.teacher-main{width:calc(100% - 24px);margin-top:22px}.teacher-welcome{align-items:flex-start;gap:15px;flex-direction:column}.teacher-welcome h1{font-size:31px}.teacher-welcome p:not(.eyebrow){font-size:11px}.stat-grid{grid-template-columns:repeat(2,1fr);gap:8px}.stat-card{padding:12px;grid-template-columns:30px 1fr}.stat-card>span{width:30px;height:30px;font-size:15px}.stat-card strong{font-size:19px}.stat-card small{font-size:9px}.teacher-content-grid{grid-template-columns:1fr}.teacher-panel{padding:13px}.teacher-top-right{gap:7px;font-size:9px}.teacher-top-right>span{display:none}.table-wrap table{min-width:500px}}
@media (max-height:650px) and (min-width:761px){.hud-left{max-height:calc(100dvh - 95px);padding:11px}.mission-item{padding:6px}.mini-map{height:42px;flex-basis:42px}.hud-right{top:72px}.game-topbar{height:56px}}
