:root{
  --bg:#a6dbff;
  /* --card:#e4ffb8; */
  --accent:#e11d48;
  --muted:#6b7280;
}
#ss{
  font-size: 33px;
  margin-right: 40px;
}

*{box-sizing:border-box}
body{
  margin:0;
  /* font-family:Inter, system-ui, -apple-system, 'Segoe UI', Roboto, Arial; */
  font-family:Verdana, Geneva, Tahoma, sans-serif;
  /* background:linear-gradient(180deg,#ececec 0%,var(--bg) 100%); */
  background: linear-gradient(to bottom, #a0d8ff, #ffffff);
  color:#0f172a;
  display:flex;
  min-height:100vh;
  align-items:center;
  justify-content:center;
  padding:10px;
  flex-direction: column;


}

#shirt-btn{
  background: #ff0800;
  border: 1px solid #FF4742;
  border-radius: 6px;
  box-shadow: rgb(226, 47, 47) 1px 2px 4px;
  box-sizing: border-box;
  color: #FFFFFF;
  cursor: pointer;
  display: inline-block;
  font-family: nunito,roboto,proxima-nova,"proxima nova",sans-serif;
  font-size: 16px;
  font-weight: 800;
  line-height: 16px;
  min-height: 40px;
  outline: 0;
  padding: 12px 14px;
  text-align: center;
  text-rendering: geometricprecision;
  text-transform: none;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  vertical-align: middle;
}

#shirt-btn:hover,
#shirt-btn:active {
  background:linear-gradient(135deg, #cc0000, #ff1a1a);
  background-position: 0 0;
  color: #FF4742;
  /* transform:skew(4deg) */
}

#shirt-btn:active {
  opacity: .5;
}
a{
  list-style: none;
  color: white;
  font-weight: 200;
  /* font-style:normal; */
  /* font-style: none; */
  text-decoration: none;
}

.app{width:100%;max-width:1100px}

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

.spinners-row{display:flex;align-items:center;justify-content:space-between;gap:18px}
.spinner-card{width:360px;text-align:center;position:relative;background:var(--card);padding:12px;border-radius:12px;}
.spinner-card canvas{display:block;margin:0 auto;border-radius:50%;background:transparent;box-shadow:0 10px 30px rgba(2,6,23,0.06)}
.arrow{
  width:0;height:0;
  border-left:18px solid transparent;
  border-right:18px solid transparent;
  border-top:28px solid var(--accent); /* arrow pointing up (we put it below the canvas) */
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:90%; /* aligns arrow under canvas pointing upward */
  filter:drop-shadow(0 4px 6px rgba(0,0,0,0.15));
  z-index:20;
}
.label{margin-top:8px;font-size: 20px;font-weight:700;color:#0b1220}
.controls{display:flex;flex-direction:column;align-items:center;gap:12px;width:220px}
#spinBtn{padding:12px 22px;border-radius:10px;border:0;background: linear-gradient(135deg, #cc0000, #ff1a1a);color:#fff;font-weight:700;cursor:pointer;box-shadow:0 10px 30px rgba(209,62,169,0.12)}
#spinBtn:disabled{opacity:0.5;cursor:not-allowed}
.hint{font-size:13px;color:var(--muted)}

.records{margin-top:20px;background:var(--card);padding:12px;border-radius:10px;box-shadow:0 8px 30px rgba(2,6,23,0.05)}
.records h2{margin:0 0 8px}
#recordsBox{min-height:60px;border:1px dashed #e6edf7;padding:10px;border-radius:8px;background:#fbfdff}
.record-item{display:flex;justify-content:space-between;gap:12px;padding:10px;border-radius:8px;border-bottom:1px solid #eef2f7}
.record-item:last-child{border-bottom:none}
.record-left strong{color:#0b1220}
.record-right{color:var(--muted)}

.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(3,7,18,0.5);z-index:200}
.modal-inner{width:820px;max-width:94%;background:#fff;padding:18px;border-radius:12px;box-shadow:0 30px 80px rgba(2,6,23,0.35)}
.final-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:12px}
.final-card{background:linear-gradient(180deg,#fff,#fbfdff);padding:10px;border-radius:8px;border:1px solid rgba(2,6,23,0.04);font-weight:700}
.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}
.modal-actions button{padding:8px 12px;border-radius:8px;border:0;background:#0b1220;color:#fff;cursor:pointer}
.modal-actions button#downloadCsv{background:#0066d6}

@media (max-width:980px){
  .spinners-row{flex-direction:column;align-items:center}
  .controls{order:3}
}
#spinBtn:hover {
  background: linear-gradient(135deg, #cc000081, #ff1a1a);
  transform: scale(1.08);
  box-shadow: 0 6px 15px rgba(0,0,0,0.3);
}
.spinner-card {
  width: 100%;
  max-width: 360px; /* works for desktop, shrinks on mobile */
  text-align: center;
  position: relative;
  background: var(--card);
  padding: 12px;
  border-radius: 12px;
}

canvas {
  max-width: 100%;
  height: auto; /* makes canvas resize proportionally */
}

/* Make title and labels smaller on mobiles */
@media (max-width: 600px) {
  #ss {
    font-size: 24px;
    margin-right: 0;
  }
  .label {
    font-size: 16px;
  }
  h2 {
    font-size: 20px;
  }
  #spinBtn {
    width: 100%;
    max-width: 250px;
    padding: 10px 18px;
    font-size: 16px;
  }
  .records {
    padding: 8px;
  }
  .record-item {
    font-size: 14px;
    flex-direction: column;
    align-items: flex-start;
  }
  .logo{
    width: 70px;
    margin-left: 45%;
  }
}

/* Very small screens (≤400px) */
@media (max-width: 400px) {
  h1 {
    font-size: 20px;
  }
  .spinner-card {
    max-width: 280px;
    padding: 8px;
  }
  canvas {
    width: 250px !important;
    height: 250px !important;
  }
  .logo{
    width: 40px;
  }
}
/* body {
    margin: auto;
    font-family: -apple-system, BlinkMacSystemFont, sans-serif;
    overflow: auto;
    background: linear-gradient(315deg, rgba(255, 61, 61, 0.726) 3%, rgb(241, 150, 150) 38%, rgba(82, 70, 70, 0.932) 68%, rgba(255,25,25,1) 98%);
    animation: gradient 15s ease infinite;
    background-size: 400% 400%;
    background-attachment: fixed;
}

@keyframes gradient {
    0% {
        background-position: 0% 0%;
    }
    50% {
        background-position: 100% 100%;
    }
    100% {
        background-position: 0% 0%;
    }
}

.wave {
    background: rgb(255 255 255 / 25%);
    border-radius: 1000% 1000% 0 0;
    position: fixed;
    width: 200%;
    height: 12em;
    animation: wave 10s -3s linear infinite;
    transform: translate3d(0, 0, 0);
    opacity: 0.8;
    bottom: 0;
    left: 0;
    z-index: -1;
}

.wave:nth-of-type(2) {
    bottom: -1.25em;
    animation: wave 18s linear reverse infinite;
    opacity: 0.8;
}

.wave:nth-of-type(3) {
    bottom: -2.5em;
    animation: wave 20s -1s reverse infinite;
    opacity: 0.9;
}

@keyframes wave {
    2% {
        transform: translateX(1);
    }

    25% {
        transform: translateX(-25%);
    }

    50% {
        transform: translateX(-50%);
    }

    75% {
        transform: translateX(-25%);
    }

    100% {
        transform: translateX(1);
    }
} */