:root{--glass:#fff7eaf2;--glass-strong:#fff7ea;--glass-soft:#78422c12;--glass-line:#78422c24;--edge-light:#fffffff2;--well:#78422c17;--paper:#3b2a26;--paper-dim:#7a5d52;--paper-faint:#a88f80;--light:#fff7ea;--accent-text:#c8402c;--gold-text:#8f5a0e;--plum:#24142a;--plum-ink:#2a1630;--gold:#ffc35a;--gold-deep:#e5962a;--coral:#ff5a45;--coral-deep:#b9301f;--coral-ui:#e0442f;--blue-ui:#3a6fcb;--teal:#2fb3a3;--card-paper:#fffaf1;--card-paper-2:#efe3d0;--ink:#2a1630;--display:"Lilita One", "Fredoka", "Trebuchet MS", system-ui, sans-serif;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.25, 1.5, .45, 1);--panel-shadow:0 7px 0 #78342229, 0 28px 50px -18px #46191e73;color:var(--paper);font-family:Fredoka,Nunito,Trebuchet MS,system-ui,sans-serif}*{box-sizing:border-box}html,body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:#f0b49c;height:100%;margin:0;overflow:hidden}button{touch-action:manipulation;font:inherit;color:inherit}#app{position:fixed;inset:0}#game-canvas{touch-action:none;outline:none;width:100%;height:100%;display:block}#game-canvas.playing{cursor:none}[hidden]{display:none!important}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}button:focus-visible,.vol-slider:focus-visible{outline:3px solid var(--paper);outline-offset:3px}#hud{top:max(12px, env(safe-area-inset-top));pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.scoreboard{background:var(--glass-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;align-items:stretch;gap:5px;padding:5px;display:flex;box-shadow:0 5px #7834222e,0 14px 26px -12px #46191e80}.side{color:#fff;border-radius:15px;align-items:center;gap:8px;padding:4px;display:flex}.side.you{background:linear-gradient(180deg, #ff6a52, var(--coral-ui));padding-left:14px;box-shadow:inset 0 1px #ffffff4d,inset 0 -3px #0000002e}.side.rival{background:var(--rival-ui,var(--blue-ui));background-image:linear-gradient(#ffffff29,#0000000f);padding-right:14px;box-shadow:inset 0 1px #ffffff40,inset 0 -3px #0000002e}.name{font-family:var(--display);letter-spacing:.01em;text-shadow:0 1px #00000040;font-size:clamp(15px,1.7vw,19px)}.pts,.flip{background:linear-gradient(180deg, var(--card-paper) 0 50%, var(--card-paper-2) 50% 100%);min-width:1.35em;height:1.3em;color:var(--ink);font-family:var(--display);font-variant-numeric:tabular-nums;border-radius:.2em;place-items:center;padding:0 .12em;font-size:clamp(28px,3.4vw,40px);line-height:1;display:inline-grid;position:relative;box-shadow:0 3px #00000038,inset 0 1px #fff}.pts:after,.flip:after{content:"";background:#2a163047;height:2px;margin-top:-1px;position:absolute;top:50%;left:0;right:0}.pts:before,.flip:before{content:"";background:linear-gradient(90deg,#6d5560 0 6px,#0000 6px calc(100% - 6px),#6d5560 calc(100% - 6px));border-radius:3px;height:6px;margin-top:-3px;position:absolute;top:50%;left:-3px;right:-3px}.serve-dot{opacity:0;width:12px;height:12px;transition:opacity .2s, transform .3s var(--ease-spring);background:radial-gradient(circle at 35% 30%,#fff,#ffe9c2 60%,#e8c48e);border-radius:50%;transform:scale(.3);box-shadow:0 1px 2px #00000059}.serve-dot.on{opacity:1;transform:scale(1)}.rally{background:var(--glass-strong);min-height:24px;color:var(--paper);opacity:0;transition:opacity .2s, transform .25s var(--ease-out), background-color .2s;border-radius:999px;padding:3px 14px;font-size:14px;font-weight:600;transform:translateY(-4px);box-shadow:0 3px #78342229}.rally.on{opacity:1;transform:none}.rally.hot{background:var(--gold);color:var(--plum-ink)}#hud.training .scoreboard{display:none}#hud.training .rally{opacity:1;font-family:var(--display);min-height:0;padding:6px 20px;font-size:22px;font-weight:400;transform:none}#corner{z-index:30;top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));gap:8px;display:flex;position:absolute}.icon-btn{background:var(--glass);width:46px;height:46px;color:var(--paper);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;transition:transform .15s var(--ease-out), background-color .15s;border:0;border-radius:50%;place-items:center;display:grid;box-shadow:0 4px #7834222e,0 10px 20px -10px #46191e80}.icon-btn svg{fill:currentColor;stroke:currentColor;width:22px;height:22px}.icon-btn rect,.icon-btn path:not(.wave):not(.mute){stroke:none}.icon-btn:hover{background:#fff;transform:translateY(-1px)}.icon-btn:active{transform:scale(.94)}#btn-sound .mute,.vol-btn .mute,#btn-full .fs-out,#btn-full.is-full .fs-in{display:none}#btn-full.is-full .fs-out{display:inline}#btn-sound.muted .wave{display:none}#btn-sound.muted .mute,.vol-btn[aria-pressed=false] .mute{display:inline}#callout{text-align:center;pointer-events:none;position:absolute;top:30%;left:0;right:0}#callout.high{top:calc(max(12px, env(safe-area-inset-top)) + 84px)}.pop-text{font-family:var(--display);color:var(--light);-webkit-text-stroke:7px var(--plum-ink);paint-order:stroke fill;text-shadow:0 6px #2a163066;animation:pop-in .95s var(--ease-spring) forwards;font-size:clamp(32px,5.6vw,64px);line-height:1;display:inline-block}#callout.high .pop-text:not(.small-pop){font-size:clamp(28px,4.4vw,48px)}#callout.high .pop-text{font-size:clamp(22px,3.4vw,36px)}.pop-text small{-webkit-text-stroke:4px var(--plum-ink);margin-top:.2em;font-family:Fredoka,sans-serif;font-size:.4em;font-weight:700;display:block}.pop-text.gold{color:var(--gold)}.pop-text.coral{color:#ffb7aa}.pop-text.blue{color:#c8dbff}.pop-text.small-pop{font-size:clamp(22px,3.6vw,38px)}@keyframes pop-in{0%{opacity:0;transform:scale(.3)rotate(-8deg)}18%{opacity:1;transform:scale(1.14)rotate(2deg)}30%{transform:scale(1)rotate(0)}75%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}@keyframes fade-only{0%,70%{opacity:1}to{opacity:0}}.reduced .pop-text{animation:.9s linear forwards fade-only}#hint{left:50%;top:calc(max(12px, env(safe-area-inset-top)) + 92px);background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:min(520px,100% - 32px);box-shadow:var(--panel-shadow);text-align:center;pointer-events:none;animation:hint-in .4s var(--ease-out);border-radius:20px;padding:12px 20px;position:absolute;transform:translate(-50%)}#hint p{margin:0}#hint-main{font-family:var(--display);letter-spacing:.01em;color:var(--accent-text);font-size:clamp(19px,2.3vw,24px);animation:1.6s ease-in-out infinite breathe}#hint-sub{color:var(--paper-dim);font-size:clamp(13px,1.6vw,15px);margin-top:4px!important}#hint-sub:empty{display:none}@keyframes hint-in{0%{opacity:0;transform:translate(-50%,16px)}}@keyframes breathe{50%{opacity:.72}}#countdown{pointer-events:none;font-family:var(--display);color:var(--light);-webkit-text-stroke:10px var(--plum-ink);paint-order:stroke fill;text-shadow:0 10px #2a163059;place-items:center;font-size:clamp(80px,15vw,170px);display:grid;position:absolute;inset:0}#flash,#vignette{pointer-events:none;opacity:0;position:absolute;inset:0}#flash{background:#fff8e6}#vignette{background:radial-gradient(ellipse at center, transparent 55%, var(--vc,#ffc35a8c) 100%)}#grade{pointer-events:none;background:radial-gradient(at 50% 55%,#0000 58%,#3c142d47 100%);position:absolute;inset:0}#toast{z-index:31;left:50%;top:calc(max(12px, env(safe-area-inset-top)) + 80px);background:var(--glass-strong);color:var(--paper);box-shadow:var(--panel-shadow), inset 0 0 0 2px var(--gold);opacity:0;pointer-events:none;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:calc(100% - 24px);padding:10px 20px 10px 44px;font-size:15px;font-weight:600;position:absolute;overflow:hidden;transform:translate(-50%,-20px)}#toast:before{content:"★";background:var(--gold);width:28px;height:28px;color:var(--plum-ink);border-radius:50%;place-items:center;margin-top:-14px;font-size:16px;display:grid;position:absolute;top:50%;left:8px}#toast.show{animation:3.4s both toast}@keyframes toast{0%{opacity:0;transform:translate(-50%,-20px)}10%,85%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-12px)}}.reduced #toast.show{animation-name:fade-only}.overlay{padding:max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(clamp(20px, 5vw, 72px), env(safe-area-inset-left));background:linear-gradient(90deg,#5a283252,#5a28321a 45%,#5a283200 70%);flex-direction:column;justify-content:center;align-items:flex-start;gap:18px;animation:.3s ease-out fade-in;display:flex;position:absolute;inset:0}@keyframes fade-in{0%{opacity:0}}.card{overscroll-behavior:contain;background:var(--glass);-webkit-backdrop-filter:blur(18px)saturate(1.3);backdrop-filter:blur(18px)saturate(1.3);width:min(420px,100%);max-height:100%;box-shadow:var(--panel-shadow), inset 0 2px 0 var(--edge-light);text-align:left;scrollbar-width:thin;scrollbar-color:#78422c4d transparent;animation:panel-in .5s var(--ease-out);border-radius:28px;flex-direction:column;align-items:stretch;gap:10px;padding:26px 24px 22px;display:flex;position:relative;overflow:auto}.card>*{flex-shrink:0}@keyframes panel-in{0%{opacity:0;transform:translate(-28px)}}.card h2{font-family:var(--display);letter-spacing:.01em;color:var(--paper);margin:0 0 6px;font-size:38px;font-weight:400;line-height:1}.small{color:var(--paper-dim);margin:0;font-size:14px}.small:empty{display:none}.btn{cursor:pointer;width:100%;min-height:50px;color:var(--paper);transition:transform .15s var(--ease-out), filter .15s, box-shadow .15s;background:#f1e2cf;border:0;border-radius:18px;padding:0 22px;font-size:19px;font-weight:600;position:relative;box-shadow:0 4px #78342233}.btn.primary{min-height:60px;font-family:var(--display);letter-spacing:.02em;color:#fff;text-shadow:0 2px #78190f73;background:linear-gradient(180deg, #ff7a5f 0%, var(--coral) 45%, #e8432e 100%);box-shadow:0 6px 0 var(--coral-deep), 0 18px 30px -10px #ff5a458c, inset 0 2px 0 #ffffff59;margin-bottom:6px;font-size:30px;font-weight:400}.btn.primary:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(105deg,#0000 35%,#ffffff47 50%,#0000 65%) 120% 0/250% 100% no-repeat;animation:4.5s ease-in-out 1.2s infinite sheen;position:absolute;inset:0}@keyframes sheen{0%,70%{background-position:120% 0}to{background-position:-120% 0}}.btn:hover{filter:brightness(1.06);transform:translateY(-2px)}.btn.primary:hover{box-shadow:0 8px 0 var(--coral-deep), 0 22px 34px -10px #ff5a4599, inset 0 2px 0 #ffffff59}.btn:active,.btn.primary:active{box-shadow:0 2px 0 var(--coral-deep), inset 0 2px 0 #ffffff40;transform:translateY(4px)}.btn:not(.primary):active{box-shadow:0 1px #78342233}.menu-item{width:100%;min-height:46px;color:var(--paper);text-align:left;cursor:pointer;transition:background-color .15s, color .15s, padding .2s var(--ease-out);background:0 0;border:0;border-radius:16px;align-items:center;gap:10px;padding:0 16px 0 40px;font-size:21px;font-weight:600;display:flex;position:relative}.menu-item:before{content:"";background:radial-gradient(circle at 35% 30%, #ff9a84, var(--coral) 55%, #c8402c);opacity:0;width:14px;height:14px;transition:opacity .15s, transform .25s var(--ease-spring);border-radius:50%;margin-top:-7px;position:absolute;top:50%;left:14px;transform:scale(.3)translate(-8px);box-shadow:0 2px 3px #78281459}.menu-item:hover,.menu-item:focus-visible{background:var(--glass-soft);color:var(--paper);padding-left:44px}.menu-item:hover:before,.menu-item:focus-visible:before{opacity:1;transform:none}.menu-item:focus-visible{outline:2px solid var(--paper);outline-offset:0}.menu-item .count{color:var(--gold-text);font-variant-numeric:tabular-nums;background:#ffc35a59;border-radius:999px;margin-left:auto;padding:2px 10px;font-size:15px}.quiet{flex-wrap:wrap;gap:6px;display:flex}.quiet .chip{min-height:36px;font-size:13px}.menu-screen{justify-content:center;gap:clamp(14px,3vh,26px)}.title-block{animation:title-in .9s var(--ease-out) both}@font-face{font-family:Shrikhand;src:url(data:font/woff;base64,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)format("woff");font-display:block}.logo{font:400 clamp(54px, min(7vw, 10.5vh), 92px) / .86 "Shrikhand", var(--display);font-synthesis:none;letter-spacing:0;transform-origin:50% 60%;margin:0;padding-right:.5em;display:inline-block;position:relative;transform:rotate(-5deg)}.logo-word{white-space:nowrap;width:max-content;display:block;position:relative}.logo-word:before{content:attr(data-t);color:var(--plum-ink);-webkit-text-stroke:.15em var(--plum-ink);text-shadow:0 .075em 0 var(--plum-ink), 0 .14em .16em #2a163059;position:absolute;inset:0}.logo-word>span{color:#0000;-webkit-background-clip:text;background-clip:text;position:relative}.logo .w1>span{background-image:linear-gradient(#ffe08a 8%,#ffc35a 34%,#ff8a4c 66%,#ff5a45 92%)}.logo .w2{margin:-.02em 0 0 .62em;font-size:1.1em}.logo .w2>span{background-image:linear-gradient(#fffaf0 40%,#ffe6c8 95%)}.logo-ball{width:.42em;height:.42em;box-shadow:0 0 0 .075em var(--plum-ink), 0 .075em 0 .075em var(--plum-ink), 0 0 .5em .12em #ffc35a8c;background:radial-gradient(circle at 36% 30%,#fff 0 16%,#fff4e0 46%,#ffd08a 78%,#ffb04a 100%);border-radius:50%;position:absolute;top:.8em;left:3.86em}@keyframes title-in{0%{opacity:0;transform:translateY(-18px)}}.rule{color:var(--light);opacity:.9;text-shadow:0 1px 8px #280e1ed9;margin:4px 0 0 .25em;font-size:14px}.tagline{color:var(--light);text-shadow:0 1px 8px #280e1ecc;margin:12px 0 0 .2em;font-size:clamp(15px,1.6vw,19px);font-weight:600}.menu-card{gap:4px;width:min(400px,100%);padding:16px 14px 14px;animation-delay:.12s;animation-fill-mode:both}.menu-list{flex-direction:column;gap:2px;display:flex}.menu-list .menu-item{animation:item-in .5s var(--ease-out) both}.menu-list .menu-item:nth-child(2){animation-delay:.22s}.menu-list .menu-item:nth-child(3){animation-delay:.27s}.menu-list .menu-item:nth-child(4){animation-delay:.32s}.menu-list .menu-item:nth-child(5){animation-delay:.37s}@keyframes item-in{0%{opacity:0;transform:translate(-14px)}}.stats{gap:6px;margin:10px 0 2px;display:flex}.stats:empty{display:none}.stats p{background:var(--well);border-radius:14px;flex-direction:column;flex:1;gap:2px;margin:0;padding:10px 12px 9px;display:flex}.stats .coin{margin-right:4px;font-size:20px}.stats b{font-family:var(--display);color:var(--accent-text);font-variant-numeric:tabular-nums;font-size:24px;font-weight:400;line-height:1}.stats span{color:var(--paper-dim);font-size:12px;line-height:1.2}.menu-foot{border-top:1px solid var(--glass-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;padding-top:10px;display:flex}.reduced .title-block,.reduced .card,.reduced .menu-list .menu-item,.reduced .btn.primary:after,.reduced #hint-main{animation:none}.group-label{color:var(--paper-dim);margin:10px 0 0;font-size:14px;font-weight:600}.options{background:var(--well);border-radius:16px;flex-wrap:wrap;gap:4px;padding:4px;display:flex;box-shadow:inset 0 2px 3px #7834221f}.chip{min-height:40px;color:var(--paper-dim);cursor:pointer;transition:background-color .15s, color .15s, transform .15s var(--ease-out);background:0 0;border:0;border-radius:12px;flex:auto;justify-content:center;align-items:center;gap:6px;padding:6px 14px;font-size:15px;font-weight:600;display:inline-flex}.chip:hover{color:var(--paper);background:#ffffff8c}.chip[aria-pressed=true]{background:linear-gradient(180deg, #ffd27a, var(--gold));color:var(--plum-ink);box-shadow:0 2px 0 var(--gold-deep), inset 0 1px 0 #fff9}.chip:active{transform:scale(.97)}.chip svg{fill:none;stroke:currentColor;flex:none;width:18px;height:18px}.quiet .chip{background:0 0;flex:none;box-shadow:inset 0 0 0 2px #ead6bf}.quiet .chip[aria-pressed=true]{color:var(--gold-text);box-shadow:inset 0 0 0 2px var(--gold);background:#ffc35a4d}.seg4{grid-template-columns:repeat(4,1fr);display:grid}.seg4 .chip{flex-direction:column;gap:2px;min-height:56px;padding:6px 4px;font-size:13px}.places{box-shadow:none;background:0 0;grid-template-columns:repeat(3,1fr);gap:8px;padding:0;display:grid}.place-card{background:var(--well);text-align:left;border-radius:16px;flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden;box-shadow:inset 0 0 0 2px #0000}.place-card span{padding:8px 12px 10px;font-size:14px;line-height:1.2}.place-card[aria-pressed=true]{color:var(--paper);box-shadow:0 0 0 3px var(--gold), 0 4px 0 3px var(--gold-deep);background:#fff}.place-card[aria-pressed=true] span{color:var(--gold-text)}.thumb{background-position:50%;background-size:cover;height:64px;display:block;position:relative}.thumb.garden{background-image:url(./thumb-garden-DKZNeWbt.jpg)}.thumb.sakura{background-image:url(./thumb-sakura-mBCEshfS.jpg)}.thumb.cafe{background-image:url(./thumb-cafe-xCVKYp7O.jpg)}.setup-card{width:min(440px,100%)}.setup-card .vol-row{margin-top:6px}.setup-card .vol-label{width:auto;color:var(--paper-dim);flex:0 0 44%}.setup-card .btn.primary,.camp-card>.btn.primary,.ws-card>.btn.primary{box-shadow:0 6px 0 var(--coral-deep), 0 0 0 12px #fff7ea, 0 -10px 18px 6px #fff7ea;margin-top:10px;position:sticky;bottom:-12px}.ws-card{width:min(820px,100%)}.ws-body{flex-wrap:wrap;align-items:flex-start;gap:18px;width:100%;display:flex}.ws-side{z-index:2;flex-direction:column;flex:none;gap:10px;width:min(250px,100%);display:flex;position:sticky;top:0}#ws-canvas{aspect-ratio:1;background:radial-gradient(circle at 50% 40%,#fff6e6,#0000 65%),radial-gradient(circle at 50% 120%,#ff8c6473,#0000 60%),#f2dcc0;border-radius:22px;flex:none;width:100%;box-shadow:inset 0 2px 6px #78342226}#ws-groups{flex:300px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));column-gap:16px;min-width:0;display:grid}.ws-group:first-child{grid-column:1/-1}.ws-group .group-label{margin:10px 0 6px}.ws-group .options{justify-content:flex-start}.ws-group .options:has(.swatch){box-shadow:none;background:0 0;gap:6px;padding:0}.swatch{cursor:pointer;width:40px;height:40px;transition:transform .15s var(--ease-spring), box-shadow .15s;border:0;border-radius:50%;flex:none;padding:0;box-shadow:inset 0 -3px #0003,0 0 0 2px #78422c1a}.swatch:hover{transform:translateY(-2px)}.swatch[aria-pressed=true]{box-shadow:inset 0 -3px 0 #0003, 0 0 0 3px #fff7ea, 0 0 0 6px var(--paper);transform:scale(1.06)}.trophy-card{width:min(520px,100%)}#trophy-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}#trophy-list li{background:var(--well);color:var(--paper-dim);border-radius:16px;grid-template-columns:40px 1fr;align-items:center;column-gap:12px;padding:10px 12px;display:grid}#trophy-list li.done{color:var(--paper);background:linear-gradient(90deg,#ffc35a73,#ffc35a26);box-shadow:inset 0 0 0 2px #e5962a73}#trophy-list .mark{width:40px;height:40px;color:var(--paper-faint);background:#fff9;border-radius:12px;grid-row:span 2;place-items:center;font-size:20px;display:grid}#trophy-list li.done .mark{background:linear-gradient(180deg, #ffd27a, var(--gold));color:var(--plum-ink);box-shadow:0 2px 0 var(--gold-deep)}#trophy-list b{font-size:16px;font-weight:600}#trophy-list li.done b{color:var(--gold-text)}#trophy-list span:not(.mark){font-size:13px;line-height:1.3}#result .card{align-items:stretch}.final{align-items:center;gap:10px;margin:6px 0 10px;display:flex}.final .flip{color:#fff;background:linear-gradient(180deg, #ff7a5f 0 50%, var(--coral-ui) 50% 100%);min-width:1.1em;box-shadow:0 5px 0 var(--coral-deep), inset 0 1px 0 #fff6;text-shadow:0 3px #0003;animation:flip-in .7s var(--ease-spring) both;font-size:76px}.final .flip.rival{background:var(--rival-ui,var(--blue-ui));background-image:linear-gradient(#ffffff2e 0 50%,#0000000a 50% 100%);animation-delay:.12s;box-shadow:0 5px #00000059,inset 0 1px #ffffff59}.final .flip:after{background:#00000038}@keyframes flip-in{0%{opacity:0;transform:perspective(300px)rotateX(-90deg)}}.reduced .final .flip{animation:none}.dash{font-family:var(--display);color:#d8c3ad;font-size:48px}#result-stats{white-space:pre-line;background:var(--well);border-radius:14px;margin-bottom:8px;padding:10px 14px;line-height:1.6}#audio-pop{background:var(--glass-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:min(280px,100vw - 24px);box-shadow:var(--panel-shadow), inset 0 1px 0 var(--edge-light);animation:pop-down .25s var(--ease-out);border-radius:20px;flex-direction:column;gap:4px;padding:10px 14px 10px 10px;display:flex;position:absolute;top:calc(100% + 10px);right:0}@keyframes pop-down{0%{opacity:0;transform:translateY(-8px)}}.vol-row{align-items:center;gap:10px;min-height:46px;display:flex}.vol-btn{background:linear-gradient(180deg, #ffd27a, var(--gold));width:40px;height:40px;color:var(--plum-ink);cursor:pointer;border:0;border-radius:12px;flex:none;place-items:center;display:grid}.vol-btn[aria-pressed=false]{color:var(--paper-dim);background:#ecdcc7}.vol-btn svg{fill:currentColor;stroke:currentColor;width:22px;height:22px}.vol-label{width:60px;color:var(--paper);flex:none;font-size:14px;font-weight:600}.vol-slider{min-width:0;height:32px;accent-color:var(--coral-ui);cursor:pointer;touch-action:pan-x;flex:1;margin:0}#replay{z-index:20;padding:max(14px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));pointer-events:none;flex-direction:column;justify-content:space-between;align-items:center;display:flex;position:absolute;inset:0}#replay[hidden]{display:none}#replay:before,#replay:after{content:"";background:#140818d9;height:min(7vh,52px);position:absolute;left:0;right:0}#replay:before{top:0}#replay:after{bottom:0}.replay-tag{z-index:1;background:var(--glass-strong);color:var(--paper);font-family:var(--display);letter-spacing:.01em;box-shadow:inset 0 0 0 1px var(--glass-line);border-radius:999px;align-self:flex-start;align-items:center;gap:10px;margin:0;padding:6px 16px;font-size:18px;display:flex;position:relative}.replay-tag i{background:var(--coral);width:10px;height:10px;box-shadow:0 0 10px var(--coral);border-radius:50%;animation:1.1s steps(2,jump-none) infinite rec-blink}@keyframes rec-blink{50%{opacity:.25}}.reduced .replay-tag i{animation:none}.replay-foot{z-index:1;flex-direction:column;align-items:center;gap:10px;width:min(420px,100%);display:flex;position:relative}.replay-bar{background:#fff3e340;border-radius:3px;width:100%;height:6px;overflow:hidden}.replay-bar i{background:var(--gold);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.replay-foot .btn{pointer-events:auto;width:auto;min-width:140px}#fatal{text-align:center;color:var(--paper);background:#fff7ea;place-items:center;padding:24px;font-size:18px;display:grid;position:absolute;inset:0}@media (width<=640px){.overlay{padding:max(12px, env(safe-area-inset-top)) 10px max(10px, env(safe-area-inset-bottom));background:linear-gradient(#5a283200,#5a283214 45%,#5a283259);justify-content:flex-end;align-items:stretch}.card{border-radius:28px;width:100%;max-height:86%;padding:20px 16px 16px;animation-name:sheet-in}@keyframes sheet-in{0%{opacity:0;transform:translateY(40px)}}.card h2{font-size:32px}.menu-screen{justify-content:space-between}.title-block{text-align:center;align-self:center;margin-top:64px}.logo{font-size:clamp(44px,17vw,78px)}.tagline,.rule{margin-left:0}.menu-card{width:100%}.btn.primary{min-height:58px;font-size:27px}.menu-item{min-height:46px;font-size:19px}.ws-body{flex-direction:column;align-items:center}.ws-side{background:#fff7ea;flex-direction:row;align-items:center;width:100%;padding-bottom:6px}#ws-canvas{width:120px}.ws-side .ws-buy{flex:1}#ws-groups{width:100%}#hud{left:max(10px, env(safe-area-inset-left));align-items:flex-start;transform:none}.scoreboard{border-radius:16px;gap:4px;padding:4px}.side{border-radius:12px;gap:6px;padding:3px}.side.you{padding-left:8px}.side.rival{padding-right:8px}.name{font-size:13px}.pts{font-size:26px}.serve-dot{width:10px;height:10px}#hint{top:auto;bottom:max(24px, env(safe-area-inset-bottom));width:calc(100% - 28px)}#callout.high{top:calc(max(12px, env(safe-area-inset-top)) + 70px)}.final .flip{font-size:64px}}@media (width<=380px){.name{display:none}.side.you{padding-left:3px}.side.rival{padding-right:3px}#corner{gap:4px}.icon-btn{width:42px;height:42px}}@media (height<=460px){.overlay{padding-top:max(10px, env(safe-area-inset-top));padding-bottom:max(10px, env(safe-area-inset-bottom))}.menu-screen{flex-direction:row;justify-content:flex-start;align-items:center;gap:24px}.logo{font-size:46px}.menu-card{width:min(340px,50vw);max-height:100%}.card{gap:6px;padding:14px 16px}.card h2{font-size:28px}.btn.primary{min-height:50px;font-size:24px}.menu-item,.btn{min-height:44px;font-size:18px}.chip,.vol-btn{min-height:44px}.vol-slider{height:44px}.stats{display:none}.setup-card .btn.primary{box-shadow:0 6px 0 var(--coral-deep), 0 0 0 10px #fff7ea;position:sticky;bottom:-14px}#hint{top:auto;left:max(12px, env(safe-area-inset-left));bottom:max(10px, env(safe-area-inset-bottom));text-align:left;border-radius:16px;width:min(280px,36vw);padding:8px 14px;animation-name:hint-in-left;transform:none}#hint-main{font-size:17px}#hint-sub{font-size:12px;line-height:1.25}.rally{min-height:18px;font-size:12px}#callout.high{top:calc(max(8px, env(safe-area-inset-top)) + 84px)}}@keyframes hint-in-left{0%{opacity:0;transform:translateY(16px)}}.card,.scoreboard,.icon-btn,#hint,#audio-pop{-webkit-backdrop-filter:none;backdrop-filter:none}@media (pointer:coarse){.card,.scoreboard,.icon-btn,#hint,#audio-pop{-webkit-backdrop-filter:none;backdrop-filter:none}.card,.icon-btn,#hint{background:#fff7ea}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.card,.scoreboard,.icon-btn,#hint,#audio-pop{background:#fff7ea}}.tap-start,#menu.splash .menu-card{display:none}#menu.splash{cursor:pointer}#menu.splash .tap-start{background:var(--glass-strong);color:var(--accent-text);font-family:var(--display);letter-spacing:.02em;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:12px;margin-top:26px;padding:14px 28px 14px 22px;font-size:clamp(22px,2.6vw,30px);animation:1.4s ease-in-out infinite tap-pulse;display:inline-flex;box-shadow:0 6px #78342233,0 18px 34px -12px #46191e80}.tap-start svg{stroke:currentColor;width:30px;height:30px;animation:1.4s ease-in-out infinite tap-finger}.tap-touch{display:none}@media (pointer:coarse){.tap-touch{display:inline}.tap-mouse{display:none}}@keyframes tap-pulse{50%{transform:scale(1.05)}}@keyframes tap-finger{40%{transform:translateY(4px)scale(.92)}}.reduced #menu.splash .tap-start,.reduced .tap-start svg{animation:none}@media (width<=640px){#menu.splash{justify-content:center}#menu.splash .title-block{flex-direction:column;align-items:center;margin-top:0;display:flex}}.coin{vertical-align:-.16em;background:radial-gradient(circle at 38% 32%,#fff3b8 0 12%,#ffd45a 34%,#f2a91e 78%);border-radius:50%;flex:none;width:1.05em;height:1.05em;display:inline-block;box-shadow:inset 0 0 0 .11em #d98a12,inset 0 0 0 .2em #ffeca0a6,0 1px #783c0a59}.coin-pill{color:var(--gold-text);font-family:var(--display);font-variant-numeric:tabular-nums;background:#ffc35a47;border-radius:999px;align-items:center;gap:6px;padding:5px 12px 5px 8px;font-size:20px;display:inline-flex}.card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.card-head h2{margin:0}.camp-btn{flex-direction:column;justify-content:center;align-items:center;gap:2px;line-height:1;display:flex}.camp-btn small{letter-spacing:0;text-shadow:none;opacity:.9;font-family:Fredoka,sans-serif;font-size:13px;font-weight:600}.camp-btn small:empty{display:none}.camp-card{width:min(480px,100%)}.camp-stars{font-family:var(--display);color:var(--gold-text);margin:2px 0 4px;font-size:18px}#camp-stages{flex-direction:column;gap:14px;display:flex}.camp-stage-head{align-items:center;gap:12px;margin-bottom:6px;display:flex}.camp-stage-head .thumb{border-radius:12px;flex:none;width:92px;height:44px;box-shadow:0 2px #7834222e}.camp-stage-head h3{font-family:var(--display);margin:0;font-size:21px;font-weight:400;line-height:1.05}.camp-prize{color:var(--paper-dim);margin:2px 0 0;font-size:13px}.camp-prize.done{color:var(--gold-text);font-weight:600}.camp-list{flex-direction:column;gap:6px;display:flex}.camp-match{background:var(--well);width:100%;min-height:56px;color:var(--paper);text-align:left;cursor:pointer;transition:background-color .15s, transform .15s var(--ease-out), box-shadow .15s;border:0;border-radius:16px;align-items:center;gap:12px;padding:8px 14px 8px 10px;display:flex;position:relative}.camp-match:hover:not(:disabled){background:#fff;transform:translateY(-1px)}.camp-match:focus-visible{outline:2px solid var(--paper);outline-offset:2px}.camp-match.next{box-shadow:0 0 0 3px var(--gold), 0 4px 0 3px var(--gold-deep);background:#fff}.camp-match.locked{cursor:default;opacity:.55}.cm-n{background:var(--glass-strong);width:34px;height:34px;font-family:var(--display);box-shadow:inset 0 0 0 2px var(--glass-line);border-radius:50%;flex:none;place-items:center;font-size:18px;display:grid}.camp-match.next .cm-n{background:var(--coral);color:#fff;box-shadow:none}.cm-main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.cm-main b{font-size:17px;font-weight:600}.cm-main small{color:var(--paper-dim);font-size:13px}.cm-stars{flex:none;gap:3px;display:flex}.cm-stars i,.star-row i,.price.prize .star{clip-path:polygon(50% 2%,62% 36%,98% 37%,69% 59%,80% 95%,50% 74%,20% 95%,31% 59%,2% 37%,38% 36%);background:#78422c2e;width:20px;height:20px;display:inline-block}.cm-stars i.on,.star-row li.on i,.price.prize .star{background:linear-gradient(#ffd96a,#f2a91e)}.cm-lock{width:22px;height:22px;fill:var(--paper-faint);stroke:var(--paper-faint);flex:none}.cm-tag{background:var(--coral);color:#fff;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;position:absolute;top:-8px;right:12px}.chip.locked,.swatch.locked{position:relative}.chip.locked{color:var(--paper)}.price{color:var(--gold-text);align-items:center;gap:3px;margin-left:6px;font-size:12px;font-weight:700;display:inline-flex}.swatch .price{background:#fff7ea;border-radius:999px;margin:0;padding:1px 5px 1px 2px;font-size:10px;position:absolute;bottom:-9px;right:50%;transform:translate(50%);box-shadow:0 1px 2px #50281e4d}.price.prize{background:#ffc35a59;border-radius:999px;padding:1px 7px;font-size:11px}.ws-group .options:has(.swatch){row-gap:16px}.chip.trying,.swatch.trying{opacity:1;color:var(--paper);box-shadow:0 0 0 3px #fff7ea, 0 0 0 5px var(--coral)}.ws-buy{background:#ffc35a38;border-radius:16px;flex-direction:column;align-items:stretch;gap:8px;padding:10px 12px;display:flex;box-shadow:inset 0 0 0 2px #e5962a73}.ws-buy p:empty{display:none}.ws-buy p{color:var(--paper-dim);margin:0;font-size:14px;font-weight:600}.btn.buy{background:linear-gradient(180deg, #ffd27a, var(--gold));width:100%;min-height:46px;color:var(--plum-ink);font-family:var(--display);box-shadow:0 4px 0 var(--gold-deep);justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:20px;font-weight:400;display:inline-flex}.btn.buy:disabled{opacity:.55;cursor:not-allowed;transform:none}.result-camp{flex-direction:column;gap:8px;display:flex}.result-sub{color:var(--paper-dim);margin:0;font-size:14px;font-weight:600}.star-row{gap:8px;margin:0;padding:0;list-style:none;display:flex}.star-row li{background:var(--well);color:var(--paper-faint);text-align:center;border-radius:14px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:10px 6px 8px;font-size:12px;font-weight:600;display:flex}.star-row li i{width:30px;height:30px}.star-row li.on{color:var(--gold-text);background:#ffc35a40}.star-row li.on i{animation:star-pop .5s var(--ease-spring) both}.star-row li:nth-child(2).on i{animation-delay:.15s}.star-row li:nth-child(3).on i{animation-delay:.3s}@keyframes star-pop{0%{transform:scale(.2)rotate(-40deg)}}.result-prize{color:var(--gold-text);background:linear-gradient(90deg,#ffc35a66,#ffc35a1f);border-radius:12px;margin:0;padding:8px 12px;font-size:14px;font-weight:600}.coins-earned{font-family:var(--display);color:var(--gold-text);animation:star-pop .5s var(--ease-spring) .45s both;align-items:center;gap:8px;margin:2px 0 6px;font-size:24px;display:inline-flex}.reduced .star-row li.on i,.reduced .coins-earned{animation:none}.goals{gap:6px;display:flex}.goals span{background:var(--glass-strong);color:var(--paper-dim);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;transition:background-color .3s,color .3s;box-shadow:0 2px #78342226}.goals span.done{color:var(--gold-text);background:#ffe2a0}#hud.training .goals{display:none}.camp-card .card-head h2{white-space:nowrap;font-size:clamp(26px,7.4vw,34px)}.icon-btn.small{width:40px;height:40px;box-shadow:inset 0 0 0 2px var(--glass-line);flex:none}.icon-btn.small svg{width:18px;height:18px}.star-legend{color:var(--gold-text);flex-wrap:wrap;gap:6px 14px;margin:0;padding:0;font-size:13px;font-weight:600;list-style:none;display:flex}.star-legend li{align-items:center;gap:5px;display:flex}.star-legend i{clip-path:polygon(50% 2%,62% 36%,98% 37%,69% 59%,80% 95%,50% 74%,20% 95%,31% 59%,2% 37%,38% 36%);background:linear-gradient(#ffd96a,#f2a91e);width:16px;height:16px}.camp-meta{justify-content:space-between;align-items:center;display:flex}.camp-meta .camp-stars{margin:0}.camp-complete{color:var(--plum-ink);font-family:var(--display);text-align:center;background:linear-gradient(90deg,#ffd27a,#ffe6a8);border-radius:14px;margin:0;padding:10px 14px;font-size:19px}.star-row li.half{color:var(--gold-text)}.star-row li.half i{opacity:.45;background:linear-gradient(#ffd96a,#f2a91e)}.star-row li em{color:var(--paper-dim);margin-top:2px;font-size:11px;font-style:normal;display:block}.prize-card{background:linear-gradient(90deg,#ffc35a80,#ffc35a2e);border-radius:16px;align-items:center;gap:12px;padding:10px 12px;display:flex;box-shadow:inset 0 0 0 2px #e5962a80}.prize-card>div{flex-direction:column;flex:1;min-width:0;display:flex}.prize-card b{font-family:var(--display);font-size:19px;font-weight:400;line-height:1.1}.prize-card small{color:var(--paper-dim);font-size:13px}.prize-card .btn.buy{flex:none;width:auto;min-height:42px;padding:0 14px;font-size:16px}.prize-icon{width:44px;height:44px;animation:star-pop .6s var(--ease-spring) .3s both;border-radius:50%;flex:none}.prize-icon.ball-gold{background:radial-gradient(circle at 36% 30%,#fff8d0 0 14%,#ffd45a 45%,#e59a16 100%);box-shadow:0 0 0 3px #fff7ea,0 0 18px 4px #ffc35ab3}.prize-icon.edge-gold{background:radial-gradient(circle,#ff6b55 0 58%,#d9a93a 60% 76%,#0000 78%);box-shadow:0 0 16px 3px #ffc35a99}.prize-icon.sticker-blossom{background:radial-gradient(circle, #ffb04a 0 16%, transparent 17%), conic-gradient(from 0deg, #ffd9e4 0 14%, #fff7ea 14% 20%, #ffd9e4 20% 34%, #fff7ea 34% 40%, #ffd9e4 40% 54%, #fff7ea 54% 60%, #ffd9e4 60% 74%, #fff7ea 74% 80%, #ffd9e4 80% 94%, #fff7ea 94%);box-shadow:inset 0 0 0 3px #3b2a26,0 0 16px 3px #ffaac899}.reduced .prize-icon{animation:none}.coin-break{flex-direction:column;gap:4px;margin:2px 0 6px;display:flex}#coin-lines{margin:0;padding:0;list-style:none}#coin-lines li{color:var(--paper-dim);justify-content:space-between;gap:12px;font-size:14px;display:flex}#coin-lines b{color:var(--gold-text);font-weight:700}.coin-total{border-top:1px solid var(--glass-line);justify-content:space-between;align-items:baseline;margin:2px 0 0;padding-top:6px;display:flex}.coin-total span{font-family:var(--display);color:var(--gold-text);animation:star-pop .5s var(--ease-spring) .45s both;align-items:center;gap:8px;font-size:24px;display:inline-flex}.coin-total small{color:var(--paper-dim);font-size:13px}.coin-hint{color:var(--accent-text);margin:0;font-size:13px;font-weight:600}.reduced .coin-total span{animation:none}.ws-preview{position:relative}.ws-trying{background:var(--coral);color:#fff;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:700;position:absolute;top:8px;left:8px}.menu-item .count.coins{align-items:center;gap:5px;display:inline-flex}.menu-item.can-buy:after{content:"";background:var(--coral);border-radius:50%;width:9px;height:9px;position:absolute;top:12px;left:30px;box-shadow:0 0 0 2px #fff7ea}@media (width<=600px){#toast{white-space:normal;text-align:left;border-radius:18px;max-width:min(360px,100% - 24px)}}#result .res-main,#result .res-side{display:contents}@media (width>=900px) and (height>=461px){#result .card{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;column-gap:28px;width:min(720px,100%);display:grid}#result .res-main,#result .res-side{flex-direction:column;align-items:stretch;min-width:0;display:flex}#result .res-side{align-self:center;gap:10px}#result .res-side>.coin-break{margin-top:0;margin-bottom:8px}}.menu-item .count.live{color:#1d6f66;background:#2fb3a32e;align-items:center;gap:6px;display:inline-flex}.menu-item .count.live:before{content:"";background:var(--teal);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #2fb3a340}.online-card{width:min(420px,100%)}.field{color:var(--paper-dim);flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}.field input,.join-row input{border:2px solid var(--glass-line);background:var(--card-paper);width:100%;min-height:48px;color:var(--paper);font:inherit;-webkit-user-select:text;user-select:text;border-radius:14px;padding:0 14px;font-size:20px;font-weight:600}.field input:focus,.join-row input:focus{border-color:var(--coral-ui);outline:none;box-shadow:0 0 0 4px #e0442f29}.join-row{grid-template-columns:1fr auto;gap:8px;margin:2px 0 0;display:grid}.join-row input{font-family:var(--display);letter-spacing:.18em;text-transform:uppercase;font-size:24px;font-weight:400}.join-row input::placeholder{letter-spacing:0;text-transform:none;color:var(--paper-faint);font-family:Fredoka,sans-serif;font-size:17px}.join-row .btn{width:auto;min-height:48px}.net-note{min-height:1.3em;color:var(--paper-dim);margin:2px 0 0;font-size:14px;font-weight:600}.net-note.error{color:var(--accent-text)}.online-card .btn:disabled,.online-card .menu-item:disabled{opacity:.55;pointer-events:none}.lobby-card{align-items:stretch;width:min(440px,100%)}.lobby-label{color:var(--paper-dim);margin:0;font-size:15px;font-weight:600}.room-code{gap:8px;margin:2px 0 8px;font-size:0;display:flex}.room-code .flip{min-width:1.05em;animation:flip-in .6s var(--ease-spring) both;font-size:clamp(36px,9vw,52px)}.room-code .flip:nth-child(2){animation-delay:50ms}.room-code .flip:nth-child(3){animation-delay:.1s}.room-code .flip:nth-child(4){animation-delay:.15s}.room-code .flip:nth-child(5){animation-delay:.2s}.reduced .room-code .flip{animation:none}.lobby-share{grid-template-columns:1fr auto;align-items:start;gap:10px;display:grid}.lobby-share .chip{min-height:60px;padding:0 16px}.versus{background:var(--well);border-radius:18px;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:12px;display:grid}.seat{text-align:center;justify-items:center;gap:4px;min-width:0;display:grid}.seat b{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:18px;overflow:hidden}.seat small{color:var(--paper-dim);font-size:13px;font-weight:600}.seat.empty b{color:var(--paper-faint)}.paddle-dot{background:var(--dot,var(--coral));border-radius:50%;width:30px;height:30px;box-shadow:inset 0 -3px #0000002e,0 2px #78342240}.seat.empty .paddle-dot{box-shadow:inset 0 0 0 2px var(--paper-faint);background:0 0;animation:1.4s ease-in-out infinite seat-wait}@keyframes seat-wait{50%{opacity:.5;transform:scale(.82)}}.reduced .seat.empty .paddle-dot{animation:none}.vs{font-family:var(--display);color:var(--paper-faint);font-size:26px}.lobby-status{min-height:1.4em;font-family:var(--display);color:var(--paper);margin:2px 0;font-size:24px}.toggle{min-height:44px;color:var(--paper-dim);cursor:pointer;align-items:center;gap:10px;font-size:15px;font-weight:600;display:flex}.toggle input{width:22px;height:22px;accent-color:var(--coral-ui);margin:0}.net-banner{top:calc(env(safe-area-inset-top) + 96px);z-index:6;background:var(--glass);max-width:calc(100% - 32px);box-shadow:var(--panel-shadow);color:var(--paper);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;border-radius:999px;padding:8px 16px;font-size:15px;font-weight:600;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.net-banner:before{content:"";background:var(--gold-deep);vertical-align:.05em;border-radius:50%;width:9px;height:9px;margin-right:8px;animation:1s ease-in-out infinite seat-wait;display:inline-block}.btn:disabled{cursor:default;filter:saturate(.55)brightness(1.04);transform:none}.btn.primary:disabled:after{animation:none}.btn.primary.long{font-size:23px}@media (width>=760px){#campaign.overlay{background:radial-gradient(#5a283252,#5a28321f 70%);align-items:center}.camp-card{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"head head""intro meta""legend meta""complete complete""stages stages""go go";gap:8px 24px;width:min(1060px,100%);padding:26px 30px;animation-name:fade-in;display:grid}.camp-card>.card-head{grid-area:head}.camp-card>.small{grid-area:intro}.camp-card>.star-legend{grid-area:legend}.camp-card>.camp-meta{grid-area:meta;align-self:center;gap:14px}.camp-card>.camp-complete{grid-area:complete}.camp-card>#camp-stages{grid-area:stages}.camp-card>.btn.primary{width:min(440px,100%);box-shadow:0 6px 0 var(--coral-deep), 0 18px 30px -10px #ff5a458c, inset 0 2px 0 #ffffff59;grid-area:go;justify-self:center;margin:10px 0 4px;position:relative;bottom:auto}.camp-card .card-head h2{font-size:38px}.camp-meta .camp-stars{font-size:22px}#camp-stages{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:10px;display:grid}.camp-stage{background:var(--glass-soft);border-radius:22px;flex-direction:column;gap:10px;padding:10px;display:flex}.camp-stage-head{flex-direction:column;align-items:stretch;gap:8px;margin:0}.camp-stage-head .thumb{border-radius:15px;width:100%;height:clamp(64px,12vh,112px)}.camp-stage-head>div{padding:0 4px}.camp-list{gap:8px}.camp-match{background:var(--glass-strong)}}@media (width>=760px) and (height<=620px){.camp-card{row-gap:4px;padding:18px 24px}.camp-card .card-head h2{font-size:30px}.camp-card>.small{display:none}#camp-stages{margin-top:4px}.camp-stage{gap:6px;padding:8px}.camp-stage-head{flex-direction:row;align-items:center}.camp-stage-head .thumb{border-radius:10px;width:64px;height:40px}.camp-stage-head h3{font-size:18px}.camp-list{gap:6px}.camp-match{gap:10px;min-height:46px;padding:6px 10px 6px 8px}.cm-n{width:28px;height:28px;font-size:15px}.cm-main b{font-size:15px}.camp-card>.btn.primary{min-height:52px;margin-top:6px;font-size:26px}#campaign.overlay{padding-top:66px;padding-bottom:12px}.camp-stage-head .thumb{display:none}.camp-prize,.cm-main b,.cm-main small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cm-main small{font-size:12px}.cm-stars{gap:2px}.cm-stars i{width:14px;height:14px}}@media (width>=760px) and (width<=1000px){.cm-main small,.camp-prize{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}}.setup-col{display:contents}@media (width>=760px){#setup.overlay,#trophies.overlay,#workshop.overlay{background:radial-gradient(#5a283252,#5a28321f 70%);align-items:center}#setup .card,#trophies .card,#workshop .card{animation-name:fade-in}.setup-card{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;width:min(900px,100%);padding:26px 30px 24px;display:grid}.setup-card>h2{grid-column:1/-1}.setup-col{flex-direction:column;gap:10px;min-width:0;display:flex}.setup-card>.btn.primary,.trophy-card>.btn.primary{width:min(360px,100%);box-shadow:0 6px 0 var(--coral-deep), 0 18px 30px -10px #ff5a458c, inset 0 2px 0 #ffffff59;grid-column:1/-1;justify-self:center;margin:18px auto 4px;position:relative;bottom:auto}.trophy-card{width:min(1000px,100%);padding:26px 30px 24px}#trophy-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px}#trophy-list li{min-height:62px}}@media (width>=1000px){.ws-card{width:min(1120px,100%);padding:26px 30px 24px}#ws-groups{grid-template-columns:repeat(3,minmax(0,1fr))}.ws-card>.btn.primary{width:min(360px,100%);box-shadow:0 6px 0 var(--coral-deep), 0 0 0 12px #fff7ea;place-self:center}}@media (width>=760px) and (height<=620px){#setup.overlay,#trophies.overlay,#workshop.overlay{padding-top:66px;padding-bottom:12px}.setup-card,.trophy-card,.ws-card{padding:18px 24px}.setup-card h2,.trophy-card h2,.ws-card h2{font-size:30px}#trophy-list li{min-height:52px;padding:6px 10px}#trophy-list .mark{width:32px;height:32px}.setup-card>.btn.primary,.trophy-card>.btn.primary{min-height:52px;margin-top:10px;font-size:26px}}@media (width>=1000px){#workshop.overlay{padding-top:70px;padding-bottom:16px}.ws-body{grid-template-columns:250px repeat(3,minmax(0,1fr));align-items:start;gap:0 18px;display:grid}.ws-side{grid-area:1/1/span 2;position:static}#ws-groups{display:contents}#ws-groups>.ws-group:first-child{grid-area:1/2/auto/-1}#ws-groups>.ws-group:nth-child(n+2):nth-child(-n+4){grid-row:2}#ws-groups>.ws-group:nth-child(n+5):nth-child(-n+7){grid-row:3/span 2}#ws-groups>.ws-group:nth-child(8){grid-area:3/1}#ws-groups>.ws-group:nth-child(9){grid-area:4/1}.ws-group .options:has(.swatch){row-gap:10px}.ws-card .card-head h2{font-size:34px}}
