*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none;color:#5a3d5c;-webkit-user-select:none;user-select:none;background:linear-gradient(#dcf2ff,#ffe8f3);height:100%;margin:0;font-family:Jua,Apple SD Gothic Neo,Malgun Gothic,sans-serif;overflow:hidden}#cv{touch-action:none;width:100%;height:100%;position:fixed;inset:0}.hidden{display:none!important}.screen{padding:max(12px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));background:linear-gradient(#dcf2ffee,#ffe8f3ee);flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;inset:0;overflow-y:auto}.screen>*{width:100%;max-width:440px}.overlay{background:#5a3c6e59;justify-content:center}h1,h2{text-align:center;margin:0;font-weight:400}h1{color:#ff5c9a;text-shadow:3px 3px #fff,-3px -3px #fff,3px -3px #fff,-3px 3px #fff,0 6px 12px #ff5c9a59;font-size:40px}h2{color:#ff5c9a;font-size:30px}.logo{text-align:center;padding-top:4px;position:relative}.logo-mon{transform-origin:50% 100%;width:58px;animation:1.4s ease-in-out infinite boing}@keyframes boing{0%,to{transform:translateY(0)scale(1)}15%{transform:translateY(0)scale(1.15,.85)}45%{transform:translateY(-22px)scale(.92,1.1)}70%{transform:translateY(0)scale(1.1,.9)}}.sub{color:#8a6aa0;margin:2px 0 0;font-size:16px}.field{background:#fff;border-radius:18px;align-items:center;gap:10px;padding:8px 14px;display:flex;box-shadow:0 3px #f3c6dc}.field span{white-space:nowrap;font-size:18px}input{font:inherit;color:#5a3d5c;background:0 0;border:none;outline:none;width:100%;min-width:0;font-size:20px}.label{margin-top:4px;font-size:18px}.chars{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.char{cursor:pointer;background:#fff;border:3px solid #0000;border-radius:16px;flex-direction:column;align-items:center;padding:2px 0 4px;font-size:12px;display:flex;box-shadow:0 3px #e8d5ee}.char canvas{max-width:64px;width:100%!important;height:auto!important}.char.on{background:#fff0f7;border-color:#ff7eb3;transform:translateY(-2px)}.maps{grid-template-columns:1fr 1fr;gap:10px;display:grid}.map{cursor:pointer;background:#fff;border:4px solid #fff;border-radius:18px;position:relative;overflow:hidden;box-shadow:0 4px #e8d5ee}.map img{aspect-ratio:3/1.7;object-fit:cover;object-position:50% 30%;width:100%;display:block}.map .t{text-align:center;padding:6px 4px 2px;font-size:18px}.map .d{text-align:center;color:#9a80aa;padding:0 4px 6px;font-size:12px}.map.on{border-color:#ff7eb3}.map.on:after{content:"✔";color:#fff;background:#ff7eb3;border-radius:50%;place-items:center;width:28px;height:28px;font-size:16px;display:grid;position:absolute;top:6px;right:8px}.btns{gap:10px;display:flex}.btns>*{flex:1}button{font:inherit;color:#5a3d5c;cursor:pointer;background:#fff;border:none;border-radius:16px;padding:10px 12px;font-size:17px;transition:transform 80ms;box-shadow:0 4px #e2cfe9}button:active{transform:translateY(3px);box-shadow:0 1px #e2cfe9}button.big{color:#fff;padding:14px 10px;font-size:24px}.pink{color:#fff;background:#ff7eb3;box-shadow:0 5px #e0548f}.mint{color:#fff;background:#4fcf9f;box-shadow:0 5px #33a77b}button:disabled{opacity:.45}.back{box-shadow:none;color:#9a80aa;background:0 0;margin-top:auto}.or{text-align:center;color:#9a80aa;margin:14px 0 6px}.join{gap:8px;display:flex}.join input{text-align:center;letter-spacing:8px;background:#fff;border-radius:16px;padding:10px 14px;font-size:28px;box-shadow:0 3px #f3c6dc}.note{text-align:center;color:#9a80aa;margin:6px 0;font-size:15px}.code-box{text-align:center;background:#fff;border-radius:20px;padding:10px;font-size:20px;box-shadow:0 4px #f3c6dc}.code-box b{letter-spacing:10px;color:#ff5c9a;font-size:56px;font-weight:400;display:block}.peers{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.peer{text-align:center;background:#fff;border-radius:16px;padding:4px 4px 8px;font-size:15px;box-shadow:0 3px #e8d5ee}.peer canvas{width:60px!important;height:60px!important}.peer .host{color:#ff5c9a;font-size:11px}.tabs{gap:6px;display:flex}.tabs button{flex:1;padding:8px 4px;font-size:15px}.tabs button.on{color:#fff;background:#ff7eb3;box-shadow:0 4px #e0548f}.rank-list{flex-direction:column;gap:6px;margin:4px 0;padding:0;list-style:none;display:flex}.rank-list li{background:#fff;border-radius:14px;align-items:center;gap:10px;padding:4px 12px 4px 8px;font-size:18px;display:flex;box-shadow:0 3px #efe0f3}.rank-list li .n{text-align:center;color:#c9a5d6;width:30px;font-size:20px}.rank-list li:first-child .n,.rank-list li:nth-child(2) .n,.rank-list li:nth-child(3) .n{font-size:24px}.rank-list li canvas{width:40px!important;height:40px!important}.rank-list li .who{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.rank-list li .v{color:#ff5c9a}.rank-list li.me{background:#fff0f7;outline:3px solid #ff9ec7}.how{flex-direction:column;gap:8px;margin:0;padding:0;font-size:18px;list-style:none;display:flex}.how li{background:#fff;border-radius:14px;padding:10px 14px;box-shadow:0 3px #efe0f3}#hud{padding:max(8px, env(safe-area-inset-top)) 10px 0;pointer-events:none;flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:fixed;top:0;left:0;right:0}#hud>*{pointer-events:auto}.hud-btn{border-radius:50%;width:42px;height:42px;padding:0;font-size:18px}.timer{text-align:center;color:#ff5c9a;text-shadow:2px 2px #fff,-2px -2px #fff,2px -2px #fff,-2px 2px #fff;flex:1;font-size:26px}.standings{flex-wrap:wrap;flex-basis:100%;justify-content:center;gap:6px;display:flex;pointer-events:none!important}.standings span{background:#ffffffd9;border-radius:10px;padding:2px 8px;font-size:13px}.toast{left:50%;bottom:calc(max(14px, env(safe-area-inset-bottom)) + 62px);color:#ff4f8f;white-space:nowrap;pointer-events:none;background:#fffffff2;border-radius:20px;padding:10px 18px;font-size:19px;animation:.25s ease-out pop;position:fixed;transform:translate(-50%);box-shadow:0 6px 20px #783c7840}@keyframes pop{0%{transform:translate(-50%)scale(.6)}to{transform:translate(-50%)scale(1)}}.card{background:#fff;border-radius:28px;flex-direction:column;align-items:stretch;gap:8px;padding:18px 16px;animation:.35s cubic-bezier(.3,1.6,.5,1) pop2;display:flex;box-shadow:0 10px 30px #783c784d}@keyframes pop2{0%{opacity:0;transform:scale(.5)}}.res-char{justify-content:center;display:flex}.stars{text-align:center;letter-spacing:6px;font-size:40px}.stars .off{filter:grayscale();opacity:.3}.res-time{text-align:center;color:#5a3d5c;font-size:34px}.res-points{text-align:center;color:#ff5c9a;font-size:22px}.levels{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.level{flex-direction:column;align-items:center;padding:6px 4px;font-size:17px;line-height:1.15;display:flex}.level small{color:#9a80aa;font-size:11px}.level.on{background:#ffe27a;box-shadow:0 4px #e2b93a}.tabs.small button{padding:5px 4px;font-size:13px}.stars-hud{color:#e8a400;background:#ffffffe6;border-radius:14px;padding:4px 10px;font-size:18px}.effects{text-align:center;min-width:42px;font-size:20px}.item-btn{background:#fff9;border:3px dashed #d9c3e6;border-radius:50%;width:52px;height:52px;padding:0;font-size:28px;box-shadow:0 4px #a078b466}.item-btn.ready{background:#fff;border:4px solid #ff7eb3;animation:.8s ease-in-out infinite bounce}.item-btn.rolling{border:4px solid #ffd84a;animation:.25s linear infinite spin}.item-btn:disabled{opacity:1}@keyframes bounce{50%{transform:scale(1.1)}}@keyframes spin{to{transform:rotate(360deg)}}.res-stats{flex-wrap:wrap;justify-content:center;gap:6px;font-size:14px;display:flex}.res-stats span{background:#fff4c9;border-radius:10px;padding:3px 8px}.how{font-size:16px}.game-btns{left:max(12px, env(safe-area-inset-left));bottom:max(14px, env(safe-area-inset-bottom));align-items:center;gap:8px;display:flex;position:fixed}#hud.hidden~.game-btns{display:none}.emotes{gap:6px;display:flex}.emotes button{background:#ffffffd9;border-radius:50%;width:44px;height:44px;padding:0;font-size:22px}.bank{text-align:center;background:#fff;border-radius:16px;padding:8px;font-size:20px;box-shadow:0 3px #f3d98a}.bank b{color:#e8a400;font-size:26px;font-weight:400}.bank small{color:#9a80aa;font-size:12px;display:block}.shop-preview{justify-content:center;display:flex}.shop-items{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.shop-item{opacity:.85;flex-direction:column;align-items:center;gap:2px;padding:6px 4px 8px;font-size:14px;display:flex}.shop-item b{font-weight:400}.shop-item small{color:#e8a400;font-size:13px}.shop-item.owned{opacity:1}.shop-item.owned small{color:#4fcf9f}.shop-item.on{background:#fff0f7;outline:3px solid #ff7eb3}.res-stats .bank{box-shadow:none;background:#ffe8f3;border-radius:10px;padding:3px 8px;font-size:14px;display:inline}
