/* Shared Enimates interaction and reading rules. Loaded after legacy page styles. */
:root{--rail-w:208px;--ink:#2E2440;--ink-soft:#51455F;--paper:#FFFCF6;--c-joy:#F6C928;--c-trust:#249F9A;--c-fear:#7C4DCC;--c-surprise:#ED3F91;--c-sadness:#2867B2;--c-anger:#D93A32;--c-disgust:#73B800;--c-anticipation:#EF7D22;--gold:#F6C928}
html{scroll-behavior:auto;scroll-padding-top:24px}body{overflow-x:clip} [hidden]{display:none!important}main:focus{outline:3px solid var(--ink);outline-offset:-3px}a,button,input,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--ink);outline-offset:4px;box-shadow:0 0 0 7px var(--paper)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;left:16px;top:8px;z-index:1000;background:var(--paper);color:var(--ink);padding:12px 18px;border:2px solid var(--ink);transform:translateY(-150%)}.skip-link:focus{transform:none}
.rail{width:var(--rail-w);padding:28px 14px;overflow-y:auto;border-right:1px solid #2e244021;height:100dvh;min-height:0}.rail-mark{margin:0 12px 32px}.rail-list{gap:2px}.rail-link{min-height:44px;padding:11px 12px;gap:10px;font-size:14px;color:var(--ink);border:1px solid transparent;box-shadow:none;transform:none}
.rail-link:hover,.rail-link:focus-visible{background:#F5B47C;color:var(--ink);transform:none}.rail-link.is-active{background:#F1ECE2;box-shadow:none;color:var(--ink)}.rail-link.is-active::before{left:0;background:var(--ink);width:3px;height:40%}.rail-link.is-active .num{color:var(--ink)}.rail-link.is-active:hover{background:#F5B47C}.rail-link::after{display:none}
.rail-toggle{cursor:pointer}.motion-toggle{margin:28px 10px 0;min-height:44px;border:1px solid #73667F;border-radius:8px;color:var(--ink);background:transparent;font:inherit;font-size:13px;cursor:pointer}.motion-toggle[aria-pressed=true]{background:#EFE9DE}.motion-toggle:disabled{cursor:default}
.world-button,.btn-primary,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;max-width:100%;padding:11px 20px;border:1.5px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);font:inherit;font-weight:800;line-height:1.4;text-align:center;box-shadow:none;cursor:pointer;transition:background-color 140ms ease,transform 140ms ease}
.world-button:hover,.world-button:focus-visible,.btn-primary:hover,.btn-primary:focus-visible,.btn-ghost:hover,.btn-ghost:focus-visible{background:#F5B47C;color:var(--ink);box-shadow:none;transform:translateY(-1px)}.world-button:active,.btn-primary:active,.btn-ghost:active{transform:translateY(1px);background:#EEA365}.world-button:disabled{cursor:wait;transform:none;background:#E9E2D5}
.world-actions{display:flex;flex-wrap:wrap;gap:12px}.kicker{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}.color-dot{display:inline-block;width:14px;height:14px;border-radius:50%;background:var(--emotion-color);box-shadow:inset 0 0 0 1px #2e244038;flex:none}.text-link,.family-visit{text-decoration:underline;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center}
.gateway-entry{position:absolute;left:50%;top:65%;transform:translate(-50%,-50%);padding:10px 18px;border-radius:12px;border:1px solid #574630;background:#FFF7D9;color:var(--ink);font-weight:800;text-align:center;min-height:44px;max-width:44%;font-size:clamp(11px,1.1vw,16px)}.gateway-entry:hover{background:#F5B47C}.gateway-light.is-highlighted{outline:3px solid var(--ink);outline-offset:3px;filter:brightness(1.15)}
.site-footer{margin-left:var(--rail-w);width:calc(100% - var(--rail-w));padding:36px 30px;background:#2E2440;color:#FFFCF6;position:relative}.site-footer p{max-width:850px;margin:12px auto}.site-footer a{text-decoration:underline;text-underline-offset:3px}.site-footer .footer-links a{display:inline-block;padding:6px 3px;min-height:36px}.site-footer .footer-note,.site-footer .footer-copy{color:#F1EBDD}.site-footer a:focus-visible,.parent-section a:focus-visible{outline-color:#FFFCF6;box-shadow:0 0 0 7px #2E2440}
.ux-content-page :is(.char-main,.shop-main,.ra-main,.fp-main,.pg-main){margin-left:calc(var(--rail-w) + max(0px,(100vw - var(--rail-w) - 1040px)/2));margin-right:auto;width:calc(100% - var(--rail-w));max-width:1040px;padding:56px 36px 72px}.ux-content-page .char-hero>div:last-child{flex:1;min-width:240px}.ux-content-page .char-portrait{width:230px;height:230px}.ux-content-page .ladder{gap:16px}.ux-content-page .ladder a{min-width:140px;flex:1;max-width:240px}.ux-content-page .ladder a:hover,.ux-content-page .ladder a:focus-visible{transform:none;background:#FFF7E9}.ux-content-page .rail+main{min-height:80vh}
.ux-content-page .page,.ux-content-page .blog-main{max-width:1040px;margin-left:calc(var(--rail-w) + max(0px,(100vw - var(--rail-w) - 1040px)/2));margin-right:auto}.ux-content-page h1{overflow-wrap:break-word}.ux-content-page .floating-avatars{display:none}
.email-form{display:block;margin-top:40px;max-width:680px}.email-form label{display:block;margin-bottom:10px;font-weight:700}.signup-row{display:flex;gap:10px;flex-wrap:wrap}.signup-row input{min-height:48px;border:1px solid #8E8399;border-radius:10px;padding:12px 14px;font:inherit;min-width:0;flex:1;background:var(--paper);color:var(--ink)}.form-status{min-height:1.5em;margin:8px 0}.parent-section .fine{font-size:13px;color:#F1EBDD}.parent-section .fine a{text-decoration:underline}.parent-section .email-form button{flex-shrink:0}
@media(max-width:800px){
  :root{--rail-w:0px}html{scroll-padding-top:84px}.rail{position:sticky;top:0;width:100%;height:auto;min-height:64px;padding:14px 20px;display:flex;overflow:visible;border-right:0;border-bottom:1px solid #2e244021}.rail-mark{margin:4px 0}.rail-list{display:flex;flex-direction:column;width:100%;margin-top:14px;max-height:calc(100dvh - 84px);overflow-y:auto}.rail-link{font-size:15px}.rail-toggle{display:none}.ux-ready .rail{position:fixed;height:64px}.ux-ready .rail-list{display:none;position:absolute;top:64px;left:0;margin:0;padding:12px 20px 20px;background:var(--paper);border-bottom:1px solid #2e244036;box-shadow:0 14px 24px #2e244018;max-height:calc(100dvh - 64px)}.ux-ready .rail.is-open .rail-list{display:flex}.ux-ready .rail-toggle{position:absolute;right:12px;top:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:48px;height:48px;padding:12px;border:1px solid #2e244052;border-radius:10px;background:var(--paper)}.rail-toggle span{display:block;height:2px;width:20px;background:var(--ink);transform:none}.motion-toggle{display:none!important}.rail.is-open .rail-toggle span{transform:none}.ux-content-page :is(.char-main,.shop-main,.ra-main,.fp-main,.pg-main,.page,.blog-main){margin-left:0;margin-right:0;width:100%;max-width:100%;padding:96px 20px 48px}.ux-content-page .char-hero{gap:24px}.ux-content-page .char-hero>div:last-child{min-width:0;flex-basis:100%}.ux-content-page .char-portrait{width:180px;height:180px}.site-footer{margin-left:0;width:100%;padding:30px 20px}.gateway-entry{font-size:12px;padding:8px;max-width:52%}.signup-row{flex-direction:column}.signup-row input{width:100%;flex:auto}
}
html[data-motion='reduced']{*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.world-button:hover{transform:none}}
.reduce-motion *,.reduce-motion *::before,.reduce-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reduce-motion :is(.world-button,.btn-primary,.btn-ghost,.neighborhood-card,.friend-card,.feeling-choice):is(:hover,:focus-visible,:active){transform:none!important}
html[data-motion='reduced']{:is(.world-button,.btn-primary,.btn-ghost,.neighborhood-card,.friend-card,.feeling-choice):is(:hover,:focus-visible,:active){transform:none!important}}
.lantern-legend{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:20px auto 0;max-width:660px}.lantern-legend a{display:flex;gap:8px;align-items:center;justify-content:center;min-height:44px;padding:8px;border:1px solid #2E244042;border-radius:10px;background:var(--paper);font-size:14px;font-weight:800}.lantern-legend a:hover,.lantern-legend a.is-highlighted{background:#F6E8D0;border-color:var(--ink)}.family-heading .color-dot{margin-right:8px}.ux-content-page .blog-main{padding:56px 36px 72px;width:calc(100% - var(--rail-w))}.ux-content-page .blog-card{border-top:3px solid var(--c-trust)}.ux-content-page .blog-main>h1::before{content:'';display:block;width:100%;height:140px;background:url('/frames/nz-001.webp') center 48%/cover;border-radius:16px;margin-bottom:28px}.ux-content-page .blog-tag,.ux-content-page .pg-tag,.ux-content-page .ra-tag{color:#74410D}.ux-content-page .blog-grid{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}.ux-content-page .pg-grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}.ux-content-page .pg-hero{padding:28px}.ux-content-page .btn-outline{min-height:44px;display:inline-flex;align-items:center}.ux-content-page .pg-steps li::before{background:#513D60}
.ux-content-page .post-main{margin-left:calc(var(--rail-w) + max(0px,(100vw - var(--rail-w) - 860px)/2));width:calc(100% - var(--rail-w));max-width:860px;padding:56px 36px 72px}.ux-content-page .blog-main .section-head::before{content:'';display:block;width:100%;height:140px;background:url('/frames/nz-001.webp') center 48%/cover;border-radius:16px;margin-bottom:28px}
@media(max-width:800px){.ux-content-page .post-main{margin-left:0;width:100%;padding:96px 20px 48px}}
@media(max-width:800px){html:not(.ux-ready) .rail{position:relative}body.world-page .feeling-family{scroll-margin-top:300px}}
@media(max-width:800px){.ux-content-page .blog-main{padding:96px 20px 48px;width:100%;margin-left:0}.ux-content-page .pg-hero{padding:22px 18px}.lantern-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}html:not(.ux-ready) body.world-page .world-shell{padding-top:0}html:not(.ux-ready) .ux-content-page main{padding-top:32px}.world-page .feeling-family{padding:20px 10px!important}.world-page .friend-card{padding:12px 2px!important}.world-page .friend-card p{font-size:12px!important}.world-page .friend-card h4{font-size:14px!important}}
