@font-face{font-family:Inter;font-weight:100;font-style:normal;font-display:swap;src:url(/static/fonts/Inter-Thin.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:300;font-style:normal;font-display:swap;src:url(/static/fonts/Inter-Light.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:400;font-style:normal;font-display:swap;src:url(/static/fonts/Inter-Regular.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:500;font-style:normal;font-display:swap;src:url(/static/fonts/Inter-Medium.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:600;font-style:normal;font-display:swap;src:url(/static/fonts/Inter-SemiBold.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:700;font-style:normal;font-display:swap;src:url(/static/fonts/Inter-Bold.woff2) format("woff2")}

:root{
  --bg-1:#0a0d12; --bg-2:#11161d;
  --accent:#6ee7b7; --accent-soft:rgba(110,231,183,.18);
  --cyan:#38bdf8; --text:#e8edf2; --muted:#8a96a6;
  --card:rgba(255,255,255,.03); --card-2:rgba(255,255,255,.05);
  --border:rgba(255,255,255,.08); --danger:#fca5a5;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(ellipse at 20% 10%,rgba(110,231,183,.10),transparent 60%),
    radial-gradient(ellipse at 80% 90%,rgba(56,189,248,.07),transparent 60%),
    linear-gradient(180deg,var(--bg-1),var(--bg-2));
  background-attachment:fixed;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  min-height:100dvh;
}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

.nav{display:flex;align-items:center;justify-content:space-between;
  max-width:960px;margin:0 auto;padding:22px 24px}
.brand{font-weight:600;letter-spacing:.02em;font-size:18px;color:var(--text)}
.brand .dot{display:inline-block;width:8px;height:8px;border-radius:50%;
  background:var(--accent);box-shadow:0 0 12px var(--accent);margin-right:9px;vertical-align:middle}
.nav .links a{color:var(--muted);margin-left:22px;font-size:14px;font-weight:500}
.nav .links a:hover{color:var(--text);text-decoration:none}

.container{max-width:960px;margin:0 auto;padding:24px}
.center-wrap{min-height:calc(100dvh - 70px);display:flex;flex-direction:column;
  align-items:center;justify-content:center;padding:24px;text-align:center}

.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.22em;
  font-size:12px;font-weight:600;margin-bottom:14px}

/* hero counter */
.hero{text-align:center;animation:rise 700ms ease-out both}
.total-days{font-size:clamp(72px,20vw,220px);font-weight:100;line-height:1;
  letter-spacing:-.04em;background:linear-gradient(180deg,#fff,#b6c2d2 110%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  font-variant-numeric:tabular-nums;text-shadow:0 0 60px rgba(110,231,183,.05)}
.total-label{font-size:clamp(16px,2vw,22px);letter-spacing:.18em;text-transform:uppercase;
  font-weight:600;margin-top:10px}
.total-label .pulse{display:inline-block;width:8px;height:8px;border-radius:50%;
  margin-right:10px;vertical-align:middle;animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}
.since{color:var(--muted);font-size:14px;letter-spacing:.04em;margin-top:26px}
.since b{color:var(--text);font-weight:500}

.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:30px auto 0;max-width:560px}
@media(max-width:640px){.grid{grid-template-columns:repeat(2,1fr)}}
.cell{background:var(--card);border:1px solid var(--border);border-radius:16px;
  padding:18px 12px 14px;backdrop-filter:blur(8px)}
.cell .num{font-size:clamp(26px,5vw,40px);font-weight:300;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.cell .lbl{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.18em;margin-top:6px}

/* secondary streak chips on public profile */
.streak-list{display:flex;flex-direction:column;gap:14px;margin:40px auto 0;max-width:520px;width:100%}
.streak-row{display:flex;align-items:center;justify-content:space-between;gap:16px;
  background:var(--card);border:1px solid var(--border);border-radius:16px;padding:18px 20px;text-align:left}
.streak-row .n{font-size:34px;font-weight:200;font-variant-numeric:tabular-nums;letter-spacing:-.02em;min-width:64px}
.streak-row .meta{flex:1}
.streak-row .meta .l{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:600}
.streak-row .meta .s{color:var(--muted);font-size:12px;margin-top:3px;font-variant-numeric:tabular-nums}

/* cards / forms */
.card{background:var(--card);border:1px solid var(--border);border-radius:20px;
  padding:28px;backdrop-filter:blur(10px);margin:0 auto}
.card.narrow{max-width:420px}
h1.title{font-weight:200;font-size:clamp(30px,5vw,44px);letter-spacing:-.02em;margin:0 0 6px}
.subtle{color:var(--muted);font-size:15px;line-height:1.6}
label.fld{display:block;text-align:left;margin:16px 0 0}
label.fld .cap{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;
  letter-spacing:.14em;margin-bottom:7px;font-weight:600}
input[type=text],input[type=email],input[type=password],input[type=date],input[type=time],select{
  width:100%;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:12px;
  color:var(--text);padding:13px 14px;font-size:15px;font-family:inherit;outline:none}
input:focus,select:focus{border-color:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-soft)}
.row{display:flex;gap:12px}
.row>*{flex:1}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;
  border:1px solid var(--border);background:var(--card-2);color:var(--text);
  border-radius:12px;padding:12px 18px;font-size:14px;font-weight:600;font-family:inherit;
  letter-spacing:.02em;transition:.15s;text-decoration:none}
.btn:hover{background:rgba(255,255,255,.09);text-decoration:none}
.btn.primary{background:var(--accent);color:#062018;border-color:transparent}
.btn.primary:hover{filter:brightness(1.06)}
.btn.block{width:100%}
.btn.sm{padding:8px 12px;font-size:13px}
.btn.ghost{background:transparent}
.btn.danger{color:var(--danger)}
.btn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}

.accent-picker{display:flex;gap:10px;margin-top:8px}
.accent-picker input{position:absolute;opacity:0;width:0;height:0}
.accent-picker label{width:30px;height:30px;border-radius:50%;cursor:pointer;
  border:2px solid transparent;transition:.15s}
.accent-picker input:checked+.sw{border-color:#fff;transform:scale(1.12)}
.accent-picker .sw{width:30px;height:30px;border-radius:50%;display:inline-block;border:2px solid rgba(255,255,255,.15)}

.error{background:rgba(252,165,165,.08);border:1px solid rgba(252,165,165,.3);
  color:var(--danger);border-radius:12px;padding:11px 14px;font-size:14px;margin-top:16px;text-align:left}
.notice{color:var(--muted);font-size:13px;margin-top:14px}

.share-box{display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.04);
  border:1px solid var(--border);border-radius:12px;padding:10px 12px;margin-top:14px}
.share-box code{flex:1;font-family:inherit;font-size:14px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.footer{margin-top:52px;color:var(--muted);font-size:12px;letter-spacing:.12em;
  text-transform:uppercase;text-align:center}
.footer .accent{color:var(--accent)}
.rise{animation:rise 700ms ease-out both}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

.manage-card{background:var(--card);border:1px solid var(--border);border-radius:18px;
  padding:20px 22px;margin-bottom:14px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.manage-card .big{font-size:40px;font-weight:200;font-variant-numeric:tabular-nums;letter-spacing:-.02em;min-width:70px;text-align:center}
.manage-card .info{flex:1;min-width:180px}
.manage-card .info .l{text-transform:uppercase;letter-spacing:.12em;font-weight:600;font-size:13px}
.manage-card .info .s{color:var(--muted);font-size:12px;margin-top:4px}
.badge{display:inline-block;font-size:10px;text-transform:uppercase;letter-spacing:.14em;
  padding:3px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent);margin-left:8px;font-weight:600}
details.editor{margin-top:12px}
details.editor>summary{cursor:pointer;color:var(--muted);font-size:13px;list-style:none}
details.editor>summary::-webkit-details-marker{display:none}
hr.sep{border:none;border-top:1px solid var(--border);margin:26px 0}
