@font-face{font-family:CookieRun;src:url(/assets/CookieRun-Regular-BktT6I4M.woff) format("woff");font-weight:100 900;font-style:normal;font-display:swap}:root{--bg: #3fa4ff;--navy: #1d2b5a;--fg: #1d2b5a;--muted: #5b6894;--cream: #fff8e6;--white: #ffffff;--l: #3b82ff;--l-dark: #2456c7;--r: #ff4f8b;--r-dark: #c92f66;--yellow: #ffd23f;--yellow-dark: #e5a800;--danger: #ff4d6d;--purple: #8a2be2;--display: "CookieRun", "Gothic A1", "Noto Sans KR", "Apple SD Gothic Neo", sans-serif;--fs: .76;--ink: #1d2b5a;--l-ink: #2456c7;--r-ink: #c4245e;--boss-ink: #6d28d9;--pill-dark: rgba(16, 26, 60, .74);--stroke: .07em;--body: "Gothic A1", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px)}*{box-sizing:border-box}html{font-synthesis:none}html,body{margin:0;height:100%;background:var(--bg);color:var(--fg);font-family:var(--body);font-weight:700;overscroll-behavior:none}body{position:fixed;inset:0;overflow:hidden;-webkit-text-size-adjust:100%}#app{position:relative;height:100%}button{font:inherit;color:inherit;cursor:pointer}b{font-weight:900}#arena{position:absolute;inset:0}#canvas{width:100%;height:100%;display:block;touch-action:none}.cue-banner{position:absolute;top:40%;left:0;right:0;text-align:center;font-family:var(--display);font-size:calc(120px * var(--fs));line-height:1;color:#fff;-webkit-text-stroke:.06em var(--navy);paint-order:stroke fill;text-shadow:0 .05em 0 rgba(29,43,90,.45);pointer-events:none;opacity:0;transform:scale(.7);transition:opacity .12s,transform .14s cubic-bezier(.2,1.4,.4,1)}.cue-banner.show{opacity:1;transform:scale(1)}.cue-banner{top:var(--cue-top, 40%);display:flex;flex-direction:column;align-items:center;gap:4px}.cb-main{display:block;line-height:1}.cb-sub{display:inline-block;font-size:calc(30px * var(--fs));line-height:1.15;color:#fff;-webkit-text-stroke:0;text-shadow:none;padding:.2em .8em .25em;border-radius:999px;background:var(--pill-dark)}.cue-banner.go{color:var(--yellow);font-size:calc(110px * var(--fs))}.cue-banner.result{font-size:calc(46px * var(--fs));color:var(--yellow);-webkit-text-stroke:.09em var(--navy)}#hud{position:absolute;left:0;right:0;top:0;padding:calc(12px + var(--safe-top)) 10px 0;pointer-events:none;z-index:2}.hud-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:6px}.chip{display:flex;align-items:center;gap:4px;padding:5px 16px 5px 6px;border-radius:30px;border:4px solid var(--navy);box-shadow:0 4px #1d2b5a59,inset 0 3px #ffffff73;justify-self:start;max-width:100%;min-width:0;color:#fff;font-family:var(--display);font-weight:700;position:relative}.team-l{background:linear-gradient(180deg,#6fa8ff 0%,var(--l) 60%,#2d6fe6 100%)}.team-r{background:linear-gradient(180deg,#ff8fb6 0%,var(--r) 60%,#e63f7a 100%);justify-self:end;padding:5px 6px 5px 16px;text-align:right}.chip .avatar{width:clamp(46px,7.4vh,70px);height:clamp(53px,8.6vh,81px);flex:none;margin-top:-12px;filter:drop-shadow(0 2px 0 rgba(0,0,0,.2))}.chip-col{display:flex;flex-direction:column;align-items:flex-start;min-width:0;line-height:.9}.team-r .chip-col{align-items:flex-end}.chip-name{font-size:calc(clamp(22px,3.3vh,38px) * var(--fs));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;-webkit-text-stroke:var(--stroke) var(--navy);paint-order:stroke fill;text-shadow:0 2px 0 rgba(29,43,90,.4);max-width:100%}.chip-count{white-space:nowrap;font-size:calc(clamp(16px,2.3vh,24px) * var(--fs));-webkit-text-stroke:.09em var(--navy);paint-order:stroke fill}.chip-count b{font-size:calc(clamp(30px,4.6vh,54px) * var(--fs));color:var(--yellow);font-weight:700;-webkit-text-stroke:.06em var(--navy);paint-order:stroke fill;text-shadow:0 2px 0 rgba(29,43,90,.4)}.badge{font-family:var(--body);font-size:10px;font-weight:900;padding:1px 6px;border-radius:8px;background:#fff;color:var(--danger);display:none;white-space:nowrap;-webkit-text-stroke:0;vertical-align:middle}.badge.show{display:inline-block}.center{display:flex;flex-direction:column;align-items:center;gap:4px}.round-pill{display:flex;align-items:center;gap:6px;padding:1px 14px;border-radius:999px;background:linear-gradient(180deg,#fffaf0,#ffe9b8);border:4px solid var(--navy);box-shadow:0 4px #1d2b5a59,inset 0 2px #fff;font-family:var(--display);font-size:calc(clamp(20px,2.9vh,32px) * var(--fs));line-height:1.2;color:var(--navy);white-space:nowrap}.round-pill .laurel.flip{transform:scaleX(-1)}.phase{color:var(--r-ink)}.phase:after{content:"·";margin-left:5px;color:var(--muted)}.timer-pill{display:flex;align-items:center;gap:10px;padding:2px 18px;border-radius:999px;background:linear-gradient(180deg,#2b3d78,var(--navy));border:4px solid #0f1a3c;box-shadow:0 3px #0000004d,inset 0 2px #fff3;color:#fff;font-family:var(--display)}.timer-pill .clock{margin-right:-2px}.score{font-size:calc(clamp(28px,4.2vh,48px) * var(--fs));min-width:22px;text-align:center;line-height:1.1}.score.l{color:#8fb8ff}.score.r{color:#ff9bbd}.timer{font-size:calc(clamp(40px,6vh,66px) * var(--fs));min-width:2.4em;text-align:center;font-variant-numeric:tabular-nums;line-height:1}.timer.live{color:var(--yellow)}.timer.small{font-size:calc(clamp(22px,3.2vh,34px) * var(--fs))}.meter{position:relative;height:clamp(10px,1.6vh,16px);margin:12px 6px 0;border-radius:8px;background:#ffffffe0;border:2px solid var(--navy);overflow:visible}.meter-goal{position:absolute;top:0;bottom:0;width:7%}.meter-goal.l{left:0;border-radius:6px 0 0 6px;background:var(--l)}.meter-goal.r{right:0;border-radius:0 6px 6px 0;background:var(--r)}.meter-mid{position:absolute;left:50%;top:-3px;bottom:-3px;width:2px;margin-left:-1px;background:var(--navy);opacity:.45}.meter-fill{position:absolute;top:0;bottom:0;left:50%;width:0;background:var(--l);opacity:.85}.meter-fill.r{background:var(--r)}.meter-mark{position:absolute;top:-7px;width:10px;height:calc(100% + 14px);border-radius:5px;background:#fff;border:3px solid var(--navy);left:50%;transform:translate(-50%)}.net-status{font-size:10px;padding:2px 7px;border-radius:8px;color:#c9d3ff}.net-status.bad{color:#fff;background:var(--danger)}#controls{position:absolute;left:0;right:0;bottom:0;padding:18px 12px calc(10px + var(--safe-bottom));background:linear-gradient(180deg,#3f9f4500,#328c3c8c 35%,#287832e6);z-index:2}.cta-msg{text-align:center;min-height:26px;margin-bottom:clamp(4px,.8vh,10px);font-family:var(--display);font-size:calc(clamp(18px,2.6vh,30px) * var(--fs));line-height:1.15;color:#fff}.cta-msg>span{display:inline-block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:top;padding:.22em .85em .28em;border-radius:999px;background:var(--pill-dark);box-shadow:0 2px #0000002e}.cta-msg:empty,.cta-msg>span:empty{visibility:hidden}.cta-msg.crisis>span{background:#a01446db}:root{--btn-h: clamp(96px, 13.5vh, 160px);--btn-font: clamp(44px, 7.2vh, 86px);--sub-h: clamp(46px, 6vh, 64px);--sub-font: clamp(20px, 3vh, 34px)}.controls-row{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"menu cta" "pull pull";gap:clamp(8px,1.2vh,14px) 8px;align-items:center}.menu-btn{grid-area:menu;width:calc(var(--sub-h) * .82);height:calc(var(--sub-h) * .82);border-radius:14px;border:3px solid #0f1a3c;background:linear-gradient(180deg,#3a4f93,var(--navy));color:#fff;font-size:calc(var(--sub-h) * .4);line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 3px #0f1a3c,inset 0 2px #fff3}.round-btn{grid-area:help;width:var(--sub-h);height:var(--sub-h);border-radius:50%;border:3px solid #0f1a3c;background:linear-gradient(180deg,#3a4f93,var(--navy));color:var(--yellow);font-family:var(--display);font-size:calc(calc(var(--sub-h) * .62) * var(--fs));line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 4px #0f1a3c,inset 0 2px #fff3}#record-btn{grid-area:record}#sound-btn{grid-area:sound;font-size:calc(var(--sub-h) * .5)}.cta{grid-area:cta;display:flex;gap:6px;align-items:center;min-width:0}.cta .msg{display:none}.cta button{flex:1;min-height:var(--sub-h);border-radius:999px;border:3px solid #0f1a3c;background:linear-gradient(180deg,#3a4f93,var(--navy));color:#fff;font-family:var(--display);font-size:calc(var(--sub-font) * var(--fs));line-height:1.02;padding:2px 8px;letter-spacing:-.02em;min-width:0;box-shadow:0 4px #0f1a3c,inset 0 2px #fff3;white-space:normal;word-break:keep-all;overflow:hidden}.cta button:not(.primary):not(.crisis):not(:only-child){flex:0 0 auto;min-height:calc(var(--sub-h) * .82);padding:2px 12px;font-size:calc(var(--sub-font) * var(--fs) * .72);background:#101a3cc7}.cta button.crisis{background:linear-gradient(180deg,#e8467f,#b81f57);border-color:#5e0f2c;box-shadow:0 4px #5e0f2c,inset 0 2px #ffffff40;animation:pulse 1.1s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.pull{grid-area:pull;width:100%;height:var(--btn-h);border-radius:999px;border:4px solid var(--navy);position:relative;overflow:hidden;background:linear-gradient(180deg,#ffe97a,#ffd23f 45%,#ffb020);color:var(--navy);display:flex;align-items:center;justify-content:center;gap:clamp(6px,1vw,14px);padding:0 calc(var(--btn-h) * .72) 12px 14px;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;box-shadow:0 9px 0 var(--navy),0 16px 26px #00000047,inset 0 4px #fff9;transition:transform .06s,box-shadow .06s,filter .06s}.pull.down{transform:translateY(7px);box-shadow:0 2px 0 var(--navy),0 6px 10px #0003;filter:brightness(.95)}.pull.disabled{filter:grayscale(.9);opacity:.6}.pull.tapped .pull-inner{animation:tapPop .14s ease-out}@keyframes tapPop{0%{transform:translateY(5px) scale(.95)}to{transform:translateY(0) scale(1)}}.pull-power{position:absolute;left:14%;right:calc(var(--btn-h) * .8);bottom:7px;height:6px;border-radius:4px;background:#1d2b5a2e;overflow:hidden}.pull-power i{display:block;height:100%;width:0;border-radius:4px;background:linear-gradient(90deg,#ff9f1c,#ff4f8b);transition:width .12s linear}.pull.hot{background:linear-gradient(180deg,#ffe066,#ffbf1f 45%,#ff8a1c)}.pull.boosted{box-shadow:0 9px 0 var(--navy),0 0 0 4px #fff,0 0 28px 8px #ffd23fe6}.pull.cue .pull-main{color:#b0156a}.pull-inner{display:flex;align-items:center;gap:clamp(6px,1vw,14px);min-width:0;transform:translate(var(--dx, 0px),var(--dy, 0px));transition:transform .22s cubic-bezier(.2,1.6,.4,1)}.pull.dragging .pull-inner{transition:none}.pull.yank .pull-inner{animation:yank .38s cubic-bezier(.2,1.4,.4,1)}@keyframes yank{0%{transform:translate(0)}35%{transform:translate(var(--yx, 0px),var(--yy, 18px)) scale(1.06)}to{transform:translate(0)}}.pull-text{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.pull-sub{font-family:var(--display);font-size:calc(clamp(16px,2.4vh,26px) * var(--fs));line-height:1.1;color:var(--ink);opacity:.78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.pull.cue .pull-sub{opacity:1;color:#b0156a}.pull .hand{flex:none;width:calc(var(--btn-h) * .5);height:calc(var(--btn-h) * .48);filter:drop-shadow(0 2px 0 rgba(0,0,0,.2))}.pull-main{font-family:var(--display);font-size:calc(var(--btn-font) * var(--fs));line-height:1;color:var(--ink);text-shadow:0 .05em 0 rgba(255,255,255,.75);margin-top:6px;white-space:nowrap;min-width:0;flex:0 1 auto}.pull .ring{position:absolute;right:calc(var(--btn-h) * .12);top:50%;width:calc(var(--btn-h) * .56);height:calc(var(--btn-h) * .56);transform:translateY(-50%);border-radius:50%;background:conic-gradient(var(--navy) calc(var(--cue, 0) * 360deg),rgba(29,43,90,.15) 0);display:flex;align-items:center;justify-content:center}.pull .ring:before{content:"";position:absolute;inset:5px;border-radius:50%;background:#ffe27a}.pull-cue{position:relative;font-family:var(--display);font-size:calc(calc(var(--btn-h) * .36) * var(--fs));line-height:1;color:var(--navy)}.pull-cue.ok{color:#0b8a5e}.pull-cue.ng{color:#c42846}.controls-aux{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:6px;font-family:var(--display);font-size:calc(18px * var(--fs));line-height:1;color:#fff}.controls-aux>span:not(:empty){background:var(--pill-dark);padding:3px 9px 4px;border-radius:999px;white-space:nowrap;flex:none}.controls-aux>.me-name{flex:0 1 auto;min-width:0}.demo-btn{white-space:nowrap;flex:0 1 auto;min-width:0;max-width:48%;overflow:hidden;text-overflow:ellipsis}.controls-aux>#mode-info:not(:empty){flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.me-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.overlay{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;background:#1d2b5a73;z-index:10;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.overlay.hidden{display:none}.card{background:var(--white);border:4px solid var(--navy);border-bottom:0;border-radius:28px 28px 0 0;padding:14px 18px calc(18px + var(--safe-bottom));width:100%;max-width:720px;box-shadow:0 -12px 40px #0000004d;position:relative;animation:up .26s cubic-bezier(.2,.9,.3,1.2);color:var(--navy)}.card:before{content:"";display:block;width:44px;height:5px;border-radius:3px;background:#d6dcf0;margin:0 auto 14px}@keyframes up{0%{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}.card h2{margin:0 0 4px;font-family:var(--display);font-weight:700;font-size:calc(clamp(34px,4.6vh,48px) * var(--fs));line-height:1}.card p{margin:0 0 14px;color:var(--muted);font-size:clamp(13px,1.7vh,16px);line-height:1.5;font-weight:500}.card .row{display:flex;gap:clamp(10px,2vw,18px)}.card .row button{flex:1;min-height:clamp(200px,32vh,340px);border-radius:28px;border:4px solid var(--navy);display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;padding:12px 8px;position:relative;color:#fff;box-shadow:0 8px #1d2b5a59,inset 0 4px #fff6;transition:transform .08s}.card .row button:active{transform:translateY(4px)}.card .row button canvas{width:clamp(96px,14vh,150px);height:clamp(114px,16.6vh,178px)}.card .row button .pick-name{font-family:var(--display);font-size:calc(clamp(34px,5vh,52px) * var(--fs));word-break:keep-all;line-height:1;-webkit-text-stroke:var(--stroke) var(--navy);paint-order:stroke fill;text-shadow:0 3px 0 rgba(29,43,90,.3);text-align:center;padding:0 4px}.card .row button small{word-break:keep-all;text-align:center;font-family:var(--display);font-size:calc(clamp(20px,2.8vh,28px) * var(--fs));line-height:1;color:#fff;-webkit-text-stroke:.08em var(--navy);paint-order:stroke fill}.card .row .pick-l{background:linear-gradient(180deg,#5c9bff,var(--l))}.card .row .pick-r{background:linear-gradient(180deg,#ff7aa8,var(--r))}.card .row button.reco{box-shadow:0 8px #1d2b5a59,0 0 0 6px var(--yellow),inset 0 4px #fff6}.card .row button.reco:after{content:"추천";position:absolute;top:-16px;left:50%;transform:translate(-50%);background:var(--yellow);color:var(--navy);font-family:var(--display);font-size:calc(clamp(20px,2.6vh,26px) * var(--fs));line-height:1;padding:3px 14px;border-radius:12px;border:3px solid var(--navy);box-shadow:0 3px #1d2b5a4d}.card .hint{margin-top:10px;font-size:12px;color:var(--r-ink);min-height:16px;font-weight:900}.card .actions{display:flex;gap:8px;margin-top:14px}.card .actions button{flex:1;min-height:48px;border-radius:999px;border:3px solid var(--navy);background:#fff;font-family:var(--display);font-size:calc(26px * var(--fs));line-height:1;box-shadow:0 4px #1d2b5a59;color:var(--navy)}.card .actions button.primary{background:linear-gradient(180deg,#ffe066,#ffcb1f)}.card .big{font-family:var(--display);font-size:calc(64px * var(--fs));text-align:center;margin:4px 0 0;line-height:1.1;-webkit-text-stroke:.045em var(--navy);paint-order:stroke fill;text-shadow:0 4px 0 rgba(29,43,90,.25)}.card .big.l{color:var(--l)}.card .big.r{color:var(--r)}.card .score-line{text-align:center;font-family:var(--display);font-size:calc(32px * var(--fs));line-height:1;margin:4px 0 8px;color:var(--muted)}.card .score-line .l{color:var(--l-ink)}.card .score-line .r{color:var(--r-ink)}.card ul{margin:0;padding-left:18px;color:var(--muted);font-size:13px;line-height:1.6;font-weight:500}.toast{position:absolute;left:50%;top:calc(var(--hud-bottom, calc(128px + var(--safe-top))) + 8px);transform:translate(-50%);background:#fff;color:var(--navy);border:3px solid var(--navy);padding:6px 18px;border-radius:999px;font-family:var(--display);font-size:calc(24px * var(--fs));line-height:1.1;opacity:0;transition:opacity .2s;pointer-events:none;max-width:90%;text-align:center;z-index:20;box-shadow:0 4px #1d2b5a59}.toast.show{opacity:1}@media (prefers-reduced-motion: reduce){.cta button.crisis{animation:none}.cue-banner,.card{transition:none;animation:none}}@media (min-width: 720px){#hud,#controls{padding-left:24px;padding-right:24px}:root{--btn-h: clamp(110px, 15vh, 176px);--btn-font: clamp(56px, 7.8vh, 96px);--sub-h: clamp(60px, 8vh, 92px);--sub-font: clamp(26px, 3.6vh, 42px)}.controls-row{gap:clamp(10px,1.2vh,16px) 12px}.pull{justify-self:center;width:min(100%,680px)}.chip .avatar{width:36px;height:42px}.overlay{align-items:center}.card{border-radius:28px;border-bottom:4px solid var(--navy);padding-bottom:18px}.card:before{display:none}.timer{font-size:calc(44px * var(--fs))}.chip-name{font-size:calc(24px * var(--fs))}}@media (min-width: 1024px){.controls-row{grid-template-columns:auto clamp(270px,26vw,420px) 1fr;grid-template-areas:"menu cta pull";gap:clamp(12px,1.2vw,20px)}.pull{width:min(100%,clamp(520px,44vw,900px))}}@media (max-width: 480px){.hud-top{grid-template-columns:1fr 1fr;grid-template-areas:"l r" "c c";row-gap:8px}#team-l{grid-area:l}#team-r{grid-area:r}.center{grid-area:c;flex-direction:row;justify-content:center;gap:8px}.cue-banner,.cue-banner.go{font-size:calc(72px * var(--fs))}.cue-banner.result{font-size:calc(40px * var(--fs))}.round-pill .laurel{display:none}.round-pill{font-size:calc(19px * var(--fs));padding:0 11px}.phase,.timer-pill .clock{display:none}.timer-pill{padding:1px 12px;gap:8px}.timer{font-size:calc(40px * var(--fs));min-width:2.3em}.score{font-size:calc(28px * var(--fs))}.chip{padding:4px 10px 4px 4px;gap:2px}.team-r{padding:4px 4px 4px 10px}.chip .avatar{width:44px;height:51px}.chip-name{font-size:calc(22px * var(--fs))}.chip-count b{font-size:calc(30px * var(--fs))}.chip-count{font-size:calc(15px * var(--fs))}}.meter.coop .meter-goal.r{background:#9b5cf6}.team-r.boss{background:linear-gradient(180deg,#b78cff,#9b5cf6 60%,#7c3aed)}.coach{display:none;margin:0 auto 8px;max-width:320px;text-align:center;padding:8px 14px;border-radius:16px;background:#fff;color:var(--navy);border:3px solid var(--navy);font-family:var(--display);font-size:calc(clamp(20px,2.8vh,26px) * var(--fs));line-height:1.1;box-shadow:0 4px #1d2b5a59;position:relative;animation:bob 1s infinite}.coach.show{display:block}.coach:after{content:"";position:absolute;left:50%;bottom:-12px;transform:translate(-50%);border:8px solid transparent;border-top-color:var(--navy);border-bottom:0}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@media (prefers-reduced-motion: reduce){.coach{animation:none}}.demo-btn{pointer-events:auto;margin-right:auto;font:inherit;font-family:var(--display);font-size:inherit;color:var(--ink);background:var(--yellow);border:2px solid var(--navy);border-radius:999px;padding:3px 10px 4px;box-shadow:0 2px #1d2b5a66}.demo-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-bottom:12px}.demo-opts button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border-radius:16px;border:3px solid var(--navy);background:#fff;color:var(--ink);text-align:left;box-shadow:0 3px #1d2b5a4d}.demo-opts button b{font-family:var(--display);font-weight:400;font-size:calc(30px * var(--fs));line-height:1.1}.demo-opts button small{word-break:keep-all;font-size:13px;color:var(--muted);font-weight:700}.demo-opts button.on{background:#fff4c2;border-color:var(--yellow-dark)}.card .demo-note{font-size:12.5px}.tut{position:absolute;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:calc(12px + var(--safe-top)) 12px calc(12px + var(--safe-bottom));background:#1d2b5a8c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.tut[hidden]{display:none}.tut-card{width:100%;max-width:520px;max-height:100%;overflow:auto;background:#fff;color:var(--ink);border:4px solid var(--navy);border-radius:28px;padding:14px 18px 16px;box-shadow:0 8px #1d2b5a59;display:flex;flex-direction:column;gap:10px}.tut-top{display:flex;align-items:center;justify-content:space-between}.tut-dots{display:flex;gap:6px}.tut-dots i{width:10px;height:10px;border-radius:50%;background:#d6dcf0}.tut-dots i.on{width:26px;border-radius:6px;background:var(--navy)}.tut-skip{background:none;border:0;color:var(--muted);font-family:var(--body);font-size:14px;font-weight:700;padding:6px 4px}.tut-body{display:flex;flex-direction:column;gap:8px}.tut-body h2{word-break:keep-all;text-wrap:balance;margin:2px 0 0;font-family:var(--display);font-weight:400;font-size:calc(clamp(38px,5vh,52px) * var(--fs));line-height:1.1;color:var(--ink)}.tut-body p{margin:0;font-family:var(--body);font-size:15px;line-height:1.55;font-weight:500;color:#33406b;word-break:keep-all}.tut-body p b{color:var(--ink);font-weight:900}.tut-body .ribbon-word{color:#c4245e}.tut-small{font-size:13px!important;color:var(--muted)!important}.tut-nav{display:flex;gap:10px;margin-top:2px}.tut-nav button{flex:1;min-height:52px;border-radius:999px;border:3px solid var(--navy);background:#fff;color:var(--ink);font-family:var(--display);font-size:calc(30px * var(--fs));box-shadow:0 4px #1d2b5a59}.tut-nav button.primary{flex:1.6;background:linear-gradient(180deg,#ffe066,#ffcb1f)}.tut button:focus-visible,.tut-axis button:focus-visible{outline:3px solid var(--l);outline-offset:2px}.mf{display:flex;flex-direction:column;gap:8px}.mf-track{position:relative;height:128px;border-radius:18px;overflow:hidden;border:3px solid var(--navy);background:linear-gradient(180deg,#8fd16a,#7cc35a 38%,#e9d3a8 38%,#e2c795 72%,#79bd57 72%)}.mf-line{position:absolute;top:10px;bottom:8px;width:3px;background:#fffffff2}.mf-line.l{left:12%}.mf-line.r{right:12%}.mf-line i{position:absolute;top:-2px;left:1px;width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent}.mf-line.l i{border-left:18px solid var(--l)}.mf-line.r i{left:auto;right:1px;border-right:18px solid var(--r)}.mf-line span{position:absolute;top:16px;white-space:nowrap;font-family:var(--display);font-size:calc(19px * var(--fs));color:#fff;-webkit-text-stroke:.08em var(--navy);paint-order:stroke fill}.mf-line.l span{left:4px}.mf-line.r span{right:4px}.mf-mid{position:absolute;left:50%;top:36%;bottom:26%;width:2px;margin-left:-1px;background:#ffffffe6}.mf-group,.mf-ground{position:absolute;inset:0;will-change:transform}.mf-rope{position:absolute;left:-40%;right:-40%;top:58%;height:7px;margin-top:-3px;border-radius:4px;background:repeating-linear-gradient(115deg,#c8914b 0 6px,#a8722f 6px 9px);box-shadow:0 2px #00000026}.mf-team{position:absolute;bottom:4px;width:104px;height:52px}.mf-team[data-team=L]{right:calc(50% + 14px)}.mf-team[data-team=R]{left:calc(50% + 14px)}.mf-ribbon{position:absolute;left:50%;top:58%;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:radial-gradient(circle at 50% 45%,#ff6b8b 0 30%,#e63950 31%);box-shadow:0 0 0 3px #fff,0 2px 0 3px #1d2b5a66}.mf-pop{position:absolute;left:0;right:0;top:8px;text-align:center;font-family:var(--display);font-size:calc(40px * var(--fs));color:var(--yellow);-webkit-text-stroke:.07em var(--navy);paint-order:stroke fill;opacity:0;transform:scale(.7);transition:opacity .15s,transform .2s cubic-bezier(.2,1.6,.4,1);pointer-events:none}.mf-pop.show{opacity:1;transform:scale(1)}.mf-meter{margin:0 4px}.pull.mini{--btn-h: clamp(78px, 10.5vh, 104px);--btn-font: clamp(40px, 6vh, 60px);width:100%;height:var(--btn-h);margin-top:2px}.tut-axis{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tut-axis span{font-family:var(--body);font-size:13px;font-weight:700;color:var(--muted);margin-right:2px}.tut-axis button{font-family:var(--display);font-size:calc(24px * var(--fs));padding:4px 14px 6px;border-radius:999px;border:2px solid var(--navy);background:#fff;color:var(--ink)}.tut-axis button[aria-pressed=true]{background:var(--navy);color:#fff}.tut-feedback{min-height:1.5em;font-weight:900!important;color:var(--ink)!important}.tut-feedback.ok{color:#0b7a4f!important}.tut-feedback.ng{color:var(--r-ink)!important}.tut-modes{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tut-modes figure{margin:0;border:3px solid var(--navy);border-radius:16px;overflow:hidden;background:#fff}.tut-modes canvas{display:block;width:100%;height:auto}.tut-modes figcaption{padding:6px 8px 8px;font-family:var(--body);font-size:13px;line-height:1.35;color:#33406b;word-break:keep-all}.tut-modes figcaption b{display:block;font-family:var(--display);font-weight:400;font-size:calc(26px * var(--fs));color:var(--ink)}.tut-modes figcaption small{display:block;color:var(--muted);font-size:12px}@media (max-height: 700px){.mf-track{height:104px}.tut-body p{font-size:14px}}.timer-pill.coop .score{visibility:hidden;width:0;min-width:0;overflow:hidden}.menu-list{display:flex;flex-direction:column;gap:8px;margin:6px 0 12px}.menu-list button{display:flex;align-items:center;gap:12px;width:100%;min-height:54px;padding:8px 14px;border-radius:16px;border:3px solid var(--navy);background:#fff;color:var(--ink);text-align:left;box-shadow:0 3px #1d2b5a40}.menu-list .mi-icon{font-size:22px;width:28px;text-align:center}.menu-list .mi-label{flex:1;font-family:var(--display);font-size:calc(30px * var(--fs))}.menu-list .mi-value{font-family:var(--body);font-size:13px;font-weight:900;color:var(--muted);background:#eef1fb;padding:4px 10px;border-radius:999px;white-space:nowrap}.card .menu-foot{font-size:12px;margin:0 0 10px}.home{position:absolute;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:calc(16px + var(--safe-top)) max(16px,env(safe-area-inset-right,0px)) calc(16px + var(--safe-bottom)) max(16px,env(safe-area-inset-left,0px));background:radial-gradient(120% 70% at 50% 18%,#fff3b0,#fff3b000 55%),linear-gradient(180deg,#57b6ff,#3fa4ff 45%,#63c96a 72%,#3f9f45);overflow:auto}.home[hidden]{display:none}.home-inner{width:100%;max-width:440px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.home-logo{margin:0;font-family:var(--display);font-weight:400;font-size:calc(clamp(96px,18vh,150px) * var(--fs));line-height:1;color:#ffe55c;-webkit-text-stroke:.055em #5a1d8a;paint-order:stroke fill;text-shadow:0 .06em 0 #5a1d8a,0 .12em 0 rgba(29,43,90,.35);transform:rotate(-4deg)}.home-tag{margin:0;font-family:var(--display);font-size:calc(30px * var(--fs));color:#fff;-webkit-text-stroke:.07em var(--navy);paint-order:stroke fill}.home-art{width:min(100%,360px);height:auto}.home-sub{margin:0;font-family:var(--body);font-size:14px;font-weight:700;color:#fff;background:var(--pill-dark);padding:6px 14px;border-radius:999px}.home-enter{width:100%;min-height:clamp(76px,11vh,104px);margin-top:6px;border-radius:999px;border:4px solid var(--navy);background:linear-gradient(180deg,#ffe97a,#ffd23f 45%,#ffb020);color:var(--ink);font-family:var(--display);font-size:calc(clamp(44px,6.4vh,64px) * var(--fs));box-shadow:0 8px 0 var(--navy),0 14px 24px #00000040,inset 0 4px #fff9}.home-enter:active{transform:translateY(6px);box-shadow:0 2px 0 var(--navy)}.home-row{display:flex;gap:10px;width:100%}.home-row button{flex:1;min-height:52px;border-radius:999px;border:3px solid #0f1a3c;background:linear-gradient(180deg,#3a4f93,var(--navy));color:#fff;font-family:var(--display);font-size:calc(28px * var(--fs));box-shadow:0 4px #0f1a3c}.home-row button[hidden]{display:none}.home-install-note{margin:0;font-family:var(--body);font-size:13px;color:#fff;background:var(--pill-dark);padding:8px 12px;border-radius:12px}.home-foot{margin:0;font-family:var(--body);font-size:12px;font-weight:700;color:#fff;background:var(--pill-dark);padding:5px 12px;border-radius:999px}.home-foot a{color:#fff}.home-foot[hidden]{display:none}.login-row small a{color:inherit}.home button:focus-visible,.menu-list button:focus-visible,.menu-btn:focus-visible{outline:3px solid #fff;outline-offset:3px}#app{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.modes{position:absolute;inset:0;z-index:48;overflow:auto;-webkit-overflow-scrolling:touch;padding:calc(12px + var(--safe-top)) max(14px,env(safe-area-inset-right,0px)) calc(20px + var(--safe-bottom)) max(14px,env(safe-area-inset-left,0px));background:linear-gradient(180deg,#57b6ff,#3fa4ff 40%,#4fb85a)}.modes[hidden]{display:none}.modes-inner{max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.modes-top{display:flex;align-items:center;gap:10px}.modes-top h2{margin:0;font-family:var(--display);font-weight:400;font-size:calc(48px * var(--fs));color:#fff;-webkit-text-stroke:.07em var(--navy);paint-order:stroke fill}.modes-back{font-family:var(--body);font-weight:900;font-size:14px;color:#fff;background:var(--pill-dark);border:0;border-radius:999px;padding:8px 14px}.mode-card{background:#fff;border:4px solid var(--navy);border-radius:24px;padding:12px 14px 14px;box-shadow:0 6px #1d2b5a59;display:flex;flex-direction:column;gap:8px;color:var(--ink)}.mode-card.now{border-color:#e5a800;box-shadow:0 6px #1d2b5a59,0 0 0 4px #ffd23f}.mode-card.soon{opacity:.72}.mc-head{display:flex;gap:12px;align-items:center}.mc-icon{font-size:34px;width:48px;height:48px;border-radius:14px;background:#eef3ff;display:flex;align-items:center;justify-content:center;flex:none}.mc-head h3{margin:0;font-family:var(--display);font-weight:400;font-size:calc(38px * var(--fs));line-height:1.1}.mc-head p,.mc-rule,.mc-hint{margin:0;font-family:var(--body);font-size:13px;font-weight:700;color:var(--muted);word-break:keep-all}.mc-hint{color:var(--r-ink);min-height:1em}.mc-opt{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.mc-opt>span{font-family:var(--body);font-size:12.5px;font-weight:900;color:var(--muted);width:100%}.chip-btn{font-family:var(--display);font-size:calc(24px * var(--fs));line-height:1.1;padding:5px 12px 7px;border-radius:999px;border:2px solid #c9d1ee;background:#f6f8ff;color:var(--ink)}.chip-btn i{font-style:normal;font-size:.75em;color:var(--muted)}.chip-btn.on{background:var(--navy);border-color:var(--navy);color:#fff}.chip-btn.on i{color:#c9d3ff}.mc-custom{display:flex;gap:6px;align-items:center}.mc-custom[hidden]{display:none}.mc-custom input{flex:1;min-width:0;font-family:var(--display);font-size:calc(26px * var(--fs));padding:8px 12px;border-radius:14px;border:3px solid var(--navy);color:var(--ink);-webkit-user-select:text;user-select:text}.mc-custom b{font-family:var(--display);font-weight:400;color:var(--muted)}.mc-go{align-self:stretch;min-height:52px;border-radius:999px;border:3px solid var(--navy);background:linear-gradient(180deg,#ffe066,#ffcb1f);color:var(--ink);font-family:var(--display);font-size:calc(32px * var(--fs));box-shadow:0 4px #1d2b5a66}.mc-go:disabled{background:#e7eaf3;color:var(--muted);box-shadow:none}.modes button:focus-visible,.modes input:focus-visible{outline:3px solid #fff;outline-offset:2px}.mc-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mc-two .mc-go{font-size:calc(26px * var(--fs));line-height:1.05;padding:6px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center}.mc-two .mc-go small{font-family:var(--body);font-size:11px;font-weight:700;color:#1d2b5ab3}.m-room .mc-custom input{font-family:var(--body);font-size:16px;font-weight:900;letter-spacing:.12em;text-transform:lowercase}.card .room-code{font-family:var(--body);font-weight:900;font-size:40px;letter-spacing:.18em;text-align:center;color:var(--ink);background:#fff4c2;border:3px dashed #e5a800;border-radius:16px;padding:8px 0;margin:4px 0 10px;-webkit-user-select:all;user-select:all}.battle-bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px;margin:8px 2px 0;pointer-events:none}.battle-bar[hidden]{display:none}.bb-side{position:relative;display:flex;align-items:center;gap:2px;padding:2px 10px 3px;border-radius:999px;border:3px solid var(--navy);color:#fff;font-family:var(--display);box-shadow:0 3px #1d2b5a4d;min-width:64px;justify-content:center}.bb-side.l{background:var(--l)}.bb-side.r{background:var(--r)}.bb-side.mine{box-shadow:0 3px #1d2b5a4d,0 0 0 3px var(--yellow)}.bb-side.mine:before{content:"내 편";position:absolute;top:-13px;left:50%;transform:translate(-50%);font-size:calc(17px * var(--fs));line-height:1;padding:2px 6px;border-radius:8px;background:var(--yellow);color:var(--navy);border:2px solid var(--navy);white-space:nowrap}.bb-side.mine:not(.counted):before{content:"손님";background:#fff}.bb-n{font-size:calc(clamp(28px,3.8vh,40px) * var(--fs));line-height:1;font-weight:700;color:#fff;-webkit-text-stroke:.07em var(--navy);paint-order:stroke fill}.bb-n.bump{animation:bb-bump .45s cubic-bezier(.2,1.6,.4,1)}@keyframes bb-bump{0%{transform:scale(1)}35%{transform:scale(1.35);color:var(--yellow)}to{transform:scale(1)}}.bb-add{position:absolute;top:-6px;font-style:normal;font-size:calc(24px * var(--fs));color:var(--yellow);-webkit-text-stroke:.08em var(--navy);paint-order:stroke fill;opacity:0}.bb-side.l .bb-add{right:-8px}.bb-side.r .bb-add{left:-8px}.bb-add.show{animation:bb-add 1.4s ease-out}@keyframes bb-add{0%{opacity:0;transform:translateY(6px) scale(.8)}15%{opacity:1;transform:translateY(0) scale(1.15)}70%{opacity:1}to{opacity:0;transform:translateY(-16px)}}.bb-mid{display:flex;flex-direction:column;gap:2px;min-width:0}.bb-track{position:relative;height:12px;border-radius:8px;border:2px solid var(--navy);background:var(--r);overflow:hidden}.bb-fill.l{position:absolute;left:0;top:0;bottom:0;background:var(--l);transition:width .6s cubic-bezier(.2,.9,.3,1);border-right:2px solid #fff}.bb-label{align-self:center;max-width:100%;font-size:calc(18px * var(--fs));font-family:var(--display);line-height:1.15;color:#fff;background:var(--pill-dark);padding:1px 8px 2px;border-radius:999px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}button.kakao,.card .actions button.kakao,#cta button.kakao{background:#fee500;color:#191600;border-color:var(--navy)}.card .login-row{display:flex;flex-direction:column;gap:6px;margin-top:12px}.card .login-row button{min-height:48px;border-radius:999px;border:3px solid var(--navy);font-family:var(--display);font-size:calc(26px * var(--fs));box-shadow:0 4px #1d2b5a59}.card .login-row small{text-align:center;color:var(--muted);font-size:12px}.card .row button[disabled]{filter:grayscale(.85) brightness(1.05);opacity:.55}.card .row button .pick-count{font-family:var(--display);font-size:calc(clamp(30px,4.2vh,44px) * var(--fs));color:var(--yellow);-webkit-text-stroke:.07em var(--navy);paint-order:stroke fill;line-height:1}.card .row button.invited{box-shadow:0 8px #1d2b5a59,0 0 0 6px var(--yellow),inset 0 4px #fff6}.card .row button.invited:after{content:"친구가 부른 편";position:absolute;top:-16px;left:50%;transform:translate(-50%);white-space:nowrap;background:var(--yellow);color:var(--navy);font-family:var(--display);font-size:calc(clamp(18px,2.4vh,24px) * var(--fs));line-height:1;padding:3px 12px;border-radius:12px;border:3px solid var(--navy)}.card .row button.locked:after{content:"이 대결의 내 편";position:absolute;top:-16px;left:50%;transform:translate(-50%);white-space:nowrap;background:#fff;color:var(--navy);font-family:var(--display);font-size:calc(clamp(18px,2.4vh,24px) * var(--fs));line-height:1;padding:3px 12px;border-radius:12px;border:3px solid var(--navy)}.card .battle-vs{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin:6px 0 10px;text-align:center;font-family:var(--display)}.card .battle-vs .side{padding:8px 6px;border-radius:18px;border:3px solid var(--navy);color:#fff}.card .battle-vs .side.l{background:var(--l)}.card .battle-vs .side.r{background:var(--r)}.card .battle-vs .side.win{box-shadow:0 0 0 5px var(--yellow)}.card .battle-vs .nm{display:block;font-size:calc(28px * var(--fs));-webkit-text-stroke:.07em var(--navy);paint-order:stroke fill;word-break:keep-all}.card .battle-vs .ct{display:block;font-size:calc(52px * var(--fs));color:var(--yellow);-webkit-text-stroke:.07em var(--navy);paint-order:stroke fill;line-height:1.05}.card .battle-vs .vs{font-size:calc(30px * var(--fs));color:var(--muted)}.card .next-battle{background:var(--cream);border:2px solid #f0dfb0;border-radius:14px;padding:8px 12px;margin:4px 0 0;font-size:14px;color:var(--navy)}.card .report-list{display:flex;flex-direction:column;gap:8px}.card .report-list button{min-height:48px;border-radius:14px;border:3px solid var(--navy);background:#fff;text-align:left;padding:8px 14px;font-size:15px;color:var(--navy)}.card .tier-note{display:inline-block;font-size:12px;padding:2px 8px;border-radius:8px;background:#fff1c2;color:#7a5600;margin-left:4px}.home-battle{margin:6px auto 0;padding:8px 12px;max-width:340px;border-radius:16px;background:#101a3cb8;color:#fff;font-size:14px;line-height:1.45;text-align:center}.home-battle b{color:var(--yellow)}.home-battle[hidden]{display:none}.home-login{margin-top:8px;min-height:44px;padding:0 22px;border-radius:999px;border:3px solid var(--navy);font-family:var(--display);font-size:calc(26px * var(--fs));box-shadow:0 4px #1d2b5a59}.home-login[hidden]{display:none}.battle-bar.upcoming .bb-side{opacity:.75}.battle-bar.upcoming .bb-track{background:#fff9}.battle-bar.upcoming .bb-fill.l{background:#3b82ff73}.battle-bar.upcoming .bb-label{background:#ffd23ff2;color:var(--navy)}.card .battle-vs .sub{display:block;font-family:var(--body);font-size:12px;color:#fff;opacity:.95;margin-top:2px}.card .score-rule{text-align:center;font-size:12px;margin:-4px 0 8px}.card .personal:empty{display:none}.card .personal{background:#eef4ff;border:2px solid #c9dafc;border-radius:14px;padding:8px 12px;margin:0 0 8px;font-size:14px;color:var(--navy);line-height:1.5}.card .badge-new{display:inline-block;background:var(--yellow);border:2px solid var(--navy);border-radius:10px;padding:0 6px;font-weight:900}.card .ranking{margin:0 0 8px;font-size:14px;color:var(--navy)}.card .ranking ol{margin:4px 0 0;padding-left:22px}.card .ranking li{display:flex;justify-content:space-between;gap:8px;padding:2px 0;border-bottom:1px dashed #dde3f0}.card .ranking li em{font-style:normal;font-weight:900;color:var(--r-ink)}.card .stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0 10px;text-align:center}.card .stat-row div{background:var(--cream);border:2px solid #f0dfb0;border-radius:14px;padding:8px 4px}.card .stat-row b{display:block;font-family:var(--display);font-size:calc(40px * var(--fs));color:var(--navy);line-height:1.1}.card .stat-row span{font-size:12px;color:var(--muted)}.card .badges{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.card .badge-chip{background:var(--yellow);border:2px solid var(--navy);border-radius:999px;padding:2px 10px;font-size:13px;font-weight:900;color:var(--navy)}.card .badges .muted{font-size:12px;color:var(--muted)}.card .recent{list-style:none;margin:0;padding:0;font-size:13px}.card .recent li{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-bottom:1px dashed #dde3f0;color:var(--navy)}.card .recent li em{font-style:normal;color:var(--muted);white-space:nowrap}.modes .mc-opt[hidden]{display:none}
