/* The game has one landscape camera on desktop and mobile. Portrait is a rotation prompt. */
/* Entry and idle motion share the same five character elements. */
.character-stage .party-member{animation-delay:0s}
.character-stage.opening .featured,.character-stage.opening .party-member{animation:lobby-entry 1.5s cubic-bezier(.2,.75,.25,1) both;animation-delay:calc(var(--entry-order,0)*.12s);pointer-events:none}
.character-stage.opening .character-caption{opacity:0}
.character-caption{transition:opacity .2s ease-out}
@keyframes lobby-entry{0%{opacity:0;transform:translate(calc((var(--entry-order,0) - 2)*34px),65px) scale(.35)}30%{opacity:.7}72%{opacity:1;transform:translate(0,-7px) scale(1.03)}100%{opacity:1;transform:translate(0,0) scale(1)}}
@media(prefers-reduced-motion:reduce){.character-stage.opening .featured,.character-stage.opening .party-member{animation:none!important;opacity:1}.character-stage.opening .character-caption{opacity:1}}
#rotate-dialog{position:fixed;inset:0;margin:0;width:100vw;height:100svh;max-width:none;max-height:none;border:0;border-radius:0;padding:40px 24px;background:radial-gradient(ellipse at 30% 20%,#f3dce9,transparent 65%),#fff4e6;text-align:center;align-content:center;z-index:100}#rotate-dialog::backdrop{background:#fff4e6}#rotate-dialog h2{font:500 27px/1.7 var(--serif);letter-spacing:.05em;margin:22px 0}#rotate-dialog p:not(.eyebrow){font-size:13px;line-height:2.1;color:#937a89}#rotate-dialog small{font-size:10px;color:#ab9195;display:block;margin-top:30px}.rotate-phone{border:3px solid #b8909f;width:100px;height:57px;border-radius:12px;margin:0 auto 38px;color:#b8909f;font-size:35px;line-height:49px;transform:rotate(-12deg);box-shadow:0 8px 30px #b58a9e20}.touch-controls button{-webkit-tap-highlight-color:transparent}.play-screen{background:#eee2e8}@media(pointer:coarse) and (orientation:landscape) and (max-height:600px){.home-screen{padding:12px 35px;min-height:100svh}.masthead{height:30px}.home-content{min-height:165px;height:calc(100svh - 168px);max-height:340px;grid-template-columns:1fr 1fr}.intro{padding:8px 0}.intro .eyebrow{margin:0;font-size:7px}h1{font-size:48px;line-height:1.05;margin:12px 0 8px}h1 span{display:inline;margin:0}.subtitle{font-size:12px;margin:8px 0;letter-spacing:.2em}.intro-copy,.small-note{display:none}.start-group{flex-direction:row;margin-top:15px}.start-group button{padding:11px 20px;font-size:11px}.character-stage{min-height:165px;height:100%}.featured{height:93%;width:62%;bottom:5%;right:12%}.stage-orbit{bottom:6%;width:65%}.character-caption{right:-18px;bottom:20%;width:110px}.character-caption h2{font-size:20px;margin:6px}.character-caption p{font-size:9px;line-height:1.6}.character-caption>span{font-size:8px}.stage-spark{font-size:26px}.roster-wrap{margin:7px auto 0;max-width:620px}.roster-heading{margin:0 2px 6px;font-size:10px}.roster-heading small{font-size:8px}.hero-picker{gap:9px}.hero-card{min-height:64px;padding:2px 2px 5px}.hero-card img{height:43px}.hero-card strong{font-size:9px}.hero-card small{font-size:7px}.home-footer{display:none}.hud{top:8px;left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right))}.health-panel{min-width:200px;padding:5px 10px}.health-panel img{height:32px;width:30px}.health-track{margin:5px 0}.hud-middle{padding:5px 15px}.hud-middle strong{font-size:18px;margin:2px}.hud-middle span{font-size:9px}.hud-middle small{font-size:8px}.hud-right .round{height:34px;width:34px}.gem-count{padding:7px 12px;font-size:13px}.game-hint{bottom:15px;padding:8px 14px;font-size:9px;max-width:45%;overflow:hidden;text-overflow:ellipsis}.touch-controls{bottom:14px;left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right))}.touch-controls button{height:45px;width:45px;font-size:20px}.touch-controls .touch-jump{height:56px;width:56px}dialog{max-height:94svh}#pause-dialog,#result-dialog{padding:20px 30px}#pause-dialog h2,#result-dialog h2{font-size:25px;margin:6px}.result-stars{font-size:30px;margin:0}.result-stats{margin:15px}.dialog-actions{margin-top:15px}}
