@font-face{font-family:IBM Plex Sans KR;font-style:normal;font-weight:400;font-display:swap;src:url(./plex-400-DPV2qrMd.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans KR;font-style:normal;font-weight:700;font-display:swap;src:url(./plex-700-44RGU33f.woff2) format("woff2")}@font-face{font-family:Jua;font-style:normal;font-weight:400;font-display:swap;src:url(./jua-400-D_wllELF.woff2) format("woff2")}:root{color:#4c394f;background:#fbf6f2;font-family:IBM Plex Sans KR,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #4c394f;--muted: #8d7386;--blush: #ff8fb9;--gold: #e7a61a;--danger: #e4547a;--paper: rgba(255, 250, 247, .82);--shadow: 0 14px 30px rgba(126, 73, 102, .12)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{overflow:hidden;color:var(--ink);background:radial-gradient(42rem 24rem at -10% -20%,#ffd0e4 0%,transparent 62%),radial-gradient(36rem 22rem at 118% -8%,#ddd0ff 0%,transparent 58%),radial-gradient(32rem 22rem at 100% 112%,#c8f6e4 0%,transparent 52%),radial-gradient(26rem 18rem at -12% 100%,#ffe7b8 0%,transparent 48%),#fbf6f2}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(rgba(176,120,146,.22) 1.1px,transparent 1.2px);background-size:18px 18px;mask-image:linear-gradient(#000 0%,transparent 88%)}html[data-art-bg="1"] body{background:#fbf6f2 var(--art-bg) center / cover no-repeat}html[data-art-bg="1"] body:before{display:none}button,a{font:inherit;color:inherit}button{cursor:pointer}.phone{width:min(480px,100%);height:100dvh;margin:0 auto;position:relative;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);user-select:none;-webkit-user-select:none;touch-action:manipulation}.screen{flex:1;min-height:0;display:flex;flex-direction:column;animation:fade-in .28s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}h1,h2,p{margin:0}h1,.brand,.vr-badge,.banner-mark{font-family:Jua,IBM Plex Sans KR,sans-serif;font-weight:400}.screen-home,.screen-select{padding:18px 16px 12px;gap:12px}.screen-home{overflow:auto}.screen-select{overflow:hidden}.hero{text-align:center}.brand{letter-spacing:.18em;color:#e45b90;font-size:15px}.hero h1,.select-title h1,.hud-title h1{font-size:40px;line-height:1.15;text-shadow:0 1px 0 rgba(255,255,255,.75)}.lede,.summary,.loop-note,.dialog-body,.rules,.result-note{color:var(--muted);line-height:1.5}.lede{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:6px;font-size:15px}.summary{text-align:center;font-weight:700;font-size:14px}.fan{position:relative;height:168px;margin:4px 0 2px}.mini{position:absolute;left:50%;top:16px;width:96px;height:128px;margin-left:-48px;border-radius:16px;container-type:size}.fan .mini:nth-child(1){transform:rotate(-16deg) translate(-74px,10px)}.fan .mini:nth-child(2){transform:translateY(-8px) scale(1.06);z-index:2}.fan .mini:nth-child(3){transform:rotate(15deg) translate(74px,12px)}.mini .card-front{transform:none}.actions,.dialog-actions{display:flex;flex-direction:column;gap:8px}.btn{min-height:52px;border:0;border-radius:16px;font-weight:700;font-size:17px;padding:0 16px}.btn.primary{background:linear-gradient(#ffc0d8,#ff8eb8);color:#5c2440;box-shadow:0 6px #e36a98,var(--shadow)}.btn.primary:active{transform:translateY(2px);box-shadow:0 4px #e36a98}.btn.ghost{background:var(--paper);box-shadow:inset 0 0 0 1px #ffffffe6,var(--shadow)}.btn:disabled{opacity:.55}.banner{display:flex;align-items:center;gap:12px;text-decoration:none;background:var(--paper);border-radius:18px;padding:10px 12px;box-shadow:inset 0 0 0 1px #fffffff2,var(--shadow)}.banner-mark{width:44px;height:44px;flex:0 0 auto;display:grid;place-items:center;border-radius:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Ccircle cx='3' cy='3' r='1.1' fill='white' fill-opacity='.7'/%3E%3C/svg%3E"),linear-gradient(155deg,#ffd6ea,#e4d4ff 55%,#c9f6e8);color:#e45b90;font-size:18px}.banner-copy{display:flex;flex-direction:column;min-width:0}.banner-copy strong{font-size:15px}.banner-copy small{color:var(--muted)}.banner-arrow{margin-left:auto;color:#e45b90;font-size:18px}.foot{display:flex;justify-content:center;gap:16px;margin-top:auto}.text-btn{border:0;background:transparent;color:var(--muted);font-weight:700;padding:8px}.text-btn.danger{color:var(--danger)}.select-top{display:flex;align-items:flex-start;gap:8px}.select-title h1{font-size:32px}.select-title p{color:var(--muted);font-size:14px}.scroll{flex:1;min-height:0;overflow:auto;padding:2px 2px 12px}.loop-block{margin-bottom:16px}.loop-block h2{font-size:16px;font-family:inherit;font-weight:700}.loop-note{font-size:13px;margin:2px 0 8px}.stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stage-card{aspect-ratio:1;border:0;border-radius:18px;background:var(--paper);box-shadow:inset 0 0 0 1px #ffffffe6,0 8px 16px #8c5a7814;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px}.stage-card.is-next{box-shadow:inset 0 0 0 2px var(--blush),0 8px 16px #8c5a7814}.stage-card.is-locked{opacity:.48}.stage-num{font-family:Jua,sans-serif;font-size:26px;line-height:1}.stage-size,.stage-lock{font-size:12px;color:var(--muted);font-weight:700}.stage-stars{color:var(--gold);letter-spacing:1px;font-size:13px}.screen-play{position:relative}.hud{padding:8px 12px 0;display:flex;flex-direction:column;gap:8px}.hud-top,.hud-stats{display:flex;align-items:center;justify-content:space-between;gap:8px}.hud-stats{flex-wrap:wrap}.stat{flex:1 1 30%}.hud-title{text-align:right}.hud-title h1{font-size:26px}.best{color:var(--gold);font-weight:700;font-size:13px}.stat{flex:1 1 auto;margin:0;text-align:center;background:var(--paper);border-radius:999px;padding:6px 8px;font-size:13px;font-weight:700}.clock.is-danger{color:var(--danger)}.combo.pop{animation:pop .35s ease}@keyframes pop{0%{transform:scale(.8)}50%{transform:scale(1.12)}to{transform:scale(1)}}.hint{text-align:center;color:var(--muted);font-size:13px;margin:8px 16px 0}.board-wrap{position:relative;flex:1;min-height:0;display:grid;place-items:center;padding:8px 10px 12px;overflow:visible}.board{display:grid;grid-template-columns:repeat(var(--cols),var(--card-w));grid-template-rows:repeat(var(--rows),var(--card-h));gap:var(--gap, 8px)}.card{width:var(--card-w);height:var(--card-h);position:relative;padding:0;border:0;background:transparent;border-radius:calc(var(--card-w) * .14);perspective:900px;transition:opacity .32s ease,transform .32s ease;transform:scale(1)}.card:focus-visible,.btn:focus-visible,.stage-card:focus-visible,.text-btn:focus-visible,.banner:focus-visible{outline:3px solid #ff8fb9;outline-offset:2px}.card-inner{position:absolute;inset:0;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transition:transform .48s cubic-bezier(.2,.7,.2,1);border-radius:inherit}.card.is-flipped .card-inner{transform:rotateY(180deg)}.card.is-matched .card-inner{animation:match-pop .42s ease}.card.is-wrong .card-inner{animation:shake .42s ease}.card.is-gone{opacity:0;transform:scale(.84);pointer-events:none}@keyframes match-pop{0%{transform:rotateY(180deg) scale(1)}45%{transform:rotateY(180deg) scale(1.06)}to{transform:rotateY(180deg) scale(1)}}@keyframes shake{20%{transform:rotateY(180deg) translate(-4px)}40%{transform:rotateY(180deg) translate(4px)}70%{transform:rotateY(180deg) translate(-2px)}to{transform:rotateY(180deg)}}.card-face{position:absolute;inset:0;border-radius:inherit;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 8px 14px #78466024;container-type:size}.card-back{background-color:#f7d5ea;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22'%3E%3Ccircle cx='3' cy='3' r='1.15' fill='white' fill-opacity='.75'/%3E%3Cpath d='M11 5.2 12.4 11 11 16.8 9.6 11Z' fill='white' fill-opacity='.38'/%3E%3C/svg%3E"),linear-gradient(155deg,#ffd6ea,#e6d7ff,#c9f6e8);background-size:22px 22px,cover}.card-back:before{content:"";position:absolute;inset:7px;border-radius:inherit;border:1.5px solid rgba(255,255,255,.82);box-shadow:inset 0 0 0 3px #ff8fb938;pointer-events:none}.pip{position:absolute;width:7%;aspect-ratio:1;background:#ffffffeb;border-radius:2px;transform:rotate(45deg);z-index:1}.pip.a{top:11%;left:12%}.pip.b{top:11%;right:12%}.pip.c{bottom:11%;left:12%}.pip.d{bottom:11%;right:12%}.vr-badge{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:46%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:#fffaf8;color:#e45b90;font-size:18px;font-size:clamp(14px,28cqw,40px);box-shadow:0 0 0 4px #ff8fb959,0 6px 12px #a0506e1f;z-index:1}html[data-art-back="1"] .card-back{background:var(--art-back) center / cover no-repeat}html[data-art-back="1"] .card-back:before,html[data-art-back="1"] .vr-badge,html[data-art-back="1"] .pip{display:none}.card-front{transform:rotateY(180deg);display:flex;flex-direction:column;align-items:center;gap:2%;padding:6% 6% 5%;background:linear-gradient(#fffaf8,#fffaf8) padding-box,linear-gradient(160deg,#ffc4de,#e0d2ff 55%,#bff3e2) border-box;border:2px solid transparent}html[data-art-front="1"] .card-front{background:var(--art-front) center / 100% 100% no-repeat,#fffaf8;border-color:transparent}.portrait{flex:1 1 auto;min-height:0;width:100%;display:grid;place-items:center}.portrait img{max-width:100%;max-height:100%;object-fit:contain;pointer-events:none}.initial{display:none;width:68%;aspect-ratio:1;border-radius:50%;place-items:center;background:#ffe0ef;color:#e45b90;font-family:Jua,sans-serif;font-size:28px}.portrait.is-fallback img{display:none}.portrait.is-fallback .initial{display:grid}.face-name{flex:0 0 auto;max-width:100%;font-size:12px;font-size:clamp(9px,15cqw,15px);font-weight:700;line-height:1.45;background:#ffffffe0;border-radius:999px;padding:0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@container (max-height: 68px){.face-name{display:none}}.card.is-matched .card-front{box-shadow:0 0 0 3px #ffe08a,0 8px 18px #ffb45a66}.sparkles{position:absolute;width:0;height:0;z-index:4;pointer-events:none;overflow:visible}.sparkles i{position:absolute;left:0;top:0;width:9px;height:9px;margin:-4px;background:var(--c);animation:spark .68s ease-out forwards}.sparkles .star{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.sparkles .dot{width:6px;height:6px;border-radius:50%}@keyframes spark{0%{opacity:1;transform:translate(0) scale(.4) rotate(0)}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.85) rotate(var(--rot))}}.overlay{position:absolute;inset:0;z-index:5;overflow:auto;display:flex;flex-direction:column;padding:16px;background:#54304447}.dialog{width:min(100%,380px);margin:auto;background:#fffaf8;border-radius:28px;padding:22px 16px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px}.dialog-title{text-align:center;font-size:32px}.dialog-kicker,.result-note,.rules{text-align:center;font-size:13px}.rules{white-space:pre-line}.star-lg{display:flex;justify-content:center;gap:8px;font-size:42px;line-height:1}.star-lg .on{color:var(--gold);animation:star-in .45s ease both}.star-lg .off{color:#eadfe4}@keyframes star-in{0%{transform:scale(.2) rotate(-18deg);opacity:0}to{transform:none;opacity:1}}.result-list{list-style:none;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding:0;margin:0}.result-list li{background:#fff1f6;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:700}.modal{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:18px;background:#46283a59}.ad-wait{position:fixed;inset:0;z-index:45;display:grid;place-items:center;background:#46283a47}.ad-wait span{background:#4c394fe6;color:#fff;border-radius:999px;padding:14px 18px;font-weight:700}.noscript{max-width:28rem;margin:24px auto;padding:0 16px}@media(min-width:420px){.stage-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.screen,.card,.card-inner,.combo.pop,.star-lg .on,.sparkles i,.card.is-matched .card-inner,.card.is-wrong .card-inner{animation:none;transition:none}}
