/* ============================================================
   WARUNG SUMEDANG — Game Stylesheet
   ============================================================ */

:root{
  --g-bg:#0a0a0a;
  --g-fg:#f5f5f5;
  --g-muted:#888;
  --g-accent:#6ee7b7;
  --g-warm:#f5c451;
  --g-danger:#ff5d8f;
  --g-wood:#3a2a18;
  --g-wood-light:#5a4028;
  --g-wood-dark:#1f160c;
  --g-font:'Styuw',system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{width:100%;height:100%;overflow:hidden;background:var(--g-bg);color:var(--g-fg);font-family:var(--g-font)}
body{touch-action:manipulation;user-select:none;-webkit-user-select:none}

#stage{
  position:fixed;inset:0;
  max-width:520px;margin:0 auto;
  display:flex;flex-direction:column;
}
svg#scene{display:block;width:100%;height:100%;background:#050505}

/* Pause button */
.icon-btn{
  position:absolute;top:12px;right:12px;z-index:25;
  width:42px;height:42px;
  background:rgba(10,10,10,.75);
  border:1.5px solid #444;
  border-radius:10px;
  color:#ccc;font-size:18px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  transition:all .15s;
  font-family:inherit;
  backdrop-filter:blur(4px);
}
.icon-btn[hidden]{display:none !important}
.icon-btn:hover,.icon-btn:active{background:#222;border-color:var(--g-accent);color:var(--g-accent)}

/* Screens (overlay) */
.screen{
  position:absolute;inset:0;
  background:radial-gradient(circle at 50% 30%,#1a1208 0%,#0a0a0a 70%);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:28px 20px;text-align:center;
  transition:opacity .25s;
  z-index:20;
}
#settings-panel{z-index:30}
.screen.hidden{display:none}

.title{
  font-size:44px;font-weight:800;letter-spacing:.06em;line-height:.95;
  color:var(--g-warm);text-shadow:0 0 30px rgba(245,196,81,.35);
}
.title span{display:block;color:var(--g-accent);text-shadow:0 0 30px rgba(110,231,183,.35)}
.tag{margin-top:10px;font-size:10px;letter-spacing:.4em;color:var(--g-muted)}
.desc{max-width:300px;margin:24px 0 30px;font-size:13px;line-height:1.7;color:#999}

.btn{
  padding:14px 40px;background:transparent;color:var(--g-accent);
  border:2px solid var(--g-accent);border-radius:6px;
  font-family:inherit;font-size:13px;letter-spacing:.22em;
  font-weight:700;cursor:pointer;text-transform:uppercase;
  transition:all .18s;margin-top:6px;
}
.btn:hover,.btn:active{background:var(--g-accent);color:var(--g-bg);box-shadow:0 0 28px rgba(110,231,183,.4)}
.btn.warm{color:var(--g-warm);border-color:var(--g-warm)}
.btn.warm:hover,.btn.warm:active{background:var(--g-warm);color:var(--g-bg);box-shadow:0 0 28px rgba(245,196,81,.4)}
.btn.ghost{color:#666;border-color:#333;font-size:11px;padding:10px 24px;margin-top:12px}
.btn.ghost:hover,.btn.ghost:active{background:#222;color:#ccc;border-color:#555;box-shadow:none}

.hint{margin-top:20px;font-size:10px;color:#444;letter-spacing:.2em}

.stat-big{font-size:52px;font-weight:800;color:var(--g-warm);line-height:1;letter-spacing:-.02em}
.stat-label{font-size:10px;letter-spacing:.3em;color:var(--g-muted);margin-top:6px}
.stats-row{display:flex;gap:36px;margin:18px 0 8px}
.stat-item{text-align:center}

/* Settings */
.settings-row{
  display:flex;align-items:center;gap:14px;
  margin:12px 0;font-size:13px;color:#aaa;
  min-width:260px;
}
.settings-row span{flex:1;text-align:left}
.settings-row input[type="range"]{
  -webkit-appearance:none;
  appearance:none;
  width:160px;height:6px;border-radius:3px;
  background:#333;outline:none;
}
.settings-row input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  width:18px;height:18px;border-radius:50%;
  background:var(--g-accent);cursor:pointer;
  border:none;
}
.settings-row input[type="range"]::-moz-range-thumb{
  width:18px;height:18px;border-radius:50%;
  background:var(--g-accent);cursor:pointer;border:none;
}

/* Mute toggle button di settings */
.toggle-btn{
  padding:6px 16px;
  background:#1a1208;
  border:1.5px solid var(--g-accent);
  color:var(--g-accent);
  border-radius:6px;
  font-family:inherit;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  letter-spacing:0.1em;
  min-width:76px;
  text-align:center;
  transition:all .15s;
}
.toggle-btn:hover,
.toggle-btn:active{
  background:#0a2a18;
}
.toggle-btn.muted{
  border-color:#666;
  color:#666;
  background:#0f0f0f;
}
.toggle-btn.muted:hover,
.toggle-btn.muted:active{
  background:#1a1a1a;
}

/* ============================================================
   FOOTER — di menu utama & sub-screens (bukan saat gameplay)
   ============================================================ */

.screen .game-footer{
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  padding:14px 20px 16px;
  text-align:center;
  border-top:1px solid #1a1a1a;
  background:linear-gradient(to bottom, transparent, rgba(0,0,0,.4));
  pointer-events:none;
}

.game-footer .footer-brand{
  font-family:'Styuw',system-ui,sans-serif;
  font-weight:800;
  font-size:12px;
  letter-spacing:0.22em;
  color:var(--g-fg);
  margin-bottom:6px;
  text-shadow:0 0 12px rgba(245,245,245,.15);
}

.game-footer .footer-credits{
  font-family:system-ui,-apple-system,sans-serif;
  font-size:9px;
  letter-spacing:0.05em;
  color:#444;
  line-height:1.6;
}

.game-footer .footer-credits a{
  color:#555;
  text-decoration:none;
  transition:color .15s;
  pointer-events:auto;
}

.game-footer .footer-credits a:hover{
  color:var(--g-accent);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-height:640px){
  .title{font-size:36px}
  .desc{margin:18px 0 22px}
  .screen .game-footer{padding:8px 16px 10px}
  .game-footer .footer-brand{font-size:10px;margin-bottom:3px}
  .game-footer .footer-credits{font-size:8px}
}
