/* ===== SamsunCoin Maden — Oyun teması ===== */
:root{
  --sky-1:#5db8ff; --sky-2:#b9e6ff;
  --gold:#ffcf3a; --gold-d:#e8920c; --gold-l:#fff3bf;
  --dirt-1:#c98c52; --dirt-2:#a96e38; --dirt-3:#7c4d24; --dirt-line:#5e3a1a;
  --wood:#6f4626; --wood-d:#523219;
  --metal:#33445e; --metal-d:#202d40; --metal-l:#4a6184;
  --ui:#1e90ff; --ui-d:#0c63c6;
  --ink:#2a1c00; --paper:#fff7e6;
  --ok:#34c759; --bad:#ff5a52;
  --shadow:0 8px 22px rgba(0,0,0,.35);
  --safe-top:env(safe-area-inset-top,0px);
  --safe-bot:env(safe-area-inset-bottom,0px);
}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{height:100%;margin:0}
body{
  font-family:"Baloo 2","Nunito",system-ui,sans-serif;
  background:#0e1b2e;color:#fff;overflow:hidden;
  user-select:none;-webkit-user-select:none;touch-action:manipulation;
}

/* ===== Açılış ===== */
.splash{position:fixed;inset:0;display:grid;place-content:center;justify-items:center;gap:14px;
  background:radial-gradient(120% 90% at 50% 20%,#16314f,#0b1626);z-index:1000;transition:opacity .4s ease}
.splash.hide{opacity:0;pointer-events:none}
.splash-logo{animation:pop .5s cubic-bezier(.2,1.4,.4,1) both}
.splash-title{font-size:30px;font-weight:800;letter-spacing:.5px}
.splash-title span{color:var(--gold)}
.splash-bar{width:180px;height:8px;border-radius:99px;background:#1c3a5c;overflow:hidden}
.splash-bar i{display:block;height:100%;width:30%;border-radius:99px;
  background:linear-gradient(90deg,var(--gold),var(--gold-d));animation:load 1.1s ease-in-out infinite}
.splash-tip{color:#9fc0e6;font-size:14px;font-weight:600}
@keyframes load{0%{margin-left:-30%}100%{margin-left:100%}}
@keyframes pop{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}

/* ===== Uygulama düzeni ===== */
.app{position:fixed;inset:0;display:flex;flex-direction:column;
  max-width:520px;margin:0 auto;background:#0e1b2e;overflow:hidden}

/* ===== HUD ===== */
.hud{display:flex;align-items:center;gap:10px;padding:calc(8px + var(--safe-top)) 12px 8px;
  background:linear-gradient(180deg,#0b1626,#12243b);border-bottom:1px solid #1d365a;z-index:20}
.hud-btn{width:40px;height:40px;border:0;border-radius:12px;font-size:20px;color:#fff;
  background:#1b3050;box-shadow:inset 0 -3px 0 rgba(0,0,0,.25);cursor:pointer}
.hud-btn:active{transform:translateY(1px)}
.hud-stats{display:flex;gap:8px;flex:1}
.stat{display:flex;align-items:center;gap:6px;padding:6px 12px 6px 8px;border-radius:99px;
  background:#0c1c30;box-shadow:inset 0 0 0 1.5px #24446e}
.stat-coin{box-shadow:inset 0 0 0 1.5px #6b5316;background:linear-gradient(180deg,#3a2f12,#241c0a)}
.stat-ic{display:grid;place-items:center;font-size:16px;line-height:1}
.stat-val{font-weight:800;font-size:17px;min-width:34px}
.stat-coin .stat-val{color:var(--gold)}
.stat-cash .stat-val{color:#7ff0a0}
.hud-rate{font-weight:800;color:#8fd0ff;font-size:13px;background:#0c1c30;padding:6px 10px;border-radius:99px;
  box-shadow:inset 0 0 0 1.5px #24446e;white-space:nowrap}

/* ===== Kazanım çubuğu ===== */
.earnbar{position:relative;height:24px;background:#0a1322;overflow:hidden;
  display:flex;align-items:center;justify-content:center;border-bottom:1px solid #14263e}
.earnbar-fill{position:absolute;left:0;top:0;bottom:0;width:0%;
  background:linear-gradient(90deg,rgba(255,207,58,.25),rgba(255,207,58,.5));transition:width .3s linear}
.earnbar-label{position:relative;font-size:11.5px;font-weight:700;color:#ffe9a8;letter-spacing:.2px}
.earnbar-label b{color:#fff}

/* ===== Dünya ===== */
.world{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;background:var(--dirt-3)}
.world::-webkit-scrollbar{width:0}

/* Yüzey */
.surface{position:relative;height:170px;overflow:hidden}
.sky{position:absolute;inset:0;background:linear-gradient(180deg,var(--sky-1),var(--sky-2))}
.sky-scene{position:absolute;inset:0;width:100%;height:100%}
.bldg{position:absolute;bottom:14px;width:84px}
.bldg-left{left:8px}.bldg-right{right:8px}
.bldg-roof{height:14px;border-radius:8px 8px 0 0;background:linear-gradient(180deg,#ff7a3c,#e7551d);
  box-shadow:inset 0 -3px 0 rgba(0,0,0,.15)}
.bldg-body{height:54px;background:linear-gradient(180deg,#9fb6cf,#7e96b3);border-radius:0 0 6px 6px;
  display:flex;gap:8px;align-items:center;justify-content:center;box-shadow:inset 0 -6px 0 rgba(0,0,0,.12)}
.bldg-win{width:16px;height:16px;border-radius:3px;background:#2b3b52;box-shadow:inset 0 0 0 2px #b9cbe0}
.manager{position:absolute;bottom:54px;width:26px;height:30px;left:50%;transform:translateX(-50%)}
.manager::before{content:"";position:absolute;left:4px;top:0;width:18px;height:18px;border-radius:50%;
  background:#f2c79a;box-shadow:inset -3px -2px 0 rgba(0,0,0,.08)}
.manager::after{content:"";position:absolute;left:2px;top:14px;width:22px;height:18px;border-radius:8px 8px 4px 4px;
  background:#34507a}
.bldg-right .manager::after{background:#7a3450}

/* Yer altı */
.underground{position:relative;display:flex;min-height:calc(100% - 170px)}
.elevator{position:relative;width:54px;flex:0 0 54px;
  background:repeating-linear-gradient(180deg,#243246 0 18px,#2b3a52 18px 36px)}
.elevator-rail{position:absolute;left:50%;top:0;bottom:0;width:6px;transform:translateX(-50%);
  background:linear-gradient(90deg,#202c3e,#0e1622)}
.elevator-car{position:absolute;left:50%;top:6px;width:40px;height:30px;transform:translateX(-50%);
  background:linear-gradient(180deg,var(--metal-l),var(--metal-d));border-radius:7px;
  box-shadow:0 4px 8px rgba(0,0,0,.4),inset 0 0 0 2px #56729b;
  animation:lift 5s cubic-bezier(.55,0,.45,1) infinite}
.elevator-gold{position:absolute;left:8px;top:7px;right:8px;bottom:7px;border-radius:4px;
  background:radial-gradient(circle at 30% 30%,var(--gold-l),var(--gold) 60%,var(--gold-d));
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}
@keyframes lift{0%,8%{top:6px}45%,55%{top:calc(100% - 36px)}92%,100%{top:6px}}

/* Katlar */
.shafts{flex:1;display:flex;flex-direction:column}
.shaft{position:relative;height:118px;display:flex;align-items:stretch;
  border-bottom:4px solid var(--dirt-line);
  background:linear-gradient(180deg,var(--dirt-1),var(--dirt-2));overflow:hidden}
.shaft:nth-child(even){background:linear-gradient(180deg,var(--dirt-2),var(--dirt-1))}
.shaft-floor{position:absolute;left:0;right:0;bottom:0;height:10px;background:var(--dirt-3);
  box-shadow:inset 0 3px 0 rgba(0,0,0,.18)}
/* tahta destekler */
.shaft::before{content:"";position:absolute;left:0;top:0;bottom:0;width:8px;
  background:linear-gradient(180deg,var(--wood),var(--wood-d))}
.beam{position:absolute;top:0;width:7px;height:100%;background:linear-gradient(180deg,var(--wood),var(--wood-d));opacity:.85}
.lantern{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:12px;height:14px;border-radius:3px;
  background:radial-gradient(circle at 50% 35%,#fff3b0,#ffb738);box-shadow:0 0 14px 4px rgba(255,196,60,.5)}
.lantern::before{content:"";position:absolute;left:50%;top:-6px;width:1px;height:6px;background:#3a2a18;transform:translateX(-50%)}

/* madenci alanı */
.miner-zone{flex:1;position:relative}
.miner{position:absolute;bottom:12px;left:18px;width:54px;height:64px;transform-origin:bottom center}
.miner.dig .arm{animation:swing .5s ease-in-out infinite}
.miner .arm{transform-box:fill-box;transform-origin:12% 18%}
.miner-tap{position:absolute;inset:0;cursor:pointer}
@keyframes swing{0%,100%{transform:rotate(-12deg)}50%{transform:rotate(26deg)}}

/* boş kat */
.shaft.empty .miner-zone{display:grid;place-items:center}
.cobweb{position:absolute;top:6px;left:14px;width:34px;height:34px;opacity:.5}

/* altın damarı */
.ore{position:relative;width:74px;flex:0 0 74px;background:linear-gradient(90deg,var(--dirt-2),var(--dirt-3));
  overflow:hidden}
.ore::before{content:"";position:absolute;inset:0;
  background:
    radial-gradient(7px 7px at 16px 18px,var(--gold-l),var(--gold) 70%,transparent 72%),
    radial-gradient(9px 9px at 40px 30px,var(--gold-l),var(--gold) 70%,transparent 72%),
    radial-gradient(6px 6px at 24px 46px,var(--gold-l),var(--gold) 70%,transparent 72%),
    radial-gradient(10px 10px at 52px 60px,var(--gold-l),var(--gold) 70%,transparent 72%),
    radial-gradient(6px 6px at 18px 80px,var(--gold-l),var(--gold) 70%,transparent 72%),
    radial-gradient(8px 8px at 46px 92px,var(--gold-l),var(--gold) 70%,transparent 72%),
    radial-gradient(7px 7px at 28px 104px,var(--gold-l),var(--gold) 70%,transparent 72%);
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}

/* kat etiketi + buton (overlay) */
.shaft-ui{position:absolute;left:62px;bottom:14px;display:flex;flex-direction:column;gap:5px;z-index:3;pointer-events:none}
.shaft-tag{align-self:flex-start;font-size:11px;font-weight:800;color:#fff;background:rgba(0,0,0,.42);
  padding:2px 8px;border-radius:99px}
.shaft-sub{font-size:11px;font-weight:700;color:#ffe9a8;text-shadow:0 1px 2px rgba(0,0,0,.5)}
.btn-up{pointer-events:auto;align-self:flex-start;border:0;cursor:pointer;font-family:inherit;
  font-weight:800;font-size:13px;color:#0d2b12;padding:8px 14px;border-radius:12px;
  background:linear-gradient(180deg,#7ff08a,#34c759);box-shadow:0 4px 0 #1f9a43,0 6px 12px rgba(0,0,0,.3)}
.btn-up:active{transform:translateY(3px);box-shadow:0 1px 0 #1f9a43}
.btn-up[disabled]{background:linear-gradient(180deg,#9aa6b5,#74808f);box-shadow:0 4px 0 #555f6c;color:#2a2f36;opacity:.85}
.btn-up.hire{background:linear-gradient(180deg,#ffd76a,#f5a623);box-shadow:0 4px 0 #c87f12,0 6px 12px rgba(0,0,0,.3);color:#3a2400}
.btn-up.hire:active{box-shadow:0 1px 0 #c87f12}

/* ===== Uçan kazanç ===== */
.float{position:absolute;font-weight:800;font-size:16px;pointer-events:none;z-index:5;
  text-shadow:0 2px 3px rgba(0,0,0,.5);animation:floatUp 1s ease-out forwards}
.float.cash{color:#8dffae}.float.coin{color:var(--gold)}
@keyframes floatUp{0%{opacity:0;transform:translateY(6px) scale(.8)}
  20%{opacity:1;transform:translateY(-2px) scale(1.1)}
  100%{opacity:0;transform:translateY(-40px) scale(1)}}

/* ===== Dock ===== */
.dock{display:flex;gap:8px;padding:8px 10px calc(8px + var(--safe-bot));
  background:linear-gradient(180deg,#12243b,#0b1626);border-top:1px solid #1d365a;z-index:20}
.dock-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;
  border:0;cursor:pointer;font-family:inherit;color:#fff;text-decoration:none;
  padding:8px 4px;border-radius:14px;background:#1b3050;box-shadow:inset 0 -3px 0 rgba(0,0,0,.25)}
.dock-btn:active{transform:translateY(1px)}
.dock-ic{font-size:20px}.dock-tx{font-size:11.5px;font-weight:700}
.dock-daily{background:linear-gradient(180deg,#ffd76a,#f5a623);color:#3a2400}
.dock-daily[disabled]{filter:grayscale(.6) brightness(.8)}
.dock-boost{background:linear-gradient(180deg,#7cc4ff,#1e90ff);color:#06243f}
.dock-boost.on{animation:pulse .6s ease-in-out infinite}
.dock-save{background:linear-gradient(180deg,#a0f0b0,#34c759);color:#063017}
@keyframes pulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.25)}}

/* ===== Toast ===== */
.toast{position:fixed;left:50%;bottom:88px;transform:translateX(-50%) translateY(16px);
  background:linear-gradient(180deg,#fff,#ffe9a8);color:#5a3b00;font-weight:800;font-size:14px;
  padding:11px 18px;border-radius:99px;box-shadow:var(--shadow);opacity:0;z-index:50;
  transition:opacity .25s ease,transform .25s ease;max-width:90%;text-align:center}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ===== KRİTİK: hidden HTML özniteliği daima display:none olsun ===== */
/* (display:grid/flex CSS kuralları hidden'ı eziyordu → modaller kapanmıyordu) */
[hidden]{display:none !important}

/* ===== Sheet / modal ===== */
.sheet{position:fixed;inset:0;background:rgba(6,12,22,.6);backdrop-filter:blur(3px);
  display:grid;place-items:center;z-index:100;padding:18px;animation:fade .2s ease}
@keyframes fade{from{opacity:0}to{opacity:1}}
.sheet-card{width:100%;max-width:360px;background:linear-gradient(180deg,#1a3252,#122340);
  border:1px solid #2b4d7a;border-radius:20px;padding:20px;box-shadow:var(--shadow)}
.sheet-card.center{text-align:center}
.sheet-card h2{margin:0 0 2px;font-size:22px}
.sheet-sub{margin:0 0 14px;color:#9fc0e6;font-size:13px}
.row-btn{display:block;width:100%;text-align:left;margin:8px 0;padding:13px 16px;border:0;cursor:pointer;
  font-family:inherit;font-weight:700;font-size:15px;color:#fff;text-decoration:none;
  background:#16294a;border-radius:13px;box-shadow:inset 0 0 0 1.5px #2b4d7a}
.row-btn:active{transform:translateY(1px)}
.row-btn.primary{background:linear-gradient(180deg,#ffd76a,#f5a623);color:#3a2400;box-shadow:0 4px 0 #c87f12;text-align:center}
.row-btn.danger{color:#ffb4b0;box-shadow:inset 0 0 0 1.5px #5a2b2b}
.row-btn.ghost{text-align:center;color:#9fc0e6;background:transparent;box-shadow:none}
.sheet-legal{margin:12px 0 0;font-size:11px;color:#7d9cc2;text-align:center}
.welcome-emoji{font-size:48px}
.welcome-amt{font-size:34px;font-weight:800;color:#8dffae;margin:6px 0 14px}
.announce-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.announce-ic{font-size:30px}
.announce-body{color:#cfe6ec;line-height:1.55;margin:6px 0 14px;white-space:pre-line}
#announce.lv-success .sheet-card{border-left:4px solid var(--ok)}
#announce.lv-warning .sheet-card{border-left:4px solid var(--bad)}
#announce.lv-info .sheet-card{border-left:4px solid var(--ui)}

@media (max-width:360px){
  .ore{flex-basis:54px;width:54px}
  .shaft-ui{left:48px}
}

/* ===== v2: zincir + mekanikler ===== */
.shaft-btns{display:flex;gap:6px;flex-wrap:wrap;pointer-events:auto}
.btn-up.mgr{background:linear-gradient(180deg,#7cc4ff,#1e90ff);box-shadow:0 4px 0 #0c63c6,0 6px 12px rgba(0,0,0,.3);color:#06243f;font-size:12px;padding:7px 11px}
.btn-up.mgr:active{box-shadow:0 1px 0 #0c63c6}
.miner.ghost{opacity:.45}
.auto-badge{position:absolute;top:8px;right:8px;z-index:4;font-size:10.5px;font-weight:800;color:#063017;
  background:linear-gradient(180deg,#a0f0b0,#34c759);padding:3px 8px;border-radius:99px;box-shadow:0 2px 5px rgba(0,0,0,.3)}

/* Asansör / depo çipleri */
.build-chip{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(100% + 4px);white-space:nowrap;
  font-size:10.5px;font-weight:800;color:#fff;background:rgba(7,16,28,.82);padding:4px 9px;border-radius:9px;
  line-height:1.25;text-align:center;box-shadow:0 2px 6px rgba(0,0,0,.35)}
.chip-cost{color:var(--gold)}
.build-btn{border:0;padding:0;background:transparent;cursor:pointer;font-family:inherit}
.build-btn .bldg-body,.build-btn .bldg-roof{transition:filter .15s ease}
.bldg-right.afford .bldg-body,.elevator.afford .elevator-car{filter:drop-shadow(0 0 8px rgba(255,207,58,.8))}
.elevator{cursor:pointer}
.elev-chip{bottom:auto;top:6px}

/* Dock ek butonlar */
.dock-prestige{background:linear-gradient(180deg,#ffd76a,#f5a623);color:#3a2400}
.dock-prestige.ready{animation:pulse .8s ease-in-out infinite}
.dock-ach{background:linear-gradient(180deg,#c9a3ff,#8a4fe0);color:#1d0a3a}

/* Prestij paneli */
.prestige-stat{margin:8px 0;font-size:15px;color:#cfe0f5}
.prestige-stat b{color:var(--gold);font-size:18px}

/* Başarım listesi */
.ach-list{max-height:52vh;overflow-y:auto;margin:6px 0;display:grid;gap:8px}
.ach-row{display:flex;align-items:center;gap:10px;background:#16294a;border-radius:12px;padding:10px 12px;opacity:.7}
.ach-row.done{opacity:1;box-shadow:inset 0 0 0 1.5px #2e6b3f}
.ach-ic{font-size:18px}
.ach-tx{display:flex;flex-direction:column}
.ach-tx b{font-size:14px}.ach-tx small{font-size:12px;color:#9fc0e6}

/* Dil anahtarı */
.lang-row{display:flex;align-items:center;justify-content:space-between}
.lang-switch a{display:inline-block;margin-left:6px;padding:4px 10px;border-radius:8px;background:#0c1c30;color:#9fc0e6;font-weight:800;font-size:12px}
.lang-switch a.on{background:linear-gradient(180deg,#ffd76a,#f5a623);color:#3a2400}

/* ===== Giriş / kayıt ===== */
.auth-body{display:grid;place-items:center;min-height:100vh;overflow:auto;
  background:radial-gradient(120% 90% at 50% 15%,#16314f,#0b1626)}
.auth-wrap{position:relative;width:100%;max-width:380px;padding:24px 18px;display:grid;justify-items:center}
.auth-lang{position:absolute;top:10px;right:14px;color:#9fc0e6;font-weight:800;background:#13243c;padding:6px 12px;border-radius:99px;text-decoration:none}
.auth-logo{margin:8px 0 14px;filter:drop-shadow(0 8px 18px rgba(255,170,20,.35))}
.auth-card{width:100%;background:linear-gradient(180deg,#1a3252,#122340);border:1px solid #2b4d7a;border-radius:20px;padding:22px;box-shadow:var(--shadow)}
.auth-card h1{margin:0 0 4px;font-size:23px;color:#fff}
.auth-sub{margin:0 0 14px;color:#9fc0e6;font-size:13px}
.auth-err{background:rgba(255,90,82,.15);border:1px solid rgba(255,90,82,.4);color:#ffd0cd;padding:10px 12px;border-radius:10px;margin:8px 0;font-size:13px;font-weight:600}
.auth-form{display:grid;gap:12px;margin-top:8px}
.auth-form label{display:grid;gap:6px;font-size:13px;font-weight:700;color:#9fc0e6}
.auth-form input{padding:12px 14px;border-radius:11px;border:1px solid #2b4d7a;background:#0c1c30;color:#fff;font-size:16px;font-family:inherit}
.auth-form input:focus{outline:2px solid var(--gold);border-color:var(--gold)}
.auth-btn{margin-top:4px;border:0;cursor:pointer;font-family:inherit;font-weight:800;font-size:16px;color:#3a2400;
  padding:14px;border-radius:13px;background:linear-gradient(180deg,#ffd76a,#f5a623);box-shadow:0 5px 0 #c87f12}
.auth-btn:active{transform:translateY(3px);box-shadow:0 2px 0 #c87f12}
.auth-alt{margin:14px 0 0;text-align:center;color:#9fc0e6;font-size:14px}
.auth-alt a{color:var(--gold);font-weight:800}
.auth-legal{margin:14px 0 0;text-align:center;color:#6f8db3;font-size:11px;max-width:340px}
