/* Revision 18: preserve Youth, share the glossy anime doorway with Home and Fantasy. */
@font-face{font-family:ARLibraryOrnate;src:url('../affb5ba5468babce5e1bb6d8.woff') format('woff');font-weight:500;font-style:normal;font-display:swap}
/* MedievalSharp is local and shared with Home's Full Library title. */
@font-face{font-family:ARLibraryMedieval;src:url('../library-title-r19/MedievalSharp-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
.hub-choice{display:block!important;min-width:0}
.hub-choice-mood{position:relative;isolation:isolate;display:block;width:100%;height:184px;overflow:hidden;border-radius:19px 19px 0 0;background:#171510;pointer-events:none;user-select:none}
.hub-choice-mood>img,.hub-choice-mood>span{pointer-events:none!important}
.hub-mood-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 47%;filter:saturate(.96) contrast(1.025)}
.hub-choice-mood::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,#24422635,transparent 40%),radial-gradient(ellipse at 50% 51%,#fffae83b,transparent 55%);box-shadow:inset 0 0 24px #29422324;pointer-events:none}
.hub-choice-mood-full{--hub-full-height:184px;background:#454157}
.hub-choice-mood-full::after{background:linear-gradient(0deg,#0d1420d9,rgba(13,20,32,.42) 25%,transparent 58%);box-shadow:inset 0 0 20px #19213126}
.hub-full-scene{position:absolute;left:50%;top:0;width:max(100%,calc(var(--hub-full-height) * 1672 / 941));aspect-ratio:1672 / 941;transform:translateX(-50%)}
.hub-full-scene .hub-full-doorway{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;filter:none}
.hub-full-scene .hub-full-keystone{position:absolute;left:66.65%;top:7.7%;width:3.8%;height:auto;aspect-ratio:1;object-fit:contain;opacity:.62;filter:grayscale(1) sepia(.5) brightness(.68);mix-blend-mode:luminosity}
.hub-mood-title{position:absolute;z-index:3;inset:0;display:flex;align-items:center;justify-content:center;padding:24px 20px;text-align:center;color:#fff6e5;font:500 clamp(27px,2.8vw,34px)/1.12 ARLibraryOrnate,Georgia,serif;text-shadow:0 2px 6px #000,0 0 22px #0009}
.hub-choice-mood-youth .hub-mood-title{gap:.18em;font:400 clamp(38px,3.6vw,46px)/1.08 ARLibrary,Georgia,serif;color:#2d5664;letter-spacing:.01em;text-shadow:0 1px 0 #fffce9,0 -1px 0 #fffce9,1px 0 0 #fffce9,-1px 0 0 #fffce9,0 2px 6px #f9efd2,0 0 14px #fff4d9;transform:translateY(8px)}
.hub-mood-title .hub-title-youth{color:#843d44}.hub-mood-title .hub-title-library{color:#234f5e}
.hub-choice-mood-full .hub-mood-title{inset:auto 0 0;min-height:58px;padding:9px 14px 12px;color:#f9e7c5;font-family:ARLibraryMedieval,Georgia,serif!important;font-size:clamp(34px,3.5vw,42px);font-weight:400;font-synthesis:none;font-variant:normal;letter-spacing:.018em;line-height:1.08;text-transform:none;text-shadow:0 2px 2px #11131c,0 0 10px #101524,0 0 22px #10152499}
.hub-mood-rainbow{position:absolute;left:24%;top:8%;width:68%;height:auto;aspect-ratio:3;z-index:0;opacity:.63;pointer-events:none}
.hub-mood-rainbow>img{width:100%;height:100%;object-fit:contain;filter:blur(.15px);opacity:.92}
.hub-mood-rainbow>i{position:absolute;left:var(--rx);top:var(--ry);width:2px;height:2px;border-radius:50%;background:#fff8da;box-shadow:0 0 5px 1px #fff3bb88;animation:hubRainbowMote 7s ease-in-out var(--rd) infinite}
.hub-mood-light{position:absolute;inset:0;background:radial-gradient(ellipse at 24% 12%,#fff7c944,transparent 65%);opacity:.45;animation:hubMoodLight 19s ease-in-out infinite alternate}
.hub-choice-mood-full .hub-mood-light{background:radial-gradient(ellipse at 54% 41%,#ffd39445,transparent 27%);animation:hubFullLight 23s ease-in-out infinite alternate}
.hub-mood-ray{position:absolute;inset:-35%;background:conic-gradient(from 140deg at 26% 25%,transparent 0deg,#fff2b51c 12deg,transparent 22deg,#fff2b516 31deg,transparent 44deg);animation:hubMoodRay 38s ease-in-out infinite alternate}
@keyframes hubFullLight{from{opacity:.38}to{opacity:.56}}
.hub-mood-haze{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 25%,#fffefa23,transparent 35%),radial-gradient(ellipse at 75% 20%,#fffefa16,transparent 30%);animation:hubMoodHaze 34s ease-in-out infinite alternate}
.hub-mood-dust{position:absolute;left:var(--x);top:var(--y);width:2px;height:2px;background:#fff5cc;border-radius:50%;opacity:.5;box-shadow:0 0 4px #fff0bb70;animation:hubMoodDust 17s ease-in-out var(--delay) infinite alternate}
.hub-choice-mood-full .hub-mood-dust{background:#ffe9b6;box-shadow:0 0 4px #ffdfa044}
#hub-chooser[data-full-mood-static=true] .hub-choice-mood-full *{animation:none!important}
#hub-chooser[data-full-mood-static=true] .hub-choice-mood-full :is(.hub-mood-dust,.hub-mood-light){display:none}
.hub-choice-mood-ready .hub-choice-copy>strong{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}
.hub-choice-copy{padding:22px 24px!important}.hub-choice-copy>span{line-height:1.65}.hub-choice-copy .hub-choice-go{margin-top:12px}
#hub-chooser[data-mood-paused=true] .hub-choice-mood *,#hub-chooser[data-mood-paused=true] .hub-choice-mood::after{animation-play-state:paused!important}
@keyframes hubMoodLight{from{opacity:.35}to{opacity:.6}}
@keyframes hubMoodRay{from{transform:rotate(-2deg);opacity:.4}to{transform:rotate(3deg);opacity:.65}}
@keyframes hubMoodHaze{from{transform:translateX(-3%);opacity:.55}to{transform:translateX(3%);opacity:.8}}
@keyframes hubMoodDust{from{transform:translate(-4px,6px);opacity:0.22}to{transform:translate(9px,-8px);opacity:0.634}}
@keyframes hubRainbowMote{0%,100%{transform:translate(0,2px);opacity:0.146}45%{opacity:0.9}80%{transform:translate(3px,-4px);opacity:0.22}}
@media(max-width:600px){.hub-choices{grid-template-columns:1fr!important}.hub-choice-mood{height:178px}.hub-mood-title{font-size:31px}.hub-choice-mood-youth .hub-mood-title{font-size:44px}.hub-choice-copy{padding:18px 22px!important}}
@media(max-width:360px){.hub-choice-mood-youth .hub-mood-title{font-size:39px}.hub-mood-title{font-size:28px}}
@media(prefers-reduced-motion:reduce){.hub-choice-mood *{animation:none!important}.hub-mood-rainbow>i{opacity:.3}}
@media(forced-colors:active){.hub-choice-mood{background:Canvas;border-bottom:1px solid CanvasText}.hub-choice-mood::after,.hub-choice-mood>img,.hub-choice-mood>:not(.hub-mood-title),.hub-mood-title::before,.hub-mood-title::after{display:none!important}.hub-mood-title,.hub-choice-mood .hub-mood-title,.hub-mood-title .hub-title-youth,.hub-mood-title .hub-title-library{color:CanvasText;text-shadow:none}.hub-choice-mood *{animation:none!important}}

@media(max-width:600px){.hub-choice-mood-full{--hub-full-height:178px}.hub-choice-mood-full .hub-mood-title{font-size:38px}}
@media(max-width:360px){.hub-choice-mood-full .hub-mood-title{font-size:35px}}

.hub-choice-full-art{height:184px;background:#454157;overflow:hidden}
.hub-choice-full-art>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
@media(max-width:600px){.hub-choice-full-art{height:178px}}

/* Separate chooser-copy atmosphere; preview illustrations keep their original pixels. */
.hub-choice-copy{position:relative;isolation:isolate;overflow:hidden;background:#181818}
[data-hub-mode=youth] .hub-choice-copy{background:#213326}
.hub-choice-copy>*{position:relative;z-index:1}
.hub-choice-copy::before,.hub-choice-copy::after{content:"";position:absolute;inset:-15%;pointer-events:none;z-index:0;animation-play-state:paused!important}
.hub-choice-copy::before{background:radial-gradient(ellipse at 15% 70%,#c6c6c618,transparent 60%);animation:hubMoodHaze 34s ease-in-out infinite alternate}
[data-hub-mode=youth] .hub-choice-copy::before{background:radial-gradient(ellipse at 15% 70%,#c8e7b51a,transparent 60%)}
.hub-choice-copy::after{background:radial-gradient(circle at 15% 75%,#eee8 0 1px,transparent 1.5px),radial-gradient(circle at 55% 35%,#eee6 0 1px,transparent 1.5px),radial-gradient(circle at 85% 65%,#eee7 0 1px,transparent 1.5px);animation:games-choice-rise-r24 23s linear infinite;opacity:.3}
#hub-chooser[data-choice-motion=true] .hub-choice-copy::before,#hub-chooser[data-choice-motion=true] .hub-choice-copy::after{animation-play-state:running!important}
@keyframes games-choice-rise-r24{from{transform:translateY(18%);opacity:0}20%,80%{opacity:.3}to{transform:translateY(-30%);opacity:0}}
#hub-chooser:not([data-choice-motion=true]) .hub-choice-copy::after{display:none}
@media(prefers-reduced-motion:reduce),(prefers-reduced-transparency:reduce),(prefers-contrast:more),(forced-colors:active){.hub-choice-copy::before,.hub-choice-copy::after{display:none!important}}
@media(forced-colors:active){.hub-choice-copy{background:Canvas!important}}

body[data-library-theme=youth] .hub-choice-copy{background:#f5f5d9}
