@font-face{font-family:Fredoka;src:url(/fonts/fredoka.woff2)format("woff2");font-weight:300 700;font-display:swap}@font-face{font-family:Lilita One;src:url(/fonts/lilita.woff2)format("woff2");font-display:swap}:root{--blue:#1b62c4;--blue2:#2f86e8;--navy:#0b2b5c;--ink:#1d2433;--gold:#ffcc2f;--panel:#eaf5ff;--shadow:0 6px 0 #08285a59, 0 10px 24px #08285a40;--safe-b:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{width:100%;height:100%;color:var(--ink);overscroll-behavior:none;background:#bfe6fb;font-family:Fredoka,Trebuchet MS,sans-serif;overflow:hidden}body{touch-action:none;-webkit-user-select:none;user-select:none}#game{position:fixed;top:0;bottom:0;left:0;right:0}#game canvas{display:block}.hidden{display:none!important}button{cursor:pointer;color:inherit;background:0 0;border:0;font-family:inherit}input{-webkit-user-select:text;user-select:text;font-family:inherit}#hud{pointer-events:none;z-index:10;position:fixed;top:0;bottom:0;left:0;right:0}#hud>*{pointer-events:auto}.hud-top{top:max(10px, env(safe-area-inset-top));pointer-events:none;justify-content:space-between;align-items:flex-start;display:flex;position:absolute;left:12px;right:12px}.hud-top>*{pointer-events:auto}.hud-right{align-items:center;gap:8px;display:flex}.pill{color:#fff;box-shadow:var(--shadow);text-shadow:0 2px #0003;background:linear-gradient(#2f86e8,#1b62c4);border:3px solid #fff;border-radius:999px;align-items:center;gap:8px;padding:6px 16px 6px 8px;font-size:18px;font-weight:600;display:flex}.room-pill .pin{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8 2 5 5 5 9c0 5 7 13 7 13s7-8 7-13c0-4-3-7-7-7z' fill='%23e0342f'/%3E%3Ccircle cx='12' cy='9' r='3' fill='white'/%3E%3C/svg%3E") 50%/18px no-repeat;border-radius:50%;width:26px;height:26px}.coin-pill{color:#6a3d00;text-shadow:0 1px #ffffff80;background:linear-gradient(#ffd84a,#f0a91c)}.coin-ico,.coin{background:radial-gradient(circle at 35% 30%,#fff6b0,#ffcc2f 45%,#d98a0c);border:2px solid #9a5a00;border-radius:50%;flex:none;width:26px;height:26px;display:inline-block;position:relative}.coin-ico:after,.coin:after{content:"";border:2px solid #9a5a0073;border-radius:50%;position:absolute;top:5px;bottom:5px;left:5px;right:5px}.coin-pill.bump{animation:.5s bump}@keyframes bump{30%{transform:scale(1.18)}}.round{width:46px;height:46px;box-shadow:var(--shadow);background:linear-gradient(#2f86e8,#1b62c4) 50%/26px no-repeat;border:3px solid #fff;border-radius:50%;place-items:center;display:grid}.round svg,.tb svg,.send svg{width:26px;height:26px}#toolbar{left:50%;bottom:calc(12px + var(--safe-b));box-shadow:var(--shadow);background:linear-gradient(#3f95ee,#1b62c4);border:3px solid #fff;border-radius:26px;align-items:center;gap:8px;max-width:calc(100vw - 16px);padding:8px 10px;display:flex;position:absolute;transform:translate(-50%)}.tb{background:linear-gradient(#fff,#d7ecff);border:2px solid #0e4aa0;border-radius:16px;flex:none;place-items:center;width:50px;height:50px;transition:transform .1s;display:grid}.tb:hover{transform:translateY(-2px)}.tb:active{transform:scale(.94)}.tb.active{background:linear-gradient(#fff6b0,#ffcc2f)}.tb svg{width:30px;height:30px}#chat{background:#fff;border:2px solid #0e4aa0;border-radius:16px;align-items:center;height:50px;padding:0 4px 0 12px;display:flex}#chat input{width:230px;color:var(--ink);background:0 0;border:0;outline:0;font-size:18px}.send{background:linear-gradient(#5cc06a,#2f9a45);border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.send svg{width:22px;height:22px}.pop{bottom:calc(86px + var(--safe-b));box-shadow:var(--shadow);background:#fff;border:3px solid #1b62c4;border-radius:22px;grid-template-columns:repeat(6,1fr);gap:6px;width:min(460px,100vw - 20px);padding:10px;display:grid;position:absolute;left:50%;transform:translate(-50%)}.pop button{background:#eef6ff;border-radius:12px;height:50px;font-size:28px}.pop button:hover{background:#d7ecff}.pop .phrase{color:var(--navy);grid-column:span 3;font-size:16px;font-weight:600}.hint{color:var(--navy);box-shadow:var(--shadow);pointer-events:none;white-space:nowrap;background:#fff;border:3px solid #1b62c4;border-radius:999px;padding:8px 18px;font-weight:600;position:absolute;top:70px;left:50%;transform:translate(-50%)}#panel-wrap{z-index:30;background:#081e4673;place-items:center;padding:12px;animation:.18s fadeIn;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}@keyframes fadeIn{0%{opacity:0}}.panel{width:min(860px,100%);max-height:calc(100vh - 24px);background:var(--panel);outline:4px solid var(--blue);border:5px solid #fff;border-radius:28px;max-height:calc(100dvh - 24px);padding:22px;animation:.28s cubic-bezier(.2,1.4,.4,1) popIn;position:relative;overflow:auto;box-shadow:0 20px 60px #00000059}@keyframes popIn{0%{opacity:0;transform:scale(.85)}}.panel h2{color:var(--blue);text-align:center;letter-spacing:.5px;text-shadow:0 3px #fff;margin-bottom:12px;font-family:Lilita One,Fredoka,sans-serif;font-size:34px;font-weight:400}.panel .close{color:#fff;background:linear-gradient(#ff6b6b,#d8262c);border:3px solid #fff;border-radius:50%;width:44px;height:44px;font-size:24px;font-weight:700;line-height:1;position:absolute;top:10px;right:10px;box-shadow:0 3px #00000040}.tabs{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:14px;display:flex}.tabs button{color:var(--navy);background:#fff;border:2px solid #9cc7f2;border-radius:999px;padding:8px 18px;font-size:16px;font-weight:600}.tabs button.on{background:var(--blue);color:#fff;border-color:var(--blue)}.wardrobe{grid-template-columns:240px 1fr;gap:20px;display:grid}.preview{background:radial-gradient(circle at 50% 70%,#fff,#cfe8ff);border:3px solid #b8d9f7;border-radius:22px;place-items:center;min-height:260px;padding:10px;display:grid}.preview svg{width:190px;height:260px}.swatches{grid-template-columns:repeat(8,1fr);gap:8px;display:grid}.swatch{aspect-ratio:1;border:3px solid #fff;border-radius:50%;min-width:30px;box-shadow:0 0 0 2px #9cc7f2,0 3px #00000026}.swatch.on{box-shadow:0 0 0 4px var(--blue), 0 3px 0 #00000026;transform:scale(1.08)}.grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:12px;display:grid}.card{text-align:center;background:#fff;border:3px solid #cfe3f7;border-radius:18px;flex-direction:column;align-items:center;gap:4px;padding:8px;transition:transform .12s;display:flex}.card:hover{border-color:#7fb6ee;transform:translateY(-2px)}.card.on{border-color:var(--blue);background:#eaf4ff}.card svg{width:80px;height:96px}.card .nm{color:var(--navy);place-items:center;min-height:30px;font-size:14px;font-weight:600;line-height:1.1;display:grid}.card .price{color:#8a5a00;align-items:center;gap:4px;font-size:15px;font-weight:700;display:flex}.card .price .coin{width:18px;height:18px}.card .price .coin:after{top:3px;bottom:3px;left:3px;right:3px}.btn{color:#fff;background:linear-gradient(#5cc06a,#2f9a45);border:2px solid #1f7a33;border-radius:999px;padding:7px 14px;font-size:14px;font-weight:700;box-shadow:0 3px #0000002e}.btn.blue{background:linear-gradient(#4aa3f5,#1b62c4);border-color:#0e4aa0}.btn.gray{color:#3a4a5c;box-shadow:none;background:#c9d6e3;border-color:#9fb2c6}.btn[disabled]{opacity:.5;cursor:not-allowed}.muted{color:#5a6b80;text-align:center;margin-top:8px;font-size:14px}.slot-h{color:var(--navy);margin:14px 0 8px;font-size:16px;font-weight:700}.map{aspect-ratio:16/10;border:3px solid #b8d9f7;border-radius:20px;width:100%;position:relative;overflow:hidden}.map svg{width:100%;height:100%;display:block}.map .mpin{border:3px solid var(--blue);color:var(--navy);white-space:nowrap;background:#fff;border-radius:999px;padding:4px 12px;font-size:15px;font-weight:700;position:absolute;transform:translate(-50%,-100%);box-shadow:0 3px #0003}.map .mpin:hover{background:#fff6b0}.map .mpin.here{background:var(--blue);color:#fff}.map .mpin:after{content:"";border:7px solid #0000;border-top-color:var(--blue);position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.result{text-align:center}.result .big{color:#e89d10;text-shadow:0 4px #fff,0 6px #0000001a;justify-content:center;align-items:center;gap:10px;font-family:Lilita One;font-size:56px;display:flex}.result .big .coin{width:48px;height:48px}.result p{margin:6px 0;font-size:18px}#toast{background:var(--navy);color:#fff;opacity:0;z-index:50;pointer-events:none;box-shadow:var(--shadow);text-align:center;border:3px solid #fff;border-radius:999px;max-width:90vw;padding:10px 20px;font-weight:600;transition:all .25s;position:fixed;top:76px;left:50%;transform:translate(-50%)translateY(-20px)}#toast.show{opacity:1;transform:translate(-50%)}#fade{z-index:20;background:#bfe6fb;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}#fade:after{content:"❄";color:#fff;text-shadow:0 2px 8px #003c8c4d;font-size:60px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}#title{z-index:40;background:radial-gradient(at 50% 120%,#fff 0 30%,#0000 31%),linear-gradient(#2f86e8,#7fcaf6 60%,#d8f0ff);place-items:center;padding:16px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0;overflow:auto}#title.out{animation:.5s forwards titleOut}@keyframes titleOut{to{opacity:0;visibility:hidden;transform:scale(1.05)}}.snowfall{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.snowfall i{opacity:.9;background:#fff;border-radius:50%;width:8px;height:8px;animation:linear infinite fall;position:absolute;top:-10px}@keyframes fall{to{transform:translate(40px,110vh)}}.title-card{outline:4px solid var(--blue);text-align:center;background:#ffffffe6;border:5px solid #fff;border-radius:32px;width:min(640px,100%);padding:22px 28px;position:relative;box-shadow:0 20px 60px #001e5059}.logo{justify-content:center;gap:14px;margin-top:-2px;font-family:Lilita One,sans-serif;font-size:clamp(44px,9vw,76px);font-weight:400;line-height:.9;display:flex}.logo span{color:#fff;-webkit-text-stroke:3px var(--blue);paint-order:stroke fill;text-shadow:0 6px #0e4aa0,0 10px 18px #0003}.logo span:last-child{color:#ffd84a}.subtitle{color:var(--blue);letter-spacing:3px;margin:10px 0 14px;font-size:18px;font-weight:700}.title-body{text-align:left;grid-template-columns:200px 1fr;align-items:center;gap:20px;display:grid}.title-peng{background:radial-gradient(circle at 50% 75%,#fff,#cfe8ff);border:3px solid #b8d9f7;border-radius:24px;place-items:center;height:240px;display:grid}.title-peng svg{transform-origin:50% 95%;width:170px;height:230px;animation:1.2s ease-in-out infinite waddle}@keyframes waddle{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)translateY(-3px)}}.title-form label{color:var(--navy);margin:8px 0 6px;font-weight:700;display:block}#name-input{border:3px solid #9cc7f2;border-radius:14px;outline:0;width:100%;padding:10px 14px;font-size:20px}#name-input:focus{border-color:var(--blue)}.big-btn{color:#fff;letter-spacing:1px;text-shadow:0 3px #0003;background:linear-gradient(#6fd07c,#2f9a45);border:4px solid #fff;border-radius:20px;outline:3px solid #1f7a33;width:100%;margin-top:16px;padding:10px;font-family:Lilita One;font-size:30px;box-shadow:0 6px #1f7a33}.big-btn:active{transform:translateY(4px);box-shadow:0 2px #1f7a33}.title-foot{color:#5a6b80;margin-top:14px;font-size:13px}#title-colors{grid-template-columns:repeat(8,1fr)}@media (max-width:720px){#chat input{width:120px;font-size:16px}.tb{border-radius:13px;width:42px;height:42px}.tb svg{width:25px;height:25px}#chat{height:42px}.send{width:34px;height:34px}#toolbar{border-radius:22px;gap:5px;padding:6px 7px}.pill{padding:4px 12px 4px 6px;font-size:15px}.round{width:40px;height:40px}.wardrobe{grid-template-columns:1fr}.preview{min-height:180px}.preview svg{width:130px;height:176px}.title-body{grid-template-columns:1fr}.title-peng{height:170px}.title-peng svg{width:120px;height:160px}.panel{border-radius:22px;padding:16px 12px}.panel h2{font-size:28px}.grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.card svg{width:64px;height:78px}.pop .phrase{font-size:14px}}@media (max-width:420px){#chat input{width:84px}.tb{width:38px;height:38px}.swatches{grid-template-columns:repeat(8,1fr);gap:5px}}@media (max-height:500px){.title-body{grid-template-columns:150px 1fr}.title-peng{height:180px}.logo{font-size:40px}}body.in-game #toolbar,body.in-game #emote-pop,body.in-game #throw-hint,body.in-game #chat{display:none!important}
