:root{color:#f8fbff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#050814;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--panel: url(/assets/ui/screen-panel.png);--hud: url(/assets/ui/hud-panel.png);--button: url(/assets/ui/button-panel.png);--nav: url(/assets/ui/nav-panel.png)}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden;touch-action:none}body{background:#050814}button{min-height:44px;border:0;padding:0 18px;color:#fff;background-color:transparent;background-image:var(--button);background-size:100% 100%;image-rendering:pixelated;font-weight:900;letter-spacing:0;text-shadow:0 2px 0 #050814;cursor:pointer}button:active{transform:translateY(1px)}button.primary{color:#fff7bd}button.big{min-width:240px;min-height:58px;font-size:18px}.screen{position:relative;width:100%;height:100%;padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));overflow:hidden;background-color:#050814;background-size:cover;background-position:center}.title-screen{display:grid;place-items:center;background-image:url(/assets/screens/title-rooftop.png);image-rendering:pixelated}.title-screen:after,.home-screen:after,.map-screen:after,.stage-screen:after{position:absolute;inset:0;z-index:0;pointer-events:none;content:"";background:#03050d57}.title-content{position:relative;z-index:1;display:grid;justify-items:center;gap:18px;width:min(920px,92vw);padding:22px;text-align:center;background-image:var(--panel);background-size:100% 100%;image-rendering:pixelated}.eyebrow{margin:0 0 8px;color:#a9e5ff;font-size:12px;font-weight:900;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{max-width:760px;margin-bottom:0;color:#fff;font-size:clamp(48px,8vw,104px);line-height:.86;text-shadow:0 3px 0 #091225,0 0 22px #ff58ce}h1 span{display:block;color:#ffe36f;font-size:.34em;line-height:1.5}h2{font-size:clamp(28px,5vw,58px);line-height:.95}.title-art{display:none}.title-actions,.currencies,.bottom-nav,.clear-actions,.map-actions{display:flex;flex-wrap:wrap;gap:10px}.topbar{position:relative;z-index:3;display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.rank,.currencies span,.hud,.bossbar,.speech,.tour-panel,.region-summary,.stage-card,.member-card,.product-card,.mission-list article,.multi-layout article,.clear-panel{background-image:var(--panel);background-size:100% 100%;image-rendering:pixelated}.rank,.currencies span{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 14px}.rank span,.rank small{color:#aec0e5;font-size:11px;font-weight:900}.home-screen{background-image:url(/assets/regions/neon-city-rain.png);image-rendering:pixelated}.home-layout,.stage-layout,.upgrade-layout,.multi-layout{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:stretch;min-height:calc(100vh - 132px)}.home-idol{position:relative;display:grid;place-items:center;min-height:420px}.member-hero{width:min(330px,48vw);max-height:52vh;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 0 28px rgba(255,88,206,.5))}.speech{position:absolute;right:7%;bottom:22%;max-width:330px;padding:22px;color:#fff}.tour-panel,.region-summary,.clear-panel{padding:24px}.bottom-nav{position:absolute;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));left:max(14px,env(safe-area-inset-left));z-index:4;justify-content:center;padding:10px;background-image:var(--nav);background-size:100% 100%;image-rendering:pixelated}.bottom-nav button{min-width:98px}.map-screen{background-image:url(/assets/screens/tour-map.png);image-rendering:pixelated}.back{position:relative;z-index:4}.japan-map{position:relative;z-index:1;width:min(980px,92vw);height:min(68vh,620px);margin:0 auto}.map-art{width:100%;height:100%;object-fit:contain;opacity:.86;image-rendering:pixelated}.map-node{position:absolute;min-width:138px;min-height:62px;transform:translate(-50%,-50%)}.map-node small,.stage-card small,.member-card small{display:block;color:#b9c6e8}.map-actions{position:relative;z-index:2;justify-content:center}.stage-screen{background-image:url(/assets/regions/mythic-shrine-forest.png);image-rendering:pixelated}.stage-layout{grid-template-columns:330px 1fr;min-height:calc(100vh - 150px)}.stage-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-content:start;gap:12px;max-height:calc(100vh - 170px);overflow:auto;padding-right:6px}.stage-card{display:grid;grid-template-columns:1fr auto;gap:12px;min-height:160px;padding:18px}.stage-card.locked{opacity:.66}.stage-actions{display:grid;align-content:space-between;justify-items:end}.game-screen{padding:0;background:#02040d}#game-root,.game-canvas{position:absolute;inset:0;width:100%;height:100%}.hud{position:absolute;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));z-index:5;display:grid;grid-template-columns:160px 160px auto auto auto;gap:10px;align-items:center;max-width:calc(100vw - 160px);padding:14px 18px;font-size:13px;font-weight:900}.hud span,.bossbar{display:grid;gap:4px}.hud b,.bossbar b{display:block;height:7px;background:#ff58ce;box-shadow:0 0 12px #ff58ce}.hud span:nth-child(2) b,.bossbar b{background:#33d7ff;box-shadow:0 0 12px #33d7ff}.bossbar{position:absolute;top:82px;left:max(12px,env(safe-area-inset-left));z-index:5;width:min(520px,74vw);padding:12px 16px;font-weight:900}.touch{position:absolute;z-index:6;display:flex;gap:10px}.left-touch{bottom:max(18px,env(safe-area-inset-bottom));left:max(18px,env(safe-area-inset-left))}.right-touch{right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom))}.touch button{min-width:82px;min-height:58px;display:grid;place-items:center;gap:0;padding:0 10px;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.touch button b{font-size:22px;line-height:1}.touch button small{display:block;font-size:10px;line-height:1}.pause{position:absolute;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:6;width:58px;padding:0}.clear-screen{display:grid;place-items:center;background-image:url(/assets/regions/mythic-cloud-bridge.png);image-rendering:pixelated}.clear-panel{width:min(560px,92vw);padding:30px}.stars{color:#ffe36f;font-size:52px;text-shadow:0 0 16px #ff58ce}dl{display:grid;gap:8px}dl div,.mission-list article{display:flex;justify-content:space-between;gap:12px}.member-grid,.shop-list,.mission-list{position:relative;z-index:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;max-height:calc(100vh - 132px);overflow:auto;padding-bottom:92px}.member-card,.product-card,.mission-list article,.multi-layout article{padding:18px}.member-portrait,.penlight-hero{width:100%;max-height:220px;object-fit:contain;image-rendering:pixelated}.upgrade-layout{align-items:center}.penlight-hero{max-height:360px}.concert{display:grid;place-items:center;height:100%}.lanes{display:grid;grid-template-columns:repeat(4,80px);gap:12px}.lanes i{display:block;height:260px;background-image:var(--panel);background-size:100% 100%}progress{width:100%}@media(hover:hover)and (pointer:fine)and (min-width:761px){.touch{display:none}}@media(max-width:760px){.topbar,.home-layout,.stage-layout,.upgrade-layout,.multi-layout{grid-template-columns:1fr}.currencies{justify-content:flex-end}.stage-layout,.home-layout{min-height:calc(100vh - 120px)}.stage-list{grid-template-columns:1fr;max-height:calc(100vh - 270px)}.hud{top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));grid-template-columns:92px auto;width:min(174px,calc(100vw - 72px));max-width:none;gap:4px 7px;padding:7px 9px;font-size:10px}.hud span:nth-child(2){display:none}.hud b,.bossbar b{height:5px}.hud strong{font-size:10px;white-space:nowrap}.hud strong:nth-of-type(2),.hud em{display:none}.pause{top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));width:46px;min-height:46px;font-size:16px}.touch button{min-width:50px;width:50px;min-height:50px;height:50px;padding:0}.touch button b{font-size:18px}.touch button small{font-size:8px}.left-touch{bottom:max(10px,env(safe-area-inset-bottom));left:max(10px,env(safe-area-inset-left));gap:8px}.right-touch{right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(2,50px);grid-template-rows:repeat(2,50px);gap:8px}.right-touch button:nth-child(1){grid-column:1;grid-row:1}.right-touch button:nth-child(2){grid-column:2;grid-row:1}.right-touch button:nth-child(3){grid-column:2;grid-row:2}}@media(max-width:420px)and (max-height:720px){.hud{width:156px;padding:7px 9px;font-size:9px}.touch button{min-width:46px;width:46px;min-height:46px;height:46px}.right-touch{grid-template-columns:repeat(2,46px);grid-template-rows:repeat(2,46px);gap:7px}}
