/* V2D Home only; approved mode/game compositions keep their own presentation. */
.home-scene{display:none}
body.home-view:not(.playing){background:#020b18;color:#e5f6ff;overflow-x:hidden}
body.home-view:not(.playing):before,body.home-view:not(.playing):after{display:none}
body.home-view:not(.playing) .app{width:100%;max-width:1180px;margin:auto;padding:0 16px calc(92px + env(safe-area-inset-bottom));overflow:hidden;position:relative}
body.home-view:not(.playing) .app>header,body.home-view:not(.playing) :is(.topline,#launch,.home-controls,.home-deck,#journey,.workspace,#leaderboard,footer){display:none!important}
body.home-view main{display:block;padding:0;margin:0}
body.home-view .mission-header{display:flex;height:57px;align-items:center;position:relative;z-index:4}
body.home-view .mission-brand{display:none}
body.home-view .mission-header-actions{width:100%;justify-content:space-between;flex-direction:row-reverse}
body.home-view .mission-settings{border-radius:50%;background:#031426aa}
body.home-view .home-scene{display:block;position:relative;isolation:isolate;padding-top:12px}
.home-world{position:absolute;z-index:-1;pointer-events:none;inset:-57px -16px -100px;overflow:hidden;background:#020b18}
.home-world-art{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% top;transform:scale(1.035);animation:home-world-drift 24s linear -6s infinite}
.home-world:after{z-index:2;content:'';position:absolute;inset:0;background:linear-gradient(180deg,#010a1530,transparent 24%,#010a1530 46%,#010a15aa 74%,#020b18 100%)}
/* Reuse the same decoded art for a masked distant architecture layer; no new asset. */
.home-world-depth{position:absolute;z-index:1;width:100%;height:100%;object-fit:cover;object-position:50% top;transform:scale(1.035);-webkit-mask-image:linear-gradient(90deg,#000 16%,transparent 27%,transparent 73%,#000 84%);mask-image:linear-gradient(90deg,#000 16%,transparent 27%,transparent 73%,#000 84%);animation:home-depth-drift 17s linear -4s infinite}
.home-world-light{position:absolute;z-index:4;inset:0;background:radial-gradient(ellipse at 65% 31%,#ffd16a45,transparent 22%),radial-gradient(ellipse at 51% 55%,#61dcff32,transparent 40%);animation:home-energy 5.5s ease-in-out -1.4s infinite alternate}
.home-world-stars{position:absolute;z-index:5;inset:-24px;background:radial-gradient(circle at 18% 12%,#ccf3ff 0 1px,transparent 2px),radial-gradient(circle at 77% 38%,#9fe6ff 0 1px,transparent 2px),radial-gradient(circle at 24% 67%,#ffda86 0 1px,transparent 2px),radial-gradient(circle at 62% 81%,#a8d7ff 0 1px,transparent 2px);background-size:287px 331px;animation:home-star-drift 9s linear -2s infinite;opacity:.65}
.home-world-haze{position:absolute;z-index:3;inset:15% -15% -10%;background:radial-gradient(ellipse at 35% 65%,#bcf2ff32,transparent 50%);animation:home-haze 13s linear -3s infinite}
.home-brand{text-align:center;display:flex;flex-direction:column;align-items:center;transform:skew(-10deg);font-family:Arial,sans-serif;font-weight:950;line-height:.86;letter-spacing:-.045em;position:relative;max-width:360px;margin:auto}
.home-brand:after{content:'';position:absolute;width:89%;height:50%;border:1px solid #ffe1a7;border-radius:50%;transform:rotate(-13deg);top:26%;z-index:-1;box-shadow:0 0 15px #ffcc6138}
.home-brand>span{font-size:58px;color:#e8fcff;text-shadow:0 2px 0 #296082,0 0 14px #63dfff65}
.home-brand>b{font-size:44px;color:#ffda7e;text-shadow:0 2px 0 #8d632d,0 0 16px #ffc43b50}
.home-tagline{text-align:center;font-size:11px;font-weight:700;letter-spacing:.12em;line-height:1.6;color:#c7ebf7;max-width:260px;margin:18px auto 0;text-transform:uppercase}
.home-intro{margin:126px 0 0;padding-left:8px;position:relative;text-shadow:0 2px 12px #010915}
.home-headline{font:700 30px/1.08 Georgia,'Times New Roman',serif;color:#ffe19b;letter-spacing:-.02em;margin:0}
.home-intro>p{font-size:14px;color:#e0f1f7;margin:10px 0 14px}
.home-intro:after{content:'';display:block;width:32px;height:2px;background:#f5cb75;box-shadow:0 0 8px #f5cb7580}
.home-entry{margin:18px auto 0;max-width:520px;position:relative;text-align:center}
.home-hsk{padding:10px 13px 11px;background:linear-gradient(130deg,#06203adc,#031324e0);clip-path:polygon(5% 0,95% 0,100% 17%,100% 85%,96% 100%,4% 100%,0 85%,0 17%);box-shadow:inset 0 0 0 1px #7ddcff55}
.home-hsk>span{font-size:12px;color:#d2e7f1;display:block;margin-bottom:8px}
.home-hsk-choices{display:flex;justify-content:space-between;gap:9px}
.home-hsk button{padding:0;background:none;border:0;box-shadow:none;color:#99cfe9;min-width:44px;min-height:57px;flex:1;font-family:inherit;line-height:1.1}
.home-hsk button>b{display:flex;align-items:center;justify-content:center;height:37px;font-size:21px;border-radius:9px;border:1px solid #47b6df88;background:#06213f80}
.home-hsk button small{display:block;font-size:9px;margin-top:5px;white-space:nowrap}
.home-hsk button[aria-pressed=true]>b{color:#fff7d1;border-color:#ffe99a;background:linear-gradient(#d6a543,#8f5b20);box-shadow:0 0 12px #ffda7490,inset 0 0 8px #ffdf9390}
.home-hsk button[aria-pressed=true]{color:#ffe7a7}
.home-native-level{display:none!important}
.home-play{min-height:59px;display:flex;justify-content:center;align-items:center;gap:17px;margin:18px 0 0;color:#241906!important;background:linear-gradient(165deg,#fff1b4,#ffd75a 50%,#dca034);border:2px solid #fff0bc;border-radius:17px 7px;text-decoration:none!important;font:900 31px Arial,sans-serif;letter-spacing:.035em;box-shadow:0 0 0 5px #5b431acf,0 0 0 7px #d6a94970,0 9px 28px #010a15a8,inset 0 0 18px #fff3ca55;position:relative}
.home-play>span:last-child{font-size:44px;line-height:.7}
.home-explore{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:42px;padding:4px 21px;background:#021627cf;border:1px solid #52c6ed88;border-radius:24px;color:#d4f3ff;text-decoration:none;font-size:14px;margin:17px 0 0;box-shadow:0 0 13px #44c7e22a}
.home-destinations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px auto 0;max-width:720px}
.home-destination{min-height:128px;position:relative;isolation:isolate;overflow:hidden;border:1px solid #76bbd35e;border-radius:11px;background:#031426;margin:0;padding:55px 11px 12px;text-align:left;color:#e7f6ff;box-shadow:0 5px 18px #01091588;font-family:inherit}
.home-destination:before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(transparent 20%,#020e1ee0),url('assets/hub-destinations.webp') 0 center/200% 100% no-repeat}
.home-writing:before{background-position:100% center}
.home-destination strong{font:700 17px/1.1 Georgia,serif;color:#ffe3a0;display:block;position:relative}
.home-writing strong{color:#d7f8f2}
.home-destination>span{display:block;font-size:11px;color:#c9e0ec;margin-top:6px;padding-right:12px}
.home-destination i{position:absolute;right:11px;bottom:14px;font-style:normal;color:#fbe09b;font-size:28px;line-height:1}
.home-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px auto 0;max-width:720px}
.home-tools>a,.home-tools>button{min-height:48px;display:flex;align-items:center;justify-content:center;gap:5px;text-decoration:none;background:#021323cc;border:1px solid #5099b648;border-radius:9px;color:#c1dce9;font:11px/1.4 Arial,Tahoma,sans-serif;margin:0;padding:5px}
.home-tools>*>span{font-size:19px;color:#d4e4ef}
.home-save-status p{font-size:10px;color:#93b0c4;text-align:center;margin:14px auto 0}
body.home-view .creator-credit{margin:10px 0 0;padding:0}
body.hub-progress-view #learning-progress{background:#031525da;border:1px solid #6996a63b;box-shadow:0 12px 40px #01071380;border-radius:14px}
body:has(#results:not([hidden]))>.mission-nav{display:none}
.home-scene :is(a,button):active{transform:translateY(1px);filter:brightness(1.1)}
.home-scene :is(a,button):focus-visible{outline:2px solid #f9d77f;outline-offset:4px}
.home-play:before{content:'';position:absolute;pointer-events:none;inset:0;z-index:-1;border-radius:24px;background:radial-gradient(ellipse,#ffd66938,transparent 70%);animation:home-action-energy 4.8s ease-in-out -1s infinite alternate}
.home-hsk button[aria-pressed=true]>b{position:relative;isolation:isolate}
.home-hsk button[aria-pressed=true]>b:after{content:'';position:absolute;pointer-events:none;inset:0;border-radius:inherit;background:#fff1a622;animation:home-action-energy 5.2s ease-in-out -2s infinite alternate}
.home-ambient-paused :is(.home-world *, .home-play:before, .home-hsk button>b:after){animation-play-state:paused!important}
@keyframes home-world-drift{0%,100%{transform:scale(1.035) translate(-6px,-4px)}50%{transform:scale(1.035) translate(6px,4px)}}
@keyframes home-depth-drift{0%,100%{transform:scale(1.035) translate(5px,3px)}50%{transform:scale(1.035) translate(-5px,-3px)}}
@keyframes home-star-drift{0%{transform:translate(-8px,12px);opacity:0}12%,80%{opacity:.72}100%{transform:translate(8px,-12px);opacity:0}}
@keyframes home-energy{from{opacity:.25}to{opacity:.9}}
@keyframes home-haze{0%,100%{transform:translate(-14px,6px);opacity:.3}50%{transform:translate(14px,-6px);opacity:.8}}
@keyframes home-action-energy{from{opacity:.2}to{opacity:.65}}
@media(min-width:650px){body.home-view .app{padding-left:30px;padding-right:30px}.home-world{left:-30px;right:-30px}.home-brand>span{font-size:83px}.home-brand>b{font-size:64px}.home-tagline{font-size:14px;max-width:340px}.home-intro{margin-top:180px;padding-left:8%}.home-headline{font-size:43px}.home-destination{min-height:180px;padding-top:90px}.home-destination strong{font-size:25px}.home-destination>span{font-size:14px}.home-tools>a,.home-tools>button{font-size:13px}:is(.home-world-art,.home-world-depth){object-position:50% 42%}}
@media(min-width:1100px){body.home-view .mission-header{height:70px}.home-scene{padding:0 0 20px}.home-world{inset:-70px calc((1180px - 100vw)/2 - 30px) -100px}:is(.home-world-art,.home-world-depth){object-fit:cover;object-position:center 49%}.home-brand{margin-left:7%;max-width:400px}.home-tagline{margin-left:10%;max-width:340px}.home-intro{margin-top:125px;padding-left:7%}.home-headline{font-size:49px}.home-entry{margin:27px 0 0 7%;width:430px}.home-destinations{position:absolute;right:0;bottom:96px;width:45%;gap:18px}.home-destination{min-height:218px;padding-top:115px}.home-tools{margin:35px 0 0 7%;width:430px}.home-save-status{text-align:left;margin-left:7%;width:430px}}
@media(max-height:500px) and (min-width:650px){body.home-view .mission-header{height:50px}.home-world{top:-50px}.home-brand{max-width:300px;margin:0 0 0 2%}.home-brand>span{font-size:42px}.home-brand>b{font-size:32px}.home-tagline{font-size:10px;max-width:290px;margin:10px 0 0 2%}.home-intro{margin:16px 0 0 2%;padding:0}.home-headline{font-size:23px}.home-headline br{display:none}.home-intro>p{font-size:11px;margin:8px 0}.home-entry{position:absolute;top:4px;right:0;width:43%;margin:0}.home-play{margin-top:14px;min-height:47px;font-size:25px}.home-explore{margin-top:12px;min-height:36px}.home-destinations{width:52%;max-width:none;margin:17px 0 0;gap:10px}.home-destination{min-height:88px;padding:28px 10px 8px}.home-destination strong{font-size:14px}.home-destination>span{font-size:10px}.home-tools{position:absolute;right:0;bottom:25px;width:43%;margin:0}.home-tools>a,.home-tools>button{font-size:10px;min-height:42px}.home-save-status{margin-top:10px}.home-save-status p{margin:0;font-size:9px}:is(.home-world-art,.home-world-depth){object-position:center 47%}body.home-view .creator-credit{margin-top:5px}}
@media(prefers-reduced-motion:reduce){.home-world *{animation:none!important;transform:none!important}.home-play:before,.home-hsk button>b:after{animation:none!important;opacity:.25}.home-scene :is(a,button):active{transform:none}}
/* Keep browser QA composition equal to touch browsers without persistent scrollbars. */
html:has(body.home-view){scrollbar-width:none}
html:has(body.home-view)::-webkit-scrollbar{display:none}
body.home-view #mission-settings-slot .mission-settings{border:1px solid #5eb4d175;background:#05213bbc;font-size:24px}
.home-tagline{text-shadow:0 2px 8px #010914;font-size:12px}
@media(min-width:650px){.home-tagline{font-size:14px}}

@media(max-height:500px) and (min-width:650px){.home-destinations{margin-top:10px}.home-tools{top:230px;bottom:auto}}
.home-explore{min-height:44px}
@media(min-width:1100px){:is(.home-world-art,.home-world-depth){object-position:center 20%}.home-intro{margin-top:65px}.home-destinations{bottom:120px}}
@media(max-height:500px) and (min-width:650px){.home-tools>a,.home-tools>button{min-height:44px}.home-explore{min-height:44px}}
@media(min-width:1100px) and (min-height:501px){body.home-view .mission-header{height:62px}.home-intro{margin-top:45px}.home-headline{font-size:43px}.home-entry{margin-top:17px}}
@media(max-height:500px) and (min-width:650px){.home-tagline{font-size:10px;line-height:1.4;max-width:390px;letter-spacing:.07em}}
/* Phone composition follows the approved reference's compact hero-to-action rhythm. */
@media(max-width:649px){
 body.home-view .mission-header{height:50px}.home-world{top:-50px}
 .home-brand>span{font-size:50px}.home-brand>b{font-size:38px}
 .home-intro{margin-top:60px}.home-headline{font-size:28px}
 .home-entry{margin-top:14px}.home-hsk{padding:8px 13px}
 .home-hsk>span{font-size:11px;line-height:1.3;margin-bottom:5px}
 .home-hsk button{min-height:52px}.home-play{margin-top:16px;min-height:55px}
 .home-explore{margin-top:12px}.home-destinations{margin-top:15px}
}
/* Existing personal bests remain reachable at the real Progress destination. */
body.game-world.hub-progress-view:not(.playing) #leaderboard{display:block!important;width:100%;max-width:740px;margin:22px auto;background:#031525da;border:1px solid #6996a63b;box-shadow:0 12px 40px #01071380;border-radius:14px}
