
:root {
  --bg:#F8F6F3; --surface:#FFFEFC; --text:#302D31; --muted:#6C6269;
  --accent:#914E65; --tint:#EFE0E5; --line:#E6DFE1; --on-accent:#FFFFFF;
  --glow-a:rgba(227,185,195,.27); --glow-b:rgba(218,207,228,.30);
  --pearl:#fff9f3; --rose:#c18096; --rose-deep:#99566e;
  --glass-a:#f9e8ed; --glass-b:#ddadc0; --glass-c:#b2758e;
  --rim:#b1748a; --rim-light:#fffdfa; --ray:rgba(255,255,255,.48);
  --toolbar:rgba(255,254,252,.75); --shadow:rgba(113,70,87,.09);
  color-scheme:light;
}
:root[data-theme="dark"] {
  --bg:#202124; --surface:#2B2C30; --text:#F4F0EE; --muted:#B9B0B7;
  --accent:#E4A6BC; --tint:#44333C; --line:#444047; --on-accent:#30222A;
  --glow-a:rgba(182,92,129,.13); --glow-b:rgba(146,125,181,.10);
  --pearl:#f8e7ed; --rose:#e6afc5; --rose-deep:#bc7d98;
  --glass-a:#ffe5ef; --glass-b:#d9a0b9; --glass-c:#a96f8d;
  --rim:#e4abc1; --rim-light:#fff1f5; --ray:rgba(255,235,244,.08);
  --toolbar:rgba(43,44,48,.81); --shadow:rgba(0,0,0,.13);
  color-scheme:dark;
}
* { box-sizing:border-box; }
html, body { margin:0; width:100%; min-height:100%; }
body {
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  color:var(--text); background:var(--bg); -webkit-tap-highlight-color:transparent;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
button { font:inherit; -webkit-tap-highlight-color:transparent; }
button:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
button { touch-action:manipulation; }
[hidden] { display:none !important; }

.lv-splash {
  position:fixed; inset:0; z-index:100; overflow:hidden;
  display:grid; place-items:center; background:var(--bg);
  padding:72px 16px 106px; opacity:1;
  transition:opacity .42s cubic-bezier(.22,.65,.3,1);
}
.lv-splash.is-leaving { opacity:0; pointer-events:none; }
.ambient {
  position:absolute; width:min(720px,180vw); aspect-ratio:1;
  left:50%; top:50%; transform:translate(-50%,-53%);
  background:radial-gradient(ellipse at 42% 44%, var(--glow-a), transparent 52%),
             radial-gradient(ellipse at 62% 54%, var(--glow-b), transparent 48%);
  pointer-events:none;
}
.stage { position:relative; width:320px; max-width:100%; height:306px;
  transform-origin:50% 50%; transition:transform .5s cubic-bezier(.2,.7,.2,1); }
.is-leaving .stage { transform:translateY(-6px) scale(1.025); }
.mark { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.heart-group { transform-origin:0 0; }
.heart-half { fill:none; stroke:var(--rim); stroke-width:1.65; stroke-linecap:round; }
.heart-highlight { fill:none; stroke:var(--rim-light); stroke-width:.85; stroke-linecap:round; opacity:.58; }
.heart-glass { filter:drop-shadow(0 8px 11px var(--shadow)); }
.wordmark {
  margin:0; position:absolute; left:0; right:0; top:179px;
  font-size:49px; line-height:1.12; font-weight:500; letter-spacing:-.064em;
  text-align:center; color:var(--text); white-space:nowrap;
}
.wordmark span { display:inline-block; opacity:0; transform:translateY(10px); }
.status {
  position:absolute; left:14px; right:14px; top:270px;
  margin:0; text-align:center; font-size:12px; line-height:1.5; color:var(--muted);
}
.retry {
  display:block; min-height:44px; margin:10px auto 0; padding:0 20px;
  border:1px solid var(--line); background:var(--surface); color:var(--text);
  border-radius:15px; cursor:pointer;
}
.is-error .stage { margin-top:-34px; }
.is-error .ambient { opacity:.45; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-height:520px) {
 .lv-splash { padding-top:30px; padding-bottom:75px; }
 .stage { transform:scale(.8); }
 .is-leaving .stage { transform:translateY(-5px) scale(.82); }
}
@media (prefers-reduced-motion:reduce) {
 *,*::before,*::after { scroll-behavior:auto !important; }
 .lv-splash { transition:opacity .12s linear; }
 .is-leaving .stage { transform:none; }
}

.splash-style-0 {stop-color:var(--glass-a)}

.splash-style-1 {stop-color:var(--glass-b)}

.splash-style-2 {stop-color:var(--glass-c)}

.splash-style-3 {stop-color:var(--rim-light)}

.splash-style-4 {stop-color:var(--pearl)}

.splash-style-5 {stop-color:var(--rose)}

.splash-style-6 {stop-color:var(--rose-deep)}

.splash-style-7 {stop-color:var(--accent)}
