/* Shared collection portraits remain available outside the island. */
.collection-portrait{display:inline-block;width:100%;height:100%;aspect-ratio:1;background-image:url('characters/collection-atlas-v1.webp');background-size:300% 300%;background-position:var(--cx) var(--cy);background-repeat:no-repeat}.collection-existing{width:100%;height:100%;object-fit:contain}.hm-pic .collection-portrait{width:40px;height:40px}.ac-pet .collection-portrait{display:block;width:200px;height:200px;margin:auto}.ac-collection-link{display:inline-block;margin-top:12px;color:#225941;font-weight:700;font-size:14px}html[data-hanq-theme] body .hm-pic .collection-portrait{width:24px;height:24px}html[data-hanq-theme] body .ac-pet .collection-portrait{max-width:100%;width:200px;height:auto;aspect-ratio:1}
html body .device-content.rainbow-play-space{overflow:hidden!important;padding:0!important;scrollbar-width:none}
.rainbow-game-host{height:100%;min-height:0;position:relative}.rainbow-game-host:not(.device-content>*){height:calc(100dvh - 170px);min-height:300px}
#rainbowHost .ri-game{position:relative;width:100%;height:100%;min-height:0;isolation:isolate;overflow:hidden;background:#80b6b1!important;color:#173b32;font-family:inherit;border-radius:12px;container-type:size;touch-action:manipulation}
html[data-hanq-theme] body #rainbowHost .ri-game :is(div,section,header,nav,details,summary){background:transparent!important;color:#173b32!important}
#rainbowHost .ri-world{position:absolute;inset:0;pointer-events:none;--ri-look-x:0px;--ri-look-y:0px}
#rainbowHost .ri-backdrop{position:absolute;left:0;top:0;width:104%;height:auto;max-width:none;object-fit:fill;transform:translate3d(var(--ri-look-x),var(--ri-look-y),0);user-select:none;pointer-events:none}
#rainbowHost .ri-sprite{display:block;width:100%;height:100%;background-image:url('world-art/rainbow-park-sprites-v2.webp');background-repeat:no-repeat;pointer-events:none;filter:drop-shadow(0 5px 3px #283b2430)}
#rainbowHost .ri-hud{position:absolute;z-index:5;top:16px;left:20px;right:20px;display:flex;align-items:center;justify-content:space-between;gap:8px;pointer-events:none}
html[data-hanq-theme] body #rainbowHost .ri-hud>div{color:#fff!important;text-shadow:0 2px 4px #143a39,0 0 14px #173d3e}
#rainbowHost .ri-hud h1{font-size:clamp(22px,3vw,32px);line-height:1.2;margin:3px 0;color:inherit!important}#rainbowHost .ri-hud p{font-size:10px;line-height:1.3;letter-spacing:.1em;margin:0;color:inherit!important}#rainbowHost .ri-hud p span{font-size:10px;border:1px solid #fff9;border-radius:9px;padding:2px 5px;margin-left:4px}
#rainbowHost .ri-hud button{pointer-events:auto}
html[data-hanq-theme] body #rainbowHost .ri-game :is(button,a){box-sizing:border-box;min-width:44px;min-height:44px;border:1px solid #bfcf9e!important;border-radius:12px;padding:8px 13px;color:#fcffe9!important;background:#254b3eed!important;font:700 13px/1.4 inherit;cursor:pointer;text-decoration:none;box-shadow:0 3px 8px #0d332230;opacity:1}
#rainbowHost .ri-game :focus-visible{outline:3px solid #ffe779!important;outline-offset:4px}
html[data-hanq-theme] body #rainbowHost .ri-game :is(button,a):hover{background:#315d45!important}
#rainbowHost .ri-hint{position:absolute;z-index:4;top:88px;left:12px;right:12px;text-align:center;font-size:12px;line-height:1.6;color:#fff!important;text-shadow:0 2px 4px #21402c,0 0 6px #21402c;font-weight:700;pointer-events:none;margin:0;transition:opacity .2s}
#rainbowHost .ri-inspecting .ri-hint{opacity:0}
html[data-hanq-theme] body #rainbowHost .ri-game :is(.ri-guardian,.ri-world-egg),html[data-hanq-theme] body #rainbowHost .ri-game :is(.ri-guardian,.ri-world-egg):hover{position:absolute;padding:0;border:0!important;background:transparent!important;box-shadow:none;touch-action:manipulation;isolation:isolate}
#rainbowHost .ri-guardian{z-index:2;width:clamp(100px,25%,250px);aspect-ratio:571/543;left:50%;bottom:36%;transform:translateX(-50%);transform-origin:50% 100%}
#rainbowHost .ri-guardian .ri-sprite{animation:ri-breathe 4.8s ease-in-out infinite;transform-origin:50% 95%}
#rainbowHost .ri-greeting .ri-guardian .ri-sprite{animation:ri-greet 1.2s ease-in-out infinite alternate}
#rainbowHost .ri-helper{position:absolute;z-index:3;width:clamp(34px,10%,90px);aspect-ratio:330/409;bottom:29%;left:21%;animation:ri-helper-walk 5s ease-in-out infinite alternate;transform-origin:center bottom}
#rainbowHost .ri-helper-blue{left:auto;right:20%;bottom:30%;animation-delay:-3s}
/* Size, position, tilt and depth come from the shared track model in rainbow-island.js. */
#rainbowHost .ri-car{position:absolute;z-index:1;left:0;top:0;transform-origin:50% 100%;will-change:transform;pointer-events:none}
#rainbowHost .ri-car>.ri-sprite{animation:ri-car-bob .45s linear infinite}#rainbowHost .ri-car[data-car="1"]>.ri-sprite{animation-delay:-.15s}#rainbowHost .ri-car[data-car="2"]>.ri-sprite{animation-delay:-.3s}
#rainbowHost .ri-world-egg{z-index:4;width:clamp(66px,13%,126px);aspect-ratio:415/379;bottom:max(22%,76px);transform:translateX(-50%);overflow:visible}
#rainbowHost .ri-egg-gabumon{left:40%}#rainbowHost .ri-egg-patamon{left:61%}
#rainbowHost .ri-world-egg>.ri-sprite{transform-origin:50% 95%;animation:ri-egg-rock 5s ease-in-out infinite;transition:filter .2s,scale .2s}
#rainbowHost .ri-egg-patamon>.ri-sprite{animation-delay:-2.6s}
#rainbowHost .ri-world-egg.is-selected>.ri-sprite,#rainbowHost .ri-world-egg:focus-visible>.ri-sprite,#rainbowHost .ri-world-egg:hover>.ri-sprite{filter:drop-shadow(0 0 8px #ffffbd) drop-shadow(0 4px 2px #42653270);scale:1.07}
html[data-hanq-theme] body #rainbowHost .ri-egg-label{position:absolute;left:50%;bottom:-18px;transform:translateX(-50%);white-space:nowrap;padding:4px 9px;border-radius:20px;background:#214b3be8!important;border:1px solid #d9efb4;color:#fffde7!important;font-size:12px;line-height:1.4;text-shadow:none}
#rainbowHost .ri-world-egg.is-owned .ri-egg-label::before{content:'✓ ';color:#b7f4b3}
#rainbowHost .ri-tools{position:absolute;z-index:8;bottom:12px;left:16px;right:16px;display:flex;align-items:center;justify-content:space-between;gap:10px;pointer-events:none}
#rainbowHost .ri-tools>*{pointer-events:auto}#rainbowHost .ri-total{font-size:11px;margin-left:3px}
html[data-hanq-theme] body #rainbowHost .ri-game .ri-speech{position:absolute;z-index:6;top:22%;left:50%;transform:translateX(-50%);width:max-content;max-width:75%;box-sizing:border-box;padding:12px 16px;border:1px solid #9cbb80;border-radius:18px;background:#fffee7f5!important;color:#214332!important;font-size:13px;line-height:1.6;box-shadow:0 5px 18px #19382940}
#rainbowHost .ri-overlay{position:absolute;z-index:9;inset:0;pointer-events:none;display:flex;align-items:flex-start;justify-content:center;padding:76px 14px 14px;box-sizing:border-box}
#rainbowHost .ri-inspecting .ri-tools{visibility:hidden}
#rainbowHost .ri-overlay[hidden],#rainbowHost .ri-speech[hidden]{display:none!important}
html[data-hanq-theme] body #rainbowHost .ri-game .ri-bubble{position:relative;pointer-events:auto;width:min(360px,100%);max-height:100%;overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box;padding:20px 18px 12px;border:2px solid #c1d29a;border-radius:20px;background:#fffdeef5!important;color:#284632!important;box-shadow:0 10px 35px #16382255;scrollbar-width:thin;backdrop-filter:blur(10px)}
#rainbowHost .ri-bubble::after{content:'';position:sticky;display:block;bottom:-18px;width:0;height:0;margin:auto;border:8px solid transparent;border-top-color:#fffdee}
html[data-hanq-theme] body #rainbowHost .ri-bubble :is(p,h2,h3,span,details,summary){color:#284632!important}
#rainbowHost .ri-bubble h2{font-size:20px;line-height:1.3;margin:0 38px 10px 0}#rainbowHost .ri-bubble h3{font-size:17px;margin:0 0 5px}#rainbowHost .ri-bubble p{font-size:13px;line-height:1.65;margin:7px 0}#rainbowHost .ri-bubble .ri-kicker{font-size:11px;color:#55764d!important;font-weight:700}#rainbowHost .ri-bubble details{font-size:12px;line-height:1.7}#rainbowHost .ri-bubble summary{min-height:36px;cursor:pointer}
html[data-hanq-theme] body #rainbowHost .ri-bubble .ri-close{position:absolute;top:7px;right:7px;border:0!important;border-radius:50%;padding:4px;background:transparent!important;color:#315939!important;box-shadow:none;font-size:24px;min-width:40px;min-height:40px}
#rainbowHost .ri-overlay-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}#rainbowHost .ri-overlay-actions button{flex:1}
html[data-hanq-theme] body #rainbowHost .ri-game button:disabled{background:#dce5cd!important;color:#53614e!important;border-color:#aabb98!important;cursor:default}
html[data-hanq-theme] body #rainbowHost .ri-game .ri-recheck{background:transparent!important;color:#355b3c!important;margin-top:8px;min-height:36px;font-size:12px;box-shadow:none}
#rainbowHost .ri-status:empty{display:none}#rainbowHost .ri-status{font-weight:700;font-size:12px!important;margin-top:10px!important}
#rainbowHost .ri-friend{display:flex;align-items:center;gap:14px}#rainbowHost .ri-friend-portrait{width:72px;height:72px;flex:none}#rainbowHost .ri-friend-portrait .hanq-mascot{width:72px;height:72px}#rainbowHost .ri-friend-nav{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:12px}
#rainbowHost .ri-welcoming .ri-world-egg.is-selected>.ri-sprite{animation:ri-welcome .8s ease-out}
#rainbowHost [data-camera="tall"] .ri-guardian{width:39%;bottom:34%}#rainbowHost [data-camera="tall"] .ri-world-egg{width:25%;bottom:max(22%,76px)}#rainbowHost [data-camera="tall"] .ri-egg-gabumon{left:34%}#rainbowHost [data-camera="tall"] .ri-egg-patamon{left:67%}#rainbowHost [data-camera="tall"] .ri-helper-red{left:7%;width:15%;bottom:31%}#rainbowHost [data-camera="tall"] .ri-helper-blue{right:5%;width:14%;bottom:29%}
#rainbowHost [data-paused="true"] *{animation-play-state:paused!important}
@keyframes ri-breathe{50%{transform:translateY(-3px) scale(1.015,1.025)}}@keyframes ri-greet{to{transform:rotate(3deg) translateY(-5px)}}@keyframes ri-helper-walk{50%{transform:translate(5px,-4px) rotate(3deg)}to{transform:translate(-5px,0) rotate(-3deg)}}@keyframes ri-egg-rock{0%,78%,100%{transform:rotate(0)}83%{transform:rotate(-4deg)}89%{transform:rotate(4deg)}95%{transform:rotate(-2deg)}}@keyframes ri-car-bob{50%{transform:translateY(-1px)}}@keyframes ri-welcome{40%{transform:translateY(-15px) rotate(-5deg) scale(1.08)}70%{transform:translateY(0) rotate(4deg)}}
@media(max-width:600px){#rainbowHost .ri-hud{top:12px;left:12px;right:12px}#rainbowHost .ri-hint{top:80px;font-size:11px}#rainbowHost .ri-tools{bottom:9px;left:10px;right:10px}#rainbowHost .ri-overlay{padding:66px 10px 10px}#rainbowHost .ri-bubble{padding:17px 14px 9px}#rainbowHost .ri-egg-label{font-size:10px;padding:3px 7px}}
@container(max-height:390px){#rainbowHost .ri-hint{display:none}#rainbowHost .ri-overlay{padding:8px}#rainbowHost .ri-guardian{width:30%;max-width:125px}#rainbowHost .ri-world-egg{max-width:80px}#rainbowHost .ri-hud h1{font-size:21px}#rainbowHost .ri-bubble h2{font-size:17px}}
@media(prefers-reduced-motion:reduce){#rainbowHost .ri-game *{animation:none!important;transition:none!important}#rainbowHost .ri-backdrop{transform:none}#rainbowHost .ri-world-egg>.ri-sprite{scale:1!important}}

#rainbowHost .ri-art-guardian{background-size:268.531469% 188.581952%;background-position:4.149378% 1.871102%;}
#rainbowHost .ri-art-red{background-size:465.454545% 250.366748%;background-position:56.467662% 17.723577%;}
#rainbowHost .ri-art-blue{background-size:497.087379% 255.361596%;background-position:92.991035% 18.138042%;}
#rainbowHost .ri-art-loco{background-size:350.684932% 273.796791%;background-position:19.672131% 92%;}
#rainbowHost .ri-art-car{background-size:817.021277% 409.6%;background-position:1.928783% 85.788114%;}
#rainbowHost .ri-art-gabumon{background-size:370.120482% 270.184697%;background-position:59.411240% 94.418605%;}
#rainbowHost .ri-art-patamon{background-size:373.722628% 254.726368%;background-position:98.311111% 94.533762%;}
/* Patrols use shared image-space ground coordinates; stride is separate from travel. */
#rainbowHost :is(.ri-guardian,.ri-helper)::before{content:'';position:absolute;left:19%;right:19%;bottom:1%;height:9%;border-radius:50%;background:#294d2970;filter:blur(3px);transform:scaleY(.6);pointer-events:none}
#rainbowHost .ri-helper{animation:none}#rainbowHost .ri-guardian .ri-sprite,#rainbowHost .ri-helper .ri-sprite{animation:none;transform-origin:50% 97%;transform:rotate(var(--ri-step,0deg));transition:none}
#rainbowHost .ri-purchased-portrait{width:100px;height:100px;margin:0 auto 10px}#rainbowHost .ri-purchase-complete{font-size:17px!important;font-weight:800}
/* My Page keeps the site's dark palette and its existing study history below. */
html[data-hanq-theme] body .ac-inventory{margin:24px 0 28px;padding:22px;border:1px solid #6c7f8d;border-radius:20px;background:linear-gradient(145deg,#182e39,#111f2c)!important;color:#e8f1ef!important;box-shadow:0 12px 28px #08121b30}
html[data-hanq-theme] body .ac-inventory :is(h2,h3,p,strong,span){color:inherit!important}
.ac-inventory-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.ac-inventory-heading h2{margin:3px 0 0;font-size:23px}.ac-inventory-heading p{margin:0;font-size:10px;letter-spacing:.18em;opacity:.6}.ac-inventory-summary{font-size:13px;line-height:1.6}.ac-inventory-summary span{display:block;opacity:.7}.ac-inventory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:18px}
html[data-hanq-theme] body .ac-partner-card{position:relative;min-width:0;padding:18px 12px 14px;border:1px solid #526570;border-radius:16px;background:#1d303c!important;text-align:center;color:#dce9e8!important;overflow:hidden}
html[data-hanq-theme] body .ac-partner-card.is-equipped{border-color:#dfc37a;background:linear-gradient(160deg,#3c3f32,#1e303b)!important;box-shadow:inset 0 0 0 1px #dfc37a55}.ac-partner-art{position:relative;width:112px;height:112px;margin:0 auto 4px;isolation:isolate}.ac-partner-art>.hanq-mascot{width:112px;height:112px}.ac-partner-art>.collection-existing{object-fit:contain}.ac-partner-card h3{margin:7px 0 4px;font-size:17px}.ac-partner-card strong{font-size:15px}.ac-partner-card>p{font-size:12px;min-height:36px;line-height:1.5;margin:8px 0}.ac-equipped-label{font-size:10px;letter-spacing:.08em;border:1px solid #7e948f;border-radius:12px;padding:3px 8px;opacity:.8}.is-equipped .ac-equipped-label{border-color:#e4c778;color:#ffe7a2!important;opacity:1}.ac-partner-card>.tool-btn{display:block;width:100%;margin-top:6px;min-height:44px}.ac-inventory-hint{font-size:12px;line-height:1.7;opacity:.65;margin:16px 0 0}.ac-inventory-notice{font-size:13px;line-height:1.6}.ac-inventory-notice:empty{display:none}.ac-inventory-island{display:inline-block;margin-top:12px;color:#f0d58c!important;font-size:13px}.ac-wardrobe-note{border-left:2px solid #dfc37a;padding-left:12px;line-height:1.6;font-size:13px}.ac-inventory [hidden]{display:none!important}
.ac-shell{position:absolute;inset:0;z-index:2;pointer-events:none;animation:ac-shell-left 1.15s ease-in forwards}.ac-shell-left{clip-path:polygon(0 0,51% 0,45% 26%,56% 43%,44% 61%,53% 81%,48% 100%,0 100%)}.ac-shell-right{clip-path:polygon(51% 0,100% 0,100% 100%,48% 100%,53% 81%,44% 61%,56% 43%,45% 26%);animation-name:ac-shell-right}.is-hatching .ac-partner-art>:last-child{animation:ac-new-partner 1.3s ease-out}.is-hatching .ac-partner-art::after{content:'✦';position:absolute;inset:-8px;color:#ffe6a1;font-size:80px;opacity:0;animation:ac-hatch-light 1.3s ease-out;pointer-events:none}
@keyframes ac-shell-left{0%,20%{transform:translate(0) rotate(0);opacity:1}100%{transform:translate(-60%,35%) rotate(-32deg);opacity:0}}@keyframes ac-shell-right{0%,20%{transform:translate(0) rotate(0);opacity:1}100%{transform:translate(60%,35%) rotate(32deg);opacity:0}}@keyframes ac-new-partner{0%,20%{opacity:0;scale:.6}75%{opacity:1;scale:1.1}100%{scale:1}}@keyframes ac-hatch-light{40%{opacity:.8;transform:rotate(80deg) scale(1.5)}100%{opacity:0;transform:rotate(130deg) scale(2)}}
@media(max-width:600px){html[data-hanq-theme] body .ac-inventory{padding:15px 12px;margin-top:18px}.ac-inventory-heading{align-items:flex-start;gap:8px}.ac-inventory-heading h2{font-size:20px}.ac-inventory-heading>.tool-btn{font-size:11px;padding:8px;white-space:nowrap}.ac-inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ac-partner-art{width:92px;height:92px}.ac-partner-art>.hanq-mascot{width:92px;height:92px}.ac-partner-card h3{font-size:15px}.ac-partner-card>.tool-btn{font-size:12px}}
@media(prefers-reduced-motion:reduce){.ac-shell{display:none}.is-hatching .ac-partner-art>:last-child,.is-hatching .ac-partner-art::after{animation:none!important}}
html body #app .ac-me .ac-hero.ac-hero-collection{display:grid;grid-template-columns:104px minmax(0,1fr);gap:10px 14px;padding:18px 16px!important;text-align:left;align-items:center}
html body #app .ac-me .ac-hero-collection>.ac-hero-name{grid-column:1/-1;grid-row:1;text-align:left;font-size:21px!important}
html body #app .ac-me .ac-hero-collection .ac-pet{grid-column:1;grid-row:2;min-width:0;max-width:104px;grid-template-rows:auto auto;padding:0!important}
html body #app .ac-me .ac-hero-collection .ac-pet :is(.hanq-mascot,.hanq-growth-portrait){--mascot-size:88px!important;width:88px;height:88px}
html body #app .ac-me .ac-hero-collection .ac-pet .collection-life{width:88px;height:88px}html body #app .ac-me .ac-hero-collection .ac-pet .collection-portrait{width:88px;height:88px}
html body #app .ac-me .ac-hero-collection .ac-pet-hint{font-size:10px;line-height:1.5}.ac-hero-collection .ac-pet::after{display:none}
html body #app .ac-me .ac-hero-collection .ac-growth{grid-column:2;grid-row:2;max-width:none;min-width:0;width:100%;margin:0;text-align:left}
html body #app .ac-me .ac-hero-collection .ac-growth-next{font-size:13px!important}.ac-hero-collection .ac-growth-total{font-size:11px;margin:2px 0;opacity:.7}.ac-hero-collection .ac-collection-link{display:none}
html body #app .ac-me .ac-hero-collection>.ac-attendance.ac-streak-card{position:static;grid-column:1/-1;grid-row:3;width:100%;max-width:100%;margin:4px 0 0!important;box-sizing:border-box}
html body #app .ac-me .ac-hero-collection>.ac-hall-entry{position:static;grid-column:1/-1;grid-row:4;justify-self:end;margin:0!important}
@media(max-width:350px){html body #app .ac-me .ac-hero.ac-hero-collection{grid-template-columns:82px minmax(0,1fr);gap:8px;padding:14px 10px!important}html body #app .ac-me .ac-hero-collection .ac-pet{max-width:82px}html body #app .ac-me .ac-hero-collection .ac-pet :is(.hanq-mascot,.hanq-growth-portrait){--mascot-size:72px!important;width:72px;height:72px}.ac-hero-collection .ac-evolve{font-size:11px!important}}
/* Two storefronts share the grass clearing and the park's painted wood and flowers. */
html[data-hanq-theme] body #rainbowHost .ri-game .ri-egg-shop-sign{position:absolute;z-index:5;min-height:38px;padding:5px 12px!important;width:max-content;max-width:47%;transform:translateX(-50%) rotate(-3deg);background:linear-gradient(#9d6438,#674124)!important;border:2px solid #e6bd7e!important;border-radius:5px!important;color:#fff3c9!important;box-shadow:0 4px 0 #553923,0 7px 9px #25392955!important;text-shadow:0 1px #4d2a18;line-height:1.2}
#rainbowHost .ri-egg-shop-sign::before,#rainbowHost .ri-egg-shop-sign::after{content:'';position:absolute;top:100%;width:7px;height:15px;background:#825834;border:1px solid #4f351d;border-top:0;z-index:-1}#rainbowHost .ri-egg-shop-sign::before{left:15%}#rainbowHost .ri-egg-shop-sign::after{right:15%}#rainbowHost .ri-egg-shop-sign span{display:block;color:#fff3c9!important;font-size:12px;font-weight:900}#rainbowHost .ri-egg-shop-sign small{font-size:10px;color:#ffdf8d!important}
html[data-hanq-theme] body #rainbowHost .ri-game .ri-wardrobe-shop{position:absolute;z-index:3;isolation:isolate;display:block;width:clamp(112px,29%,160px);height:auto;aspect-ratio:1218/1291;padding:0!important;transform:translateX(-50%);border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible;filter:drop-shadow(0 4px 2px #29412440)}
#rainbowHost .ri-wardrobe-shop::before{content:'';position:absolute;bottom:-3px;left:-6%;width:112%;height:12%;border-radius:50%;background:#253b3360;filter:blur(4px);z-index:-2}#rainbowHost .ri-shop-art{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;background-color:transparent!important}
#rainbowHost .ri-shop-board{position:absolute;top:20%;left:2%;right:2%;z-index:3;padding:2px 0;border:1px solid #d9bd8d99;border-radius:3px;background:#68482cdd!important;box-shadow:none!important;color:#fff0cd!important;font-size:clamp(11px,1.1vw,12px);font-weight:900;line-height:1.2;white-space:nowrap;text-shadow:0 1px 1px #4e2b14}
#rainbowHost .ri-shop-coming{position:absolute;top:33%;left:37%;width:33%;z-index:3;padding:1px 0;border:0;box-shadow:none!important;background:transparent!important;color:#604122!important;font-size:clamp(9px,.8vw,10px);line-height:1.25;white-space:nowrap;text-shadow:none}
#rainbowHost [data-camera="tall"] .ri-world-egg{width:23%}#rainbowHost [data-camera="wide"] .ri-world-egg{width:clamp(66px,12%,116px)}
html body .device-content:has(.ac-hero-collection) .world-region-banner[data-region="account"]{height:76px;min-height:0;margin-bottom:12px}
@container(max-height:390px){html[data-hanq-theme] body #rainbowHost .ri-game .ri-wardrobe-shop{width:112px}html[data-hanq-theme] body #rainbowHost .ri-game .ri-egg-shop-sign{min-height:32px;padding:3px 8px!important}}
/* Preserve atlas transparency over the cards despite the global terminal-theme div background. */
html[data-hanq-theme] body .ac-inventory :is(.ac-inventory-heading,.ac-inventory-heading>div,.ac-inventory-grid,.ac-partner-art,.ac-partner-art span,.ac-partner-art img){background-color:transparent!important}
#rainbowHost .ri-helper .ri-sprite{transform:scaleX(var(--ri-facing,1)) rotate(var(--ri-step,0deg));transform-origin:50% 97%}
#rainbowHost .ri-guardian{aspect-ratio:1}#rainbowHost .ri-guardian .ri-guardian-walk{background-image:url('world-art/rainbow-guardian-walk-v1.webp');background-size:300% 100%;background-position:var(--ri-guardian-frame,50%) center;transform:scaleX(var(--ri-facing,1)) rotate(var(--ri-step,0deg));transform-origin:50% 97%}
/* The terminal theme disables generic CSS animation; confirmed hatch effects opt in explicitly. */
html[data-hanq-theme] body .ac-inventory .ac-shell{animation:ac-shell-left 1.15s ease-in forwards!important}
html[data-hanq-theme] body .ac-inventory .ac-shell-right{animation-name:ac-shell-right!important}
html[data-hanq-theme] body .ac-inventory .is-hatching .ac-partner-art>:last-child{animation:ac-new-partner 1.3s ease-out!important}
html[data-hanq-theme] body .ac-inventory .is-hatching .ac-partner-art::after{animation:ac-hatch-light 1.3s ease-out!important}
@media(prefers-reduced-motion:reduce){html[data-hanq-theme] body .ac-inventory .ac-shell{display:none!important;animation:none!important}html[data-hanq-theme] body .ac-inventory .is-hatching .ac-partner-art>:last-child,html[data-hanq-theme] body .ac-inventory .is-hatching .ac-partner-art::after{animation:none!important}}

/* Keep both scene controls legible above the eggs at narrow phone widths. */
@media(max-width:600px){html[data-hanq-theme] body #rainbowHost .ri-tools>*{white-space:nowrap;flex-shrink:0;font-size:12px;line-height:1.4;padding:9px 10px;min-height:40px}.ac-inventory-heading{flex-wrap:wrap}.ac-inventory-heading h2{font-size:18px;line-height:1.5}}

/* Station tableau: the keeper stands behind a separate egg display, not behind
   its click targets. The keeper keeps a visible nursery loop; the train retains its registered source-facing rail path. */
#rainbowHost .ri-guardian{width:clamp(86px,20%,190px)}
#rainbowHost [data-camera="tall"] .ri-guardian{width:29%;max-width:125px}
#rainbowHost [data-camera="tall"] .ri-world-egg{width:21%;max-width:88px}
#rainbowHost [data-camera="wide"] .ri-world-egg{width:clamp(62px,10%,104px)}
#rainbowHost .ri-helper{width:clamp(30px,8%,68px)}
#rainbowHost .ri-car>.ri-art-loco{background-size:238.509317% 258.585859%;background-position:1.569507% 93.949045%;animation:none!important;filter:drop-shadow(0 2px 1px #29391e48)}
#rainbowHost .ri-car{will-change:transform}
#rainbowHost .ri-hud p{font-size:9px;letter-spacing:.07em}
#rainbowHost .ri-backdrop{filter:saturate(.91) brightness(.99)}
html[data-hanq-theme] body #rainbowHost .ri-game .ri-wardrobe-shop{width:clamp(104px,26%,154px)}
html[data-hanq-theme] body #rainbowHost .ri-game .ri-bubble{border-color:#cfb47d;background:#fff9eaf7!important;box-shadow:0 8px 24px #243e3545}
@container(max-height:390px){html[data-hanq-theme] body #rainbowHost .ri-game .ri-wardrobe-shop{width:100px}#rainbowHost [data-camera="tall"] .ri-guardian{max-width:92px}}

/* A visible inventory preview uses only the existing confirmed character. */
html[data-hanq-theme] body .ac-partner-card.is-current{border-color:#d8bc73;background:linear-gradient(150deg,#374638,#1b3038)!important;box-shadow:inset 0 0 0 1px #d6bd7255}.ac-current-account-xp{display:block;font-size:13px!important}.ac-empty-slot{border-style:dashed!important}.ac-empty-slot .ac-partner-art{display:flex;align-items:center;justify-content:center;opacity:.6}.ac-empty-shell{display:flex;align-items:center;justify-content:center;width:54px;height:68px;border:2px dashed #95b5aa;border-radius:52% 52% 46% 46%;font-size:28px;color:#bed3c6!important}.ac-inventory-coming{display:inline-block;margin-left:8px;border:1px solid #9cae90;border-radius:8px;padding:1px 6px;letter-spacing:0;font-size:10px;opacity:1}.ac-inventory .tool-btn:disabled{opacity:.6;cursor:default}.ac-empty-slot>p{min-height:52px}.ac-partner-card.is-current>p{min-height:52px}

/* Three nursery NPCs play independently of account inventory or XP. */
#rainbowHost .ri-baby{position:absolute;display:block;width:clamp(36px,6.2%,62px);aspect-ratio:1;transform:translateX(-50%);pointer-events:none;isolation:isolate}#rainbowHost .ri-baby>.cm-life{width:100%;height:100%;vertical-align:top}#rainbowHost .ri-baby .cm-reveal{transform:translateY(var(--ri-hop,0px))}#rainbowHost [data-camera="tall"] .ri-world-egg{width:18%;max-width:74px}
@container(max-height:390px){#rainbowHost [data-camera="tall"] .ri-world-egg{width:17%;max-width:52px}#rainbowHost .ri-baby{width:30px}html[data-hanq-theme] body #rainbowHost .ri-game .ri-wardrobe-shop{width:92px}}

#rainbowHost .ri-speech{pointer-events:none}

/* Two keyboard-accessible panes share the same local inventory view. */
.ac-inventory-stage{display:grid;overflow:hidden;isolation:isolate}.ac-inventory-pane{grid-area:1/1;min-width:0;transition:transform .32s ease,visibility .32s;will-change:transform}.ac-inventory-main{transform:translateX(0)}.ac-inventory-wardrobe{transform:translateX(106%);padding:4px 0;box-sizing:border-box}.ac-inventory-pane[aria-hidden="true"]{visibility:hidden;pointer-events:none}.is-wardrobe .ac-inventory-main{transform:translateX(-106%)}.is-wardrobe .ac-inventory-wardrobe{transform:translateX(0)}
.ac-inventory-title{display:flex;align-items:center;gap:8px}.ac-inventory-help{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid #829e93;border-radius:50%;font-size:15px;color:#e8f1ef;background:transparent;cursor:pointer}.ac-inventory-help:focus-visible,.ac-inventory-pane button:focus-visible{outline:2px solid #f0d58c;outline-offset:3px}.ac-inventory-hint{padding:10px 12px;border-left:2px solid #829e93}.ac-inventory-hint p{margin:4px 0}.ac-wardrobe-rack{display:flex;justify-content:center;gap:8%;margin:28px 0;border-top:3px solid #95a496;padding-top:16px}.ac-wardrobe-rack span{display:grid;place-items:center;width:22%;aspect-ratio:1;border:1px dashed #95a496;border-radius:12px;font-size:30px;opacity:.5}.ac-inventory-wardrobe>.ac-inventory-coming{margin-left:12px}.ac-inventory-wardrobe h2{margin-top:22px}.ac-inventory-wardrobe .ac-wardrobe-note{max-width:32em}
@media(prefers-reduced-motion:reduce){.ac-inventory-pane{transition:none;will-change:auto}}

/* Local foliage layers reuse only their own painted leaves; the camera and rails stay fixed. */
#rainbowHost .ri-ambient{position:absolute;pointer-events:none;overflow:visible;z-index:0}
#rainbowHost .ri-breeze{position:absolute;inset:0;background-image:var(--ri-landscape);background-size:100% 100%;background-repeat:no-repeat;pointer-events:none;will-change:transform}
#rainbowHost .ri-breeze-canopy{mask-image:radial-gradient(ellipse 28% 16% at 80% 35%,#000 40%,transparent 100%);transform-origin:80% 48%;animation:ri-leaf-wind 9s ease-in-out infinite alternate}
#rainbowHost .ri-breeze-garden{mask-image:radial-gradient(ellipse 35% 9% at 55% 94%,#000 30%,transparent 100%);transform-origin:50% 98%;animation:ri-grass-wind 6.7s ease-in-out -3s infinite alternate}
#rainbowHost .ri-tree-glow{position:absolute;left:59%;top:22%;width:40%;height:37%;background:radial-gradient(ellipse,#fff3a01c,transparent 68%);mix-blend-mode:screen;animation:ri-tree-light 8s ease-in-out infinite alternate;pointer-events:none}
#rainbowHost .ri-mote{position:absolute;left:var(--mx);top:var(--my);width:3px;height:3px;border-radius:50%;background:#fffbd2;box-shadow:0 0 5px 1px #fff7b980;opacity:0;animation:ri-tree-mote calc(5s + var(--i)*.19s) ease-in-out calc(var(--i)*-.79s) infinite;pointer-events:none}
@keyframes ri-leaf-wind{from{transform:translateX(-.7px) rotate(-.14deg)}to{transform:translateX(1.2px) rotate(.22deg)}}
@keyframes ri-grass-wind{from{transform:skewX(-.25deg) translateX(-.5px)}to{transform:skewX(.35deg) translateX(.8px)}}
@keyframes ri-tree-light{from{opacity:.2}to{opacity:.75}}
@keyframes ri-tree-mote{0%,100%{opacity:0;transform:translate3d(0,8px,0) scale(.65)}35%,60%{opacity:.7}80%{opacity:0;transform:translate3d(7px,-13px,0) scale(1)}}
html[data-hanq-theme] body #rainbowHost .ri-game button.ri-helper{position:absolute;pointer-events:auto;padding:0;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0;min-width:34px;min-height:44px}
html[data-hanq-theme] body #rainbowHost .ri-game .ri-speech{top:82px;left:50%;width:300px;max-width:calc(100% - 24px);padding:10px 13px;font-size:12px;line-height:1.5;pointer-events:none}
#rainbowHost .ri-speech>strong,#rainbowHost .ri-speech>span,#rainbowHost .ri-speech>small{display:block;color:#214332!important;background:transparent!important}#rainbowHost .ri-speech>strong{font-size:11px;margin-bottom:3px}#rainbowHost .ri-speech>small{margin-top:4px;font-weight:800;color:#6a5121!important}#rainbowHost .ri-speech:after{content:'';position:absolute;bottom:-7px;left:64%;width:12px;height:12px;background:#fffee7;transform:rotate(45deg);border-right:1px solid #9cbb80;border-bottom:1px solid #9cbb80}#rainbowHost .ri-speech[data-speaker="clothing"]:after{left:22%}
@container(max-height:390px){html[data-hanq-theme] body #rainbowHost .ri-game .ri-speech{top:55px;font-size:11px;padding:7px 10px;max-width:75%}}
@media(prefers-reduced-motion:reduce){#rainbowHost .ri-breeze,#rainbowHost .ri-tree-glow,#rainbowHost .ri-mote{animation:none!important;will-change:auto}#rainbowHost .ri-breeze{transform:none!important}#rainbowHost .ri-tree-glow{opacity:.3}#rainbowHost .ri-mote{display:none}}

#rainbowHost .ri-play-ball{position:absolute;left:0;top:0;z-index:4;display:block;width:clamp(7px,2.4%,13px);aspect-ratio:1;border-radius:50%;border:1px solid #fff4cb;background:conic-gradient(#e8b05d 0deg 90deg,#d5edee 90deg 180deg,#f7e2ac 180deg 270deg,#8ac6c0 270deg);box-shadow:0 1px 2px #32534060;pointer-events:none}

#rainbowHost .ri-speech>.ri-speech-compact{display:none}
@container(max-height:390px){html[data-hanq-theme] body #rainbowHost .ri-game .ri-speech{top:12px;left:12px;transform:none;width:72%;max-width:calc(100% - 80px);font-size:11px;line-height:1.4;padding:7px 9px}#rainbowHost .ri-speech>.ri-speech-full,#rainbowHost .ri-speech>strong{display:none}#rainbowHost .ri-speech>.ri-speech-compact{display:block}#rainbowHost .ri-speaking .ri-hud>div{visibility:hidden}}
.ac-inventory-stage{position:relative}.ac-inventory-wardrobe{position:absolute;inset:0}.is-wardrobe .ac-inventory-main{position:absolute;inset:0}.is-wardrobe .ac-inventory-wardrobe{position:relative;inset:auto}
/* Terminal's global animation reset must not suppress these requested local effects. */
@media(prefers-reduced-motion:no-preference){
html[data-hanq-theme] body #rainbowHost .ri-game .ri-breeze-canopy{animation:ri-leaf-wind 9s ease-in-out infinite alternate!important}
html[data-hanq-theme] body #rainbowHost .ri-game .ri-breeze-garden{animation:ri-grass-wind 6.7s ease-in-out -3s infinite alternate!important}
html[data-hanq-theme] body #rainbowHost .ri-game .ri-tree-glow{animation:ri-tree-light 8s ease-in-out infinite alternate!important}
html[data-hanq-theme] body #rainbowHost .ri-game .ri-mote{animation:ri-tree-mote calc(5s + var(--i)*.19s) ease-in-out calc(var(--i)*-.79s) infinite!important}
html[data-hanq-theme] body .ac-inventory .ac-inventory-pane{transition:transform .32s ease,visibility .32s!important}
}
html[data-hanq-theme] body #rainbowHost .ri-game[data-paused="true"] .ri-ambient *{animation-play-state:paused!important}

/* Remove the full-width added board; keep the label on the stall's own sign. */
#rainbowHost .ri-shop-board{top:30%;left:32%;right:20%;padding:0;border:0;background:transparent!important;color:#603b21!important;box-shadow:none!important;text-shadow:none;font-size:clamp(8px,.75vw,10px)}
#rainbowHost .ri-shop-coming{top:37%;left:36%;color:#603b21!important}

#rainbowHost .ri-baby>.collection-existing{transform:translateY(var(--ri-hop,0px))}
/* The stall is an image-shaped control, including on pointer interaction. */
html[data-hanq-theme] body #rainbowHost .ri-game .ri-wardrobe-shop:is(:hover,:focus,:active){background:transparent!important}
html[data-hanq-theme] body .ac-me .ac-inventory :is(.ac-inventory-stage,.ac-inventory-pane,.ac-inventory-title){background:transparent!important}
html[data-hanq-theme] body .ac-me .ac-inventory .ac-inventory-help,html[data-hanq-theme] body .ac-me .ac-inventory .ac-inventory-help:is(:hover,:focus,:active){background:transparent!important}
/* Village has no study footer: establish its own definite viewport/flex chain. */
html body #app:has(>.device-content>.rainbow-game-host){display:flex!important;flex-direction:column;height:calc(var(--study-viewport-height,100dvh) - var(--village-footer-offset,0px) - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;max-height:1000px;min-height:260px;margin-block:6px!important;padding-bottom:12px!important;overflow:hidden}
html body #app:has(>.device-content>.rainbow-game-host)>:is(.device-crown,.topline){flex-shrink:0}
html body #app>.device-content:has(>.rainbow-game-host){display:flex;flex-direction:column;flex:1 1 0;min-height:0}
html body #app>.device-content>.rainbow-game-host{flex:1 1 0;min-height:0;height:auto}
@media(max-width:700px){html body #app:has(>.device-content>.rainbow-game-host){width:100%!important;max-width:none!important;margin:0!important;padding:calc(6px + env(safe-area-inset-top,0px)) max(8px,env(safe-area-inset-right,0px)) 4px max(8px,env(safe-area-inset-left,0px))!important;border-width:3px!important;border-top-width:7px!important;border-radius:26px!important}}

html body.study-global-footer #app:has(>.device-content>.rainbow-game-host){--village-footer-offset:var(--study-footer-height,80px)}

/* Twelve small nursery residents reuse existing art; no extra click targets. */
#rainbowHost .ri-baby{width:clamp(26px,calc(6.2% * var(--ri-size,1)),62px)}
@container(max-height:390px){#rainbowHost .ri-baby{width:calc(30px * var(--ri-size,1))}}

#rainbowHost .ri-tools{justify-content:flex-end}

/* Whole, unhatched eggs: long rests, a small knock, and unsynchronised soft light. */
html[data-hanq-theme] body #rainbowHost .ri-world-egg{--egg-cycle:14.8s;--egg-delay:-1.3s;--egg-glow-cycle:19s;--egg-glow-delay:-4s}
html[data-hanq-theme] body #rainbowHost .ri-egg-patamon{--egg-cycle:19.6s;--egg-delay:-8.7s;--egg-glow-cycle:23s;--egg-glow-delay:-13s}
html[data-hanq-theme] body #rainbowHost .ri-world-egg>.ri-sprite{transform-origin:50% 94%;animation:ri-egg-idle var(--egg-cycle) var(--egg-delay) ease-in-out infinite!important;transition:scale 160ms ease,filter 200ms ease!important}
html[data-hanq-theme] body #rainbowHost .ri-world-egg::before,html[data-hanq-theme] body #rainbowHost .ri-world-egg::after{content:'';position:absolute;inset:0;pointer-events:none;border:0!important;box-shadow:none!important;border-radius:50%;opacity:0;animation:ri-egg-soft-light var(--egg-glow-cycle) var(--egg-glow-delay) ease-in-out infinite!important}
html[data-hanq-theme] body #rainbowHost .ri-world-egg::before{z-index:-1;background:radial-gradient(ellipse,#ffe6a142,transparent 68%)!important;transform:scale(1.35)}
html[data-hanq-theme] body #rainbowHost .ri-world-egg::after{z-index:1;background:radial-gradient(circle at 17% 26%,#fff9d9 0 1px,transparent 2px),radial-gradient(circle at 79% 13%,#fff9d9 0 1px,transparent 2px),radial-gradient(circle at 87% 60%,#fff9d9 0 1px,transparent 2px)!important}
html[data-hanq-theme] body #rainbowHost .ri-world-egg:is(.is-selected,:focus-visible,:hover)>.ri-sprite{scale:1.035;filter:drop-shadow(0 0 5px #fff5bd70)}
html[data-hanq-theme] body #rainbowHost .ri-world-egg:active>.ri-sprite{scale:.96}
@keyframes ri-egg-idle{0%,12%,25%,66%,81%,100%{transform:rotate(0) translateY(0)}15%{transform:rotate(-1.8deg)}19%{transform:rotate(1.5deg)}22%{transform:rotate(-.6deg)}70%{transform:translateY(-1px) rotate(.7deg)}73%{transform:translateY(0) rotate(-.5deg)}77%{transform:rotate(.2deg)}}
@keyframes ri-egg-soft-light{0%,40%,72%,100%{opacity:0}52%{opacity:.35}62%{opacity:.15}}
@media(prefers-reduced-motion:reduce){html[data-hanq-theme] body #rainbowHost .ri-world-egg>.ri-sprite,html[data-hanq-theme] body #rainbowHost .ri-world-egg::before,html[data-hanq-theme] body #rainbowHost .ri-world-egg::after{animation:none!important;transition:none!important;transform:none!important}html[data-hanq-theme] body #rainbowHost .ri-world-egg:is(.is-selected,:focus-visible,:hover,:active)>.ri-sprite{scale:1!important}}
html[data-hanq-theme] body #rainbowHost .ri-game[data-paused="true"] .ri-world-egg>.ri-sprite,html[data-hanq-theme] body #rainbowHost .ri-game[data-paused="true"] .ri-world-egg::before,html[data-hanq-theme] body #rainbowHost .ri-game[data-paused="true"] .ri-world-egg::after{animation-play-state:paused!important}

/* Shop details describe the product; personal growth remains in the inventory. */
#rainbowHost .ri-product-panel{padding:14px 14px 10px}
#rainbowHost .ri-product{display:flex;gap:10px;align-items:center;margin:4px 0 10px}
#rainbowHost .ri-product-art{flex:0 0 76px;width:76px;height:76px}
#rainbowHost .ri-product-art>:is(.cm-life,.collection-portrait,.collection-existing,.hanq-mascot){width:76px;height:76px;--mascot-size:76px}
#rainbowHost .ri-product-copy{min-width:0;flex:1}
#rainbowHost .ri-product-copy p{margin:5px 0!important;font-size:12px!important;line-height:1.5!important}
#rainbowHost .ri-product-badges{display:flex;gap:6px;flex-wrap:wrap;font-size:11px;font-weight:800}
#rainbowHost .ri-product-badges>span{padding:2px 6px;border:1px solid #74936e;border-radius:4px;background:#e7efdc!important;color:#28482a!important}
#rainbowHost .ri-product-stats h3{font-size:13px!important;margin:0 0 5px!important}
#rainbowHost .ri-product-stats h3 small{font-size:10px;font-weight:400;margin-left:6px}
#rainbowHost .ri-product-stats dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0}
#rainbowHost .ri-product-stats dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:6px;padding:5px 7px;border:1px solid #a0b395;border-radius:4px;background:#edf2e4!important;color:#28482a!important}
#rainbowHost .ri-product-stats dt{font-size:11px}#rainbowHost .ri-product-stats dd{font-size:15px;font-weight:800;margin:0}
#rainbowHost .ri-product-chain{font-size:11px!important;line-height:1.6!important;margin:9px 0 4px!important}
#rainbowHost .ri-product-note{font-size:11px!important;line-height:1.5!important;margin:5px 0!important}
#rainbowHost .ri-product-inventory{display:inline-flex;align-items:center;min-height:36px;font-size:12px!important}
#rainbowHost .ri-product-buy{margin:7px 0 0!important}#rainbowHost .ri-product-buy>button{min-height:44px!important;padding:6px 12px!important;font-size:13px!important}
#rainbowHost .ri-product-panel .ri-status:empty{display:none!important}
html[data-hanq-theme] body #rainbowHost .ri-game .ri-bubble.ri-product-panel{padding:14px 14px 10px!important}
#rainbowHost .ri-overlay:has(.ri-product-panel){padding-top:40px}
html[data-hanq-theme] body #rainbowHost .ri-product-panel :is(.ri-product,.ri-product-art,.ri-product-copy,.ri-product-stats,.ri-product-stats dl,.ri-product-badges){background:transparent!important}
html[data-hanq-theme] body #rainbowHost .ri-product-stats :is(dt,dd){color:#28482a!important}
html[data-hanq-theme] body #rainbowHost .ri-game .ri-bubble.ri-product-panel{background:#fff9ea!important}
html[data-hanq-theme] body #rainbowHost .ri-product-stats h3 small{color:#466044!important;opacity:1}
#rainbowHost .ri-product-copy p,#rainbowHost .ri-product-chain{word-break:keep-all;overflow-wrap:break-word}
#rainbowHost .ri-product-panel::after{display:none}
