.phys-category-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#000000eb;animation:physFadeIn .2s ease-out}@keyframes physFadeIn{0%{opacity:0}to{opacity:1}}@keyframes physScaleIn{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.phys-category-content{text-align:center;animation:physScaleIn .3s ease-out;max-width:min(90vw,600px);padding:clamp(20px,4vw,40px);background:#ffffff0d;border-radius:clamp(16px,3vw,24px);border:1px solid rgba(255,255,255,.15)}.phys-category-title{font-size:clamp(28px,6vw,48px);margin:0 0 12px;color:#f59e0b;font-weight:700}.phys-category-subtitle{color:#ffffffd9;font-size:clamp(15px,3vw,19px);margin:0 0 32px;font-weight:500}.phys-category-grid{display:grid;gap:clamp(12px,2.5vw,16px);margin-bottom:24px}.phys-category-grid.portrait{grid-template-columns:1fr}.phys-category-grid.landscape{grid-template-columns:repeat(2,1fr)}.phys-cat-btn{padding:clamp(12px,2.8vw,16px) clamp(16px,3.5vw,20px);border-radius:clamp(8px,2vw,12px);border:2px solid;color:#fff;font-size:clamp(14px,3vw,16px);font-weight:600;cursor:pointer;transition:all .2s ease;background:transparent}.phys-cat-btn:hover{transform:scale(1.03)}.phys-cat-btn:active{transform:scale(.98)}.phys-cat-btn-mountains{border-color:#8b5cf699;background:#8b5cf61f}.phys-cat-btn-mountains:hover{background:#8b5cf640;border-color:#8b5cf6cc}.phys-cat-btn-rivers{border-color:#3b82f699;background:#3b82f61f}.phys-cat-btn-rivers:hover{background:#3b82f640;border-color:#3b82f6cc}.phys-cat-btn-deserts{border-color:#f59e0b99;background:#f59e0b1f}.phys-cat-btn-deserts:hover{background:#f59e0b40;border-color:#f59e0bcc}.phys-cat-btn-waters{border-color:#06b6d499;background:#06b6d41f}.phys-cat-btn-waters:hover{background:#06b6d440;border-color:#06b6d4cc}.phys-cat-btn-passages{border-color:#10b98199;background:#10b9811f}.phys-cat-btn-passages:hover{background:#10b98140;border-color:#10b981cc}.phys-category-back-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:12px 24px;color:#ffffffb3;font-size:clamp(14px,3vw,16px);font-weight:500;cursor:pointer;transition:all .2s ease}.phys-category-back-btn:hover{background:#ffffff26;color:#fff}.phys-result-flash{position:absolute;bottom:clamp(12px,3vh,24px);left:50%;transform:translate(-50%);z-index:20;pointer-events:none;animation:physResultPop .4s ease-out}.phys-result-flash.flash-correct{top:50%;bottom:auto;transform:translate(-50%,-50%)}@keyframes physResultPop{0%{transform:translate(-50%) scale(.5);opacity:0}50%{transform:translate(-50%) scale(1.2);opacity:1}to{transform:translate(-50%) scale(1);opacity:1}}.phys-result-flash.flash-correct{animation:physResultPopCenter .4s ease-out}@keyframes physResultPopCenter{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}50%{transform:translate(-50%,-50%) scale(1.2);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.phys-result-badge{padding:clamp(8px,2vw,14px) clamp(16px,3vw,28px);border-radius:clamp(10px,2vw,16px);font-size:clamp(16px,3.5vw,24px);font-weight:700;backdrop-filter:blur(8px);box-shadow:0 8px 32px #0006}.phys-result-badge.correct{background:#10b98140;border:2px solid rgba(16,185,129,.6);color:#6ee7b7}.phys-result-badge.wrong{background:#ef444440;border:2px solid rgba(239,68,68,.6);color:#fca5a5}.phys-win-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#000000d9;animation:physFadeIn .3s ease-out}.phys-win-content{text-align:center;animation:physScaleIn .5s cubic-bezier(.34,1.56,.64,1);max-width:min(90vw,500px);padding:clamp(30px,5vw,50px)}.phys-win-emoji{font-size:clamp(50px,12vw,80px);margin-bottom:16px;animation:physBounce .6s ease-in-out}@keyframes physBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.phys-win-title{font-size:clamp(28px,6vw,42px);font-weight:800;margin:0 0 12px;background:linear-gradient(135deg,#f59e0b,#ef4444);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.phys-win-title.legendary{background:linear-gradient(135deg,#fbbf24,#f59e0b,#ef4444);-webkit-background-clip:text;background-clip:text}.phys-win-title.great{background:linear-gradient(135deg,#10b981,#06b6d4);-webkit-background-clip:text;background-clip:text}.phys-win-message{color:#ffffffe6;font-size:clamp(16px,3.5vw,20px);margin:0 0 8px}.phys-win-streak{color:#ffffffb3;font-size:clamp(14px,3vw,16px);margin:0 0 24px}.phys-win-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.phys-win-home-btn{padding:12px 24px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.phys-win-home-btn:hover{background:#ffffff26;transform:translateY(-2px)}.phys-streak-animation{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:15;font-size:clamp(48px,10vw,80px);font-weight:900;color:#fb923c;text-shadow:0 4px 24px rgba(251,146,60,.6);pointer-events:none;animation:physStreakPop 1s ease-out forwards}@keyframes physStreakPop{0%{transform:translate(-50%,-50%) scale(.3);opacity:0}30%{transform:translate(-50%,-50%) scale(1.3);opacity:1}60%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:0}}.phys-distance-panel{position:absolute;bottom:clamp(12px,3vh,24px);left:50%;transform:translate(-50%);z-index:10;padding:clamp(8px,2vw,14px) clamp(16px,3vw,28px);border-radius:clamp(8px,2vw,12px);background:#000000bf;backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);color:#fff;text-align:center;font-size:clamp(13px,2.8vw,16px);font-weight:500;white-space:nowrap;pointer-events:none;animation:physResultPop .3s ease-out}.phys-map-loading-spinner{width:48px;height:48px;border:4px solid rgba(245,158,11,.2);border-top-color:#f59e0b;border-radius:50%;animation:spin 1s linear infinite}.phys-base-loading-veil{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:6;background:radial-gradient(circle at center,#0f2a4a2e,#0f2a4a14 45%,#0f2a4a00 75%)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes physPulseOpacity{0%,to{opacity:.55}50%{opacity:.16}}@keyframes physPulseRing{0%{transform:scale(.72);opacity:.6}to{transform:scale(1.22);opacity:0}}.phys-pulse-opacity,.phys-pulse-stroke{animation:physPulseOpacity 1s ease-in-out infinite}.phys-pulse-ring{transform-origin:center;transform-box:fill-box;animation:physPulseRing .9s ease-out infinite}
