/* The garden is a continuous world; page content stays above its moving layers. */
body{background:#0c2330;isolation:isolate}.world-backdrop{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:#102a39}.world-scenery{position:absolute;inset:-2%;background:url('./assets/world-v3/moonlit-harbor.webp') center center/cover no-repeat;will-change:transform}.world-backdrop:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#081f31a8,#08213645 65%,#08213615),linear-gradient(0deg,#0b253696,transparent 70%)}.world-mist{position:absolute;inset:20% -20% -10%;opacity:.25;background:radial-gradient(ellipse at 25% 65%,#acd8c888,transparent 48%);animation:mist-drift 24s ease-in-out infinite alternate}.world-water{position:absolute;inset:52% -10% 10%;opacity:.11;background:repeating-linear-gradient(174deg,transparent 0 16px,#b1e4df88 17px,transparent 19px 31px);mask-image:radial-gradient(ellipse,#000,transparent 70%);animation:water-shimmer 9s ease-in-out infinite alternate}#world-particles{position:absolute;inset:0;z-index:2}.site-header{position:relative;z-index:8;background:#0d253059!important;backdrop-filter:blur(9px);border-bottom-color:#e7d2a432!important}.site-header nav{gap:18px}.nav-button{font-size:12px}#global-motion{font-size:10px;color:#c7dcd8}.site-footer{position:relative;background:#091f2b;color:#c6d8d5;border-color:#adbfac33}.site-footer .text-button{color:#dcca9f}body[data-view="home"] main{background:transparent}.world-hero{position:relative;min-height:calc(100svh - 92px);gap:45px;grid-template-columns:1fr 1fr;padding-block:65px 100px;width:min(1240px,calc(100% - 100px));color:#fff8e8}.hero-copy{position:relative;z-index:4;animation:copy-arrive 1s ease both}.hero-copy h1{font-size:clamp(44px,5.2vw,76px);letter-spacing:.045em;line-height:1.42;text-shadow:0 5px 38px #062237}.hero-copy h1 em{font-style:normal;color:#f2dba6}.hero-copy .eyebrow{font-size:10px;letter-spacing:.24em;margin-bottom:17px}.hero-invitation{font-size:13px;letter-spacing:.12em;color:#d7e8dd;margin-bottom:23px}.hero .lead{font-size:15px;line-height:2.1;max-width:27em;color:#e2eee7;text-shadow:0 2px 12px #001623}.hero .small-copy{font-size:11px;color:#d0e0d6;max-width:29em}.magic-button{position:relative;overflow:hidden;box-shadow:0 6px 24px #091b3688,0 0 32px #dfca8526;transition:transform .3s,box-shadow .3s;border:1px solid #fcf0c9!important;border-radius:5px;background:linear-gradient(115deg,#efe1bb,#ddc388)!important;color:#17394a!important}.magic-button:before{content:'';position:absolute;inset:-80% auto -80% -60%;width:35%;transform:rotate(25deg);background:linear-gradient(90deg,transparent,#fff9df7a,transparent);animation:button-sheen 7s ease-in-out infinite}.magic-button:hover{transform:translateY(-4px);box-shadow:0 10px 40px #dfca854a}.hero-deck{position:relative;height:490px;perspective:1400px;isolation:isolate;min-width:0;animation:deck-arrive 1.2s .1s ease both}.deck-card{position:absolute;top:35px;left:50%;width:255px;height:366px;padding:17px 13px 15px;border:1px solid #d2b875;border-radius:110px 110px 12px 12px;background:linear-gradient(160deg,#204853f2,#0c2838fa);color:#f5e5c1;box-shadow:0 24px 55px #031321a6,inset 0 0 0 5px #ccac7130;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .6s,box-shadow .3s;text-align:center;overflow:hidden}.deck-card:after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 15%,#f5e7bb24 45%,transparent 60%);pointer-events:none;transform:translateX(-130%);transition:transform .8s}.deck-card:hover:after{transform:translateX(110%)}.deck-card-0{z-index:1;transform:translateX(-98%) translateY(36px) rotate(-15deg);filter:brightness(.8)}.deck-card-2{z-index:2;transform:translateX(-2%) translateY(35px) rotate(16deg);filter:brightness(.85)}.deck-card-1{z-index:3;transform:translateX(-50%) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));animation:front-card-float 7s ease-in-out infinite}.deck-card:hover,.deck-card:focus-visible{z-index:5;filter:brightness(1.05);box-shadow:0 20px 80px #0009,0 0 30px #e8d09e44}.deck-card-0:hover,.deck-card-0:focus-visible{transform:translateX(-102%) translateY(10px) rotate(-9deg)}.deck-card-2:hover,.deck-card-2:focus-visible{transform:translateX(0) translateY(10px) rotate(9deg)}.deck-stars{position:absolute;top:21px;left:0;right:0;color:#d9c68d;letter-spacing:.1em;font-size:10px}.deck-arch{display:block;height:242px;padding-top:32px;position:relative;background:radial-gradient(ellipse at 50% 55%,#7bbdbb40,transparent 65%)}.deck-arch img{height:100%;width:100%;object-fit:contain;filter:drop-shadow(0 8px 10px #0005)}.deck-title{display:block;font:20px/1.6 "Yu Mincho",serif;letter-spacing:.1em}.deck-copy{display:block;font-size:9px;line-height:1.8;margin:6px 0 13px;color:#c2d8cf}.deck-number{display:block;font:8px/1.4 Georgia,serif;letter-spacing:.15em;border-top:1px solid #c6ad6e66;padding-top:10px}.deck-orbit{position:absolute;inset:15px 35px 30px;border:1px solid #d1c39c40;border-radius:50%;transform:rotate(-25deg);box-shadow:0 0 0 21px #cdd0a208,0 0 0 22px #cfcc9b14}.deck-orbit span{position:absolute;color:#eed499;font-size:28px;top:45%;left:-12px;animation:star-breathe 4s ease-in-out infinite}.deck-orbit span+span{left:auto;right:-12px;animation-delay:2s}.deck-caption{position:absolute;bottom:-8px;left:0;right:0;text-align:center;font:14px/1.8 "Yu Mincho",serif;letter-spacing:.2em;color:#e9dbb6}.scroll-invitation{position:absolute;bottom:25px;left:0;right:0;margin:auto;width:fit-content;text-decoration:none;font-size:10px;letter-spacing:.18em;color:#d2e1d6;text-align:center}.scroll-invitation span{display:block;font-size:20px;line-height:1.8;animation:scroll-cue 2.7s ease-in-out infinite}.companion-gallery{position:relative;padding:90px 0 35px;background:linear-gradient(#0b2837ee,#0c293bf7);border-top:1px solid #d9c4943b;overflow:hidden;color:#f0eee0}.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;width:min(1120px,calc(100% - 64px));margin:0 auto 38px}.gallery-heading .eyebrow{color:#ccb78a;font-size:10px}.gallery-heading h2{font-size:34px;line-height:1.65;margin:0}.gallery-heading>p{font-size:13px;color:#bed3ce;margin-bottom:8px}.companion-rail{display:flex;gap:24px;padding:15px max(32px,calc((100% - 1120px)/2)) 45px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#bbab8166 transparent}.story-card{position:relative;flex:0 0 255px;text-align:center;padding:16px 18px 23px;color:#ede6d2;background:linear-gradient(155deg,#28505b80,#102e41);border:1px solid #afaa8166;border-radius:120px 120px 12px 12px;scroll-snap-align:center;transform:perspective(800px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:border-color .3s,background .3s,transform .3s;min-width:0}.story-card:hover{border-color:#e8d399;background:#284c58}.story-number{display:block;font:italic 13px Georgia;color:#cdbf97;margin-top:8px}.story-portrait{height:235px;padding:10px 10px 0;background:radial-gradient(ellipse,#bee3d020,transparent 72%)}.story-portrait img{width:100%;height:100%;object-fit:contain;transition:transform .5s}.story-card:hover img{transform:translateY(-7px)}.story-name{display:block;font:20px/1.7 "Yu Mincho",serif;margin:13px 0 8px}.story-quote{display:block;font-size:11px;line-height:1.8;min-height:42px;color:#bbd4cf}.story-more{display:block;font-size:10px;color:#dfcb9a;border-top:1px solid #adb88f33;padding-top:14px;margin-top:10px}.rail-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;width:min(1120px,calc(100% - 64px));margin:12px auto}.rail-controls>span{font-size:10px;letter-spacing:.07em;color:#bdd2cc;margin-right:auto}.rail-controls button{border:1px solid #c4ba9180;background:transparent;color:#e4d4ab;width:46px;height:46px;border-radius:50%;transition:background .2s}.rail-controls button:hover{background:#b5cabc28}.story-path{padding:100px 0;color:#efeada;display:grid;grid-template-columns:.8fr 1.5fr;gap:80px}.story-path .eyebrow{font-size:10px;color:#d6c196}.story-path h2{font-size:35px}.path-steps{display:grid;grid-template-columns:1fr;gap:27px}.path-step{position:relative;padding:0 0 26px 65px;border-bottom:1px solid #c1cba33b}.path-step>span{position:absolute;left:0;top:0;font:italic 29px Georgia;color:#d4bd8c}.path-step h3{font:21px/1.7 "Yu Mincho",serif;letter-spacing:.06em;margin-bottom:6px}.path-step p{font-size:13px;color:#c5d9d0;margin:0}.garden-finale{padding:100px 24px 110px;text-align:center;background:linear-gradient(#16374688,#102838dd);color:#f1e7cb;border-top:1px solid #d3c49b44}.garden-finale .eyebrow{font-size:10px;letter-spacing:.2em;color:#d8c393}.garden-finale h2{font-size:clamp(27px,3.8vw,44px);line-height:1.75;margin-bottom:32px}.garden-finale>p:last-child{font-size:11px;color:#bfd3c8;margin-top:20px}.reveal{opacity:1;transform:none}.reveal:not(.is-visible){animation:none}.world-ready .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}.world-ready .reveal.is-visible{opacity:1;transform:translateY(0)}
/* Reading surfaces retain contrast over the richer environment. */
body[data-view="quiz"] .world-backdrop:after{background:#0b283682}.quiz-shell{margin:46px auto 70px;padding:34px 38px 34px;background:#f9f7eff5;box-shadow:0 24px 90px #051a2b88;border:1px solid #dfd1a9;border-radius:16px;min-height:0;width:min(720px,calc(100% - 48px));animation:question-enter .38s ease both}.quiz-topline{font-size:11px}.quiz-shell legend{margin:24px 0 18px}.quiz-shell h1{font-size:28px;line-height:1.6}.quiz-shell legend .eyebrow{font-size:10px;letter-spacing:.15em}.answer-guide{font-size:11px;color:#6b786f;margin:0 0 14px}.answer{width:100%;text-align:left;transition:transform .2s,background .2s,border-color .2s;position:relative;overflow:hidden;min-height:70px;font-size:14px;border-color:#becfc8;background:#fffffb}.answer:hover{transform:translateX(4px);background:#eef4ed;border-color:#b79b61}.answer:focus-visible{outline-color:#668777}.answer.is-selected{background:#dfebdf;border-color:#648776;color:#213f35}.answer:disabled{opacity:1}.answer-accepted .answer:not(.is-selected){opacity:.48}.answer-accepted .answer.is-selected{box-shadow:0 0 0 3px #a2b59b33;transform:translateX(4px)}.answer-accepted{animation:answer-depart .33s ease both}.skip-answer{border:0;border-bottom:1px solid #82988c;background:transparent;font-size:12px;padding:7px 0;gap:17px;margin-top:12px}.quiz-actions{margin-top:18px}.quiz-shell .small-copy{font-size:10px;margin-top:18px;padding-top:15px}.question-footprints{display:flex;gap:7px;align-items:center}.question-footprints i{width:6px;height:6px;border-radius:50%;background:#d6ded5}.question-footprints .lit{background:#b89d66;box-shadow:0 0 8px #d6c37c44}.quiz-shell .text-button{font-size:12px}
body[data-view="choose"],body[data-view="welcome"]{background:transparent}.encounter-shell,.welcome-shell{background:linear-gradient(#0a29377d,#0b263ad4);padding-top:32px;min-height:calc(100svh - 92px)}.encounter-stage{margin-top:22px}.companion-stand{animation:stand-arrive .9s calc(var(--slot)*.12s) both}.companion-stand img{filter:drop-shadow(0 12px 15px #02162399);animation:companion-breathe 4s calc(var(--slot)*-.8s) ease-in-out infinite;transform-origin:50% 95%}.companion-stand:not(.is-active) img{filter:drop-shadow(0 10px 10px #03192188) brightness(.85)}.stand-plinth{background:radial-gradient(ellipse at 50% 25%,#4b817f,#163c4b);border-color:#abd9c880;box-shadow:0 9px 0 #142b34,0 11px 0 #abccac5c,0 23px 35px #051523a6}.is-active .stand-ring{box-shadow:0 0 24px #efc88770,inset 0 0 19px #e6d09138;animation:ring-breathe 3s ease-in-out infinite}.encounter-dialogue{background:linear-gradient(120deg,#173e48ee,#18394aef);backdrop-filter:blur(14px);animation:dialogue-arrive .7s .25s both;box-shadow:0 20px 70px #0004}.encounter-heading h1{color:#fbefd5;text-shadow:0 4px 25px #041e36}.encounter-heading{animation:copy-arrive .7s both}.welcome-film{animation:welcome-bloom 1.2s cubic-bezier(.16,1,.3,1) both}.welcome-orbit{animation:orbit-turn 50s linear infinite}.welcome-star{animation:star-breathe 3s ease-in-out infinite}.welcome-film .nm-film-scene{box-shadow:0 0 0 8px #bcdabc17,0 0 0 9px #e5d2a04d,0 0 65px #b8dbb126,0 25px 60px #0006}.welcome-dialogue{animation:copy-arrive .8s .3s both}.motion-poster,.companion-canvas{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.companion-canvas{opacity:0;transition:opacity .25s}.companion-canvas.is-ready{opacity:1}.nm-film-scene{aspect-ratio:1}.result-shell,.catalogue-shell,.message-shell{position:relative;color:#f1ead9}.result-story,.message-shell{background:#f9f7eff5;color:#243f4b;border:1px solid #e3d4aa;border-radius:14px;padding:30px}.result-intro .small-copy{color:#ccded5}.result-intro .eyebrow{color:#d7c796}.result-card-column .pair-card{box-shadow:0 25px 80px #0005;animation:welcome-bloom .9s ease both}.affection-message{color:#e4d8b8}.affection-controls>.motion-button,.encounter-replay{color:#d7dfd1}.catalogue-card{background:linear-gradient(#244a57e8,#102d3ded);border-color:#bfb28c66;color:#f7edd5;transition:transform .35s,border-color .35s}.catalogue-card:hover{transform:translateY(-8px);border-color:#d3bd85;background:#244755}.catalogue-card p,.catalogue-card .section-number{color:#bfd4cb}.catalogue-shell>.reading{color:#d0dfd5}.message-shell{margin-top:40px;margin-bottom:50px}.result-shell .primary,.catalogue-shell>.primary{background:#dfca9a;color:#1c3b47}.result-story .primary{background:var(--navy);color:var(--paper)}
@keyframes mist-drift{from{transform:translateX(-3%)}to{transform:translateX(7%)}}@keyframes water-shimmer{from{transform:translateY(0) scaleX(1)}to{transform:translateY(18px) scaleX(1.07)}}@keyframes copy-arrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes deck-arrive{from{opacity:0;transform:translateY(50px) scale(.92)}to{opacity:1;transform:none}}@keyframes front-card-float{0%,100%{translate:0 0}50%{translate:0 -11px}}@keyframes star-breathe{0%,100%{opacity:.6;scale:.85}50%{opacity:1;scale:1.1}}@keyframes button-sheen{0%,65%{left:-60%}90%,100%{left:140%}}@keyframes scroll-cue{0%,100%{translate:0 0;opacity:.6}50%{translate:0 7px;opacity:1}}@keyframes question-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes answer-depart{0%,65%{opacity:1;transform:none}100%{opacity:0;transform:translateX(-13px)}}@keyframes stand-arrive{from{opacity:0;translate:0 25px;scale:.92}to{opacity:1;translate:0 0;scale:1}}@keyframes companion-breathe{0%,100%{scale:1 1;translate:0 0}50%{scale:1.007 1.015;translate:0 -2px}}@keyframes ring-breathe{0%,100%{opacity:.7}50%{opacity:1}}@keyframes dialogue-arrive{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}@keyframes welcome-bloom{from{opacity:0;scale:.88;translate:0 25px}to{opacity:1;scale:1;translate:0 0}}@keyframes orbit-turn{from{rotate:0deg}to{rotate:360deg}}
@media(max-width:1100px){.hero-deck{scale:.78}}
@media(max-width:900px){.world-hero{gap:20px;width:calc(100% - 64px);min-height:740px}.hero-deck{scale:.85;transform-origin:center center;margin-inline:-30px}.hero-copy h1{font-size:50px}.brand-caption{display:none}.story-path{gap:40px}}
@media(max-width:900px){.site-header{min-height:73px;padding:15px 18px;gap:12px}.brand{font-size:15px;letter-spacing:1.5px;gap:7px}.brand>span:first-child{font-size:23px}.site-header nav{gap:11px}#global-motion{font-size:9px}.nav-button{font-size:10px}.site-header [data-action="home"].nav-button{display:none}.world-scenery{background-position:57% center}.world-backdrop:after{background:linear-gradient(180deg,#0b24377a,#07253950 55%,#092b37aa)}.world-hero{display:flex;flex-direction:column;gap:0;min-height:0;width:calc(100% - 40px);padding:38px 0 70px;text-align:center}.hero-copy h1{font-size:49px;line-height:1.42;margin-bottom:17px}.hero-copy .eyebrow{font-size:8px;letter-spacing:.16em;margin-bottom:12px}.hero-invitation{font-size:11px;letter-spacing:.08em;margin-bottom:15px}.hero .lead{font-size:12px;max-width:26em;margin:0 auto 18px;line-height:1.9}.hero-facts{justify-content:center;font-size:10px;margin:20px 0}.hero .primary{min-width:0;width:100%;max-width:320px;font-size:14px}.hero .small-copy{font-size:9px;margin:15px auto 0;max-width:30em}.hero-deck{height:330px;min-height:330px;width:100%;scale:1;margin:30px 0 0;max-width:360px}.deck-card{width:174px;height:258px;top:10px;padding:10px;border-radius:90px 90px 10px 10px}.deck-arch{height:167px;padding-top:23px}.deck-stars{font-size:8px;top:13px}.deck-title{font-size:15px}.deck-copy{font-size:7px;margin:4px 0 8px;letter-spacing:0}.deck-number{font-size:6px;padding-top:7px}.deck-card-0{transform:translateX(-90%) translateY(22px) rotate(-13deg)}.deck-card-2{transform:translateX(-10%) translateY(22px) rotate(13deg)}.deck-card-0:hover,.deck-card-0:focus-visible{transform:translateX(-91%) translateY(12px) rotate(-10deg)}.deck-card-2:hover,.deck-card-2:focus-visible{transform:translateX(-9%) translateY(12px) rotate(10deg)}.deck-orbit{inset:-3px 0 5px;transform:none}.deck-orbit span{font-size:20px}.deck-caption{font-size:11px;bottom:-5px}.scroll-invitation{bottom:9px;font-size:8px}.scroll-invitation span{font-size:17px}.companion-gallery{padding-top:50px}.gallery-heading{display:block;width:calc(100% - 42px);margin-bottom:22px}.gallery-heading h2{font-size:27px}.gallery-heading>p{font-size:11px;margin:15px 0 0}.gallery-heading .eyebrow{font-size:9px;margin-bottom:12px}.companion-rail{gap:17px;padding-left:30px;padding-right:30px;padding-bottom:28px}.story-card{flex-basis:230px}.story-portrait{height:210px}.rail-controls{width:calc(100% - 42px);gap:8px}.rail-controls>span{max-width:18em;line-height:1.7;font-size:9px}.rail-controls button{width:42px;height:42px}.story-path{display:block;width:calc(100% - 48px);padding:65px 0}.story-path h2{font-size:29px}.path-steps{margin-top:35px}.path-step{padding-left:53px}.path-step h3{font-size:19px}.path-step p{font-size:12px}.garden-finale{padding:65px 24px 70px}.garden-finale h2{font-size:25px}.garden-finale .eyebrow{font-size:8px}.quiz-shell{width:calc(100% - 28px);padding:25px 19px;margin:24px auto 35px;border-radius:12px}.quiz-shell h1{font-size:22px}.quiz-shell legend{margin:23px 0 15px}.quiz-topline{font-size:9px;gap:8px}.quiz-topline b{font-size:16px}.answer{font-size:13px;padding:15px 13px;gap:10px;min-height:65px}.answer.is-selected{padding:14px 12px}.answer-letter{font-size:12px;flex-basis:15px}.answer-tick{font-size:14px}.answers{gap:10px}.quiz-shell .small-copy{font-size:9px}.answer-guide{font-size:10px}.question-footprints{gap:5px}.encounter-shell,.welcome-shell{min-height:calc(100svh - 73px);padding-top:23px}.encounter-stage{margin-top:10px}.encounter-heading h1{font-size:27px}.result-story{padding:24px 20px}.message-shell{width:calc(100% - 28px);padding:25px 20px}.catalogue-card{padding:15px}.catalogue-card h2{font-size:16px}}
@media(max-width:360px){.brand{font-size:13px}.site-header{padding-inline:13px;gap:7px}.site-header nav{gap:8px}#global-motion{font-size:8px}.nav-button{font-size:9px}.world-hero{width:calc(100% - 32px)}.hero-copy h1{font-size:43px}.deck-card{width:158px;height:239px}.deck-arch{height:153px}.hero-deck{height:310px;min-height:310px;scale:.92}.deck-title{font-size:14px}.deck-copy{font-size:6.5px}.deck-orbit{inset:0 3px 8px}.quiz-shell h1{font-size:20px}.quiz-shell{padding-inline:15px}.question-footprints{gap:4px}.encounter-heading h1{font-size:25px}}
body[data-motion="off"] *,body[data-motion="off"] *:before,body[data-motion="off"] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}body[data-motion="off"] .reveal{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}}
