/* Original warm gallery streak UI. A small amber flame and one honest number
   introduce the feature; a Sunday-first calendar explains it. No looping fire,
   reward currency, fake badges or duplicate account buttons. Uses portal fonts. */
#header-streak { display:inline-flex; align-items:center; flex:0 0 auto; }
#header-streak[hidden],#home-streak[hidden],#progress-streak[hidden] { display:none !important; }
.header-streak-button { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-width:44px; min-height:44px; padding:6px 8px; border:0; border-radius:8px; background:transparent; color:var(--ink,#302f29); font:500 16px var(--sans,'DM Sans',sans-serif); cursor:pointer; }
.header-streak-button:hover { background:var(--raised,#eee8dc); }
.streak-flame { display:block; width:25px; height:30px; flex:0 0 auto; fill:#dba049; }
.streak-flame-core { fill:#f5d487; }
.header-streak-button .streak-flame { width:21px; height:26px; }
#home-streak { margin:24px 0; }
#progress-streak { margin:20px 0; }
.streak-panel { padding:18px 20px; border:1px solid var(--line,#d7d2c5); border-radius:12px; color:var(--ink,#302f29); background:var(--paper,#f3f0e8); }
.streak-panel-heading { display:flex; align-items:center; gap:16px; }
.streak-count { display:flex; align-items:center; gap:8px; }
.streak-number { font:500 31px/1 var(--sans,'DM Sans',sans-serif); font-variant-numeric:tabular-nums; }
.streak-panel h2 { font:400 25px/1.15 var(--serif,Newsreader,Georgia,serif); letter-spacing:-.02em; margin:0; }
.streak-message { font:400 13px/1.45 var(--sans,'DM Sans',sans-serif); color:var(--muted,#626257); margin:10px 0 14px; }
.streak-week { list-style:none; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:6px; padding:0; margin:0; }
.streak-day { display:flex; flex-direction:column; align-items:center; gap:7px; min-width:0; }
.streak-day-label { font:400 11px/1.2 var(--sans,'DM Sans',sans-serif); color:var(--muted,#626257); }
.streak-day-mark { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; border:1px solid var(--line,#d7d2c5); background:transparent; }
.streak-day.is-complete .streak-day-mark { background:#a97034; border-color:#a97034; }
.streak-day-mark svg { display:block; width:20px; height:20px; fill:none; stroke:#fff9ec; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.streak-day.is-today .streak-day-label { color:var(--ink,#302f29); font-weight:500; }
.streak-day.is-today .streak-day-mark { outline:2px solid #ba8e53; outline-offset:3px; }
.streak-day.is-future .streak-day-mark { opacity:.55; }
.streak-start-dot { width:7px; height:7px; border-radius:50%; background:#b68a51; }
.streak-pending-ring { width:8px; height:8px; border:1px solid #b68a51; border-radius:50%; }
.streak-day-date { font:400 10px/1 var(--sans,'DM Sans',sans-serif); color:var(--muted,#626257); font-variant-numeric:tabular-nums; }
.streak-qualification,.streak-device-note,.streak-data-status { font:400 11px/1.45 var(--sans,'DM Sans',sans-serif); color:var(--muted,#626257); margin:12px 0 0; }
.streak-data-status { color:var(--ink,#302f29); }
.streak-dialog { width:min(430px,calc(100vw - 28px)); max-height:calc(100dvh - 28px); padding:20px; overflow:auto; border:1px solid var(--line,#d7d2c5); border-radius:16px; background:var(--paper,#f3f0e8); color:var(--ink,#302f29); }
.streak-dialog::backdrop { background:#252b2466; }
.streak-dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.streak-dialog-heading h2 { font:400 29px/1.1 var(--serif,Newsreader,Georgia,serif); letter-spacing:-.03em; margin:0; }
.streak-close { display:grid; place-items:center; width:44px; min-width:44px; height:44px; padding:0; border:1px solid var(--line,#d7d2c5); border-radius:50%; color:var(--ink,#302f29); background:transparent; font-size:25px; cursor:pointer; }
.streak-dialog-content.streak-panel { border:0; padding:0; border-radius:0; }
.streak-dialog .streak-count .streak-flame { width:34px; height:42px; }
.streak-dialog .streak-number { font-size:44px; }
.header-streak-button:focus-visible,.streak-close:focus-visible { outline:3px solid var(--accent,#a24a34); outline-offset:3px; }
@media(max-width:420px) { .streak-panel { padding:15px 12px; }.streak-week { gap:3px; }.streak-day-mark { width:28px; height:28px; }.streak-day-label { font-size:10px; }.streak-panel h2 { font-size:23px; }.streak-message { font-size:12px; }.header-streak-button { gap:4px; padding:6px 4px; font-size:14px; } }
@media(prefers-reduced-motion:reduce) { .streak-panel *, .streak-dialog *, .header-streak-button { transition:none !important; animation:none !important; } }
@media(forced-colors:active) { .streak-flame { fill:CanvasText; }.streak-flame-core { fill:Canvas; }.streak-day.is-complete .streak-day-mark { background:Highlight; border-color:Highlight; }.streak-day-mark svg { stroke:HighlightText; }.streak-start-dot { background:CanvasText; }.streak-pending-ring { border-color:CanvasText; } }
