/* Cloudstride 1.2: one-screen lobby and reusable layered collections. */
body{overflow:hidden}
#app{height:100dvh;display:grid;grid-template-rows:68px minmax(0,1fr);overflow:hidden}
.site-header{height:68px;width:100%;max-width:1680px;padding:0 clamp(24px,5vw,90px);gap:28px}
.brand-name{font-size:27px}.brand-sub{font-size:8px;letter-spacing:3px}
.main-nav{margin-left:28px;gap:28px}.nav-button{font-size:12px}
.lobby-v12{height:100%;width:100%;max-width:none;margin:0;position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-rows:minmax(150px,1fr) clamp(280px,39vh,370px) 76px 20px;gap:8px;padding:0 clamp(24px,5vw,90px) 14px}
.lobby-backdrop,.lobby-wash{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.lobby-backdrop{object-fit:cover;object-position:center 38%;z-index:-3}
.lobby-wash{z-index:-2;background:linear-gradient(90deg,#f7f6eff5 0%,#f7f6efd9 25%,#f7f6ef20 57%,#f7f6ef05 100%),linear-gradient(0deg,#f7f6ef 0%,#f7f6eff2 20%,#f7f6ef94 40%,transparent 72%)}
.lobby-v12 .hero{height:auto;min-height:0;overflow:visible;border:0;border-radius:0;isolation:auto;display:flex;align-items:center}
.lobby-v12 .hero:before,.lobby-v12 .hero:after{content:none}
.lobby-v12 .hero-copy{margin:0;padding:0;max-width:520px}
.lobby-v12 .eyebrow{font-size:9px;letter-spacing:2px}
.lobby-v12 h1{font-size:clamp(36px,3.8vw,58px);line-height:1.04;letter-spacing:-1.8px;margin:13px 0 12px}
.lobby-v12 .hero-intro{font-size:11px;line-height:1.85}
.current-path{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:10px;color:#637e62;letter-spacing:.2px}
.current-path .icon{width:15px;height:15px}
.lobby-v12 .weather{top:20px;right:0;padding:10px 14px;background:#fafbefc9;border-color:#ffffffe0}
.lobby-v12 .hero-sound{right:0;bottom:14px;top:auto}
.lobby-v12 .chapter-section{padding:0;margin:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) 18px;gap:3px}
.lobby-v12 .section-heading{margin:0;align-items:end;min-height:43px}
.lobby-v12 .section-heading h2{font-size:25px;line-height:1.08}
.lobby-v12 .section-kicker{font-size:8px;letter-spacing:2px;margin-bottom:5px}
.lobby-v12 .completion{font-size:10px;gap:9px;white-space:nowrap}
.deck-help{text-align:center;font-size:9px;line-height:18px;color:#839277;letter-spacing:.3px}
.depth-carousel{--card-width:clamp(228px,21vw,300px);--card-height:clamp(162px,22vh,232px);height:100%;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) 32px;position:relative}
.depth-viewport{position:relative;min-height:0;width:100%;overflow:hidden;overflow:clip;perspective:1100px;perspective-origin:50% 45%;touch-action:pan-y;user-select:none;cursor:grab}
.depth-track{position:absolute;inset:0;transform-style:preserve-3d;pointer-events:none}
.depth-card{position:absolute;left:50%;top:50%;width:var(--card-width);height:var(--card-height);padding:0;min-width:0;max-width:none;overflow:hidden;background:#f9f8ec;border:1px solid #b7c3a8;border-radius:7px;box-shadow:0 12px 25px #2c493226,0 2px 4px #34473615;transform-origin:50% 50%;backface-visibility:hidden;transition:transform .46s cubic-bezier(.2,.75,.25,1),opacity .32s,box-shadow .3s,border-color .3s;text-align:left;outline-offset:3px;will-change:transform;cursor:pointer}
.depth-card{pointer-events:auto}.depth-card.is-active{border-color:#668367;box-shadow:0 18px 35px #29483238,0 4px 8px #3b4d2d1a}
.depth-card.is-active:after{content:'';position:absolute;inset:3px;border:1px solid #e3e5c9;border-radius:4px;pointer-events:none}
.depth-card.is-far{visibility:hidden;pointer-events:none}
.depth-card:hover.is-active{border-color:#a99157;box-shadow:0 20px 40px #29483242}
.depth-card:focus-visible{outline:3px solid #b39c62}
.is-initializing .depth-card{transition:none}.is-dragging .depth-card{transition:none;cursor:grabbing}.is-dragging .depth-viewport{cursor:grabbing}
.depth-controls{display:flex;align-items:center;justify-content:center;gap:12px;position:relative;z-index:40}
.deck-arrow{display:grid;place-items:center;width:31px;height:31px;border:1px solid #b7c5ad77;border-radius:50%;background:#f8faed9c;color:#617f5e;padding:0}
.deck-arrow:hover:not(:disabled){background:#e4ecd6;border-color:#8eaa80}
.deck-arrow .icon{width:15px;height:15px}.deck-arrow.previous .icon{transform:rotate(180deg)}
.deck-arrow:disabled{opacity:.3}.deck-dots{display:flex;gap:7px;align-items:center}
.deck-dots button{width:5px;height:5px;border-radius:10px;padding:0;background:#b3bda5;position:relative;transition:width .25s,background .2s}
.deck-dots button:before{content:'';position:absolute;inset:-7px -3px}
.deck-dots button.active{width:21px;background:#62815e}
.deck-counter{font-size:8px;letter-spacing:1.4px;color:#8d997e;min-width:41px}
.depth-carousel[data-count="1"] .deck-arrow,.depth-carousel[data-count="1"] .deck-dots{display:none}
.depth-card.chapter-card{scroll-snap-align:none;display:grid;grid-template-rows:minmax(60px,1fr) auto}
.depth-card .chapter-art{height:auto;min-height:0}
.depth-card .chapter-art>img{width:100%;height:100%;object-fit:cover;object-position:45% 45%;filter:saturate(.8);pointer-events:none}
.depth-card .chapter-art:after{background:linear-gradient(0deg,#203e4177,transparent 85%)}
.depth-card.is-locked .chapter-art>img{filter:saturate(.35) brightness(.85)}
.depth-card.chapter-1 .chapter-art>img{object-position:20% 40%}
.depth-card.chapter-2 .chapter-art>img{object-position:50% 18%}
.depth-card.chapter-3 .chapter-art>img{object-position:75% 75%}
.depth-card.chapter-4 .chapter-art>img{filter:sepia(.3) saturate(.8);object-position:20% 70%}
.depth-card.chapter-5 .chapter-art>img{filter:hue-rotate(17deg) saturate(.45) brightness(.75);object-position:80% 50%}
.depth-card .chapter-number{top:9px;left:14px;font-size:28px;font-style:italic}
.depth-card .chapter-status{top:12px;right:13px}.depth-card .chapter-status .icon{width:14px;height:14px}
.depth-card .chapter-art .chapter-tag{font-size:7px;letter-spacing:1.3px;left:13px;bottom:9px}
.chapter-duration{position:absolute;right:12px;bottom:8px;z-index:1;color:#fffce8;font-size:8px}
.depth-card .chapter-body{padding:9px 14px 10px;background:linear-gradient(120deg,#faf9ed,#eff2e3);min-height:77px}
.depth-card .chapter-body h3{font-size:21px;font-weight:400;line-height:1.08}
.chapter-subtitle{color:#8b987f;font-size:8px;line-height:1.5;margin-top:3px}
.chapter-card-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:7px}
.chapter-enter{display:flex;gap:5px;align-items:center;font-size:8px;color:#5d7c5c}
.chapter-enter .icon{width:11px;height:11px}.is-locked .chapter-enter{color:#949c88}
.depth-card .stars .icon{width:9px;height:9px}
.lobby-dock{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;min-height:0;z-index:1}
.dock-entry{min-width:0;display:flex;align-items:center;gap:13px;text-align:left;padding:11px 17px;background:#fafbefc7;border:1px solid #d6ddc9;border-radius:5px;backdrop-filter:blur(8px);transition:border-color .2s,background .2s}
.dock-entry:hover{background:#f9fcebf0;border-color:#9bb08a}
.dock-entry>.icon{margin-left:auto;width:14px;height:14px;color:#8c9e7b}
.dock-entry .avatar{width:43px;height:43px;flex-shrink:0}
.dock-copy{display:flex;flex-direction:column;min-width:0;gap:3px}
.dock-copy small{font-size:7px;letter-spacing:1.6px;color:#839773;margin:0}
.dock-copy strong{font-family:var(--serif);font-size:17px;line-height:1.1;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dock-copy>span{font-size:8px;color:#8b977e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dock-glyph{width:43px;height:43px;display:grid;place-items:center;flex-shrink:0;color:#77936e;background:#e7eddc;border:1px solid #dce4d0;border-radius:50%}
.dock-glyph .icon{width:23px;height:23px;stroke-width:1.2}
.lobby-v12 .site-footer{height:20px;padding:0;display:flex;align-items:center;justify-content:space-between;font-size:8px;color:#97a18b;letter-spacing:.2px}
.site-footer>span{display:flex;gap:6px;align-items:center}.site-footer .icon{width:11px;height:11px}
.shop-dialog{--product-height:clamp(280px,38vh,340px);width:min(1040px,calc(100% - 48px));max-height:calc(100dvh - 38px);overflow:auto;background:radial-gradient(ellipse at 50% 45%,#edf1df,#f8f7ef 68%)}
.shop-header{padding:22px 30px 17px;align-items:center}
.shop-header .section-kicker{font-size:8px;color:#91a17f;margin-bottom:6px}
.shop-header h2{font-size:32px}.shop-header p{font-size:11px;margin-top:5px}
.shop-header-tools{display:flex;align-items:center;gap:14px}
.shop-dialog .shop-tabs{justify-content:center;gap:38px;padding:0 22px;overflow:auto}
.shop-dialog .shop-tab{display:flex;align-items:center;gap:7px;padding:14px 0;font-size:12px}
.shop-tab .icon{width:17px;height:17px;stroke-width:1.3}
.shop-gallery{height:calc(var(--product-height) + 88px);display:grid;grid-template-rows:22px minmax(0,1fr);padding-top:12px}
.shop-category-line{display:flex;align-items:center;justify-content:space-between;padding:0 32px;font-size:9px;color:#91a080;letter-spacing:1px}
.shop-dialog .depth-carousel{--card-width:300px;--card-height:var(--product-height)}
.shop-dialog .depth-viewport{perspective:1100px}
.product-card{border-color:#c4ccb4;display:grid;grid-template-rows:36% minmax(0,1fr);background:#fbfaef}
.product-card:not(.is-active) .shop-buy{pointer-events:none}
.product-art{position:relative;overflow:hidden;background:#e6eddd;background:radial-gradient(ellipse at 40% 60%,color-mix(in srgb,var(--item-accent) 22%,#edf2dd),#eff2e4 75%);color:var(--item-accent)}
.product-overline{position:absolute;top:12px;left:17px;font-size:7px;letter-spacing:1.8px;text-transform:uppercase;color:#86967a}
.product-aura{position:absolute;width:83px;height:83px;border:1px solid #ffffff9e;border-radius:50%;left:11px;top:17px;transform:rotate(25deg)}
.product-aura:after{content:'';position:absolute;inset:8px;border:1px solid #a9b69a40;transform:rotate(45deg);border-radius:9px}
.product-glyph{position:absolute;left:24px;top:34px;filter:drop-shadow(0 4px 5px #48633b16)}
.product-glyph .icon{width:51px;height:51px;stroke-width:1}
.product-metric{position:absolute;right:23px;top:35px;text-align:center}
.product-metric strong{display:block;font-family:var(--serif);font-size:30px;line-height:1;font-weight:400}
.product-metric strong small{font-family:var(--sans);font-size:10px}
.product-metric>span{display:block;font-size:8px;color:#8d9b80;margin-top:5px}
.product-status{position:absolute;left:17px;bottom:8px;font-size:7px;color:#89977d}
.outfit-colors{display:flex;gap:5px;height:25px;align-items:center;justify-content:center}
.outfit-colors i{width:16px;height:16px;background:#faf3dc;border:2px solid #fff9;border-radius:50%;box-shadow:0 1px 4px #6781581a}
.outfit-colors i:last-child{background:#b9a475}
.product-info{min-height:0;display:flex;flex-direction:column;padding:12px 18px 9px}
.product-info h3{font-family:var(--serif);font-size:24px;line-height:1.1;font-weight:400;letter-spacing:-.4px}
.product-info>p{font-size:10px;line-height:1.65;color:#89967b;margin:6px 0 9px;min-height:32px}
.product-info .upgrade-dots{margin:0 0 8px;align-items:center;gap:4px}
.product-info .upgrade-dots i{width:18px;height:3px}
.upgrade-dots span{font-size:7px;color:#9a9e7e;margin-left:auto}
.product-info .shop-buy{width:100%;flex-shrink:0;min-height:37px;background:var(--green);color:#fffbea;gap:6px;font-size:10px;border:1px solid #3b6d58;margin-top:auto}
.product-info .shop-buy:hover:not(:disabled){background:#244f42}
.product-info .shop-buy.selected,.product-info .shop-buy:disabled{background:#e2ead9;color:#6d8561;border-color:#d5e0c9}
.product-affordance{display:block;text-align:center;font-size:7px;line-height:1.4;color:#a09876;margin-top:7px;min-height:10px}
.shop-footer{border-top:1px solid #dde2d2;padding:16px 30px 19px;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:65px}
.shop-footer .shop-note{margin:0;font-size:10px;max-width:57%}
.shop-footer .carry-toggle{margin:0;font-size:11px;gap:8px}
.bag-count{color:#8b9d7a;font-size:10px}
.equipped-kit{display:flex;align-items:center;gap:7px;font-size:9px;color:#819473;white-space:nowrap}
.equipped-kit .icon{width:15px;height:15px}.equipped-kit i{height:15px;width:1px;background:#d7decb;margin:0 5px}
@media(min-width:901px) and (max-height:700px){
 #app{grid-template-rows:58px minmax(0,1fr)}.site-header{height:58px}.brand-name{font-size:24px}
 .lobby-v12{grid-template-rows:minmax(120px,1fr) 248px 62px 16px;gap:4px;padding-bottom:8px}
 .lobby-v12 h1{font-size:40px;margin:9px 0}.lobby-v12 .hero-intro{font-size:10px;line-height:1.65}.current-path{margin-top:9px;font-size:9px}
 .lobby-v12 .section-heading{min-height:36px}.lobby-v12 .section-heading h2{font-size:21px}.lobby-v12 .section-kicker{font-size:7px}
 .depth-carousel{--card-height:150px}.depth-card .chapter-body{padding:7px 13px 8px;min-height:69px}.depth-card .chapter-body h3{font-size:19px}.chapter-card-foot{margin-top:4px}
 .dock-entry{padding:8px 13px;gap:10px}.dock-entry .avatar,.dock-glyph{height:36px;width:36px}.dock-copy strong{font-size:15px}.dock-copy small{font-size:6px}.dock-copy>span{font-size:7px}
 .lobby-v12 .site-footer{height:16px;font-size:7px}
 .shop-dialog{--product-height:270px}.shop-header{padding:16px 26px 12px}.shop-header h2{font-size:29px}.shop-header .section-kicker{display:none}.shop-footer{padding:12px 26px;min-height:52px}
}
@media(max-width:1100px) and (min-width:901px){
 .site-header{gap:18px}.main-nav{margin-left:14px;gap:23px}.header-tools{gap:8px}
 .lobby-v12{padding-left:32px;padding-right:32px}.lobby-v12 h1{font-size:44px}.lobby-v12 .hero-copy{max-width:450px}
 .dock-entry{padding-left:12px;padding-right:12px;gap:9px}.dock-copy strong{font-size:16px}.dock-copy>span{font-size:7px}
}
@media(max-width:900px){
 body{overflow:auto;overflow-x:hidden}#app{height:auto;min-height:100dvh;grid-template-rows:64px minmax(0,1fr);overflow:hidden}
 .site-header{height:64px;padding:0 23px;gap:15px}.main-nav{display:none}.brand-name{font-size:25px}.brand-sub{font-size:7px}
 .lobby-v12{height:auto;min-height:calc(100dvh - 64px);padding:0 24px 12px;grid-template-rows:minmax(230px,1fr) 300px 78px 22px;gap:9px}
 .lobby-backdrop{object-position:80% top}.lobby-wash{background:linear-gradient(90deg,#f7f6efca 0%,#f7f6ef59 60%,#f7f6ef0a),linear-gradient(0deg,#f7f6ef 0%,#f7f6eff0 27%,#f7f6ef99 48%,transparent 80%)}
 .lobby-v12 .hero-copy{max-width:400px}.lobby-v12 h1{font-size:42px;line-height:1.05}.lobby-v12 .eyebrow{font-size:7px;letter-spacing:1.5px}.lobby-v12 .hero-intro{font-size:10px}
 .lobby-v12 .weather{top:17px;padding:8px 10px}.lobby-v12 .hero-sound{bottom:18px;top:auto;right:0}
 .depth-carousel{--card-width:250px;--card-height:184px}.lobby-v12 .section-heading h2{font-size:23px}
 .dock-entry{gap:8px;padding:11px}.dock-entry>.icon{display:none}.dock-copy strong{font-size:15px}.dock-copy small{font-size:6px}.dock-copy>span{font-size:7px}
 .dock-entry .avatar,.dock-glyph{width:36px;height:36px}.dock-glyph .icon{width:20px;height:20px}
 .lobby-v12 .site-footer>span:last-child{display:none}.lobby-v12 .site-footer{justify-content:center}
}
@media(max-width:600px){
 .site-header{padding:0 20px;gap:8px}.brand-name{font-size:25px}.header-tools{gap:7px}
 .lobby-v12{grid-template-rows:clamp(248px,32vh,290px) 300px 86px 20px;padding:0 16px 10px;min-height:calc(100dvh - 64px);gap:7px}
 .lobby-v12 .hero-copy{max-width:295px;padding-left:6px}.lobby-v12 h1{font-size:37px;letter-spacing:-1.2px;margin:11px 0;max-width:300px}.lobby-v12 .hero-intro{font-size:9px;line-height:1.8;white-space:normal;max-width:240px}
 .lobby-v12 .weather{display:none}.lobby-v12 .hero-sound{bottom:18px;right:5px;width:30px;height:30px}
 .current-path{font-size:8px;margin-top:12px;max-width:260px}.current-path .icon{width:13px;height:13px}
 .lobby-v12 .section-heading{padding:0 6px;min-height:40px}.lobby-v12 .section-heading h2{font-size:22px;max-width:230px}.lobby-v12 .section-kicker{font-size:6px;letter-spacing:1.5px}.lobby-v12 .completion{font-size:8px;gap:5px;max-width:91px;white-space:normal}.completion-bar{width:31px;flex-shrink:0}
 .depth-carousel{--card-width:238px;--card-height:206px}.depth-card .chapter-art .chapter-tag{font-size:7px}.depth-card .chapter-body{padding:11px 14px;min-height:80px}.depth-card .chapter-body h3{font-size:23px}.chapter-subtitle{font-size:9px}.chapter-card-foot{margin-top:7px}.chapter-enter{font-size:9px}
 .depth-controls{gap:9px}.deck-help{font-size:8px;letter-spacing:0}.deck-counter{font-size:7px}
 .lobby-dock{gap:7px}.dock-entry{padding:9px 5px;gap:5px;justify-content:center;flex-direction:column;text-align:center}.dock-entry .avatar,.dock-glyph{height:25px;width:25px}.dock-glyph .icon{width:16px;height:16px}
 .dock-copy{align-items:center;gap:3px;max-width:100%}.dock-copy small{font-size:5px;letter-spacing:1px}.dock-copy strong{font-family:var(--sans);font-size:9px;max-width:100%}.dock-copy>span{font-size:6px;max-width:100%}.lobby-v12 .site-footer{font-size:7px}
 .shop-dialog{--product-height:330px;width:calc(100% - 24px);max-height:calc(100dvh - 26px)}.shop-header{padding:19px 18px 15px}.shop-header h2{font-size:29px}.shop-header p{font-size:9px;max-width:210px}.shop-header .section-kicker{font-size:6px;letter-spacing:1.4px}
 .shop-header-tools{gap:5px}.shop-header-tools .coin-pill{font-size:10px;padding:7px 9px;min-width:60px}.shop-header-tools .icon-button{width:28px;height:28px}
 .shop-dialog .shop-tabs{gap:22px;padding:0 16px;justify-content:flex-start}.shop-dialog .shop-tab{font-size:10px;gap:5px;padding:13px 0}.shop-tab .icon{width:15px;height:15px}
 .shop-category-line{padding:0 19px;font-size:8px}.shop-dialog .depth-carousel{--card-width:254px}
 .product-card{grid-template-rows:38% minmax(0,1fr)}.product-art .product-glyph{top:44px}.product-glyph .icon{width:55px;height:55px}.product-metric{top:43px;right:22px}.product-overline{font-size:7px}.product-aura{top:24px}
 .product-info{padding:14px 16px 11px}.product-info h3{font-size:24px}.product-info>p{font-size:10px;line-height:1.75;min-height:35px;margin-top:8px;margin-bottom:10px}
 .product-info .shop-buy{min-height:41px;font-size:11px}.product-affordance{font-size:7px;margin-top:8px}
 .shop-footer{padding:13px 18px 16px;flex-wrap:wrap;gap:10px;min-height:70px}.shop-footer .shop-note{max-width:100%;font-size:9px;width:100%}.equipped-kit{font-size:8px}.shop-footer .carry-toggle{font-size:10px}
}
@media(max-width:360px){
 .site-header{padding:0 14px}.brand-name{font-size:22px}.header-tools{gap:4px}.lobby-v12{padding-left:11px;padding-right:11px}.lobby-v12 h1{font-size:34px}.lobby-v12 .hero-copy{max-width:278px}
 .depth-carousel{--card-width:220px}.shop-dialog .depth-carousel{--card-width:238px}.lobby-v12 .section-heading h2{font-size:20px}.shop-dialog .shop-tabs{gap:16px}
}
@media(prefers-reduced-motion:reduce){.depth-card,.deck-dots button{transition:none;will-change:auto}}
.chapter-subtitle{font-size:10px}.chapter-enter{font-size:10px}
.product-info>p{font-size:11px}.product-info .shop-buy{font-size:12px}.upgrade-dots span{font-size:8px}
@media(max-width:900px){
 #app{grid-template-rows:calc(64px + env(safe-area-inset-top)) minmax(0,1fr)}
 .site-header{height:calc(64px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
 .lobby-v12{min-height:calc(100dvh - 64px - env(safe-area-inset-top));padding-left:max(clamp(16px,3vw,24px),env(safe-area-inset-left));padding-right:max(clamp(16px,3vw,24px),env(safe-area-inset-right));padding-bottom:max(10px,env(safe-area-inset-bottom))}
}
@media(max-width:600px){
 .dock-copy strong{font-size:11px}.dock-copy small{font-size:6px}.dock-copy>span{font-size:7px}
 .shop-dialog .shop-tab{font-size:11px;gap:4px}.shop-dialog .shop-tabs{gap:18px}
 .product-info>p{font-size:11px}.product-info .shop-buy{font-size:12px}.chapter-enter{font-size:10px}
}
