/* Positions measured against v1/000021.jpg and v1/000081.jpg (922 × 2048).
   Artwork is K-pop adapted; this file does not claim pixel identity. */
.shell{background:#201d2b;gap:0}.desktop-note{display:none}
#game{width:min(100vw,calc(100dvh * .4501953125));height:100dvh;max-height:none;max-width:none;container-type:size}
@media(max-width:600px){#game{width:min(100vw,calc(100dvh * .4501953125))}}
.ui-icon{display:block;width:100%;height:100%;pointer-events:none}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.hud{inset:0;pointer-events:none}.hud button{pointer-events:auto}
.hud-top{display:contents}.square,.rail,.bottom-nav button{border:3px solid #403b57;border-radius:2px;background:linear-gradient(135deg,#f5eefc,#aaa7d1 22%,#ede6f5 24%,#a3a1c5 29%,#dad5f0 85%,#7b779d);box-shadow:1px 3px 1px #24223a;display:grid;place-items:center;padding:5px;color:#f8f2ff}
.square .ui-icon,.rail .ui-icon,.bottom-nav .ui-icon{background:linear-gradient(135deg,#4a435d,#827b97);border:2px solid #373449;padding:3px}
.hud .square{position:absolute;top:5.4%;width:13%;height:6%}.hud [data-open=map]{left:5%}.hud [data-open=settings]{right:5%}
.wallet{position:absolute;top:5.2%;left:22%;width:27%;height:2.8%;background:#fffaf2;border:2px solid #d79c51;border-radius:0;padding:0;transform:skew(-20deg);box-shadow:2px 3px #635552}
.wallet small{display:none}.wallet strong{font-size:3.8cqw;line-height:1.4;text-align:center;transform:skew(20deg);color:#302937;font-weight:700}.wallet b{position:absolute;width:32%;height:180%;left:-13%;top:-35%}
.wallet.rate{left:53%;width:26%}.wallet.rate>.ui-icon{position:absolute;width:32%;height:180%;left:-12%;top:-35%;transform:skew(20deg)}.wallet.rate strong:after{content:'/с'}
.hud-second{display:contents}.premium{position:absolute;top:9.4%;left:39%;width:28%;height:2.5%;padding:0;border:2px solid #d49b53;border-radius:0;background:#fffaf2;color:#302937;font-size:3.8cqw;font-weight:700}.premium>.ui-icon{position:absolute;width:30%;height:155%;left:-18%;top:-30%}.premium b{position:absolute;right:-6%;top:-25%;height:150%;width:27%;border:2px solid #9e6471;border-radius:1px;background:#f4d36e;line-height:1.1;font-size:6cqw;padding:0;margin:0}
.energy-wrap{position:absolute;top:14.1%;left:43%;width:17%;height:1.5%;gap:0}.energy-wrap>span{position:absolute;left:-20%;width:35%;height:240%;z-index:1}.energy-wrap #energy{width:100%;height:100%;border:2px solid #f5f7dc;border-radius:0;transform:skew(-20deg);background:#526b3f}#energy::-webkit-progress-bar{background:#526b3f;border-radius:0}#energy::-webkit-progress-value{background:#60e23b;border-radius:0}
.left-rail,.right-rail{top:13.7%;width:13%;gap:2.4cqh}.left-rail{left:5%}.right-rail{right:5%}.rail{width:100%;height:6cqh;min-height:0;font-size:0}.rail small{display:none}.right-rail .gift{display:none}
.scene-caption,.milestone{display:none}.idol{left:13%;width:56%;height:43%;bottom:23%;animation:sway 2.2s ease-in-out infinite}.duet .idol{left:35%;width:52%;height:43%;bottom:23%}.partner{bottom:27%;height:40%}
.utility{left:5%;right:5%;bottom:10%;height:6%;justify-content:space-between}.utility .square{width:14.5%;height:100%}
.bottom-nav{left:5%;right:5%;bottom:2%;height:6.5%;padding:0;gap:5.5%;background:none;border-radius:0;box-shadow:none}.bottom-nav button{height:100%;min-height:0;flex:1;min-width:0;font-size:0;padding:4px}.bottom-nav button.active{background:#f4d488}.bottom-nav .ui-icon{width:100%;height:100%}
.floating-invite{width:10%;height:4.5%;bottom:35%;left:3%;padding:4px;border:2px solid #dfc28c;border-radius:4px;background:#76658dcc;box-shadow:0 2px 6px #39314466;animation:float 3s ease-in-out infinite}.floating-invite.second{width:10%;height:4.5%;right:3%;bottom:29%;background:#76658dcc}.floating-invite span{display:none}
#overlay{backdrop-filter:none;background:#11121a99;padding:4cqw}#overlay.story-overlay{padding:0;background:transparent!important}
.story-mode>.hud,.story-mode>.left-rail,.story-mode>.right-rail,.story-mode>.utility,.story-mode>.bottom-nav,.story-mode>.floating-invite{visibility:hidden;pointer-events:none}
.story-mode #props,.story-mode .floor-light{visibility:hidden}.story-mode .scene:after{display:none}.story-mode .idol{animation:none;pointer-events:none;left:15%;width:54%;height:43%;bottom:18%}.intro-mode .idol{left:10%;width:51%;height:45%;bottom:18%}
.dialogue{position:absolute;left:5%;top:14%;width:90%;height:23%;max-height:none;margin:0;border:4px solid #645b77;border-radius:2px;padding:1cqw 1.8cqw;background:#fffaf5;overflow:visible;box-shadow:none;color:#352c40}
.dialogue .speaker{top:auto;bottom:100%;left:2%;padding:.5cqw 2cqw;border:3px solid #645b77;border-radius:1px;background:#8c7fa5;color:#fff;font-size:4.4cqw;line-height:1.4;font-weight:700}
.dialogue p{font-size:4.8cqw;line-height:1.35;margin:0;font-weight:600;overflow:auto;max-height:100%;scrollbar-width:thin}
.dialogue:after{bottom:-4cqh;left:52%;border-width:4cqh 5cqw 0 0;border-top-color:#fffaf5;filter:drop-shadow(-3px 3px 0 #645b77);transform:skew(-24deg)}
.dialogue footer{position:fixed;inset:0;pointer-events:none}.dialogue .story-next{position:absolute;right:5%;bottom:10%;padding:.3cqh 2cqw;background:#8c7fa5;border:3px solid #645b77;border-radius:1px;box-shadow:none;font-size:5cqw;line-height:1.4;pointer-events:auto;font-weight:600}
.scene-enter{animation:scene-enter .35s ease-out}@keyframes scene-enter{from{opacity:0}to{opacity:1}}
.panel{border-radius:2px;border:5px solid #b5a6ca;background:#51495f;color:#fff9fd;max-height:87%;box-shadow:0 0 0 2px #332d45}.panel-head{background:#635772;padding:2cqw 3cqw;border-color:#91839d}.panel-head h2{font-size:5cqw;font-weight:700}.panel-head small{color:#f0e4f3}.close{border:2px solid #91657a;border-radius:1px;background:#edb870;color:#593950}.panel-body{padding:3cqw}.panel p{color:inherit}.skill-row{position:relative;border-radius:2px;border:2px solid #c6bed5;box-shadow:inset 0 0 0 2px #3a3548;background:#7a708b;min-height:12cqh;margin:2.5cqh 0 0;padding:2.5cqh 2cqw 1cqh;grid-template-columns:19% 1fr;gap:2cqw}.skill-row:first-child{margin-top:1.7cqh}.skill-title{position:absolute;top:-1.2cqh;left:23%;right:6%;text-align:center;background:#cc98b9;border:2px solid #805776;padding:.3cqh .5cqw;font-size:3.1cqw;font-weight:600}.skill-icon{width:100%;height:6.5cqh;background:#635a77;border:2px solid #494259;border-radius:1px;color:#f1d3ef}.skill-icon svg{width:90%;height:90%}.skill-level{color:#fff;font-size:2.7cqw}.skill-bonus{font-size:2.8cqw!important;color:#e0f8b6!important;max-width:60%;margin:.6cqh 0}.skill-row progress{height:.5cqh;border-radius:0}.skill-info .buy{position:absolute;right:3%;top:37%;min-width:29%;padding:.4cqh 1cqw;border-radius:1px;font-size:3.2cqw;background:#c1e993;color:#314839}.skill-info .buy:disabled{background:#aaa7b3;color:#575365}.modes{padding:1.5cqh 3cqw;justify-content:center}.modes button{max-width:25%;border-radius:1px;transform:skew(-15deg);font-size:3.3cqw;padding:.6cqh 1cqw}.modes button.selected{background:#b5dc82;color:#374638;border-color:#557647}.item-copy p{color:#e2d5e8}.secondary{background:#e5d4e7}.notice{color:#69516c!important}
@media(prefers-reduced-motion:reduce){.scene-enter{animation:none}}
.reference-mini{padding:0;background:#20212d}.reference-mini canvas{position:absolute;inset:0;width:100%;height:100%;border-radius:0}.reference-mini .mini-header{position:absolute;inset:0;pointer-events:none;display:block}.reference-mini .square{position:absolute;top:5.4%;width:13%;height:6%;pointer-events:auto}.mini-back{left:5%}.mini-sound{right:5%}.mini-energy{position:absolute;top:13.5%;left:40%;width:22%;height:2%;z-index:2;pointer-events:none}.mini-energy .ui-icon{position:absolute;width:38%;height:200%;left:-25%;top:-50%;z-index:1}.mini-energy progress{width:100%;height:100%;border:2px solid #eaf3c7;border-radius:0;transform:skew(-20deg)}.mini-energy progress::-webkit-progress-value{background:#61dc40;border-radius:0}.mini-wallet,.mini-rate{position:absolute;top:6.2%;left:23%;width:25%;text-align:center;background:#fff8ee;border:2px solid #d2a362;color:#302c3d;font-size:4cqw;transform:skew(-15deg)}.mini-rate{left:54%}.strings-mini .mini-wallet{top:13%;left:38%}.strings-mini .mini-energy{top:6.5%}.strings-mini{background:repeating-linear-gradient(30deg,#51475d,#51475d 40px,#574e63 40px,#574e63 44px)}.reference-mini .mini-tutorial{position:absolute;inset:27% 5% 10%;padding:0;z-index:3;text-align:center;margin:0}.reference-mini .mini-tutorial p{font-size:6cqw;line-height:1.4;margin:1cqh 0}.reference-mini .collect-instruction{color:#49d4b2}.reference-mini .bonus-instruction{color:#f1d93e}.reference-mini .danger-instruction{color:#ed525b}.collector-preview{width:15cqw;height:15cqw;margin:7cqh auto 3cqh;border-radius:50%;box-shadow:inset 0 0 20px #efe8ba88;display:grid;place-items:center;font-size:4cqw}.reference-mini .mini-gesture{font-size:3.5cqw!important}.reference-mini #mini-start{margin-top:3cqh}.reference-mini .mini-result{z-index:5}
.skill-panel{height:77cqh;max-height:90%;overflow:visible}.skill-panel .panel-head{flex:0 0 8cqh}.skill-panel .panel-body{flex:1;min-height:0;display:grid;grid-template-rows:repeat(5,minmax(0,1fr));gap:2cqh;padding:2.5cqh 2cqw 1cqh;overflow:visible}.skill-panel .skill-row{margin:0;min-height:0;padding:1.2cqh 1cqw .4cqh;grid-template-columns:21% 44% 31%;gap:1%;align-items:center}.skill-panel .skill-icon{height:4.6cqh}.skill-portrait{text-align:center}.skill-level{display:block;font-size:2.8cqw;line-height:1.1}.skill-panel .skill-title{font-size:3.2cqw}.skill-panel .skill-bonus{max-width:100%;font-size:3cqw!important;line-height:1.5;margin:0;color:#fff9fd!important}.skill-bonus b{color:#c5ed95}.skill-panel .skill-info .buy{position:relative;right:auto;top:auto;width:100%;min-width:0;padding:.4cqh 0}.skill-panel .buy small{position:absolute;top:100%;width:100%;color:#fff;font-size:2.7cqw;padding-top:.2cqh}.skill-panel .modes{flex:0 0 5cqh;padding:.7cqh 3cqw}
.rail{position:relative}.rail small.buff-timer{display:block;position:absolute;top:85%;left:0;right:0;background:#d8a55a;color:#fff;font-size:3cqw;line-height:1.2;border:1px solid #7d5a58;margin:0;z-index:1}
.map-card{color:#493752}.map-card .map-copy p{color:#705778}.panel .item-row p{color:#e4d9e9}
