/* Glow gradient aesthetic */
:root{
  --bg-1: #0b1020;
  --bg-2: #0e1b3a;
  --accent-1: #7c3aed;
  --accent-2: #0ea5e9;
  --accent-3: #22c55e;
  --danger: #ef4444;
  --text: #e6e6ff;
  --muted: #96a0c6;
  --card: rgba(255,255,255,0.06);
}

*{ box-sizing: border-box; }
html, body{ height:100%; }
body{
  margin:0;
  color: var(--text);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Inter, Arial, sans-serif;
  background: radial-gradient(1200px 800px at 10% 10%, #1b0b3a 0%, transparent 60%),
              radial-gradient(1000px 600px at 90% 20%, #033c6b 0%, transparent 60%),
              linear-gradient(180deg, var(--bg-1), var(--bg-2));
  overflow-x:hidden;
}

.bg_blur{
  position: fixed;
  inset: -10vmax;
  filter: blur(80px) saturate(140%);
  background:
    radial-gradient(600px 400px at 20% 30%, rgba(124, 58, 237, 0.6), transparent 60%),
    radial-gradient(800px 500px at 80% 20%, rgba(14, 165, 233, 0.5), transparent 60%),
    radial-gradient(700px 500px at 50% 90%, rgba(34, 197, 94, 0.5), transparent 60%);
  z-index:-1;
}

.site_header{
  padding: 24px 20px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content: space-between;
}
.title{
  margin:0;
  font-size: clamp(24px, 4vw, 36px);
  letter-spacing: 0.5px;
  text-shadow: 0 0 14px rgba(124,58,237,0.5), 0 0 28px rgba(14,165,233,0.35);
}
.by{ opacity:0.9; font-weight: 300; }

.tabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.tab{
  background: transparent;
  border: 1px solid rgba(255,255,255,0.15);
  color: var(--text);
  padding: 10px 14px;
  border-radius: 999px;
  cursor:pointer;
  backdrop-filter: blur(6px);
  transition: transform .15s ease, box-shadow .2s ease, border-color .2s ease;
  box-shadow: 0 0 0px rgba(124,58,237,0.0);
}
.tab:hover{ transform: translateY(-1px); border-color: rgba(255,255,255,0.35); }
.tab.current{
  background: linear-gradient(135deg, rgba(124,58,237,0.7), rgba(14,165,233,0.7));
  box-shadow: 0 0 18px rgba(124,58,237,0.55), 0 0 28px rgba(14,165,233,0.45);
}

main{ padding: 10px 20px 80px; }

.grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap:16px;
  margin-bottom: 16px;
}

.card{
  background: var(--card);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 18px;
  padding: 16px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06),
              0 10px 30px rgba(0,0,0,0.35);
}

.glow{
  position: relative;
}
.glow::after{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(124,58,237,0.55), rgba(14,165,233,0.55), rgba(34,197,94,0.45));
  filter: blur(24px);
  z-index:-1;
  opacity:0.5;
}

.big{ font-size: clamp(22px, 4vw, 34px); margin: 0.2rem 0 0; }
.mini{ color: var(--muted); font-size: 12px; margin-top: 8px; }

.progress{ width:100%; height: 8px; background: rgba(255,255,255,0.08); border-radius: 8px; overflow:hidden; }
.progress_fill{ height: 100%; width: 0%; background: linear-gradient(90deg, var(--accent-1), var(--accent-2)); box-shadow: 0 0 16px rgba(124,58,237,0.6); }

.actions{ display:flex; gap:10px; flex-wrap:wrap; margin: 16px 0; }

.btn{
  border:0;
  color:#fff;
  padding: 12px 16px;
  border-radius: 12px;
  cursor:pointer;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  transition: transform .15s ease, box-shadow .2s ease, background .2s ease;
  box-shadow: 0 0 0 rgba(124,58,237,0);
}
.btn:hover{ transform: translateY(-1px); }
.btn.primary{ background: linear-gradient(135deg, rgba(124,58,237,0.9), rgba(14,165,233,0.9)); box-shadow: 0 10px 24px rgba(124,58,237,0.45), 0 0 24px rgba(14,165,233,0.35) inset; }
.btn.secondary{ background: linear-gradient(135deg, rgba(14,165,233,0.9), rgba(34,197,94,0.9)); }
.btn.danger{ background: linear-gradient(135deg, rgba(239,68,68,0.95), rgba(124,58,237,0.75)); }

.panel{ display:none; }
.panel.visible{ display:block; }

.milestones{ list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.milestones li{
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
}
.milestones .ok{ border-color: rgba(34,197,94,0.7); }

.badge_wrap{ display:flex; gap:10px; flex-wrap:wrap; }
.badge{
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 12px;
  color:#fff;
  background: linear-gradient(135deg, rgba(124,58,237,0.8), rgba(14,165,233,0.8));
  box-shadow: 0 0 18px rgba(124,58,237,0.55);
}

.split{ display:grid; grid-template-columns: 1.2fr 1fr; gap: 14px; }
@media (max-width: 900px){ .split{ grid-template-columns: 1fr; } }

.breath_wrap{
  display:flex; align-items:center; justify-content:center;
  height: 280px;
}
.breath_circle{
  width: 200px; height: 200px; border-radius: 50%;
  display:flex; align-items:center; justify-content:center;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.12), rgba(255,255,255,0.06));
  box-shadow: 0 0 40px rgba(124,58,237,0.45), inset 0 0 20px rgba(14,165,233,0.45);
  font-size: 22px;
  text-align:center;
}

.controls{ display:flex; gap:10px; margin-top: 10px; }

.steps{ counter-reset: step; padding-left: 16px; }
.steps li{ margin: 8px 0; }
.steps li::marker{ color: var(--accent-2); }

.input{
  width:100%;
  padding: 12px 14px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px;
  color:#fff;
  outline: none;
}

.form_row{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; }

.toggle{ display:flex; gap:8px; align-items:center; }

.entries{ margin-top: 12px; display:grid; gap:8px; }
.entry{
  padding: 10px;
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.05);
  border-radius: 12px;
}

.settings_form{ display:grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap:10px; }
.field{ display:grid; gap:6px; }
label{ color: var(--muted); }

dialog{
  border: 0;
  background: var(--card);
  color: var(--text);
  border-radius: 16px;
  max-width: 520px;
  width: 92%;
}

.footer{
  text-align:center;
  color: var(--muted);
  font-size: 12px;
  padding: 30px 10px;
}
