/* Pulse Premium — visual layer only, loaded after the base <style> so it
   overrides it. Type and tone from 21st.dev's "Morgen Capital" theme
   (Cormorant Garamond + Mulish); rings after 21st's "Apple Activity Ring";
   sliding tab indicator after 21st's "Floating Nav" / "LumaBar". */
:root{
  --bg-deep:#070708; --bg-base:#0B0B0D; --bg-elevated:#111114;
  --surface:rgba(255,255,255,0.032); --surface-2:rgba(255,255,255,0.06);
  --border:rgba(255,255,255,0.07); --border-2:rgba(255,255,255,0.12);
  --fg:#F4F1EA; --fg-muted:#A19B8F; --fg-dim:#635F57;
  --gold:#D6B46F; --gold-2:#F1DDAE; --gold-glow:rgba(214,180,111,0.28);
  --accent:var(--gold); --accent-glow:var(--gold-glow);
  --serif:"Cormorant Garamond",Georgia,serif;
  --r-xl:28px; --r-lg:22px;
  --dq-blue:var(--gold); --dq-blue-soft:rgba(214,180,111,0.14);
}
body{ font-family:"Mulish",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-variant-numeric:lining-nums; letter-spacing:0.005em; }

/* ambient: softer blobs, a champagne halo up top, film grain */
.blob{ opacity:.09; filter:blur(90px); }
.ambient::before{ content:""; position:absolute; inset:-20vh -10vw auto; height:60vh;
  background:radial-gradient(60% 60% at 50% 0%, rgba(214,180,111,0.13), transparent 70%); }
.ambient::after{ content:""; position:absolute; inset:0; opacity:.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }

/* header */
.brand .mark{ width:34px; height:34px; border-radius:11px;
  background:linear-gradient(150deg, var(--gold-2), var(--gold) 45%, #8A6B33);
  box-shadow:0 0 0 1px rgba(255,255,255,0.12) inset, 0 8px 22px -6px var(--gold-glow); }
.brand .mark svg path{ stroke:#16120A; }
.brand-text{ font-family:var(--serif); font-size:24px; font-weight:600; letter-spacing:0; line-height:1; }
.brand-text span{ font-family:"JetBrains Mono",monospace; font-size:9.5px; letter-spacing:0.18em; margin-top:4px; }
.status-pill{ background:rgba(255,255,255,0.03); border-color:var(--border); }

/* titles */
h2.view-title{ font-family:var(--serif); font-size:44px; font-weight:600; letter-spacing:-0.01em; line-height:1; margin:10px 0 8px; }
p.view-sub{ font-family:"JetBrains Mono",monospace; font-size:10.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--fg-dim); margin-bottom:24px; }

/* cards: layered glass with a champagne hairline */
.glass{
  background:linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.012));
  border:1px solid var(--border); border-radius:var(--r-xl); padding:22px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.05), 0 30px 60px -36px rgba(0,0,0,0.95);
}
.glass::before{ content:""; position:absolute; top:-1px; left:28px; right:28px; height:1px; pointer-events:none;
  background:linear-gradient(90deg, transparent, var(--tab-accent, var(--gold)), transparent); opacity:.45; }
.card-label{ font-size:10px; letter-spacing:0.2em; color:var(--fg-dim); }
.card-label > span:first-child::before{ content:""; display:inline-block; width:5px; height:5px; border-radius:50%; margin:0 9px 1px 0;
  background:var(--tab-accent, var(--gold)); box-shadow:0 0 8px var(--tab-accent, var(--gold)); vertical-align:middle; }

/* insight: editorial serif line */
.insight{ padding:20px 22px; border-radius:var(--r-xl); border-color:rgba(214,180,111,0.16);
  background:linear-gradient(135deg, rgba(214,180,111,0.10), transparent 60%), rgba(255,255,255,0.025); }
.insight p{ font-family:var(--serif); font-size:19px; line-height:1.35; font-weight:500; }
.insight b{ font-weight:700; color:var(--gold-2); }

