/* RecordKeeper theme tokens — warm light + cozy warm-dark */
:root, :root[data-theme="light"] {
  color-scheme: light;
  --bg:#fff7fb; --bg-2:#faf7f2; --bg-3:#fdeef4;
  --surface:#ffffff; --surface-2:#ffffff;
  --ink:#3a2730; --ink-strong:#3a2730;
  --muted:#8a6d79; --muted-2:#5c4551; --muted-soft:#a892a0;
  --border:#f3dbe6; --border-2:#f0cdda; --dot:#e6c4d3;
  --primary:#c8688f; --primary-strong:#a8466a; --primary-hover:#b1567c;
  --heart:#d9617f; --amber:#bd864a;
  --chip-bg:#fdeef4; --chip-ink:#a8466a;
  --btn-shadow:0 14px 30px -10px rgba(200,104,143,.6);
  --btn2-bg:#ffffff; --btn2-ink:#6f3550; --btn2-border:#f0cdda;
  --hero-bg:linear-gradient(180deg,#fff7fb 0%,#fdeef4 58%,#fbe3ee 100%);
  --card-grad:linear-gradient(160deg,#fdeef4,#fbe3ee);
  --affirm-bg:linear-gradient(165deg,#fff7fb,#fdeef4);
  --glow:rgba(217,97,127,.26);
  --ph-a:#fdeef4; --ph-b:#fbe4ee; --ph-ink:#c79bb0; --ph-border:#f3dbe6;
  --bezel:#3a2730; --titlebar:#faf1f5;
  --shadow-card:0 34px 70px -40px rgba(111,53,80,.5);
  --shadow-float:0 40px 80px -40px rgba(111,53,80,.5);
  --shadow-soft:0 20px 44px -34px rgba(111,53,80,.5);
  --nav-bg:rgba(255,247,251,.82);
  --panel-bg:#6f3550; --panel-ink:#ffffff; --panel-muted:#e7c9d6; --panel-accent:#f0a9c2; --panel-border:rgba(255,255,255,.14); --panel-chip:rgba(255,255,255,.07);
  --cta-bg:linear-gradient(150deg,#c8688f 0%,#a8466a 60%,#6f3550 100%); --cta-ink:#ffffff; --cta-muted:#fbe1ea; --cta-btn-bg:#ffffff; --cta-btn-ink:#a8466a; --cta-glow:rgba(255,255,255,.22);
  --footer-bg:#54263c; --footer-head:#ffffff; --footer-ink:#e7c9d6; --footer-muted:#cfa7b9; --footer-accent:#f0a9c2; --footer-border:rgba(255,255,255,.12);
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg:#16100f; --bg-2:#1d1614; --bg-3:#231a1b;
  --surface:#241b1d; --surface-2:#2b2023;
  --ink:#f6e8ee; --ink-strong:#ffffff;
  --muted:#b49aa4; --muted-2:#d0b9c3; --muted-soft:#9a838d;
  --border:#362a2e; --border-2:#42323a; --dot:#4a373f;
  --primary:#db7a9e; --primary-strong:#e896b3; --primary-hover:#e58aab;
  --heart:#e688a2; --amber:#d3a066;
  --chip-bg:#2a1e22; --chip-ink:#eaa6c0;
  --btn-shadow:0 14px 30px -12px rgba(0,0,0,.7);
  --btn2-bg:#241b1d; --btn2-ink:#f0cbd8; --btn2-border:#43323a;
  --hero-bg:linear-gradient(180deg,#16100f 0%,#1d1416 55%,#231619 100%);
  --card-grad:linear-gradient(160deg,#251a1e,#2b1d23);
  --affirm-bg:linear-gradient(165deg,#16100f,#1e1417);
  --glow:rgba(219,122,158,.16);
  --ph-a:#241a1c; --ph-b:#2c1e23; --ph-ink:#7c6570; --ph-border:#3a2b31;
  --bezel:#3d2f36; --titlebar:#1f1719;
  --shadow-card:0 34px 70px -40px rgba(0,0,0,.65);
  --shadow-float:0 40px 80px -40px rgba(0,0,0,.7);
  --shadow-soft:0 20px 44px -34px rgba(0,0,0,.6);
  --nav-bg:rgba(22,16,15,.82);
  --panel-bg:linear-gradient(160deg,#241a1e,#2a1a22); --panel-ink:#f6e8ee; --panel-muted:#cbb0bb; --panel-accent:#e896b3; --panel-border:rgba(255,255,255,.08); --panel-chip:rgba(255,255,255,.04);
  --cta-bg:linear-gradient(150deg,#7a3358 0%,#4a2436 55%,#2a1820 100%); --cta-ink:#ffffff; --cta-muted:#e8c4d3; --cta-btn-bg:#ffffff; --cta-btn-ink:#7a2f50; --cta-glow:rgba(219,122,158,.2);
  --footer-bg:#100b0b; --footer-head:#f6e8ee; --footer-ink:#cbb0bb; --footer-muted:#9a838d; --footer-accent:#e896b3; --footer-border:rgba(255,255,255,.07);
}

* { box-sizing:border-box; }
html, body { margin:0; padding:0; }
body { font-family:'Hanken Grotesk', system-ui, -apple-system, sans-serif; color:var(--ink); background:var(--bg); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; transition:background .35s ease, color .35s ease; }
::selection { background:#f3c9db; color:#6f3550; }

@keyframes rk-float { 0%,100%{ transform:translateY(0) } 50%{ transform:translateY(-14px) } }
@keyframes rk-float2 { 0%,100%{ transform:translateY(0) } 50%{ transform:translateY(11px) } }
@keyframes rk-drift { 0%,100%{ transform:translateY(0) } 50%{ transform:translateY(-9px) } }
@keyframes rk-drift2 { 0%,100%{ transform:translateY(0) } 50%{ transform:translateY(8px) } }
@keyframes rk-glow { 0%,100%{ opacity:.9; transform:scale(1) } 50%{ opacity:1; transform:scale(1.06) } }

.rk-reveal { opacity:0; transform:translateY(30px); transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); }
.rk-reveal.in { opacity:1; transform:none; }

/* active nav link */
a[aria-current="page"] { color:var(--primary) !important; }

/* screenshot fill + theme-aware light/dark swap */
.rk-shot { display:block; width:100%; height:100%; object-fit:cover; }
.rk-shot-dark { display:none; }
:root[data-theme="dark"] .rk-shot-light { display:none; }
:root[data-theme="dark"] .rk-shot-dark { display:block; }

/* theme toggle icon swap */
.rk-ic-sun { display:none !important; }
:root[data-theme="dark"] .rk-ic-moon { display:none !important; }
:root[data-theme="dark"] .rk-ic-sun { display:inline-flex !important; }

@media (prefers-reduced-motion: reduce){ *{ animation:none !important } .rk-reveal{ transition:none } body{ transition:none } }
