:root{
  --pine:#1E5C34;
  --pine-deep:#123B22;
  --sky:#4FA8E0;
  --grass:#6FBF3C;
  --ivory:#EDE6D6;
  --brass:#C6A15B;
  --brass-bright:#E0C583;
  --felt-red:#7A3A34;
  --amber:#F2B134;
  --burgundy:#8B2635;
}
*{box-sizing:border-box;}
html,body{
  margin:0;padding:0;
  background:
    linear-gradient(rgba(6,20,12,0.4), rgba(6,20,12,0.45)),
    url('/assets/bg-golf.jpg') center center / cover no-repeat fixed;
  color:var(--ivory);font-family:'Inter',system-ui,sans-serif;min-height:100vh;
}

.screen{
  max-width:420px;margin:0 auto;padding:40px 20px;
  display:flex;flex-direction:column;align-items:center;gap:18px;
  min-height:100vh;justify-content:center;
}
.screen h1{
  font-family:'Fraunces',serif;font-size:32px;color:var(--brass-bright);margin:0;
  text-shadow:0 1px 4px rgba(0,0,0,0.55), 0 0 2px rgba(0,0,0,0.4);
}
.screen p.tagline{
  color:#D8E4DC;font-size:13px;margin:0 0 10px;text-align:center;
  text-shadow:0 1px 4px rgba(0,0,0,0.55), 0 0 2px rgba(0,0,0,0.4);
}

.card{
  width:100%;background:var(--pine);border:1px solid rgba(198,161,91,0.25);
  border-radius:14px;padding:22px;
}

input[type=email],input[type=password]{
  width:100%;padding:11px 12px;margin-bottom:10px;border-radius:8px;
  border:1px solid rgba(198,161,91,0.3);background:#0a1512;color:var(--ivory);
  font-size:15px;
}

button.primary{
  width:100%;padding:12px;border:none;border-radius:8px;
  background:var(--felt-red);color:var(--ivory);font-weight:600;font-size:15px;
  cursor:pointer;margin-top:4px;
}
button.primary:hover{filter:brightness(1.08);}
button.secondary{
  width:100%;padding:12px;border:1px solid rgba(198,161,91,0.35);border-radius:8px;
  background:rgba(198,161,91,0.1);color:var(--brass-bright);font-weight:600;font-size:15px;
  cursor:pointer;margin-top:10px;
}

.divider{display:flex;align-items:center;gap:10px;color:#6b8073;font-size:12px;margin:16px 0;}
.divider::before,.divider::after{content:'';flex:1;height:1px;background:rgba(198,161,91,0.2);}

#googleBtnContainer{display:flex;justify-content:center;margin-bottom:6px;}

.error-msg{color:#E88A7D;font-size:13px;margin:6px 0 0;min-height:16px;}
.link-btn{
  background:none;border:none;color:var(--brass-bright);font-size:13px;
  text-decoration:underline;cursor:pointer;padding:0;margin-top:14px;
  text-shadow:0 1px 4px rgba(0,0,0,0.55), 0 0 2px rgba(0,0,0,0.4);
}

.game-hub{width:100%;text-align:center;}
.user-chip{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:20px;}
.user-chip img{width:36px;height:36px;border-radius:50%;}
.user-chip span{text-shadow:0 1px 4px rgba(0,0,0,0.55), 0 0 2px rgba(0,0,0,0.4);}

.mode-btn{
  width:100%;padding:16px;border-radius:10px;margin-bottom:12px;
  border:1px solid rgba(198,161,91,0.3);background:var(--pine);
  color:var(--ivory);font-size:15px;font-weight:600;cursor:pointer;text-align:left;
}
.mode-btn .sub{display:block;font-size:12px;color:#9CB09E;font-weight:400;margin-top:3px;}
.mode-btn.locked{opacity:0.75;}
.mode-btn.locked .sub{color:var(--amber);}

.ai-difficulty{margin-bottom:14px;}
.ai-difficulty-label{
  display:block;font-size:12px;color:#E4EDE8;text-transform:uppercase;
  letter-spacing:0.5px;margin-bottom:6px;text-align:left;
  text-shadow:0 1px 4px rgba(0,0,0,0.55), 0 0 2px rgba(0,0,0,0.4);
}
.ai-difficulty-options{display:flex;gap:8px;}
.ai-diff-btn, .ai-elo-btn, .color-btn, .terrain-btn{
  flex:1;padding:10px 6px;border-radius:8px;
  border:1px solid rgba(198,161,91,0.3);background:var(--pine);
  color:#9CB09E;font-size:13px;font-weight:600;cursor:pointer;
}
.ai-diff-btn.active, .ai-elo-btn.active, .color-btn.active, .terrain-btn.active{
  background:rgba(198,161,91,0.18);border-color:var(--brass-bright);
  color:var(--brass-bright);
}
