.family-page-mode{background:var(--paper);color:var(--ink)}.family-header{height:100px;padding:0 5.5vw;gap:30px;border-color:#ead8df;background:var(--paper)}.family-wordmark{font:500 24px/1.05 var(--serif);color:#ad2347;white-space:nowrap}.family-wordmark span{display:block;font:12px/1.5 var(--sans);color:#765668;margin-top:5px}.family-header nav{margin-right:auto;margin-left:25px;font-size:15px;font-weight:700}.family-avatar{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700}.family-avatar>span:first-child{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#f3dbe5;color:#ad2347;font:500 22px var(--serif)}.library-feature{min-height:600px;height:calc(88svh - 100px);position:relative;isolation:isolate;padding:55px 7vw 80px;display:flex;align-items:center;background:#17352f;color:#fffaf3}.library-feature>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center}.library-feature:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0d2928ed,#0d29288a 43%,transparent 80%),linear-gradient(0deg,#15332c80,transparent 60%)}.library-feature-copy{max-width:600px}.family-kicker{display:block;font-size:14px;font-weight:800;letter-spacing:.2px;margin-bottom:16px;color:#ad2347}.library-feature .family-kicker{color:#ffe9a5}.library-feature h1{font:500 clamp(55px,6.5vw,92px)/1.02 var(--serif);letter-spacing:-1.8px;margin:0 0 24px}.library-feature p{font-size:18px;line-height:1.65;max-width:430px;color:#f7f2e9}.family-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:28px 0}.family-play{border:0;background:#ad2347;color:white;display:inline-flex;justify-content:center;align-items:center;gap:12px;padding:15px 24px;border-radius:22px;box-shadow:0 4px 0 #791530;font:800 15px var(--sans);cursor:pointer;text-align:center}.family-play:hover{background:#951b3d}.library-feature .family-play{background:#fff0bd;color:#452535;box-shadow:0 4px 0 #b49b63}.family-secondary{display:inline-flex;border:1px solid #cf9eb0;background:transparent;padding:14px 22px;border-radius:22px;font:700 15px var(--sans);color:#9e2148;cursor:pointer}.library-feature .family-secondary{color:white;background:#ffffff15;border-color:#ffffff70}.feature-meta{font-size:13px;color:#eee4d8}.feature-meta>span{margin:0 10px}.family-shelves{padding:45px 5.5vw 65px}.shelf{margin-bottom:45px}.shelf-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:19px}.shelf-heading h2{font:500 29px var(--serif);margin:0}.shelf-heading>a,.shelf-heading>span{font-size:14px;color:#875268}.adventure-shelf{display:grid;grid-template-columns:1.3fr 1fr;gap:22px;max-width:950px}.moment-shelf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.shelf-card{display:block;text-align:left;border:0;background:transparent;color:var(--ink);font:inherit;padding:0;min-width:0;cursor:pointer}.shelf-card>div{position:relative;overflow:hidden;border-radius:17px;background:#efdee5;aspect-ratio:16/9;border:1px solid #e8d5dc}.shelf-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.shelf-card:hover img{transform:scale(1.035)}.shelf-card small{display:block;color:#a12b50;font-size:13px;font-weight:700;margin:12px 0 3px}.shelf-card h3{font:500 23px/1.2 var(--serif);margin:0}.card-arrow{position:absolute;bottom:12px;right:12px;width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:#fff6e9;color:#ad2347}.future-card img{filter:saturate(.65)}.collection-shelf{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.collection-card{border:1px solid #ecd6df;border-radius:20px;background:#f7e7ee;padding:22px 16px;color:var(--ink);cursor:pointer;transition:transform .2s}.collection-card:hover{transform:translateY(-5px);background:#f1dbe5}.collection-card img{display:block;width:100%;max-width:160px;margin:auto;aspect-ratio:1;object-fit:contain;border-radius:50%;filter:drop-shadow(0 8px 6px #73473425)}.collection-card h3{font:500 23px var(--serif);margin:18px 0 2px}.collection-card span{font-size:13px;color:#775165}.family-back{display:block;font-size:14px;margin-bottom:28px}.family-page{padding:45px 7vw 75px}.family-page-title{margin:10px 0 36px;max-width:690px}.family-page-title h1{font:500 clamp(40px,4.7vw,65px)/1.07 var(--serif);margin:0 0 20px;letter-spacing:-1px}.family-page-title p{font-size:18px;color:#765567;max-width:550px}.family-detail{padding:60px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:9vw}.family-detail h2,.store-feature h2,.store-next h2{font:500 42px/1.1 var(--serif);margin:0 0 20px}.family-detail p,.store-feature p,.store-next p{font-size:17px;color:#765567;line-height:1.7;max-width:550px}.family-text-link{display:block;color:#ad2347;font:700 14px var(--sans);border:0;background:transparent;padding:16px 0;text-align:left;cursor:pointer}.detail-facts{border-radius:22px;background:#f4dfe7;padding:25px}.detail-facts>div{padding:18px 0;border-bottom:1px solid #d9b9c7}.detail-facts>div:last-child{border:0}.detail-facts strong{display:block;font:500 25px var(--serif);margin-bottom:4px}.detail-facts span{font-size:15px;color:#785569}.store-feature{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:45px}.store-art{position:relative;border-radius:22px;overflow:hidden}.store-art img{display:block;width:100%;min-height:380px;object-fit:cover;object-position:left}.store-art>span{position:absolute;bottom:15px;left:15px;padding:5px 10px;background:#fff9eddf;border-radius:12px;font-size:12px}.store-contents{padding-left:20px;color:#725363;font-size:16px;line-height:1.9;margin-bottom:26px}.store-next{margin-top:55px;padding:38px;border-radius:22px;background:#f4dfe7}.settings-layout{display:grid;grid-template-columns:210px minmax(0,680px);gap:35px;align-items:start}.settings-nav{display:grid;gap:7px}.settings-nav button{padding:15px 19px;text-align:left;border:0;border-radius:14px;background:transparent;font:700 15px var(--sans);color:#795666}.settings-nav button[aria-current=page]{background:#f3dce6;color:#ad2347}.settings-panel{padding:32px;background:#fffdf9;border:1px solid #e9d3dc;border-radius:22px;min-width:0}.settings-panel h2{font:500 30px var(--serif);margin:0 0 20px}.settings-panel p{color:#77596a}.settings-panel form>label{display:block;margin:20px 0;font-size:15px;font-weight:700}.settings-panel input:not([type=checkbox]){display:block;width:100%;min-width:0;margin-top:8px;border:1px solid #d6b7c4;background:#fffaf6;border-radius:10px;padding:13px;color:var(--ink);font:16px var(--sans)}.settings-child{display:flex;gap:10px;align-items:center}.settings-child button{background:#f6e1e9;border:0;border-radius:10px;padding:8px 15px;font-size:24px;color:#a52750}.settings-status,.settings-help{font-size:14px;line-height:1.6}.settings-status:empty{display:none}.settings-panel .settings-switch{display:flex;gap:12px;align-items:center}.settings-room{display:grid;grid-template-columns:24px minmax(0,1fr) 115px;align-items:center;gap:10px}.settings-room>span{font-size:14px}.settings-room input{margin-bottom:8px}.settings-panel input[type=checkbox]{width:19px;height:19px;accent-color:#ad2347}.prepare-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.ready-coins{list-style:none;padding:0}.ready-coins li{padding:14px 0;border-bottom:1px solid #ebd7df;display:grid;gap:5px}.ready-coins strong{font-size:15px;font-weight:500;color:#795466}.ready-check{display:flex;align-items:flex-start;gap:12px;margin:24px 0;font-size:16px;line-height:1.6}.ready-check input{flex-shrink:0;margin-top:4px}.is-disabled{opacity:.45;cursor:not-allowed}.collectible-dialog{background:#fff9f0;color:var(--ink);border:1px solid #d9b3c3;border-radius:26px;width:min(440px,calc(100vw - 32px));padding:35px;text-align:center;max-height:90dvh;overflow:auto}.collectible-dialog::backdrop{background:#3b253bb3}.collectible-dialog>img{width:180px;height:180px;border-radius:50%;object-fit:contain}.collectible-dialog h2{font:500 38px var(--serif);margin:18px 0 10px}.collectible-dialog p{font-size:17px;line-height:1.65;color:#775467}.collectible-close{position:absolute;right:15px;top:12px;border:0;background:transparent;font-size:28px;color:#ad2347}@media(max-width:800px){.family-header{padding:18px 6vw;height:auto;min-height:100px;flex-wrap:wrap;gap:16px}.family-header nav{order:3;width:100%;margin:0;gap:24px}.family-avatar{margin-left:auto}.family-avatar>span:last-child{display:none}.library-feature{height:auto;min-height:580px;padding:45px 7vw 55px}.library-feature h1{font-size:60px}.moment-shelf{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}.moment-shelf>.shelf-card{flex:0 0 80%;scroll-snap-align:start}.collection-shelf{display:flex;overflow-x:auto;padding-bottom:12px}.collection-card{flex:0 0 155px}.adventure-shelf{grid-template-columns:1fr 1fr}.family-shelves{padding-top:30px}.shelf-heading{flex-wrap:wrap;gap:8px}.family-detail,.store-feature,.prepare-grid{grid-template-columns:1fr;gap:30px}.settings-layout{grid-template-columns:1fr;gap:20px}.settings-nav{display:flex;overflow:auto;gap:4px}.settings-nav button{white-space:nowrap}.settings-panel{padding:24px}.settings-room{grid-template-columns:22px minmax(0,1fr) 90px}.settings-room input:not([type=checkbox]){padding:10px;font-size:14px}.family-page{padding:30px 6vw 55px}.store-art img{min-height:260px}.shelf-card h3{font-size:20px}.family-page-title h1{font-size:43px}.family-wordmark{font-size:22px}.family-play,.family-secondary{font-size:14px}.detail-feature>img{object-position:40%}.store-next{padding:28px}.family-detail h2,.store-feature h2{font-size:36px}}@media(prefers-reduced-motion:reduce){.shelf-card img,.collection-card{transition:none}.shelf-card:hover img,.collection-card:hover{transform:none}}
/* Carry the approved homepage stage into the family home. */
.family-header nav{margin-left:0;margin-right:auto;gap:30px}.family-header .family-avatar{color:#624552;font-size:14px;font-weight:700}.family-header .family-avatar>span:first-child{background:#f4dce5;border:0}.home-page .family-header{height:108px;padding:0 5vw}.home-page .family-header nav{gap:27px}.family-page-mode .family-shelves{padding:55px 7vw 65px}.family-page-mode .shelf-heading h2{font-family:var(--serif);font-weight:500;letter-spacing:-.5px}.family-page-mode .collection-card{background:transparent;border:0;border-radius:0;padding:20px 12px}.family-page-mode .collection-card:hover{background:#f8e9ed;border-radius:22px}.family-page-mode .collection-card img{max-width:175px}.family-page-mode .shelf-card>div{border:0;border-radius:20px}.family-page-mode .shelf{margin-bottom:55px}@media(max-width:800px){.family-header{flex-wrap:nowrap;min-height:83px}.family-header nav{order:0;width:auto;margin:0;gap:22px}.family-header .family-avatar{margin-left:auto}.home-page .family-header{height:83px;padding:0 7vw}.family-header .family-avatar>span:last-child{display:none}}
/* Family app: persistent navigation and a collection-first workspace. */
.family-page-mode .family-header{position:sticky;top:0;z-index:20;height:80px;min-height:80px;padding:0 4vw;flex-wrap:nowrap;background:#fff9f0f5;backdrop-filter:blur(12px);border-bottom:1px solid #e9d2dc}.family-page-mode .family-header nav{margin:0 auto 0 0;gap:8px;order:0;width:auto}.family-header nav a{padding:10px 18px;border-radius:16px;font-size:15px}.family-header nav a[aria-current=page]{background:#f3dce6;color:#a8224a}.app-home{display:block;flex-shrink:0;width:42px;height:42px;border-radius:50%;overflow:hidden;background:#e2ebf5}.app-home img{width:100%;height:100%;object-fit:cover}.family-page-mode footer{display:none}.family-page-mode #content{min-height:calc(100dvh - 80px)}.app-library,.family-page-mode .family-page{max-width:1500px;margin:auto;padding:32px 4vw 50px}.app-title-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.app-title-row h1,.family-page-mode .family-page-title h1{font:500 38px/1.1 var(--serif);letter-spacing:-.6px;margin:0 0 8px}.app-title-row p,.family-page-mode .family-page-title p{font-size:16px;margin:0;color:#795568}.owned-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(230px,1fr);gap:26px;align-items:stretch}.owned-adventure{border-radius:22px;overflow:hidden;background:#fffdf8;border:1px solid #e7ccd8}.owned-art{display:block;height:clamp(230px,30vh,360px);position:relative;overflow:hidden}.owned-art>img{width:100%;height:100%;object-fit:cover;object-position:center 48%;transition:transform .3s}.owned-art:hover>img{transform:scale(1.025)}.owned-badge{position:absolute;left:20px;top:18px;background:#fff5dedf;border-radius:15px;padding:6px 12px;font-size:12px;font-weight:800;color:#693e36}.owned-caption{padding:21px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px}.owned-caption h2{font:500 28px/1.15 var(--serif);margin:0 0 8px}.owned-caption p{font-size:13px;color:#785668;margin:0}.owned-caption p span{margin:0 5px}.owned-caption .family-actions{margin:0;gap:10px;flex-shrink:0}.owned-caption .family-play,.owned-caption .family-secondary{padding:12px 20px}.library-next{border-radius:22px;padding:32px;background:#f5e1e9;display:flex;flex-direction:column;justify-content:center}.library-next h2{font:500 34px/1.1 var(--serif);margin:0 0 18px}.library-next p{color:#795568;max-width:250px;font-size:16px}.app-collection{margin-top:34px;margin-bottom:0}.app-collection .shelf-heading h2{font-size:25px}.app-collection .collection-shelf{gap:12px}.app-collection .collection-card{display:grid;grid-template-columns:74px 1fr;text-align:left;align-items:center;padding:12px!important;border-radius:17px!important;background:#f8eaf0!important;column-gap:12px}.app-collection .collection-card img{width:74px!important;height:74px;grid-row:1/3}.app-collection .collection-card h3{font-size:20px;margin:0;align-self:end}.app-collection .collection-card span{font-size:12px;align-self:start;margin-top:4px}.app-detail-card{display:grid;grid-template-columns:1.2fr 1fr;background:#fffdf8;border:1px solid #e7ccd8;border-radius:24px;overflow:hidden}.app-detail-art img{width:100%;height:100%;min-height:480px;object-fit:cover;object-position:46% center}.app-detail-copy{padding:38px}.app-detail-copy h1{font:500 52px/1.02 var(--serif);margin:0 0 20px}.app-detail-copy>p{font-size:17px;color:#795568;line-height:1.65}.app-detail-facts{display:grid;gap:12px;padding-top:20px;border-top:1px solid #e8d3dc}.app-detail-facts>div{display:flex;justify-content:space-between;gap:20px;font-size:14px}.app-detail-facts dt{color:#795568}.app-detail-facts dd{margin:0;font-weight:700}.store-tabs{display:flex;gap:22px;align-items:center;font-size:14px;font-weight:700;margin:0 0 24px}.store-tabs span{padding:7px 17px;border-radius:14px;background:#f3dce6;color:#ad2347}.app-store-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1150px}.store-product{border:1px solid #e8d3dc;background:#fffdf8;border-radius:22px;overflow:hidden}.store-product-art{height:260px;position:relative}.store-product-art img{width:100%;height:100%;object-fit:cover;object-position:left}.store-product-art>span{position:absolute;bottom:12px;left:12px;background:#fff9f0e8;padding:4px 10px;border-radius:10px;font-size:12px}.store-product-copy{padding:24px}.store-product-copy h2{font:500 29px var(--serif);margin:0 0 12px}.store-product-copy p{font-size:16px;color:#795568;line-height:1.65;max-width:440px}.store-product-copy .family-kicker{font-size:13px}.family-page-mode .family-page-title{margin:0 0 28px}.family-page-mode .settings-layout{grid-template-columns:190px minmax(0,720px)}@media(max-width:1100px){.owned-caption{align-items:flex-start;flex-direction:column}.app-collection .collection-card{grid-template-columns:1fr;text-align:center}.app-collection .collection-card img{grid-row:auto;width:90px!important;height:90px;margin-bottom:10px}.app-collection .collection-card h3{font-size:21px}.app-collection .collection-card span{font-size:13px}}@media(max-width:700px){.family-page-mode .family-header{padding:0 4vw;gap:12px;height:72px;min-height:72px}.family-header nav a{font-size:14px;padding:9px 10px}.family-page-mode .family-header nav{gap:0}.family-avatar{display:none}.app-home{width:35px;height:35px}.app-library,.family-page-mode .family-page{padding:25px 5vw 40px}.app-title-row{align-items:flex-start}.app-title-row h1,.family-page-mode .family-page-title h1{font-size:32px}.app-title-row .family-secondary{font-size:12px;padding:11px 13px;white-space:nowrap}.owned-grid{grid-template-columns:1fr;gap:18px}.owned-art{height:240px}.owned-caption{padding:20px}.owned-caption h2{font-size:27px}.library-next{padding:20px}.library-next .family-kicker,.library-next p{display:none}.library-next h2{font-size:23px;margin:0}.library-next h2 br{display:none}.library-next .family-text-link{padding-bottom:0}.app-collection .collection-card{flex-basis:135px}.app-detail-card,.app-store-grid{grid-template-columns:1fr}.app-detail-art img{min-height:0;height:260px}.app-detail-copy{padding:25px}.app-detail-copy h1{font-size:42px}.family-page-mode .settings-layout{grid-template-columns:1fr}.store-product-art{height:240px}}@media(prefers-reduced-motion:reduce){.owned-art>img{transition:none}.owned-art:hover>img{transform:none}}
/* One owned adventure gets the whole stage. */
.dragon-feature{position:relative;isolation:isolate;min-height:650px;height:calc(100svh - 80px);overflow:hidden;color:#fff9ef;background:#2c3430;display:flex;align-items:center;padding:100px 7vw 125px}.dragon-feature-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 45%;z-index:-3;animation:dragon-arrive 1.5s ease-out both}.dragon-feature:after{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(31,28,30,.88),rgba(31,28,30,.42) 43%,transparent 76%),linear-gradient(0deg,rgba(23,30,27,.8),transparent 35%)}.dragon-feature-top{position:absolute;top:28px;left:7vw;right:5vw;display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:800}.dragon-feature-top>a{padding:9px 15px;border:1px solid #fff6;border-radius:20px;background:#292c2533}.dragon-feature-copy{max-width:680px}.dragon-feature .family-kicker{color:#ffe2b7;font-size:14px;letter-spacing:2px;text-transform:uppercase;margin-bottom:24px}.dragon-feature h1{font:500 clamp(58px,7.2vw,108px)/.99 var(--serif);letter-spacing:-2.5px;margin:0 0 26px;text-shadow:0 3px 30px #201d2444}.dragon-feature h1 em{font-style:normal;color:#ffdfb6}.dragon-feature-copy>p{font-size:clamp(17px,1.5vw,21px);line-height:1.6;margin:0 0 24px;color:#fff2e3}.dragon-feature .family-actions{margin:30px 0 0}.dragon-feature .family-play{background:#c32a55;color:white;padding:18px 28px;font-size:17px;box-shadow:0 4px 0 #781b39}.dragon-feature .family-secondary{color:#fff9ef;border-color:#fff7;background:#fff1;backdrop-filter:blur(8px);padding:18px 24px}.dragon-feature .family-play:hover{background:#d13862}.dragon-preview{position:absolute;bottom:65px;right:5vw;display:flex;align-items:center;gap:15px;color:white;background:#25352c88;backdrop-filter:blur(12px);border:1px solid #fff5;border-radius:20px;padding:15px 22px;text-align:left;cursor:pointer;font:800 14px var(--sans)}.dragon-preview>span:first-child{border:1px solid #fff8;border-radius:50%;width:44px;height:44px;display:grid;place-items:center}.dragon-preview small{display:block;font-size:12px;font-weight:400;color:#f1e0ca;margin-top:4px}.dragon-scroll{position:absolute;bottom:30px;left:7vw;display:flex;gap:15px;align-items:center;background:none;border:0;color:#fff9efaa;font:600 12px var(--sans);cursor:pointer;padding:12px 0}.dragon-scroll span{font-size:20px}.dragon-motes{position:absolute;inset:0;pointer-events:none;z-index:-1}.dragon-motes i{position:absolute;left:67%;top:55%;width:4px;height:4px;background:#ffe3a8;border-radius:50%;box-shadow:0 0 15px 4px #ffc75b66;animation:mote-rise 7s ease-in-out infinite}.dragon-motes i:nth-child(2){left:82%;top:70%;animation-delay:-2s}.dragon-motes i:nth-child(3){left:55%;top:80%;animation-delay:-4s}.dragon-motes i:nth-child(4){left:90%;top:35%;animation-delay:-1s}.dragon-motes i:nth-child(5){left:72%;top:40%;animation-delay:-5s}.dragon-collection{max-width:1500px;margin:0 auto!important;padding:42px 5vw 55px;scroll-margin-top:105px}.world-store{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.world-poster{position:relative;isolation:isolate;overflow:hidden;min-height:410px;border-radius:26px;color:#fffaf3;background:#253749}.world-poster>img{position:absolute;width:100%;height:100%;object-fit:cover;z-index:-3;transition:transform .6s ease}.world-poster:hover>img{transform:scale(1.04)}.world-poster:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#101b32f5,#101b3277 40%,transparent 76%)}.world-starlight>img{filter:brightness(.65) hue-rotate(18deg)}.world-starlight{min-height:470px}.world-space{min-height:470px}.coming-pill{position:absolute;top:22px;left:24px;background:#fff2e8;color:#982047;padding:8px 14px;border-radius:20px;font-size:12px;font-weight:800}.world-poster-copy{position:absolute;bottom:30px;left:30px;right:30px}.world-poster-copy>span{font-size:12px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase;color:#ffdfb6}.world-poster-copy h2{font:500 clamp(30px,3.2vw,48px)/1.05 var(--serif);margin:12px 0}.world-poster-copy p{font-size:16px;color:#fff3e2;max-width:360px;line-height:1.5;margin:0}.store-update{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px 0 45px}.store-update p{font:500 24px var(--serif)}.store-kit-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;overflow:hidden;border:1px solid #e8d3dc;border-radius:24px;background:#fffdf8;max-width:1000px;scroll-margin-top:110px}.store-kit-row .store-product-art{height:300px}#store-adventures{scroll-margin-top:110px}.app-store .app-title-row h1{max-width:750px}.dragon-feature a:focus-visible,.dragon-feature button:focus-visible{outline:3px solid #ffde99;outline-offset:5px}@keyframes dragon-arrive{from{transform:scale(1.035);opacity:.5}to{transform:scale(1);opacity:1}}@keyframes mote-rise{0%,100%{transform:translate(0,0);opacity:.15}50%{transform:translate(10px,-32px);opacity:.8}}@media(max-width:700px){.dragon-feature{height:calc(100svh - 72px);min-height:660px;padding:100px 6vw 170px;align-items:center}.dragon-feature-art{object-position:58% center}.dragon-feature:after{background:linear-gradient(90deg,#191f28c9,#191f2833),linear-gradient(0deg,#191f28dd,transparent 70%)}.dragon-feature-top{left:6vw;right:6vw;top:22px;font-size:12px}.dragon-feature h1{font-size:clamp(51px,12vw,80px);letter-spacing:-1.5px}.dragon-feature .family-kicker{font-size:12px;margin-bottom:18px}.dragon-feature .family-actions{gap:10px;flex-wrap:wrap}.dragon-feature .family-play,.dragon-feature .family-secondary{font-size:14px;padding:15px 18px}.dragon-preview{left:6vw;right:auto;bottom:65px;padding:10px 15px}.dragon-scroll{left:6vw;bottom:15px}.dragon-collection .shelf-heading{display:block}.dragon-collection .shelf-heading>span{display:block;margin-top:8px}.world-store{grid-template-columns:1fr;gap:20px}.world-poster,.world-starlight,.world-space{min-height:400px}.world-poster-copy{left:24px;right:24px;bottom:24px}.store-update{align-items:flex-start;flex-direction:column}.store-update p{margin-bottom:0}.store-kit-row{grid-template-columns:1fr}.store-kit-row .store-product-art{height:240px}}@media(prefers-reduced-motion:reduce){.dragon-feature-art,.dragon-motes i{animation:none}.world-poster>img{transition:none}.world-poster:hover>img{transform:none}}

.detail-companions{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}.detail-companions article{overflow:hidden;border-radius:24px;background:#f7e7ee}.detail-companions img{display:block;width:100%;height:290px;object-fit:cover}.detail-companions article>div{padding:26px}.detail-companions h2{font:500 30px/1.15 var(--serif);margin:0 0 12px}.detail-companions p{font-size:16px;line-height:1.65;margin:0;color:#795568}.app-detail .dragon-collection{padding-left:0;padding-right:0}.app-detail .family-back{display:inline-block;margin-bottom:22px}@media(max-width:700px){.detail-companions{grid-template-columns:1fr}.detail-companions img{height:240px}.detail-companions h2{font-size:27px}}
/* Ambient motion stays behind stable reading and action layers. */
.dragon-feature-art{animation:realm-drift 28s ease-in-out infinite alternate;transform-origin:68% 42%;will-change:transform}.dragon-feature:before{content:'';position:absolute;inset:-20%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 74% 30%,#ffebbb30,transparent 40%),linear-gradient(115deg,transparent 45%,#fff1cf16 50%,transparent 57%);animation:realm-light 14s ease-in-out infinite alternate}.dragon-motes i{animation:mote-flight 10s ease-in-out infinite;width:5px;height:5px}.dragon-motes i:nth-child(3n){width:3px;height:3px;left:60%;top:65%;animation-duration:14s}.dragon-motes i:nth-child(4n){left:88%;top:85%;animation-delay:-7s}.dragon-motes i:nth-child(5n){left:45%;top:40%;animation-delay:-3s}.dragon-motes i:nth-child(n+6){margin-left:-12%;margin-top:8%;animation-delay:-6s}.dragon-motes i:nth-child(n+11){margin-left:8%;margin-top:-12%;animation-delay:-9s}.app-detail-art{overflow:hidden}.app-detail-art img{animation:realm-drift 28s ease-in-out infinite alternate}.session-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);border-radius:28px;overflow:hidden;border:1px solid #e9cfda;background:#fffaf3;margin-top:22px}.session-layout aside{position:relative;isolation:isolate;min-height:540px;color:#fff4e4;padding:45px 35px;background:#293c32}.session-world{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.session-layout aside:after{content:'';position:absolute;inset:0;background:#202b33b8;z-index:-1}.session-layout aside .family-kicker{color:#ffe0b0}.session-layout h2{font:500 38px/1.15 var(--serif)}.session-layout ol{list-style:none;padding:0;margin:50px 0 0}.session-layout li{display:flex;gap:14px;align-items:center;margin:22px 0}.session-layout ol span{width:34px;height:34px;display:grid;place-items:center;border:1px solid #fff8;border-radius:50%}.session-layout [aria-current=step]{color:#ffdfab;font-weight:800}.session-layout [aria-current=step] span{background:#bb2852;border-color:#bb2852;color:white}.session-layout form{padding:42px;min-width:0}.session-layout h1{font:500 40px/1.1 var(--serif);margin:0 0 16px}.session-layout p{font-size:16px;line-height:1.6;color:#795568}.session-child{display:flex;align-items:center;gap:14px;margin:14px 0}.session-layout input:not([type=checkbox]),.session-layout select{width:100%;min-width:0;padding:12px;border:1px solid #d6aabc;border-radius:12px;background:#fffcf7;color:var(--ink);font:16px var(--sans)}.session-layout input[type=checkbox]{width:21px;height:21px;accent-color:#ad2347}.session-field{display:grid;gap:8px;margin:24px 0;font-size:14px}.session-coin{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid #eddbe1}.session-coin img{width:54px;height:54px;object-fit:contain}.session-coin label{font-size:14px;display:block;margin-bottom:6px}.session-coin .session-hidden{display:flex;align-items:center;gap:6px;margin:0}.session-add-space{display:flex;gap:10px;margin-top:20px}.session-add-space button{white-space:nowrap}.session-actions{display:flex;justify-content:space-between;gap:15px;margin-top:28px}.session-review{list-style:none;padding:0}.session-review li{justify-content:space-between;font-size:16px;border-bottom:1px solid #eddbe1;padding-bottom:12px}.session-review strong{text-align:right}@keyframes realm-drift{from{transform:scale(1.03) translate3d(-.5%,0,0)}to{transform:scale(1.12) translate3d(1%,-1%,0)}}@keyframes realm-light{from{opacity:.35;transform:translateX(-3%)}to{opacity:1;transform:translateX(4%)}}@keyframes mote-flight{0%{opacity:0;transform:translate3d(-12px,50px,0)}30%{opacity:.8}80%{opacity:.6}100%{opacity:0;transform:translate3d(35px,-90px,0)}}@media(max-width:850px){.session-layout{grid-template-columns:1fr}.session-layout aside{min-height:0;padding:25px}.session-layout aside h2{display:none}.session-layout ol{display:flex;gap:15px;margin:0;flex-wrap:wrap}.session-layout li{margin:8px 0;font-size:14px}.session-layout form{padding:25px}.session-layout h1{font-size:32px}}@media(max-width:480px){.session-coin{grid-template-columns:42px minmax(0,1fr);gap:10px}.session-coin img{width:42px;height:42px}.session-coin .session-hidden{grid-column:2}.session-actions{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.dragon-feature-art,.dragon-feature:before,.dragon-motes i,.app-detail-art img{animation:none;will-change:auto}}
.session-players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:26px 0 18px}.session-player{display:flex;align-items:center;gap:12px;padding:20px;border:1px solid #dbb6c6;border-radius:16px;background:#fffaf4;font-size:19px;font-weight:800;cursor:pointer}.session-player:has(input:checked){background:#f5e0e9;border-color:#b42650}.session-player input{flex-shrink:0}.session-edit-players{margin:20px 0}.session-edit-players summary{cursor:pointer;color:#a2244a;font-size:14px;font-weight:700;padding:10px 0}.session-coin{grid-template-columns:60px minmax(0,1fr);column-gap:16px;row-gap:10px;padding:18px 0}.session-coin>img{grid-column:1;grid-row:1/3;width:60px;height:60px;align-self:start;margin-top:22px}.session-coin>div{grid-column:2}.session-coin .session-hidden{grid-column:2;display:flex;align-items:center;gap:10px;min-height:36px;font-size:14px;cursor:pointer;padding:5px 0;margin:0}.session-hidden input{flex:none;margin:0}.session-hidden:has(input:checked){color:#a2244a;font-weight:800}@media(max-width:480px){.session-players{grid-template-columns:1fr}.session-coin{grid-template-columns:42px minmax(0,1fr);column-gap:12px}.session-coin>img{width:42px;height:42px}}
.session-players{grid-template-columns:1fr}.session-player{padding:12px 16px;cursor:default}.session-player input:not([type=checkbox]){border-color:transparent;background:transparent;font-size:19px;font-weight:700;padding:9px 10px}.session-player input:not([type=checkbox]):hover{border-color:#dbb6c6}.session-player input:not([type=checkbox]):focus{border-color:#b42650;outline:2px solid #b4265022;background:#fffaf4}.realm-action-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.dragon-feature .realm-action-video{z-index:-2;object-position:center}.dragon-feature:after{z-index:-1;background:linear-gradient(90deg,#191d29eb,#191d2970 48%,#191d2911 85%),linear-gradient(0deg,#191d29b8,transparent 45%)}.dragon-feature:before{z-index:0;pointer-events:none}.dragon-feature-copy,.dragon-feature-top,.dragon-preview,.dragon-scroll{z-index:1}.app-detail-art{position:relative}.app-detail-art .realm-action-video{z-index:1}@media(prefers-reduced-motion:reduce){.realm-action-video{display:none}}
/* Keep the editable name inside its row, including its focus indicator. */
.session-layout .session-player{display:grid;grid-template-columns:21px minmax(0,1fr);gap:12px;min-width:0;box-sizing:border-box}.session-layout .session-player input:not([type=checkbox]){width:100%;min-width:0;max-width:100%;box-sizing:border-box;margin:0;transform:none}.session-layout .session-player input:not([type=checkbox]):focus{outline:2px solid #b42650;outline-offset:-2px;box-shadow:none;transform:none}.session-layout .session-player input[type=checkbox]{margin:0;width:21px;height:21px}

.adventure-hero{overflow:hidden}.adventure-hero>.realm-action-video{z-index:-2}.adventure-hero>img{z-index:-3}
.adventure-hero>img,.adventure-hero>.realm-action-video{object-position:center}
/* Initial setup and replay use the same fields and visual treatment. */
html:has(#onboarding){scroll-behavior:auto}.setup-main.enter{animation:none;transform:none}.session-layout .setup-aside{background:#f4dfe8;color:var(--ink);padding:42px 35px}.session-layout .setup-aside:after{display:none}.session-layout .setup-aside .family-kicker{color:#ad2347}.session-layout .setup-aside ol span{border-color:#c9a9b7}.session-layout .setup-aside [aria-current=step]{color:#ad2347}.shared-team .child-row{display:flex;gap:14px;align-items:center;margin:14px 0}.shared-team .field{flex:1;min-width:0;display:grid;gap:8px;margin:0}.shared-team .field span{font-size:14px}.shared-team input:not([type=checkbox]),.shared-hiding select{width:100%;min-width:0;box-sizing:border-box;padding:12px;border:1px solid #d6aabc;border-radius:12px;background:#fffcf7;color:var(--ink);font:16px var(--sans)}.shared-team input[type=checkbox],.shared-hiding input[type=checkbox]{width:21px;height:21px;flex-shrink:0;accent-color:#ad2347}.shared-team input:focus{outline-offset:-2px}.shared-hiding .session-coin{margin:0}.shared-hiding .session-hidden{font-size:14px}.session-layout .setup-aside h2{font-size:38px}.setup-main .shared-hiding{margin:24px 0}@media(max-width:850px){.session-layout .setup-aside{padding:24px}.session-layout .setup-aside h2{display:none}}

.home-page .feature>div{width:min(100%,1000px);min-width:0}.home-page .feature .mission-heading{max-width:1000px;font-size:clamp(40px,4.1vw,68px);line-height:1.12;letter-spacing:-1.3px}.mission-heading>span{display:block;text-wrap:balance}@media(max-width:700px){.home-page .feature .mission-heading{font-size:clamp(28px,6.2vw,43px);line-height:1.18;letter-spacing:-.6px}}
/* Three homepage chapters: Pip, how to play, and the first adventure. */
.home-page .how-play{min-height:100svh;position:relative;display:flex;flex-direction:column;justify-content:center;padding:40px 5.5vw 75px;scroll-margin-top:0}.home-page .how-heading{max-width:100%;display:grid;grid-template-columns:1fr 1fr;gap:0 45px;align-items:center;margin-bottom:24px}.home-page .how-heading .eyebrow{grid-column:1/-1;margin-bottom:12px}.home-page .how-heading h2{font-size:clamp(34px,3.3vw,52px);margin:0}.home-page .how-heading>p{font-size:16px;margin:0;max-width:550px}.home-page .how-visual{height:clamp(155px,23svh,245px)}.home-page .how-copy{padding:20px}.home-page .how-copy h3{font-size:25px;margin:10px 0}.home-page .how-copy p{line-height:1.5}.home-page .coin-visual img{max-height:80%;width:auto}.chapter-scroll{position:absolute;bottom:23px;left:5.5vw;display:inline-flex;align-items:center;gap:12px;font-size:13px;color:#83596b;padding:6px 0}.chapter-scroll span{font-size:18px}.chapter-scroll:hover{color:#ad2347}.chapter-scroll.on-dark{color:#fff8dfbb}.home-page .mission-chapter{min-height:100svh;padding:50px 8vw 80px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:35px;scroll-margin-top:0}.home-page .mission-chapter .mission-heading{font-size:clamp(36px,4vw,64px);margin:15px 0 20px}.home-page .mission-chapter>div.how-kit{width:100%;max-width:1100px;grid-template-columns:.9fr 1.4fr;gap:45px;margin:0;padding:24px 0 0;border-top:1px solid #fff4;border-bottom:0}.mission-chapter .how-kit p{font:500 24px/1.3 var(--serif);margin:0;color:#fff5de}.mission-chapter .coin-line{gap:18px;flex-wrap:nowrap}.mission-chapter .coin-line figure{flex:1;min-width:0}.mission-chapter .coin-line img{max-height:125px;filter:drop-shadow(0 8px 10px #0006)}.mission-chapter .coin-line figcaption{color:#fff7e7;font-size:14px}.signup-kit{margin:0;position:relative;display:flex;align-items:center;justify-content:center;background:#f4e2e8;border-radius:28px;overflow:hidden;min-width:0}.signup-art.signup-kit img{position:static;width:100%;height:auto;max-height:75svh;object-fit:contain;transform:none;filter:none}.signup-kit figcaption{position:absolute;bottom:18px;left:20px;font-size:13px;padding:4px 10px;border-radius:12px;background:#fff9eee8;color:#795568}@media(max-width:700px){.home-page .how-play{padding:40px 7vw 75px}.home-page .how-heading{grid-template-columns:1fr;gap:15px}.home-page .how-heading .eyebrow{margin:0}.home-page .how-heading>p{font-size:16px}.home-page .how-visual{height:220px}.home-page .mission-chapter{padding:45px 7vw 75px;gap:30px}.home-page .mission-chapter>div.how-kit{grid-template-columns:1fr;gap:22px}.mission-chapter .coin-line{gap:10px;flex-wrap:wrap}.mission-chapter .coin-line figure{flex:0 0 calc(33.333% - 10px)}.mission-chapter .coin-line img{max-height:90px}.home-page .mission-chapter .mission-heading{font-size:clamp(28px,6.2vw,43px)}.chapter-scroll{left:7vw}.signup-art.signup-kit{display:flex;min-height:250px}.signup-art.signup-kit img{max-height:450px}}
/* One swipe, one chapter (8 Oct, Asaf: "scrolling down should scroll the full next
   page into place, no need for a lot of swipes"): mandatory snapping, and a fast
   swipe still stops at the next chapter rather than flying past it. Was proximity,
   which settled only when a swipe happened to end near a boundary. */
@media(min-width:701px) and (prefers-reduced-motion:no-preference){html:has(body.home-page){scroll-snap-type:y mandatory}.home-page #content>.play-stage,.home-page #content>.how-play,.home-page #content>.mission-chapter,.home-page #site-footer{scroll-snap-align:start;scroll-snap-stop:normal}.home-page #content>.play-stage,.home-page #content>.how-play,.home-page #content>.home-adventure-wall,.home-page #content>.home-lumina{scroll-snap-stop:always}.home-page #content>.play-stage{scroll-margin-top:100px}}
/* Restore the generous original how-it-works composition. */
.home-page .how-play{padding:60px 5.5vw 85px}.home-page .how-heading{display:block;max-width:800px;margin-bottom:38px}.home-page .how-heading .eyebrow{margin-bottom:26px}.home-page .how-heading h2{font-size:clamp(38px,4.2vw,64px);margin:0 0 24px;line-height:1.08}.home-page .how-heading>p{max-width:730px;font-size:18px;line-height:1.65}.home-page .how-visual{height:clamp(220px,26svh,290px)}.home-page .how-copy{padding:26px}.home-page .how-copy h3{font-size:29px;line-height:1.15;margin:14px 0}.home-page .how-copy p{font-size:16px;line-height:1.65}.home-page .coin-visual .coin-front,.home-page .coin-visual .coin-back{width:49%;height:auto;max-height:none}@media(max-width:1000px){.home-page .how-copy{padding:20px}.home-page .how-copy h3{font-size:25px}}@media(max-width:700px){.home-page .how-play{padding:45px 7vw 80px}.home-page .how-heading>p{font-size:17px}.home-page .how-visual{height:280px}.home-page .coin-visual .coin-front,.home-page .coin-visual .coin-back{width:43%;max-width:190px}}
/* Show the whole kit, with its caption below the artwork. */
.signup-art.signup-kit{display:block;background:transparent;border-radius:0;overflow:visible;min-height:0}.signup-art.signup-kit img{display:block;width:100%;max-width:100%;height:auto;max-height:none;margin:0;object-fit:contain;border-radius:22px}.signup-art.signup-kit figcaption{position:static;margin:9px 0 0;padding:0;background:none;border-radius:0;text-align:center;font-size:12px;line-height:1.5;color:#795568}

/* Family settings overview, using the existing cream and rose palette. */
.settings-group-title{font:800 14px var(--sans);color:#ad2347;margin:28px 0 12px}
.settings-summary-group{border:1px solid #ead3dd;border-radius:18px;overflow:hidden;margin:0 0 14px}
.settings-summary-row{display:flex;width:100%;align-items:center;justify-content:space-between;gap:24px;padding:21px 22px;text-align:left;border:0;background:#fffaf5;color:var(--ink);font:16px var(--sans);cursor:pointer;text-decoration:none;box-sizing:border-box}
.settings-summary-row+.settings-summary-row{border-top:1px solid #ead3dd}
.settings-summary-row:hover{background:#f9eaf0}
.settings-summary-row:focus-visible{outline:2px solid #ad2347;outline-offset:-3px}
.settings-summary-row strong{display:block;font-weight:800}
.settings-summary-row small{display:block;font-size:14px;line-height:1.5;color:#795568;margin-top:6px}
.settings-summary-value{max-width:48%;text-align:right;color:#795568;overflow-wrap:anywhere;font-size:14px;line-height:1.5}
.settings-summary-value b{margin-left:10px;color:#ad2347;font-size:22px}
#settings-rerun{margin-top:18px}
@media(max-width:700px){.settings-summary-row{padding:18px;gap:10px;align-items:flex-start;flex-direction:column}.settings-summary-value{max-width:100%;text-align:left}}

.settings-single{max-width:980px;margin-inline:auto}.settings-single>.settings-panel{padding:0;border:0;background:transparent}.settings-single .settings-group-title:first-child{margin-top:0}.settings-summary-group details+details{border-top:1px solid #ead3dd}.settings-summary-group summary{list-style:none}.settings-summary-group summary::-webkit-details-marker{display:none}.settings-summary-group details[open]>summary{background:#f9eaf0}.settings-summary-group details[open]>summary b{display:inline-block;transform:rotate(90deg)}.settings-inline-editor{padding:24px;background:#fffaf5;border-top:1px solid #ead3dd}.settings-inline-editor input{min-width:0;box-sizing:border-box}.settings-inline-editor .settings-status:empty{display:none}

.settings-choices{border:0;padding:0;margin:12px 0 24px;display:flex;flex-wrap:wrap;gap:10px}.settings-choices legend{font-size:14px;font-weight:700;margin-bottom:10px}.settings-panel .settings-choices label{display:flex;align-items:center;gap:8px;margin:0;padding:10px 14px;border:1px solid #e4c3d1;border-radius:14px;font-size:14px}.settings-panel .settings-choices input{width:16px;margin:0;accent-color:#ad2347}.settings-choices label:has(:checked){background:#f5dfe9;border-color:#ad2347}.settings-single .settings-room{grid-template-columns:24px minmax(0,1fr) minmax(85px,120px) 32px}.settings-remove{border:0;background:transparent;color:#ad2347;font-size:24px;cursor:pointer}.settings-code-entry{display:flex;gap:12px;margin-top:10px}.settings-code-entry input{flex:1;min-width:0}.settings-inline-editor button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}@media(max-width:600px){.settings-single .settings-room{grid-template-columns:24px minmax(0,1fr) 30px}.settings-room>input[aria-label^="Floor"],.settings-room>span{grid-column:2}.settings-room>.settings-remove{grid-column:3;grid-row:1}.settings-room{position:relative}.settings-room>.settings-remove{grid-row:auto}}
/* The library carousel (28 Sep, Astra's handoff): two full-screen slides side by side, one in view. */
.lib-carousel{position:relative;overflow:hidden}.lib-track{display:flex;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.lib-slide{flex:0 0 100%;min-width:0}.lib-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:56px;height:56px;border-radius:50%;border:1.5px solid #fff9;background:#1c1f2a4d;backdrop-filter:blur(8px);color:#fff9ef;font:300 38px/1 var(--sans);display:grid;place-items:center;padding:0 0 5px;cursor:pointer}.lib-arrow:hover{background:#1c1f2a8c}.lib-arrow[hidden]{display:none}.lib-prev{left:2vw}.lib-next{right:2vw}.lib-dots{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:12px}.lib-dot{width:18px;height:18px;border-radius:50%;border:2px solid #fff9ef;background:transparent;padding:0;cursor:pointer}.lib-dot[aria-current=true]{background:#fff9ef}.lib-arrow:focus-visible,.lib-dot:focus-visible{outline:3px solid #ffde99;outline-offset:4px}.sky-feature.dragon-feature:after{background:linear-gradient(90deg,#0c1830e8,#0c183080 46%,#0c183000 82%),linear-gradient(0deg,#0c1830c0,transparent 45%)}.sky-feature .dragon-feature-art{object-position:30% center}.sky-feature h1{color:#fff9ef}.sky-collection .collection-card{cursor:default}.sky-collection .collection-card:hover{transform:none;background:#f7e7ee}.collection-card img.badge{object-fit:cover;background:radial-gradient(circle at 50% 42%,#2d4b7a,#0c1526 76%);border:5px solid #c89b3c;box-shadow:inset 0 0 0 2px #7a5a1c;box-sizing:border-box}.collection-card img.badge[src*=spell]{padding:7%}@media(max-width:700px){.lib-arrow{width:44px;height:44px;font-size:30px;top:auto;bottom:110px;transform:none}.lib-dots{bottom:22px}}@media(prefers-reduced-motion:reduce){.lib-track{transition:none}}
/* 28 Sep, Asaf: "the left arrow ... is too close to the text": the slides' copy starts clear of the arrows (2vw + 56px + a gap); below 700px the arrows sit at the bottom */
@media(min-width:701px){.lib-carousel .dragon-feature{padding-left:max(7vw,calc(2vw + 96px));padding-right:max(7vw,calc(2vw + 96px))}}
.play-ico{width:.75em;height:.9em;flex:none;margin-left:-2px}

/* ---- the carousel's move between adventures (29 Sep, Asaf: "a nicer animation") ----
   The track still slides; on it, each slide's art lags behind (the translate
   and scale properties, so the art's own slow drift animation keeps running),
   the slide that leaves dims, and the words of the one arriving rise in, one
   after another. */
.lib-track{transition:transform .9s cubic-bezier(.65,0,.25,1)}
.lib-slide{transition:filter .9s ease;background:#0c0f18}
.lib-slide:not(.is-on){filter:brightness(.4) saturate(.8)}
.lib-slide .dragon-feature-art,.lib-slide .realm-action-video{transition:translate .9s cubic-bezier(.65,0,.25,1),scale 1.2s cubic-bezier(.2,.7,.2,1)}
.lib-slide.is-before .dragon-feature-art,.lib-slide.is-before .realm-action-video{translate:38% 0;scale:1.08}
.lib-slide.is-after .dragon-feature-art,.lib-slide.is-after .realm-action-video{translate:-38% 0;scale:1.08}
.lib-slide.is-on .dragon-feature-copy>*{animation:lib-rise .8s cubic-bezier(.2,.7,.2,1) both}
.lib-slide.is-on .dragon-feature-copy>:nth-child(1){animation-delay:.35s}
.lib-slide.is-on .dragon-feature-copy>:nth-child(2){animation-delay:.43s}
.lib-slide.is-on .dragon-feature-copy>:nth-child(3){animation-delay:.51s}
.lib-slide.is-on .dragon-feature-copy>:nth-child(4){animation-delay:.59s}
.lib-slide.is-on .dragon-feature-copy>:nth-child(5){animation-delay:.67s}
.lib-slide.is-on .dragon-feature-copy>:nth-child(n+6){animation-delay:.75s}
@keyframes lib-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.lib-dot{transition:width .35s cubic-bezier(.2,.7,.2,1),background .35s,border-radius .35s}
.lib-dot[aria-current=true]{width:38px;border-radius:999px}
@media (prefers-reduced-motion: reduce){
  .lib-track,.lib-slide,.lib-slide .dragon-feature-art,.lib-slide .realm-action-video,.lib-dot{transition:none}
  .lib-slide.is-before .dragon-feature-art,.lib-slide.is-after .dragon-feature-art,.lib-slide.is-before .realm-action-video,.lib-slide.is-after .realm-action-video{translate:none;scale:none}
  .lib-slide.is-on .dragon-feature-copy>*{animation:none}
}

/* the music as you scroll: the speaker beside the dots (29 Sep) */
.lib-sound{position:fixed;bottom:16px;right:16px;z-index:60;width:46px;height:46px;border-radius:50%;border:1.5px solid #fff9;background:#1c1f2a4d;backdrop-filter:blur(8px);color:#fff9ef;display:grid;place-items:center;padding:0;cursor:pointer}
.lib-sound:hover{background:#1c1f2a8c}
.lib-sound:focus-visible{outline:3px solid #ffde99;outline-offset:4px}
.lib-sound .lib-sound-waves{display:none}
.lib-sound[aria-pressed=true] .lib-sound-waves{display:inline}
.lib-sound[aria-pressed=true] .lib-sound-off{display:none}
.lib-sound[aria-pressed=true]{background:#ffd23f;border-color:#ffd23f;color:#3a2a00}
/* level with the full-screen button (integration.css .site-fs: fixed, 16px from the corner, 46px), just to its left
   (1 Oct, Asaf on the iPad: the button covered the speaker, which showed only in full screen) */
body:has(#site-fs:not([hidden])) .lib-sound{right:74px}

/* Spell School (Lumina) in the family nav (1 Oct) */
.family-header nav a{white-space:nowrap}.family-header nav a.nav-lumina{color:#c99a1e}@media(max-width:480px){.family-header nav a.nav-lumina:before{display:none}.family-page-mode .family-header nav{gap:2px}.family-page-mode .family-header nav a{padding-left:9px;padding-right:9px}}.family-header nav a.nav-lumina:before{content:'\2726';margin-right:6px;font-size:.8em}
.spell-school-hint,.dragon-feature-copy>.spell-school-hint{margin:18px 0 0}.spell-school-hint a{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;background:#ffe2b71f;border:1px solid #ffe2b773;color:#ffe2b7;font:700 15px var(--sans);text-decoration:none;backdrop-filter:blur(8px);transition:background .2s,border-color .2s}.spell-school-hint a:hover{background:#ffe2b733;border-color:#ffe2b7b3;color:#fff6e6}.spell-school-hint .ssh-dot{opacity:.6}.spell-school-hint a:focus-visible{outline:3px solid #ffde99;outline-offset:4px}.app-detail .spell-school-hint a{color:#b42650;background:#b426500f;border-color:#b4265040}
/* Adventures and Spell School are one screen each (1 Oct, Asaf: "no need for the ability to scroll down").
   Sized to the visible screen (dvh, which follows Safari's toolbars) and no bounce. Only where the slide
   fits whole (its own minimum is 660px under the header): a phone on its side still scrolls rather than cut it. */
@media (min-height:740px){html:has(body.lib-page),body.lib-page{overflow:hidden;overscroll-behavior:none}body.lib-page .lib-slide .dragon-feature{height:calc(100dvh - 80px)}}
@media (min-height:740px) and (max-width:700px){body.lib-page .lib-slide .dragon-feature{height:calc(100dvh - 72px)}}
