*{box-sizing:border-box}

.container{
  width:100%;
  max-width:760px;
  margin:0 auto;
  background:var(--bg-card);
  border:1px solid var(--primary-border);
  border-radius:28px;
  padding:28px;
}

.app-tag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:var(--primary-soft);
  color:var(--primary);
  font-size:13px;
  font-weight:700;
  letter-spacing:0.2px;
  margin-bottom:16px;
}

h2{
  font-size:22px;
  font-weight:700;
  color:var(--text-primary);
  margin:0 0 12px;
  line-height:1.3;
}

.intro{
  margin:0 0 24px;
  font-size:16px;
  line-height:1.6;
  color:var(--text-muted);
}

.info-box{
  background:var(--bg-page);
  border:1px solid var(--primary-border);
  border-radius:20px;
  padding:22px;
  text-align:left;
  margin-bottom:18px;
}

.week-highlight{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,0.8fr);
  gap:16px;
  margin-bottom:18px;
}

.stat-card{
  border:1px solid var(--primary-border);
  border-radius:16px;
  padding:18px;
  background:var(--bg-card);
}

.stat-label{
  display:block;
  font-size:13px;
  line-height:1.4;
  color:var(--text-muted);
  margin-bottom:8px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.3px;
}

.stat-value{
  display:block;
  font-size:34px;
  line-height:1;
  font-weight:700;
  letter-spacing:-0.8px;
  color:var(--text-primary);
}

.stat-value.accent{
  color:var(--primary);
}

.week-details{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.detail-card{
  border-radius:16px;
  background:var(--bg-card);
  border:1px solid var(--primary-border);
  padding:16px;
  min-height:108px;
}

.detail-title{
  margin:0 0 10px;
  font-size:13px;
  line-height:1.4;
  color:var(--text-muted);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.3px;
}

.detail-value{
  margin:0;
  font-size:16px;
  line-height:1.5;
  color:var(--text-primary);
  font-weight:700;
}

.toggle-wrap{
  display:flex;
  justify-content:center;
  margin:8px 0 0;
}

.toggle-button{
  appearance:none;
  border:none;
  border-radius:14px;
  padding:15px 22px;
  font-size:15px;
  font-weight:700;
  line-height:1;
  color:#fff;
  background:var(--primary);
  cursor:pointer;
  transition:transform 0.2s ease, background 0.2s ease;
}

.toggle-button:hover{
  transform:translateY(-1px);
  background:var(--primary-hover, var(--primary));
  filter:brightness(0.9);
}

.toggle-button:active{
  transform:translateY(0);
}

#yearWeeks{
  display:none;
  margin-top:20px;
  padding:22px;
  background:var(--bg-page);
  border:1px solid var(--primary-border);
  border-radius:20px;
  text-align:left;
  font-size:15px;
}

.yearweeks-header{
  margin:0 0 18px;
  font-size:22px;
  line-height:1.2;
  letter-spacing:-0.4px;
  color:var(--text-primary);
}

.months-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.month-card{
  background:var(--bg-card);
  border:1px solid var(--primary-border);
  border-radius:16px;
  padding:18px;
}

#yearWeeks h4{
  margin:0 0 12px;
  color:var(--text-primary);
  font-size:17px;
  line-height:1.2;
  letter-spacing:-0.2px;
}

#yearWeeks ul{
  margin:0;
  padding-left:18px;
  color:var(--text-muted);
}

#yearWeeks li{
  margin:0 0 8px;
  line-height:1.5;
}

#yearWeeks li:last-child{
  margin-bottom:0;
}

@media (max-width:760px){
  .container{padding:22px 16px;border-radius:22px}
  .week-highlight,.week-details,.months-grid{grid-template-columns:1fr}
  .stat-value{font-size:30px}
}

@media (max-width:480px){
  .container{padding:18px 14px}
  .intro{font-size:15px}
  .info-box,#yearWeeks,.month-card,.detail-card,.stat-card{padding:15px}
  .toggle-button{width:100%;justify-content:center}
}
