/* ---------- Hồ sơ kiểu "Living Memories" (chủ ý một tông tối) ---------- */
.lm{--lm-bg:#F6EEDF;--lm-fg:#2B241C;--lm-dim:#7A6E5E;--lm-red:#B8862F;--lm-line:rgba(43,36,28,.18);--f-serif:"Be Vietnam Pro",system-ui,sans-serif;background:radial-gradient(ellipse 60% 40% at 50% 14%,#FFF8E8 0,transparent 70%),linear-gradient(180deg,#EFE2C8,var(--lm-bg) 40%);color:var(--lm-fg);overflow:hidden;color-scheme:light}
.lm-col{max-width:660px;margin-inline:auto;padding-inline:var(--gut);padding-block:24px 56px;position:relative}
.lm-top{position:sticky;top:calc(72px + env(safe-area-inset-top,0px));z-index:5;display:flex;justify-content:space-between;align-items:center;gap:12px}
.lm-brand{font-family:var(--f-display);font-weight:300;font-size:clamp(21px,4.6vw,30px);letter-spacing:.03em;color:#4A3F33;white-space:nowrap}
.lm-brand i{color:var(--lm-red);font-style:normal;margin:0 .04em}
.lm-pill{background:#fff;color:#151515;border:0;border-radius:999px;padding:10px 18px;font-family:var(--f-display);font-size:15px;cursor:pointer;display:inline-flex;gap:9px;align-items:center;flex-shrink:0}
.lm-hero{position:relative;margin-top:-52px;aspect-ratio:600/760;max-width:100%}
.lm-portrait{position:absolute;inset:0;will-change:transform}
.lm-portrait svg{width:100%;height:100%;display:block}
.lm-bars{position:absolute;inset:0;display:flex;pointer-events:none}
.lm-bars span{flex:1;background:var(--lm-bg);transform-origin:50% 100%;transform:scaleY(0)}
.lm.play .lm-bars span{animation:lmBars 1.15s cubic-bezier(.75,0,.25,1) both;animation-delay:calc(var(--i)*45ms)}
@keyframes lmBars{0%{transform:scaleY(1);opacity:1}60%{opacity:.85}100%{transform:scaleY(0);opacity:0}}
.lm-cap{position:absolute;right:0;bottom:22%;font-size:11px;color:var(--lm-dim);writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.06em}
.lm-old{position:absolute;left:3%;bottom:7%;width:31%;margin:0;transform:rotate(-1.5deg);filter:grayscale(1) contrast(1.05) drop-shadow(0 10px 18px rgba(0,0,0,.55));z-index:2;will-change:transform}
.lm-old svg{display:block;width:100%;height:auto}
.lm-old figcaption{font-size:11px;color:var(--lm-dim);margin-top:6px;font-family:var(--f-display);font-style:italic}
.lm-old.no-helmet .helmet{display:none}
.lm.play .lm-old{animation:lmOld 1s .9s ease-out both}
@keyframes lmOld{from{opacity:0;translate:0 24px}to{opacity:1;translate:0 0}}
.lm-body{position:relative;z-index:3;margin-top:-2%}
.lm.play .lm-body>*:nth-child(-n+6){animation:lmUp .9s ease-out both;animation-delay:calc(1.2s + var(--d,0)*90ms)}
@keyframes lmUp{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
@media (prefers-reduced-motion:reduce){.lm.play .lm-bars span,.lm.play .lm-old,.lm.play .lm-body>*{animation:none}}
.lm-kicker{font-family:var(--f-body);text-align:center;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--lm-dim)}
.lm-sample{letter-spacing:.04em;text-transform:none}
.lm-name{font-family:var(--f-display);font-weight:400;font-size:clamp(36px,7.4vw,56px);text-align:center;margin-top:10px;letter-spacing:-.005em}
.lm-name i{color:var(--lm-red);font-style:normal;font-weight:300;margin-right:.04em}
.lm-dates{text-align:center;font-family:var(--f-display);color:var(--lm-dim);font-size:19px;margin-top:6px;font-variant-numeric:lining-nums}
.lm-bio{font-family:var(--f-display);font-size:clamp(17px,2.5vw,20px);line-height:1.62;margin-top:26px}
.lm-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:40px}
.lm-ghost{border:1.5px solid var(--lm-fg);background:transparent;color:var(--lm-fg);border-radius:999px;padding:14px 26px;font-family:var(--f-display);font-size:17px;cursor:pointer;display:inline-flex;gap:10px;align-items:center;transition:background .2s,color .2s}
.lm-ghost:hover{background:var(--lm-fg);color:var(--lm-bg)}
.lm-ghost b{font-weight:500;font-variant-numeric:tabular-nums}
.lm-inc .tip{fill:var(--lm-dim)}
.lm-inc.lit .tip{fill:#ff6a33;filter:drop-shadow(0 0 3px #ff8a4a)}
.lm-note{text-align:center;color:var(--lm-dim);font-size:13px;margin-top:10px;min-height:1.4em}
.lm-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:40px 0 0;border-top:1px dotted var(--lm-line)}
.lm-facts div{padding:12px 14px 12px 0;border-bottom:1px dotted var(--lm-line)}
.lm-facts dt{font-family:var(--f-body);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--lm-dim)}
.lm-facts dd{margin:2px 0 0;font-family:var(--f-display)}
@media (max-width:480px){.lm-facts{grid-template-columns:1fr}}
.lm-chapters{margin-top:40px}
.lm .chap{display:grid;grid-template-columns:72px minmax(0,1fr);gap:18px;padding:20px 0;border-top:1px dotted var(--lm-line)}
.lm .chap .y{font-family:var(--f-display);font-size:22px;color:var(--lm-red);line-height:1.2;font-weight:300}
.lm .chap h3{font-family:var(--f-display);font-weight:500;font-size:19px;margin-bottom:4px}
.lm .chap p{color:#c9c5bd;font-family:var(--f-display);font-size:16px}
.lm-letter{margin:36px 0 0;padding:0 0 0 22px;border-left:2px solid var(--lm-red);font-family:var(--f-display);font-style:italic;font-size:clamp(19px,2.8vw,23px);line-height:1.5}
.lm-letter cite{display:block;margin-top:10px;font-style:normal;font-size:13px;color:var(--lm-dim);font-family:var(--f-body)}
.lm-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px;margin-top:44px}
.lm-links a{color:var(--lm-fg);font-family:var(--f-display);text-decoration:underline;text-decoration-color:var(--lm-red);text-underline-offset:5px}
.lm-pn{display:grid;grid-template-columns:1fr 1fr;margin-top:52px;padding-top:28px;border-top:1px dotted var(--lm-line)}
.lm-pn button{background:none;border:0;color:var(--lm-dim);font-family:var(--f-display);font-size:clamp(16px,3vw,20px);cursor:pointer;padding:10px 0;text-align:left}
.lm-pn button+button{text-align:right;border-left:1px dotted var(--lm-line)}
.lm-pn button:hover{color:var(--lm-fg)}
footer.site{border-top:1px solid var(--line);padding-block:24px 40px;color:var(--ink-soft);font-size:13px;background:linear-gradient(180deg,#FBF6EC,#F2E4C8);overflow:hidden}
footer.site .wrap{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);background:var(--ink);color:var(--paper);padding:12px 18px;border-radius:12px;font-size:14px;opacity:0;transition:.3s;z-index:60;pointer-events:none;max-width:calc(100% - 32px)}
.toast.show{opacity:1;transform:translate(-50%,0)}
.fallback{position:absolute;inset:0;display:grid;place-items:center;color:#1b2932;font-size:14px;padding:20px;text-align:center}
