/* ╔══════════════════════════════════════════════════════════════════════╗
   ║  OscarFarmer — styles.css                                           ║
   ║  جميع تنسيقات اللعبة: الواجهة، الشاشات، الـ HUD، اللوحات…           ║
   ║  مرتبط من ‎index.html‎ عبر <link rel="stylesheet" href="css/styles.css"> ║
   ╚══════════════════════════════════════════════════════════════════════╝ */

/* ----- RESET & VARIABLES ----- */
*{margin:0;padding:0;box-sizing:border-box}
@font-face{font-family:'GameFont';src:local('Segoe UI Emoji')}
:root{
--soil:#8B6914;--soil-wet:#5a4510;--grass:#4a8c2a;--grass-dark:#2d5a1b;
--water:#3b8bba;--wood:#8B4513;--stone:#808080;--gold:#FFD700;
--ui-bg:linear-gradient(135deg,rgba(28,18,8,0.94),rgba(15,10,5,0.96));
--ui-border:#8B6914;--ui-text:#f0e6d2;
--btn-primary:#4a8c2a;--btn-hover:#5fa035;--btn-danger:#c0392b;
--hp-bar:linear-gradient(90deg,#e74c3c,#ff7659);
--energy-bar:linear-gradient(90deg,#3498db,#5dade2);
--xp-bar:linear-gradient(90deg,#f1c40f,#ffe066);
--shadow-deep:0 8px 32px rgba(0,0,0,0.5),0 2px 8px rgba(0,0,0,0.3);
--shadow-glow:0 0 20px rgba(255,215,0,0.3);
}
html,body{width:100%;height:100%;overflow:hidden;background:#1a0e05;font-family:'Segoe UI',Tahoma,sans-serif;color:var(--ui-text);touch-action:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
/* ★ وضع التطبيق المثبَّت (standalone) — احترم safe areas للجوال (iPhone notch) */
body.standalone-mode{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
/* لا تُظهر بانر التثبيت في وضع standalone */
body.standalone-mode .install-banner{display:none !important}

/* ===== LOADING SCREEN ===== */
#loadingScreen{position:fixed;inset:0;z-index:10000;background:radial-gradient(ellipse at center,#2d5a1b 0%,#1a3a0a 60%,#0d1f08 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity 0.8s}
#loadingScreen::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 20% 30%,rgba(255,215,0,0.1) 0%,transparent 40%),radial-gradient(circle at 80% 70%,rgba(74,140,42,0.15) 0%,transparent 50%);pointer-events:none}
#loadingScreen.hidden{opacity:0;pointer-events:none}
.loading-logo{font-size:clamp(2rem,8vw,5rem);font-weight:900;background:linear-gradient(180deg,#fff8c0 0%,#ffd700 40%,#ff8800 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:3px;margin-bottom:10px;filter:drop-shadow(0 4px 20px rgba(255,165,0,0.5));animation:pulseTitle 2s ease-in-out infinite}
@keyframes pulseTitle{0%,100%{filter:drop-shadow(0 4px 20px rgba(255,165,0,0.5))}50%{filter:drop-shadow(0 4px 30px rgba(255,215,0,0.8))}}
.loading-sub{color:#a8d890;font-size:clamp(0.8rem,3vw,1.2rem);margin-bottom:40px;letter-spacing:4px;text-transform:uppercase}
.loading-bar-wrap{width:min(320px,80vw);height:10px;background:rgba(0,0,0,0.6);border-radius:5px;overflow:hidden;border:1px solid rgba(255,215,0,0.3);box-shadow:inset 0 2px 4px rgba(0,0,0,0.5)}
.loading-bar{height:100%;width:0%;background:linear-gradient(90deg,#FFD700,#ff9500,#ff6020);border-radius:5px;transition:width 0.3s;box-shadow:0 0 12px rgba(255,165,0,0.6)}
.loading-tip{margin-top:20px;color:#9ad880;font-size:0.85rem;text-align:center;max-width:80vw;animation:fadeFlow 3s ease infinite}
@keyframes fadeFlow{0%,100%{opacity:0.6}50%{opacity:1}}

/* ===== MAIN MENU ===== */
#mainMenu{position:fixed;inset:0;z-index:9000;background:radial-gradient(ellipse at center,#2d5a1b 0%,#1a3a0a 50%,#0a1c05 100%);display:none;flex-direction:column;align-items:center;justify-content:center;overflow-y:auto}
#mainMenu::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,0.4) 100%);pointer-events:none;z-index:0}
.menu-bg{position:absolute;inset:0;overflow:hidden}
.menu-bg .star{position:absolute;width:2px;height:2px;background:#fff;border-radius:50%;animation:twinkle 3s infinite;box-shadow:0 0 4px #fff}
@keyframes twinkle{0%,100%{opacity:0.3;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}
.menu-content{position:relative;z-index:1;text-align:center;padding:20px}
.menu-logo{font-size:clamp(2.5rem,10vw,6rem);font-weight:900;background:linear-gradient(180deg,#fff8c0 0%,#FFD700 35%,#ff7800 70%,#c04000 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 15px rgba(255,165,0,0.5));margin-bottom:5px;letter-spacing:1px}
.menu-logo-icon{font-size:clamp(3rem,12vw,7rem);margin-bottom:10px;filter:drop-shadow(0 8px 24px rgba(0,0,0,0.6));animation:floatLogo 3s ease-in-out infinite}
@keyframes floatLogo{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.menu-tagline{color:#7ab860;font-size:clamp(0.7rem,2.5vw,1rem);margin-bottom:40px;letter-spacing:3px;text-transform:uppercase}
.menu-btn{display:block;width:min(320px,85vw);margin:8px auto;padding:14px 24px;border:2px solid var(--ui-border);background:var(--ui-bg);color:var(--ui-text);font-size:clamp(0.9rem,3vw,1.05rem);border-radius:12px;cursor:pointer;transition:all 0.3s;position:relative;overflow:hidden;font-family:inherit;font-weight:600;letter-spacing:0.5px;box-shadow:var(--shadow-deep)}
.menu-btn::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.1),transparent);transform:translateX(-100%);transition:transform 0.6s}
.menu-btn:hover::before,.menu-btn:active::before{transform:translateX(100%)}
.menu-btn:hover,.menu-btn:active{background:linear-gradient(135deg,#5fa035,#4a8c2a);border-color:#7ec050;transform:translateY(-2px);box-shadow:0 6px 20px rgba(74,140,42,0.4)}
.menu-btn .icon{margin-left:10px;font-size:1.3em;display:inline-block;vertical-align:middle}
.menu-btn.primary{background:linear-gradient(135deg,#5fa035,#4a8c2a);border-color:#7ec050;box-shadow:0 4px 16px rgba(74,140,42,0.5)}
.menu-input{display:block;width:min(320px,85vw);margin:8px auto;padding:13px 18px;border:2px solid var(--ui-border);background:rgba(0,0,0,0.5);color:var(--ui-text);font-size:1rem;border-radius:12px;text-align:center;outline:none;direction:ltr;transition:all 0.3s;font-family:inherit}
.menu-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(255,215,0,0.2)}
.menu-divider{width:min(320px,85vw);height:1px;background:linear-gradient(90deg,transparent,var(--ui-border),transparent);margin:20px auto}
.menu-section-title{color:var(--gold);font-size:0.85rem;margin:15px 0 5px;letter-spacing:2px;text-transform:uppercase;text-shadow:0 2px 8px rgba(255,215,0,0.3)}
.menu-back{position:fixed;top:14px;right:14px;background:rgba(0,0,0,0.7);border:1px solid var(--ui-border);color:var(--ui-text);font-size:1.05rem;cursor:pointer;z-index:9100;width:42px;height:42px;display:flex;align-items:center;justify-content:center;padding:0;border-radius:50%;transition:all 0.2s;line-height:1;font-weight:700;box-shadow:0 4px 12px rgba(0,0,0,0.5)}
.menu-back:hover,.menu-back:active{background:var(--btn-danger);transform:rotate(90deg);border-color:#fff}
@media(max-width:700px){.menu-back{top:10px;right:10px;width:44px;height:44px;font-size:1rem}}
.menu-chars{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:15px 0}
.char-option{width:64px;height:84px;border:3px solid var(--ui-border);border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,0.05),rgba(0,0,0,0.3));cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all 0.3s;position:relative;padding:4px}
.char-option canvas{width:48px;height:48px}
.char-option.selected{border-color:var(--gold);background:linear-gradient(180deg,rgba(255,215,0,0.2),rgba(255,140,0,0.1));transform:scale(1.1) translateY(-3px);box-shadow:0 8px 16px rgba(255,215,0,0.3)}
.char-option span{font-size:0.6rem;margin-top:2px;color:#ccc;font-weight:600}
.char-option.selected span{color:var(--gold)}

/* ===== GAME CANVAS AREA ===== */
#gameContainer{position:fixed;inset:0;display:none}
#gameCanvas{width:100%;height:100%;image-rendering:auto;display:block}

/* ===== CHAT NOTIFICATION ===== */
.chat-badge{position:absolute;top:-4px;left:-4px;background:#e74c3c;color:#fff;font-size:0.6rem;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 3px;border:2px solid #1a0a00;box-shadow:0 2px 4px rgba(0,0,0,0.5)}
.chat-pulse{animation:chatPulse 1.5s ease-in-out infinite;border-color:#5dade2 !important}
@keyframes chatPulse{0%,100%{box-shadow:0 3px 8px rgba(0,0,0,0.5),inset 0 1px 0 rgba(255,255,255,0.08)}50%{box-shadow:0 3px 8px rgba(0,0,0,0.5),inset 0 1px 0 rgba(255,255,255,0.08),0 0 0 4px rgba(93,173,226,0.4)}}
.chat-popup{position:fixed;top:140px;right:14px;z-index:8500;background:linear-gradient(135deg,#3498db,#2c80b4);color:#fff;padding:10px 14px;border-radius:12px;font-size:0.82rem;max-width:280px;box-shadow:0 6px 20px rgba(0,0,0,0.5);animation:popIn 0.3s ease,popOut 0.3s 3.5s ease forwards;border:1px solid rgba(255,255,255,0.2);font-weight:600;line-height:1.5}
@keyframes popIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
@keyframes popOut{to{opacity:0;transform:translateX(20px)}}

/* ===== HUD ===== */
.hud{position:fixed;z-index:100;pointer-events:none}
.hud>*{pointer-events:auto}

/* HUD top - desktop = single row, mobile = stacked */
.hud-top{top:0;left:0;right:0;padding:6px 10px;background:linear-gradient(180deg,rgba(0,0,0,0.82) 0%,rgba(0,0,0,0.4) 60%,transparent 100%);display:flex;justify-content:space-between;align-items:flex-start;gap:8px;flex-wrap:wrap}
.hud-stats{display:flex;gap:5px;flex-wrap:wrap;align-items:center;flex:1;min-width:0}
.stat-item{display:flex;align-items:center;gap:5px;background:linear-gradient(135deg,rgba(28,18,8,0.92),rgba(15,8,3,0.96));padding:5px 11px;border-radius:18px;font-size:clamp(0.7rem,2vw,0.85rem);white-space:nowrap;border:1px solid rgba(255,215,0,0.3);box-shadow:0 2px 8px rgba(0,0,0,0.5),inset 0 1px 0 rgba(255,255,255,0.08);font-weight:700;color:#fff8e0;transition:transform 0.2s, box-shadow 0.2s}
.stat-item:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,0.5),inset 0 1px 0 rgba(255,255,255,0.12)}
/* ★ شريط الذهب أبرز قليلاً (أهم إحصائية مالية) */
.stat-item.stat-gold{background:linear-gradient(135deg,rgba(60,40,10,0.95),rgba(30,18,5,0.98));border-color:rgba(255,215,0,0.5);box-shadow:0 2px 10px rgba(0,0,0,0.5),inset 0 1px 0 rgba(255,215,0,0.18),0 0 12px rgba(255,165,0,0.18)}
.stat-item.stat-gold .stat-icon{filter:drop-shadow(0 0 4px rgba(255,200,0,0.6))}
.stat-item.stat-level{background:linear-gradient(135deg,rgba(20,40,60,0.95),rgba(8,18,30,0.98));border-color:rgba(91,180,232,0.5);color:#dceaf5;box-shadow:0 2px 10px rgba(0,0,0,0.5),inset 0 1px 0 rgba(120,200,255,0.18)}
.stat-item .stat-icon{font-size:1.1em;filter:drop-shadow(0 1px 2px rgba(0,0,0,0.5))}
.stat-bar{width:55px;height:7px;background:rgba(0,0,0,0.7);border-radius:4px;overflow:hidden;border:1px solid rgba(255,255,255,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.5)}
.stat-bar-fill{height:100%;border-radius:3px;transition:width 0.5s;box-shadow:0 0 6px currentColor}

/* Time/Season - desktop top center, mobile own row below stats */
.hud-time{position:fixed;top:8px;left:50%;transform:translateX(-50%);z-index:101;background:linear-gradient(135deg,rgba(28,18,8,0.92),rgba(15,8,3,0.96));padding:6px 16px;border-radius:24px;font-size:clamp(0.65rem,1.8vw,0.85rem);text-align:center;display:flex;align-items:center;gap:7px;border:1px solid rgba(255,215,0,0.35);box-shadow:0 4px 16px rgba(0,0,0,0.5),inset 0 1px 0 rgba(255,255,255,0.08);font-weight:600;color:#fff8e0}
.hud-time span{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}
.hud-time .sep{color:rgba(255,215,0,0.5);font-weight:400}

/* Sync indicator - tiny dot near time */
.sync-indicator{position:fixed;top:14px;right:14px;z-index:300;width:8px;height:8px;border-radius:50%;background:#4a8c2a;opacity:0;transition:opacity 0.4s;box-shadow:0 0 8px currentColor;pointer-events:none}
.sync-indicator.show{opacity:1}
.sync-indicator.cloud{background:#3498db}
.sync-indicator.local{background:#7ec050}

.hud-bottom{bottom:0;left:0;right:0;display:flex;justify-content:center;padding:4px 3px 6px;gap:2px;background:linear-gradient(0deg,rgba(0,0,0,0.85) 0%,transparent 100%);align-items:flex-end;flex-wrap:wrap}
.tool-btn{width:clamp(30px,7vw,40px);height:clamp(38px,8.6vw,46px);border:1.5px solid var(--ui-border);background:linear-gradient(180deg,rgba(40,28,15,0.92),rgba(20,12,5,0.96));border-radius:9px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;transition:all 0.2s;position:relative;padding:2px 0 0;overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,0.5),inset 0 1px 0 rgba(255,255,255,0.08)}
.tool-btn canvas{width:clamp(20px,4.8vw,26px);height:clamp(20px,4.8vw,26px)}
.tool-btn .tool-label{font-size:clamp(0.42rem,1.15vw,0.52rem);color:#e8d8b8;font-weight:600;line-height:1;margin-top:1px;letter-spacing:-0.2px}
.tool-btn:hover{transform:translateY(-2px);box-shadow:0 5px 12px rgba(0,0,0,0.5)}
.tool-btn.active{border-color:var(--gold);background:linear-gradient(180deg,rgba(255,215,0,0.28),rgba(255,140,0,0.18));transform:translateY(-3px);box-shadow:0 0 0 2px rgba(255,215,0,0.5),0 6px 14px rgba(255,165,0,0.4)}
.tool-btn.active .tool-label{color:var(--gold)}
.tool-btn.active::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:14px;height:2.5px;background:var(--gold);border-radius:2px 2px 0 0;box-shadow:0 0 8px var(--gold)}
.tool-btn.tool-fight{border-color:#c0392b}
.tool-btn.tool-fight.active{border-color:#ff6b3d;background:linear-gradient(180deg,rgba(231,76,60,0.32),rgba(120,30,20,0.5));box-shadow:0 0 0 2px rgba(255,107,61,0.55),0 6px 14px rgba(192,57,43,0.45)}
.tool-btn.tool-fight.active::after{background:#ff6b3d;box-shadow:0 0 8px #ff6b3d}
.tool-btn .badge{position:absolute;top:-4px;right:-4px;background:var(--btn-danger);color:#fff;font-size:0.55rem;padding:1px 5px;border-radius:8px;font-weight:700;box-shadow:0 2px 6px rgba(231,76,60,0.5)}
.tool-btn .badge-pulse{animation:badgePulse 1.4s ease-in-out infinite}
@keyframes badgePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
.hud-right{position:fixed;top:50%;right:8px;transform:translateY(-50%);z-index:101;display:flex;flex-direction:column;gap:6px}
.side-btn{width:clamp(40px,9.5vw,48px);height:clamp(40px,9.5vw,48px);border:2px solid var(--ui-border);background:linear-gradient(180deg,rgba(40,28,15,0.92),rgba(20,12,5,0.96));border-radius:12px;cursor:pointer;font-size:clamp(1.05rem,3vw,1.3rem);display:flex;align-items:center;justify-content:center;transition:all 0.25s;box-shadow:0 3px 8px rgba(0,0,0,0.5),inset 0 1px 0 rgba(255,255,255,0.08);color:#fff8e0;position:relative}
.side-btn::after{content:'';position:absolute;inset:-2px;border-radius:13px;background:linear-gradient(135deg,transparent 40%,rgba(255,215,0,0.15));opacity:0;transition:opacity 0.25s;pointer-events:none}
.side-btn:hover::after,.side-btn:active::after{opacity:1}
.side-btn:hover,.side-btn:active{background:linear-gradient(180deg,rgba(74,140,42,0.6),rgba(45,90,27,0.8));transform:translateX(-3px) translateY(-1px);border-color:#7ec050;box-shadow:0 5px 14px rgba(74,140,42,0.4),inset 0 1px 0 rgba(255,255,255,0.12)}
.side-btn .label-tip{display:none}

/* ===== MOBILE LAYOUT FIX (CRITICAL) ===== */
@media(max-width:700px){
  .hud-top{padding:5px 6px;gap:4px}
  .hud-stats{gap:3px;justify-content:flex-start}
  .stat-item{padding:3px 7px;font-size:0.62rem;border-radius:14px;gap:3px}
  .stat-item .stat-icon{font-size:0.85em}
  .stat-bar{width:30px;height:5px}
  .hud-top button.side-btn{width:32px;height:32px;font-size:1rem}
  /* Move time bar BELOW stats on mobile */
  .hud-time{top:42px;font-size:0.62rem;padding:4px 11px;border-radius:16px;gap:5px;max-width:calc(100vw - 24px);overflow:hidden}
  .hud-time .sep{margin:0 1px}
  .sync-indicator{top:46px;right:8px}
}

@media(max-width:380px){
  .stat-item{padding:2px 5px;font-size:0.58rem}
  .stat-bar{width:24px;height:4px}
  .hud-time{font-size:0.58rem;padding:3px 9px}
}

/* ===== زر تنبيه/قتال الحيوانات الشرسة ===== */
.fight-alert-btn{
  position:fixed;
  bottom:220px;
  right:14px;
  z-index:120;
  width:64px;height:64px;
  border-radius:50%;
  border:3px solid #ff4d2e;
  background:radial-gradient(circle at 35% 30%,#ff8855,#c0392b 70%,#7a1a10);
  display:none;
  align-items:center;justify-content:center;
  cursor:pointer;
  box-shadow:0 0 0 4px rgba(255,77,46,0.25), 0 6px 18px rgba(0,0,0,0.55), 0 0 24px rgba(255,80,40,0.55);
  animation:fightAlertPulse 0.9s ease-in-out infinite;
  color:#fff;font-size:1.7rem;font-weight:900;
  user-select:none;
}
.fight-alert-btn.show{display:flex}
.fight-alert-btn .badge-count{
  position:absolute;top:-4px;left:-4px;
  background:#fff;color:#c0392b;
  font-size:0.7rem;font-weight:900;
  min-width:20px;height:20px;
  border-radius:10px;padding:0 5px;
  display:flex;align-items:center;justify-content:center;
  border:2px solid #c0392b;
  box-shadow:0 2px 6px rgba(0,0,0,0.5);
}
.fight-alert-btn .swords-emoji{filter:drop-shadow(0 2px 4px rgba(0,0,0,0.5))}
@keyframes fightAlertPulse{
  0%,100%{box-shadow:0 0 0 4px rgba(255,77,46,0.25), 0 6px 18px rgba(0,0,0,0.55), 0 0 24px rgba(255,80,40,0.5)}
  50%   {box-shadow:0 0 0 10px rgba(255,77,46,0.1),  0 6px 18px rgba(0,0,0,0.55), 0 0 36px rgba(255,80,40,0.8)}
}
@media(max-width:700px){
  .fight-alert-btn{width:56px;height:56px;font-size:1.4rem;bottom:108px;right:10px}
}

/* ===== JOYSTICK ===== */
.joystick-area{position:fixed;bottom:120px;left:18px;z-index:102;width:130px;height:130px;touch-action:none}
.joystick-base{width:100%;height:100%;border-radius:50%;background:radial-gradient(circle,rgba(0,0,0,0.5) 0%,rgba(0,0,0,0.3) 70%);border:2px solid rgba(255,215,0,0.25);position:relative;backdrop-filter:blur(2px);box-shadow:inset 0 0 20px rgba(0,0,0,0.5),0 4px 12px rgba(0,0,0,0.4)}
.joystick-thumb{width:50px;height:50px;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(255,215,0,0.5),rgba(180,130,30,0.7));border:2px solid rgba(255,215,0,0.6);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transition:none;box-shadow:0 4px 12px rgba(0,0,0,0.5),inset 0 2px 4px rgba(255,255,255,0.3)}
@media(max-width:700px){.joystick-area{bottom:90px;left:10px;width:108px;height:108px}.joystick-thumb{width:40px;height:40px}}

/* ===== PANELS / MODALS ===== */
.panel-overlay{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,0.7);display:none;align-items:center;justify-content:center;padding:15px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.panel-overlay.show{display:flex;animation:fadeIn 0.2s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.panel{background:var(--ui-bg);border:2px solid var(--ui-border);border-radius:18px;width:min(520px,95vw);max-height:85vh;overflow-y:auto;padding:22px;position:relative;box-shadow:0 20px 60px rgba(0,0,0,0.7),0 0 0 1px rgba(255,215,0,0.1) inset;animation:panelIn 0.3s ease}
@keyframes panelIn{from{transform:scale(0.9);opacity:0}to{transform:scale(1);opacity:1}}
.panel-title{font-size:clamp(1.05rem,4vw,1.4rem);color:var(--gold);margin-bottom:16px;text-align:center;font-weight:700;letter-spacing:1px;text-shadow:0 2px 12px rgba(255,215,0,0.4)}
.panel-close{position:absolute;top:10px;left:10px;background:rgba(0,0,0,0.7);border:1px solid var(--ui-border);color:var(--ui-text);font-size:1rem;cursor:pointer;padding:0;border-radius:50%;transition:all 0.2s;width:38px;height:38px;display:flex;align-items:center;justify-content:center;font-weight:700;line-height:1;z-index:20;box-shadow:0 2px 8px rgba(0,0,0,0.5)}
.panel-close:hover,.panel-close:active{background:var(--btn-danger);transform:rotate(90deg);color:#fff;border-color:#fff}
@media(max-width:700px){
  .panel-close{width:42px;height:42px;font-size:1.05rem;top:8px;left:8px}
  .panel-title{padding-right:50px;padding-left:50px;font-size:1.1rem}
}
.panel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(75px,1fr));gap:8px;margin:10px 0}
.panel-item{background:linear-gradient(180deg,rgba(255,255,255,0.06),rgba(0,0,0,0.3));border:2px solid rgba(255,255,255,0.1);border-radius:12px;padding:8px;text-align:center;cursor:pointer;transition:all 0.2s;position:relative;overflow:hidden}
.panel-item::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 30%,rgba(255,215,0,0.05) 100%);opacity:0;transition:opacity 0.2s}
.panel-item:hover::before,.panel-item:active::before{opacity:1}
.panel-item:hover,.panel-item:active{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 4px 12px rgba(255,215,0,0.2)}
.panel-item .emoji{font-size:1.9rem;display:block;margin-bottom:5px;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.4))}
.panel-item .name{font-size:0.7rem;color:#e8d8b8;font-weight:600;line-height:1.2}
.panel-item .price{font-size:0.62rem;color:var(--gold);margin-top:3px;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,0.5)}
.panel-item.locked{opacity:0.4;pointer-events:none;filter:grayscale(0.5)}
.panel-tabs{display:flex;gap:4px;margin-bottom:12px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.panel-tabs::-webkit-scrollbar{display:none}
.panel-tab{padding:9px 16px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:10px;cursor:pointer;font-size:0.78rem;white-space:nowrap;color:#aaa;transition:all 0.2s;font-weight:600}
.panel-tab.active{background:linear-gradient(135deg,rgba(255,215,0,0.2),rgba(255,165,0,0.1));border-color:var(--gold);color:var(--gold);box-shadow:0 2px 8px rgba(255,215,0,0.2)}
.panel-info{background:linear-gradient(135deg,rgba(255,255,255,0.05),rgba(0,0,0,0.2));border-radius:10px;padding:12px;margin:8px 0;font-size:0.82rem;line-height:1.7;border:1px solid rgba(255,255,255,0.08)}
.panel-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid rgba(255,255,255,0.08)}
.panel-row:last-child{border-bottom:none}
.panel-btn{padding:11px 22px;background:linear-gradient(135deg,#5fa035,#4a8c2a);border:1px solid #6db84a;color:#fff;border-radius:10px;cursor:pointer;font-size:0.9rem;margin:4px;transition:all 0.2s;font-weight:600;font-family:inherit;box-shadow:0 3px 8px rgba(0,0,0,0.3),inset 0 1px 0 rgba(255,255,255,0.15);position:relative;overflow:hidden}
.panel-btn::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.15),transparent);transform:translateX(-100%);transition:transform 0.5s}
.panel-btn:hover::before,.panel-btn:active::before{transform:translateX(100%)}
.panel-btn:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(74,140,42,0.45),inset 0 1px 0 rgba(255,255,255,0.2)}
.panel-btn:active{transform:translateY(0)}
.panel-btn.danger{background:linear-gradient(135deg,#e74c3c,#c0392b);border-color:#e74c3c}
.panel-btn.danger:hover{box-shadow:0 6px 14px rgba(231,76,60,0.45),inset 0 1px 0 rgba(255,255,255,0.2)}
.panel-btn:disabled{opacity:0.4;pointer-events:none}
.panel-btn.gold{background:linear-gradient(135deg,#f1c40f,#d4a020);border-color:#ffd700;color:#1a0a00;text-shadow:0 1px 1px rgba(255,255,255,0.4)}
.panel-btn.gold:hover{box-shadow:0 6px 14px rgba(255,200,0,0.5)}

/* ===== TUTORIAL GUIDE ===== */
.tut-step{background:linear-gradient(135deg,rgba(255,215,0,0.1),rgba(255,140,0,0.05));border:1px solid rgba(255,215,0,0.3);border-radius:12px;padding:14px;margin:8px 0;position:relative}
.tut-step-num{position:absolute;top:-10px;right:14px;background:var(--gold);color:#1a0a00;font-weight:900;font-size:0.85rem;padding:3px 10px;border-radius:12px;box-shadow:0 2px 6px rgba(255,215,0,0.4)}
.tut-step-title{color:var(--gold);font-weight:700;font-size:0.95rem;margin-bottom:6px;display:flex;align-items:center;gap:6px}
.tut-step-body{font-size:0.78rem;line-height:1.7;color:#e8d8b8}
.tut-step-body code{background:rgba(0,0,0,0.4);padding:1px 6px;border-radius:4px;color:#ffd700;font-family:monospace;font-size:0.85em}

/* ===== NOTIFICATION ===== */
.notif{position:fixed;top:90px;left:50%;transform:translateX(-50%);z-index:9999;background:linear-gradient(135deg,rgba(28,18,8,0.95),rgba(15,10,5,0.98));border:2px solid var(--gold);padding:11px 26px;border-radius:14px;font-size:0.88rem;animation:notifIn 0.4s cubic-bezier(0.34,1.56,0.64,1),notifOut 0.4s 2.5s ease forwards;pointer-events:none;white-space:nowrap;max-width:90vw;overflow:hidden;text-overflow:ellipsis;box-shadow:0 8px 24px rgba(0,0,0,0.5),0 0 0 1px rgba(255,215,0,0.2),0 0 16px rgba(255,215,0,0.2);font-weight:600;color:#fff8e0}
@keyframes notifIn{from{opacity:0;transform:translateX(-50%) translateY(-30px) scale(0.9)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}
@keyframes notifOut{to{opacity:0;transform:translateX(-50%) translateY(-30px) scale(0.95)}}

/* ===== CHAT ===== */
.chat-box{position:fixed;bottom:120px;right:8px;z-index:200;width:min(290px,72vw);display:none}
.chat-box.show{display:block;animation:slideIn 0.2s ease}
@keyframes slideIn{from{transform:translateX(20px);opacity:0}to{transform:translateX(0);opacity:1}}
.chat-header{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#4a8c2a,#3a7020);padding:6px 10px;border-radius:12px 12px 0 0;border:1px solid rgba(255,215,0,0.3);border-bottom:none;color:#fff;font-weight:700;font-size:0.78rem}
.chat-header button{background:rgba(0,0,0,0.3);border:none;color:#fff;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:0.85rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.chat-header button:hover{background:var(--btn-danger)}
.chat-messages{height:160px;overflow-y:auto;background:linear-gradient(180deg,rgba(0,0,0,0.85),rgba(0,0,0,0.95));padding:10px;font-size:0.78rem;border-left:1px solid rgba(255,215,0,0.2);border-right:1px solid rgba(255,215,0,0.2)}
.chat-msg{margin-bottom:5px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,0.06)}
.chat-msg .author{color:var(--gold);font-weight:600}
.chat-input-wrap{display:flex;gap:0;border:1px solid rgba(255,215,0,0.2);border-top:none;border-radius:0 0 12px 12px;overflow:hidden}
.chat-input-wrap input{flex:1;padding:10px;background:rgba(0,0,0,0.85);border:none;color:#fff;font-size:0.82rem;outline:none;direction:rtl}
.chat-input-wrap button{padding:10px 14px;background:linear-gradient(135deg,#5fa035,#4a8c2a);border:none;color:#fff;cursor:pointer;font-weight:700}
@media(max-width:700px){.chat-box{bottom:90px;right:60px}}

/* ===== WEATHER EFFECTS ===== */
.weather-overlay{position:fixed;inset:0;z-index:50;pointer-events:none}
.rain-drop{position:absolute;width:2px;background:linear-gradient(transparent,rgba(160,200,255,0.7));animation:rainFall linear infinite}
@keyframes rainFall{to{transform:translateY(110vh)}}
.snow-flake{position:absolute;width:5px;height:5px;background:radial-gradient(circle,#fff,rgba(255,255,255,0.5));border-radius:50%;animation:snowFall linear infinite;box-shadow:0 0 4px rgba(255,255,255,0.6)}
@keyframes snowFall{to{transform:translateY(110vh) rotate(360deg)}}
.petal{position:absolute;width:7px;height:6px;border-radius:50% 0 50% 0;opacity:0.8;animation:petalFall linear infinite;pointer-events:none}
@keyframes petalFall{0%{transform:translateY(-20px) rotate(0deg) translateX(0)}40%{transform:translateY(44vh) rotate(200deg) translateX(25px)}70%{transform:translateY(75vh) rotate(340deg) translateX(-15px)}100%{transform:translateY(110vh) rotate(480deg) translateX(10px)}}
.leaf{position:absolute;width:10px;height:8px;border-radius:50% 0;opacity:0.85;animation:leafFall linear infinite;pointer-events:none}
@keyframes leafFall{0%{transform:translateY(-20px) rotate(0deg) translateX(0)}30%{transform:translateY(33vh) rotate(120deg) translateX(30px)}60%{transform:translateY(66vh) rotate(260deg) translateX(-20px)}100%{transform:translateY(110vh) rotate(400deg) translateX(15px)}}

/* ===== STATS PAGE ===== */
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
.stats-card{background:linear-gradient(135deg,rgba(255,255,255,0.06),rgba(0,0,0,0.3));border:1px solid rgba(255,215,0,0.2);border-radius:14px;padding:14px 10px;text-align:center;transition:transform 0.2s}
.stats-card:hover{transform:translateY(-2px);border-color:rgba(255,215,0,0.5)}
.stats-card .sc-icon{font-size:1.8rem;display:block;margin-bottom:6px;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.4))}
.stats-card .sc-val{font-size:1.4rem;font-weight:900;color:var(--gold);display:block;text-shadow:0 2px 8px rgba(255,215,0,0.3)}
.stats-card .sc-label{font-size:0.65rem;color:#a8d890;margin-top:3px;display:block;letter-spacing:0.5px;text-transform:uppercase}
.stats-farm-name{color:var(--gold);font-size:1rem;font-weight:700;text-align:center;margin-bottom:4px}
.stats-farm-code{color:#7ab860;font-size:0.72rem;text-align:center;margin-bottom:14px;letter-spacing:1px}

/* ===== ACHIEVEMENT TOAST ===== */
.ach-toast{position:fixed;top:115px;left:50%;transform:translateX(-50%);z-index:9997;background:linear-gradient(135deg,#1a3a0a 0%,#2d5a1b 100%);border:2px solid var(--gold);padding:12px 20px;border-radius:16px;display:flex;align-items:center;gap:12px;box-shadow:0 8px 32px rgba(0,0,0,0.6),0 0 24px rgba(255,215,0,0.25);animation:achIn 0.5s cubic-bezier(0.34,1.56,0.64,1),achOut 0.4s 3.8s ease forwards;pointer-events:none;max-width:min(360px,90vw)}
.ach-toast .ach-icon{font-size:2rem;flex-shrink:0;filter:drop-shadow(0 2px 6px rgba(255,215,0,0.5))}
.ach-toast .ach-body strong{color:var(--gold);display:block;font-size:0.88rem;margin-bottom:2px}
.ach-toast .ach-body span{color:#c8eab0;font-size:0.75rem}
.ach-toast .ach-label{position:absolute;top:-9px;right:14px;background:var(--gold);color:#1a0a00;font-size:0.6rem;font-weight:900;padding:2px 8px;border-radius:8px;letter-spacing:1px}
@keyframes achIn{from{opacity:0;transform:translateX(-50%) translateY(-40px) scale(0.8)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}
@keyframes achOut{to{opacity:0;transform:translateX(-50%) translateY(-20px) scale(0.95)}}

/* ===== DAY SUMMARY OVERLAY ===== */
.day-summary{position:fixed;inset:0;z-index:8800;background:rgba(0,0,0,0.88);display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(6px);animation:fadeIn 0.3s ease}
.day-summary-card{background:linear-gradient(135deg,rgba(28,18,8,0.97),rgba(15,10,5,0.99));border:2px solid var(--gold);border-radius:20px;width:min(380px,95vw);padding:24px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,0.8),0 0 40px rgba(255,215,0,0.15)}
.day-summary-card h2{color:var(--gold);font-size:1.2rem;margin-bottom:4px}
.day-summary-card .ds-sub{color:#a8d890;font-size:0.78rem;margin-bottom:16px}
.day-summary-rows{text-align:right;margin:12px 0}
.day-summary-rows .ds-row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid rgba(255,255,255,0.08);font-size:0.82rem}
.day-summary-rows .ds-row:last-child{border-bottom:none}
.day-summary-rows .ds-val{color:var(--gold);font-weight:700}
.day-summary-rows .ds-val.pos{color:#7ec050}
.day-summary-card .ds-total{margin-top:10px;padding:10px;background:rgba(255,215,0,0.1);border-radius:10px;font-weight:700;font-size:0.95rem;color:var(--gold)}
.day-summary-card button{margin-top:16px;padding:12px 32px;background:linear-gradient(135deg,#5fa035,#4a8c2a);border:1px solid #7ec050;color:#fff;border-radius:12px;cursor:pointer;font-size:0.95rem;font-weight:700;font-family:inherit;box-shadow:0 4px 12px rgba(74,140,42,0.5)}

/* ===== MINIMAP ===== */
#minimap{position:fixed;bottom:130px;right:10px;width:110px;height:78px;border:2px solid var(--ui-border);border-radius:10px;background:linear-gradient(135deg,rgba(0,0,0,0.7),rgba(0,0,0,0.85));z-index:150;box-shadow:0 4px 12px rgba(0,0,0,0.5),0 0 0 1px rgba(255,215,0,0.15);cursor:pointer}
@media(max-width:700px){#minimap{display:none}}

/* ===== INSTALL PROMPT ===== */
.install-banner{position:fixed;bottom:0;left:0;right:0;z-index:8999;background:linear-gradient(135deg,#1a3a0a,#2d5a1b);padding:14px 16px 18px;display:none;align-items:center;justify-content:space-between;gap:12px;color:#fff;font-size:0.85rem;border-top:2px solid var(--gold);box-shadow:0 -6px 24px rgba(0,0,0,0.5),0 -1px 0 rgba(255,215,0,0.15);animation:slideUp 0.4s cubic-bezier(0.34,1.56,0.64,1)}
.install-banner.show{display:flex}
@keyframes slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
.install-banner .ib-icon{font-size:2.2rem;filter:drop-shadow(0 2px 8px rgba(255,215,0,0.4));flex-shrink:0}
.install-banner .text{flex:1;min-width:0;line-height:1.5}
.install-banner .text strong{color:var(--gold);display:block;margin-bottom:3px;font-size:0.95rem;letter-spacing:0.3px}
.install-banner .text span{font-size:0.78rem;opacity:0.85}
.install-banner .actions{display:flex;gap:8px;flex-shrink:0;align-items:center}
.install-banner button{padding:9px 16px;border-radius:10px;border:none;cursor:pointer;font-size:0.82rem;font-weight:700;font-family:inherit;transition:all 0.2s}
.install-banner .btn-install{background:linear-gradient(135deg,#FFD700,#ff9500);color:#1a0a00;box-shadow:0 3px 10px rgba(255,165,0,0.4)}
.install-banner .btn-install:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(255,165,0,0.5)}
.install-banner .btn-skip{background:rgba(255,255,255,0.1);color:#ccc;border:1px solid rgba(255,255,255,0.2)}

/* ===== FIRST-TIME WELCOME (TUTORIAL OVERLAY) ===== */
.welcome-overlay{position:fixed;inset:0;z-index:8000;background:rgba(0,0,0,0.85);display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px)}
.welcome-overlay.show{display:flex;animation:fadeIn 0.3s ease}
.welcome-card{background:var(--ui-bg);border:2px solid var(--gold);border-radius:20px;width:min(480px,95vw);max-height:85vh;overflow-y:auto;padding:24px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,0.8),0 0 40px rgba(255,215,0,0.2)}
.welcome-card h2{color:var(--gold);font-size:1.3rem;margin-bottom:10px;text-shadow:0 2px 12px rgba(255,215,0,0.4)}
.welcome-card .welcome-tip{background:linear-gradient(135deg,rgba(255,215,0,0.1),rgba(255,140,0,0.05));border:1px solid rgba(255,215,0,0.3);border-radius:10px;padding:12px;margin:8px 0;font-size:0.82rem;line-height:1.7;text-align:right}
.welcome-card .welcome-tip .icon{display:inline-block;margin-left:6px;font-size:1.1em}
.welcome-card button{padding:14px 32px;background:linear-gradient(135deg,#5fa035,#4a8c2a);border:1px solid #7ec050;color:#fff;border-radius:12px;cursor:pointer;font-size:1rem;font-weight:700;font-family:inherit;margin-top:10px;box-shadow:0 4px 12px rgba(74,140,42,0.5)}