/* finance hero number */
.fin-eyebrow{ letter-spacing:0.2em; }
.fin-amount{ font-family:var(--serif); font-size:clamp(52px,15vw,64px); font-weight:600; line-height:1; letter-spacing:-0.01em;
  background:linear-gradient(180deg, #FFFFFF 10%, #CBBF9F); -webkit-background-clip:text; background-clip:text; color:transparent; }
.fin-crc{ margin-top:8px; }
.fin-quote{ font-family:var(--serif); font-size:16px; color:var(--fg-muted); }

/* field notes */
.notes-input{ font-size:15px; }
.notes-input::placeholder{ font-family:var(--serif); font-size:17px; }

/* buttons & pills */
.btn{ font-family:"Mulish",sans-serif; font-weight:800; font-size:15px; letter-spacing:0.02em; border-radius:18px; }
.btn-primary{ color:#0D0B07;
  background:linear-gradient(180deg, rgba(255,255,255,0.28), rgba(255,255,255,0) 55%), var(--tab-accent, var(--gold));
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.4), 0 14px 32px -14px var(--tab-glow, var(--gold-glow)); }
.btn-sm{ border-radius:999px; }
.tag-pill{ background:rgba(255,255,255,0.035); border-color:var(--border-2); letter-spacing:0.1em; }
input[type="datetime-local"],input[type="number"],input[type="text"]{ border-radius:16px; background:rgba(0,0,0,0.35); border-color:var(--border); }

/* habits */
.habit-item{ transition:background .2s var(--ease); }
.habit-item:hover{ background:rgba(255,255,255,0.03) !important; }

/* tab bar: floating pill + sliding indicator */
.tabbar-inner{ position:relative; border-radius:26px; padding:6px;
  background:rgba(14,14,17,0.72); border-color:rgba(255,255,255,0.1);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.06), 0 20px 50px -14px rgba(0,0,0,0.85); }
.tab-btn{ position:relative; z-index:1; font-family:"Mulish",sans-serif; font-weight:700; border-radius:20px; }
.tab-btn[aria-selected="true"]{ background:transparent; }
.tab-btn[aria-selected="true"] svg{ filter:drop-shadow(0 0 8px var(--tab-accent, var(--gold))); }
.tab-ind{ position:absolute; z-index:0; top:6px; bottom:6px; left:6px; width:calc((100% - 24px) / 4); border-radius:20px; pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.03));
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.10), 0 0 28px -8px var(--tab-glow, var(--gold-glow));
  transition:transform .5s var(--ease), box-shadow .5s var(--ease); }
.tabbar-inner:has(.tab-btn:nth-child(2)[aria-selected="true"]) .tab-ind{ transform:translateX(calc(100% + 4px)); }
.tabbar-inner:has(.tab-btn:nth-child(3)[aria-selected="true"]) .tab-ind{ transform:translateX(calc(200% + 8px)); }
.tabbar-inner:has(.tab-btn:nth-child(4)[aria-selected="true"]) .tab-ind{ transform:translateX(calc(300% + 12px)); }

/* home: concentric activity rings */
.act{ display:flex; align-items:center; gap:22px; width:100%; }
.act-rings{ flex:none; width:150px; height:150px; }
.act-rings circle{ transition:stroke-dashoffset .9s var(--ease); }
.act-legend{ list-style:none; margin:0; padding:0; flex:1; min-width:0; display:grid; gap:12px; }
.act-legend li{ display:flex; align-items:center; gap:10px; }
.act-legend i{ width:8px; height:8px; border-radius:50%; flex:none; }
.act-legend span{ font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:0.14em; text-transform:uppercase; color:var(--fg-dim); flex:1; }
.act-legend b{ font-family:var(--serif); font-size:22px; font-weight:600; line-height:1; }

/* fast ring */
#ringBoxWrap{ padding:6px 10px; }

/* daily checkup in champagne */
.dq-entry-icon{ box-shadow:0 0 22px rgba(214,180,111,0.22); }
.dq-entry-text b{ font-family:var(--serif); font-size:22px; }
.dq-panel{ background:linear-gradient(180deg, #19181B 0%, #0F0E11 100%); }
.dq-question{ font-family:var(--serif); font-size:30px; font-weight:600; }
.dq-display{ font-family:var(--serif); font-size:52px; }
.dq-display.has{ border-color:rgba(214,180,111,0.55); box-shadow:0 0 0 4px rgba(214,180,111,0.12); }
.dq-key.on{ color:#0D0B07; box-shadow:0 6px 18px rgba(214,180,111,0.35); }
.dq-btn{ font-family:"Mulish",sans-serif; font-weight:800; }
.dq-btn.blue{ color:#0D0B07; }
.dq-progress i{ box-shadow:0 0 10px var(--gold); }
.dq-check{ color:#0D0B07; box-shadow:0 10px 30px rgba(214,180,111,0.45); }
.dq-avg{ font-family:var(--serif); font-size:64px; }
