:root{color-scheme:dark;--ink:#050408;--ivory:#f6eff0;--blush:#d9a2aa;--glass:rgba(242,225,232,.07);--line:rgba(255,235,242,.28);font-family:"Microsoft YaHei UI","PingFang SC",sans-serif}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--ink);color:var(--ivory)}button{font:inherit;color:inherit}#world,.grain,.scene{position:fixed;inset:0}.grain{z-index:30;pointer-events:none;opacity:.16;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E")}#world{z-index:1}.scene{z-index:2;opacity:0;visibility:hidden;transition:opacity 1.1s cubic-bezier(.2,.7,.2,1),visibility 1.1s}.scene::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 43%,transparent 22%,rgba(0,0,0,.34) 72%,rgba(0,0,0,.8) 100%)}body[data-phase=threshold] .threshold,body[data-phase=garden] .garden,body[data-phase=goddess] .goddess{opacity:1;visibility:visible}.threshold{display:grid;place-items:center;background:radial-gradient(circle at 52% 48%,rgba(51,35,48,.17),transparent 33%)}.threshold-copy{position:absolute;left:6vw;top:50%;z-index:4;transform:translateY(-50%);max-width:30rem}.eyebrow{font:500 .65rem/1.4 Arial,sans-serif;letter-spacing:.34em;color:var(--blush)}h1,h2,h3{font-family:Georgia,"Songti SC",serif;font-weight:400}h1{font-size:clamp(2.9rem,5.2vw,6.7rem);line-height:.92;letter-spacing:-.05em;margin:.8rem 0 1.6rem}h1 span{font-size:.56em;color:#c5b7bd}.hint{font-size:.78rem;letter-spacing:.18em;color:#9c9096}.crystal-hit{position:absolute;z-index:8;width:min(34vw,31rem);aspect-ratio:1;border:0;background:transparent;cursor:pointer}.crystal-hit span{position:absolute;left:50%;bottom:4%;transform:translateX(-50%);font:600 .55rem Arial;letter-spacing:.45em;opacity:.42;transition:.3s}.crystal-hit:hover span{opacity:1;text-shadow:0 0 18px #fff}.sound-note{position:absolute;z-index:4;right:4vw;bottom:4vh;font-size:.65rem;letter-spacing:.2em;color:#81777c}.garden{background:#07070b;overflow:hidden}.garden video{width:100%;height:100%;object-fit:cover;filter:grayscale(calc(1 - var(--awaken,0))) saturate(calc(.5 + var(--awaken,0)*.8)) brightness(calc(.42 + var(--awaken,0)*.45));transform:scale(calc(1.08 - var(--awaken,0)*.03));transition:filter .25s linear}.garden-grade{position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(243,186,205,calc(var(--awaken,0)*.16)),transparent 23%),linear-gradient(90deg,rgba(5,4,8,.78),transparent 45%,rgba(5,4,8,.18));mix-blend-mode:screen}.garden-copy{position:absolute;z-index:4;left:7vw;bottom:11vh}.garden-copy h2{font-size:clamp(2rem,4vw,5rem);margin:.4rem 0}.garden-copy p:last-child{color:#b8acb2;letter-spacing:.08em}.awaken-meter{position:absolute;z-index:4;right:5vw;bottom:9vh;width:13rem;font:500 .55rem Arial;letter-spacing:.25em;color:#c8bbc1}.awaken-meter::before{content:"";display:block;width:100%;height:1px;background:#4d454a;margin-bottom:.8rem}.awaken-meter i{position:absolute;left:0;top:0;width:calc(var(--awaken,0)*100%);height:1px;background:#f1c5cf;box-shadow:0 0 12px #e4aeb9}.goddess{overflow:hidden;background:#050408}.goddess-plate{position:absolute;inset:-3%;will-change:transform;transition:transform 2.2s cubic-bezier(.22,.76,.2,1)}.goddess-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%;transition:opacity 1.5s ease,filter 1.5s ease;filter:saturate(.84) contrast(1.04)}.goddess-image.open,.goddess-image.raised{opacity:0}.goddess[data-shot=open] .closed{opacity:0}.goddess[data-shot=open] .open{opacity:1}.goddess[data-shot=arm] .closed,.goddess[data-shot=arm] .open{opacity:0}.goddess[data-shot=arm] .raised{opacity:1}.goddess[data-shot=face] .goddess-plate{transform:scale(1.13) translate3d(-5%,1%,0)}.goddess[data-shot=open] .goddess-plate{transform:scale(1.17) translate3d(-3%,-1%,0)}.goddess[data-shot=arm] .goddess-plate{transform:scale(1.08) translate3d(-13%,3%,0)}.goddess::before{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,rgba(2,2,4,.06) 32%,rgba(2,2,4,.12) 62%,rgba(2,2,4,.82) 100%)}.act-label{position:absolute;z-index:4;left:4vw;top:5vh;display:flex;gap:1rem;align-items:center;font:500 .6rem Arial;letter-spacing:.28em}.act-label span{color:var(--blush)}.archive-orbit{position:absolute;z-index:6;inset:0;pointer-events:none}.archive-card{--x:70vw;--y:30vh;position:absolute;left:var(--x);top:var(--y);width:clamp(9.5rem,14vw,14rem);height:clamp(6rem,16vh,9rem);padding:1.2rem;text-align:left;border:1px solid var(--line);border-radius:48% 48% 12% 12%/28% 28% 10% 10%;background:linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,207,224,.025));box-shadow:inset 0 0 25px rgba(255,255,255,.05),0 16px 50px rgba(0,0,0,.35),0 0 18px rgba(233,181,197,.05);backdrop-filter:blur(10px) saturate(1.25);opacity:0;transform:translate3d(-50%,-25%,0) scale(.72);transition:opacity .9s ease,transform .9s cubic-bezier(.16,.8,.24,1),border-color .3s,box-shadow .3s;pointer-events:auto;cursor:pointer;overflow:hidden}.archive-card::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.18) 47%,transparent 62%);transform:translateX(-120%);transition:.7s}.archive-card:hover::before{transform:translateX(120%)}.archive-card:hover{border-color:rgba(255,239,243,.65);box-shadow:inset 0 0 25px rgba(255,255,255,.09),0 22px 80px rgba(0,0,0,.5),0 0 30px rgba(233,181,197,.15)}.archive-card small{display:block;font:500 .52rem Arial;letter-spacing:.22em;color:#d7aab4}.archive-card b{display:block;margin-top:.6rem;font-family:Georgia,"Songti SC",serif;font-size:clamp(.8rem,1.15vw,1.1rem);font-weight:400;letter-spacing:.12em}.goddess[data-shot=reveal] .archive-card{opacity:1;transform:translate3d(-50%,-50%,0) scale(1)}.goddess-prompt{position:absolute;z-index:5;left:50%;bottom:5vh;transform:translateX(-50%);font-size:.65rem;letter-spacing:.28em;color:#d2c0c7;transition:opacity .5s}.chapter-rail{position:fixed;z-index:40;right:2vw;top:50%;transform:translateY(-50%);display:grid;gap:1.2rem}.chapter-rail button{display:flex;flex-direction:row-reverse;gap:.8rem;align-items:center;border:0;background:transparent;cursor:pointer;font-size:.55rem;letter-spacing:.16em;color:#70666b}.chapter-rail i{width:1.5rem;height:1px;background:currentColor;transition:.35s}.chapter-rail button.active{color:#f0dfe5}.chapter-rail button.active i{width:3rem;box-shadow:0 0 8px #fff}.willow-secret{position:fixed;z-index:42;right:1.5vw;bottom:0;width:12rem;height:12rem;transform:translateY(7rem);transition:transform .6s cubic-bezier(.2,.8,.2,1);cursor:ns-resize;outline:none}.willow-secret:hover,.willow-secret:focus{transform:translateY(5.5rem)}.willow-secret p{position:absolute;right:0;top:1rem;font-size:.6rem;letter-spacing:.18em;text-align:right;color:#a99ca2}.willow-secret p span{color:#e3c8d0}.willow-branch{position:absolute;left:0;top:0;width:8rem;height:9rem;border-left:1px solid rgba(255,255,255,.35);transform:rotate(-25deg);filter:drop-shadow(0 0 8px rgba(255,255,255,.18))}.willow-branch::before,.willow-branch::after{content:"";position:absolute;width:.55rem;height:2.2rem;border:1px solid rgba(255,255,255,.35);border-radius:100% 0 100% 0;background:rgba(255,255,255,.05);box-shadow:1.5rem 1.8rem 0 -.05rem rgba(255,255,255,.08),3rem 3.8rem 0 -.1rem rgba(255,255,255,.1),4.2rem 5.8rem 0 -.12rem rgba(255,255,255,.06);animation:sway 3.6s ease-in-out infinite alternate;transform-origin:top}.willow-branch::after{left:2rem;top:1.2rem;animation-delay:-1.3s}@keyframes sway{to{transform:rotate(10deg) translateX(.3rem)}}dialog{width:min(44rem,88vw);border:1px solid rgba(255,233,240,.25);border-radius:1.3rem;padding:clamp(2rem,5vw,4.5rem);color:#eee4e7;background:rgba(8,7,10,.88);backdrop-filter:blur(24px);box-shadow:0 30px 100px #000}dialog::backdrop{background:rgba(0,0,0,.62);backdrop-filter:blur(10px)}dialog h3{font-size:clamp(2rem,4vw,4rem);margin:.5rem 0 1.4rem}.dialog-kicker{font:500 .58rem Arial;letter-spacing:.25em;color:var(--blush)}.dialog-body{line-height:1.9;color:#bfb3b8}.dialog-close{position:absolute;right:1.5rem;top:1rem;border:0;background:none;font-size:2rem;cursor:pointer;color:#ab9da3}.secret-overlay{position:fixed;z-index:80;inset:0;display:grid;place-content:center;text-align:center;background:radial-gradient(circle at 50% 70%,#3d1f32,#070508 55%);opacity:0;visibility:hidden;transition:.8s}.secret-overlay.open{opacity:1;visibility:visible}.secret-overlay p{font:500 .6rem Arial;letter-spacing:.4em;color:var(--blush)}.secret-overlay h2{font-size:clamp(2.4rem,5vw,6rem);line-height:1.18}.secret-close{position:absolute;right:3vw;top:4vh;border:1px solid #66535a;border-radius:99px;padding:.7rem 1rem;background:transparent;cursor:pointer;font-size:.65rem;letter-spacing:.15em}@media(max-width:780px){.threshold-copy{left:7vw;top:25%;transform:none}.crystal-hit{width:72vw}.chapter-rail{display:none}.garden-copy{left:7vw;right:7vw}.goddess-image{object-position:45% 36%}.archive-card{width:8.3rem;height:5.5rem;padding:.8rem}.archive-card b{font-size:.72rem}.willow-secret{right:-2rem}}
/* Consent is deliberately compact and clear of the sound control, willow trigger and safe areas. */
.privacy-consent{position:fixed;z-index:95;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));width:min(410px,calc(100vw - 28px));font:500 12px/1.45 system-ui,sans-serif;color:#f4edf4}
.privacy-manage{display:none;margin-left:auto;min-height:40px;padding:0 14px;border:1px solid rgba(240,214,232,.42);border-radius:999px;background:rgba(9,8,14,.78);color:inherit;backdrop-filter:blur(14px);cursor:pointer}
.privacy-choices{padding:12px;border:1px solid rgba(240,214,232,.3);border-radius:14px;background:rgba(9,8,14,.86);box-shadow:0 8px 32px rgba(0,0,0,.25);backdrop-filter:blur(18px)}
.privacy-choices p{margin:0}.privacy-choices b,.privacy-choices span{display:block}.privacy-choices span{margin-top:2px;color:rgba(244,237,244,.7);font-size:11px}
.privacy-choices>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}
.privacy-choices button{min-height:40px;padding:7px 10px;border:1px solid rgba(240,214,232,.38);border-radius:10px;background:rgba(255,255,255,.05);color:inherit;font:inherit;cursor:pointer}
.privacy-choices button:last-child{background:rgba(222,178,205,.18)}
.privacy-consent.is-compact .privacy-choices{display:none}.privacy-consent.is-compact .privacy-manage{display:block}
.privacy-consent button:focus-visible{outline:2px solid #f0c9df;outline-offset:3px}
@media(max-width:600px){.privacy-consent{right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));width:min(350px,calc(100vw - 20px));font-size:11px}.privacy-choices{padding:10px}.privacy-choices span{font-size:10px}.privacy-choices button{min-height:44px;padding:6px}.privacy-manage{min-height:44px}}
@media(max-width:600px){body[data-phase="goddess"] .privacy-consent:not(.is-compact){top:max(10px,env(safe-area-inset-top));right:10px;bottom:auto;width:min(286px,calc(100vw - 72px));font-size:10px}body[data-phase="goddess"] .privacy-consent:not(.is-compact) .privacy-choices span{display:none}body[data-phase="goddess"] .privacy-consent:not(.is-compact) .privacy-choices{padding:7px}body[data-phase="goddess"] .privacy-consent:not(.is-compact) .privacy-choices>div{margin-top:5px}}
