:root{
  --bg:#e5e3e3;
  --panel:#ffffff;
  --card:#f0f0f0;
  --accent:#00b8cc;
  --text:#111;
  --muted:#555;
  --white:#fff;
}

*{ box-sizing:border-box; }

body{
  margin:0;
  background:var(--bg);
  font-family:'Noto Sans TC', sans-serif;
  color:var(--text);
}

.container{
  width:1200px;
  margin:40px auto;
  background:var(--panel);
  border-radius:14px;
  padding:30px;
}

h1{
  text-align:center;
  margin:0 0 18px 0;
  font-size:34px;
}

.dice-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:18px;
}

.dice-card{
  background:var(--card);
  border-radius:12px;
  padding:22px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:170px;
}

.dice-title{
  font-size:22px;
  font-weight:800;
  margin-bottom:18px;
}

.btn-primary{
  border:none;
  border-radius:10px;
  padding:12px 18px;
  font-weight:800;
  cursor:pointer;
  background:var(--accent);
  color:#fff;
  display:flex;
  align-items:center;
  gap:8px;
}

.btn-primary:active{ transform:translateY(1px); }

.material-symbols-outlined{
  font-size:22px;
  vertical-align:middle;
}

.result-wrap{
  margin-top:18px;
  background:var(--white);
  border-radius:12px;
  padding:24px;
  text-align:center;
}

.result-label{
  font-weight:800;
  color:#222;
  margin-bottom:10px;
}

.result-value{
  font-size:72px;
  font-weight:900;
  letter-spacing:1px;
  color:#111;
}
