/* Happy Life C60 · lavender glass, pearl light and deep plum. */
:root{
 --bg:#faf7fe;--surface:#fffdfF;--text:#3f3151;--muted:#756482;
 --line:#e3d6ef;--soft:#f0e7f8;--accent:#79529b;--lime:#d9c1ed;
 --lime-text:#422756;--shadow:0 18px 55px #6b408c0d;--glow:#b99ad7;
 --glass:#fffbffed;--button-a:#e7d2f7;--button-b:#d5beee;--button-c:#eddef9;
}
html[data-theme=dark]{
 --bg:#16101f;--surface:#21172e;--text:#f2eaf9;--muted:#bfadce;
 --line:#473353;--soft:#2d203d;--accent:#d1b1ef;--lime:#cdb0e9;
 --lime-text:#2e1a42;--shadow:0 22px 65px #09040f66;--glow:#af84d8;
 --glass:#21172eed;--button-a:#e0c9f3;--button-b:#bf9bdd;--button-c:#e5d7f5;
}
html:not([data-theme=dark]) body.public{background-color:var(--bg);background-image:radial-gradient(ellipse at 88% 0%,#d7b7ef29,transparent 35%),radial-gradient(ellipse at 0% 62%,#c9b1e629,transparent 38%)}
html[data-theme=dark] body.public{background-color:var(--bg);background-image:radial-gradient(ellipse at 85% 0%,#8855b827,transparent 34%),radial-gradient(ellipse at 0% 65%,#ad78d31b,transparent 40%)}
html:not([data-theme=dark]) .public .hero-visual{background:radial-gradient(ellipse at 46% 38%,#fffaff 0%,#f0e3fa 40%,#dfc9f0 75%,#e6d9f2)!important;border-color:#ddc7ef!important;box-shadow:inset 0 0 65px #fff9ff80,0 20px 65px #79529b18}
html[data-theme=dark] .public .hero-visual{background:radial-gradient(ellipse at 46% 38%,#4d3265 0%,#30213f 45%,#21162e 75%,#402752)!important;border-color:#654778!important;box-shadow:inset 0 0 65px #d6b2ff08,0 20px 65px #09040f66}
html:not([data-theme=dark]) .public .product-photo{background:radial-gradient(ellipse at 50% 42%,#fffbff 0%,#efe1f8 57%,#dfcaef)!important}
html[data-theme=dark] .public .product-photo{background:radial-gradient(ellipse at 50% 42%,#48305d 0%,#2e203c 57%,#22172e)!important}
.public .button:not(.card-read){border-color:var(--glow)}
html[data-theme=dark] .public .button:not(.card-read){border-color:var(--glow)}
.public .button:hover{box-shadow:inset 0 1px 3px #fff9ffb3,0 12px 28px #8c59b22b}
.public .button:not(.card-read):hover:before,.public .floating-actions a:hover:before{background:linear-gradient(125deg,#ffffffa6,#ffffff16 68%,#bb90e126)}
.public .status-dot{background:var(--glow);box-shadow:0 0 12px #b99ad7,0 0 0 5px #b99ad722}
.brand-copy strong{font-size:clamp(16px,1.65vw,21px);line-height:1.2;max-width:245px;white-space:normal;text-wrap:balance}
.brand-copy small{color:var(--accent)}
.story-monogram{background:radial-gradient(circle,#dbc1f15c,transparent 70%);color:var(--accent)}
.story-signature{background:linear-gradient(125deg,var(--button-a),var(--button-b));color:var(--lime-text)}
.story-signature p{font-size:clamp(21px,3.3vw,31px);line-height:1.3;text-wrap:balance}
.public .story-narrative .reading-section{background:linear-gradient(130deg,var(--surface),var(--soft))}
.contact-profile{background:linear-gradient(145deg,var(--surface),var(--soft))}
.contact-profile h2{font-size:clamp(25px,3vw,35px);line-height:1.28;text-wrap:balance}
.public .avatar,.brand-icon{background:linear-gradient(145deg,var(--button-a),var(--button-b));color:var(--lime-text);border-color:var(--line)}
html:not([data-theme=dark]) .scene-overlay{background:radial-gradient(ellipse at 50% 40%,#e8d4f7,var(--bg) 72%)}
html[data-theme=dark] .scene-overlay{background:radial-gradient(ellipse at 50% 40%,#402651,var(--bg) 72%)}
.scene-halo,.scene-fullerene .scene-halo{background:radial-gradient(circle,#e9ccff4d,transparent 68%)}
html[data-theme=dark] .scene-halo,html[data-theme=dark] .scene-fullerene .scene-halo{background:radial-gradient(circle,#d1adf226,transparent 70%)}
.intro-light-orbit{border-color:#aa82cc70;box-shadow:0 0 38px #bb8ddd16,inset 0 0 35px #d6b4ef14}
html[data-theme=dark] .intro-light-orbit{border-color:#c4a1e660}
.envelope-back{background:linear-gradient(140deg,#d9bdeF,#b693ce)}
.letter-paper-scene{background:linear-gradient(150deg,#fffaff,#eeddf9);border-color:#c7a7df}
.envelope-pocket{background:linear-gradient(138deg,#debfef,#bd98d5 65%,#d6b3e9);border-color:#b38bcd}
.envelope-pocket:after{background:linear-gradient(34deg,transparent 49.6%,#a77cc35c 50%,transparent 50.4%) left/50% 100% no-repeat,linear-gradient(-34deg,transparent 49.6%,#a77cc35c 50%,transparent 50.4%) right/50% 100% no-repeat}
.envelope-flap{background:linear-gradient(140deg,#e6cef6,#bc98d5)}
.book-cover{background:linear-gradient(140deg,#b693d2,#8d62ac 70%,#c5a1df);border-color:#9c74ba;box-shadow:inset 0 0 0 7px #b48bcc,inset 0 0 0 8px #f0d9ff8c,10px 12px 35px #60378535}
.book-mark,.book-title{color:#fff4ff}.book-mark{max-width:90%;text-wrap:balance}
.book-spine{background:linear-gradient(90deg,#805799,#c59ede)}
.book-pages,.book-page{background:repeating-linear-gradient(to bottom,#f6eafb 0,#f6eafb 26px,#ddc3ef 27px,#f6eafb 28px);border-color:#d5bce6}
.lens-rim{border-color:#c4a7da;background:linear-gradient(145deg,#f7ebff,#b292c8);box-shadow:inset 0 0 0 3px #f5e5ff,inset 0 0 15px #926cab66,0 0 0 3px #a07dbb,10px 20px 45px #74509538}
.lens-glass{background:radial-gradient(circle at 30% 25%,#ffffffa3 0,#f1dfff66 26%,#ccb1e566 58%,#e1cfef8c 100%)}
.lens-handle{background:linear-gradient(to bottom,#dbc0ec,#a67dc4 50%,#c0a0d5);border-color:#b08bca}
.box-glow{background:radial-gradient(ellipse,#ceaaec52,transparent 70%)}
.box-back{background:linear-gradient(145deg,#bea0d5,#9873b0);border-color:#af8bc6}
.box-lid{background:linear-gradient(140deg,#ead6f8,#bb98d3 65%,#dcc0ee);border-color:#bc98d5}
.box-front{background:linear-gradient(115deg,#d9beed,#b992d3 62%,#ddc1ef);border-color:#b18bca;border-top-color:#f2dfff;color:#4d315f}
.box-front small,.box-lid small{color:#68467f}.box-lid>span{color:#513064}
html[data-theme=dark] .envelope-back{background:linear-gradient(140deg,#57386e,#312040);border-color:#7b5992}
html[data-theme=dark] .letter-paper-scene{background:linear-gradient(145deg,#ecddfa,#cfb3e6);border-color:#ac88c7}
html[data-theme=dark] .letter-seal{color:#6e488c}
html[data-theme=dark] .envelope-pocket{background:linear-gradient(138deg,#67447f,#412854 65%,#59396e);border-color:#8b639f}
html[data-theme=dark] .envelope-flap{background:linear-gradient(140deg,#78558f,#432752)}
html[data-theme=dark] .book-cover{background:linear-gradient(140deg,#68487e,#3e2753 65%,#624178);border-color:#a77dc0;box-shadow:inset 0 0 0 7px #6c4c84,inset 0 0 0 8px #caa7e454,10px 12px 35px #0005}
html[data-theme=dark] .book-spine{background:linear-gradient(90deg,#372345,#9a72b3)}
html[data-theme=dark] .lens-rim{border-color:#a480c3;background:#4b315f;box-shadow:inset 0 0 0 3px #dcc0ef,inset 0 0 15px #27113366,0 0 0 3px #785294,10px 20px 45px #0004}
html[data-theme=dark] .lens-glass{background:radial-gradient(circle at 30% 25%,#f7eaff80 0,#c3a3df52 26%,#a477c647 60%,#c4a1df52 100%)}
html[data-theme=dark] .lens-handle{background:linear-gradient(to bottom,#b693d1,#71478a 50%,#a481be);border-color:#9066a9}
html[data-theme=dark] .box-glow{background:radial-gradient(ellipse,#ba8ae028,transparent 70%)}
html[data-theme=dark] .box-back{background:linear-gradient(120deg,#493056,#261a34);border-color:#6f5087}
html[data-theme=dark] .box-lid{background:linear-gradient(145deg,#68467f,#342044 70%,#573867);border-color:#876699}
html[data-theme=dark] .box-front{background:linear-gradient(115deg,#604277,#352046 60%,#56356d);border-color:#815b99;border-top-color:#b88ed1;color:#f3e6ff}
html[data-theme=dark] .box-lid>span{color:#f3e6ff}
html[data-theme=dark] .box-front small,html[data-theme=dark] .box-lid small{color:#d1b3e5}
.animation-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}
.animation-page-card{display:flex;align-items:center;gap:14px;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:var(--soft);cursor:pointer}
.animation-page-card input{width:20px;height:20px;accent-color:var(--accent);flex:none}
.animation-page-card small{display:block;font-size:12px;color:var(--muted);margin-top:4px}
/* Page-level off applies to every scene and decorative effect, including pseudo-elements. */
body.public[data-animations="0"] *,body.public[data-animations="0"] *:before,body.public[data-animations="0"] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
body.public[data-animations="0"] .reveal-item{opacity:1!important;transform:none!important}
body.public[data-animations="0"] .replay-box{display:none}
@media(max-width:720px){.brand-copy strong{font-size:15px;max-width:175px}.animation-page-grid{grid-template-columns:1fr}.story-signature p{font-size:24px}.letter-seal{font-size:clamp(30px,8vw,47px)}}
@media(max-width:380px){.brand-copy strong{font-size:13px;max-width:155px}}
