*,*:before,*:after{box-sizing:border-box}body.game-body--match{--ink: #fff6e8;--muted: rgba(255, 246, 232, .76);--gold: #ffcf86;--parch-ink: #2e1d10;background:#1a110a;color:var(--ink);font-family:Space Grotesk,Inter,system-ui,sans-serif;min-height:100vh;overflow:hidden;user-select:none;-webkit-user-select:none}.tavern{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:#1a110a}.tavern-plate{position:absolute;inset:0;background:url(/assets/images/arcade/match/table.webp) center / cover no-repeat}@media(max-aspect-ratio:4/5){.tavern-plate{background-image:url(/assets/images/arcade/match/table_tall.webp)}}.tavern:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 75% 70% at 50% 52%,#0a060300 55%,#0a060380)}.candle-glow{position:absolute;left:0;top:0;width:70vmax;height:70vmax;margin:-35vmax 0 0 -35vmax;background:radial-gradient(circle,#ffc46e42,#ffaa501a 26%,#ff963c00 58%);mix-blend-mode:screen;animation:candle-flicker 3.2s ease-in-out infinite}@keyframes candle-flicker{0%,to{opacity:.85;transform:scale(1)}18%{opacity:1;transform:scale(1.03)}31%{opacity:.78;transform:scale(.98)}47%{opacity:.95}63%{opacity:.82;transform:scale(1.01)}80%{opacity:1;transform:scale(1.02)}}#bgCanvas{position:fixed;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.match-hud{position:fixed;z-index:20;left:calc(20px + env(safe-area-inset-left,0px));top:calc(60px + env(safe-area-inset-top,0px));width:220px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;pointer-events:none;text-shadow:0 2px 12px rgba(10,6,3,.85),0 1px 2px rgba(10,6,3,.85)}.hud-top{display:flex;align-items:center;gap:10px}.hud-prince{width:46px;height:46px;border-radius:50%;object-fit:cover;background:radial-gradient(circle at 50% 40%,#ffbe6e59,#28140a99);box-shadow:0 0 0 1.5px #ffd69673,0 6px 14px #00000073}.hud-pairs{display:flex;align-items:baseline;gap:6px}.hud-pairs span{font-weight:700;font-size:clamp(34px,7vw,48px);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:#fff8ec}.hud-pairs small{font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--muted)}.hud-pairs.pop span{animation:hud-pop .3s ease-out}@keyframes hud-pop{40%{transform:scale(1.14);color:var(--gold)}}.hud-line{font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--muted);font-variant-numeric:tabular-nums}.hud-line strong{color:#fff8ec}.hud-progress{width:120px;height:6px;border-radius:3px;background:#140c068c;box-shadow:0 0 0 1px #ffe2b440;overflow:hidden}.hud-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#a4561e,#ffbf6a 70%,#ffe6b8);transition:width .4s ease-out}.hud-sub{margin:2px 0 0;font-family:Fraunces,Georgia,serif;font-style:italic;font-size:15px;color:#ffe2b4}.level-bar{display:flex;gap:4px;pointer-events:auto;margin-top:2px}.level-btn{display:flex;align-items:baseline;gap:4px;border:0;border-radius:999px;padding:5px 10px;background:transparent;cursor:pointer;font-family:Space Grotesk,sans-serif;color:var(--muted);text-shadow:inherit;transition:background .2s,color .2s}.level-btn span{font-size:14px;font-weight:700}.level-btn small{font-size:11px;font-weight:600;letter-spacing:.04em}.level-btn:hover:not(:disabled),.level-btn:focus-visible{color:#fff8ec;background:#ffdcaa1a}.level-btn--active{color:#fff8ec;box-shadow:inset 0 0 0 1.5px #ffd6968c}.level-btn:disabled{opacity:.38;cursor:default}#matchToast{margin-top:10px;max-width:220px;display:flex;flex-direction:column;gap:3px;opacity:0;transform:translateY(6px);transition:opacity .3s ease,transform .35s ease}#matchToast.visible{opacity:1;transform:none}#toastCharacter{font-family:Fraunces,Georgia,serif;font-style:italic;font-weight:600;font-size:20px;color:var(--gold)}#toastDetail{font-size:13px;line-height:1.45;color:var(--muted)}.match-main{position:fixed;inset:0;z-index:10;padding:calc(66px + env(safe-area-inset-top,0px)) 16px calc(18px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;justify-content:center;pointer-events:none}.board{position:relative;pointer-events:auto}#grid{display:grid;grid-template-columns:repeat(var(--grid-cols, 4),minmax(0,1fr));gap:var(--grid-gap, 10px);width:var(--grid-width, 460px);perspective:1400px}.card{position:relative;display:block;aspect-ratio:2 / 3;width:100%;min-width:0;padding:0;border:0;appearance:none;background:transparent;color:inherit;cursor:pointer;perspective:800px;container-type:inline-size;touch-action:manipulation;-webkit-tap-highlight-color:transparent;animation:card-deal .5s cubic-bezier(.2,.8,.25,1) both;animation-delay:calc(var(--i, 0) * 22ms)}@keyframes card-deal{0%{opacity:0;transform:translate(var(--deal-x, 0),var(--deal-y, -40px)) rotate(var(--deal-r, -8deg)) scale(.82)}60%{opacity:1}to{opacity:1;transform:none}}.card-inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .46s cubic-bezier(.3,.7,.25,1);border-radius:7%/4.6%}.card:before{content:"";position:absolute;inset:3% 2% -1%;border-radius:8%/5%;background:#0804028c;filter:blur(4px);transform:translate(2px,4px);transition:transform .4s ease,opacity .4s ease,filter .4s ease}@media(hover:hover){.card:hover:not(.flipped) .card-inner{transform:translateY(-3%) rotateX(4deg)}.card:hover:not(.flipped):before{transform:translate(4px,9px);filter:blur(6px)}}.card.flipped .card-inner{transform:rotateY(180deg)}.card-face{position:absolute;inset:0;display:flex;flex-direction:column;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:7%/4.6%;overflow:hidden;background:center / 100% 100% no-repeat}.card-back{background-image:url(/assets/images/arcade/match/card_back.webp)}.card-back:after{content:"";position:absolute;inset:0;background:linear-gradient(125deg,#ffdca029,#ffdca000 42%,#0000001f)}.card:focus-visible{outline:none}.card:focus-visible .card-inner{box-shadow:0 0 0 3px #ffd59a,0 0 18px #ffc878b3;border-radius:7%/4.6%}.card-front{transform:rotateY(180deg);background-image:url(/assets/images/arcade/match/card_face.webp);padding:9% 9% 7%}.card-front:before,.card-front:after{content:attr(data-mark);position:absolute;font-family:Fraunces,Georgia,serif;font-weight:700;font-size:max(9px,15cqw);line-height:1;color:var(--ink-accent);z-index:2}.card-front:before{top:6.5%;left:10%}.card-front:after{bottom:6.5%;right:10%;transform:rotate(180deg)}.card-art{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse 46% 44% at 50% 50%,color-mix(in srgb,var(--accent) 34%,transparent),color-mix(in srgb,var(--accent) 12%,transparent) 62%,transparent 100%);border-radius:50%}.card-art img{position:relative;z-index:1;width:92%;height:92%;object-fit:contain;display:block;filter:drop-shadow(0 6px 6px rgba(40,20,6,.35));pointer-events:none}.card-art--victory img,.card-art--bright img,.card-art--friendly img,.card-art--royal img{transform:translateY(-3px) scale(1.04);filter:saturate(1.14) brightness(1.08) drop-shadow(0 8px 10px color-mix(in srgb,var(--accent) 40%,rgba(40,20,6,.3)))}.card-art--power img,.card-art--battle img,.card-art--command img,.card-art--brave img,.card-art--spark img{transform:rotate(-3deg) scale(1.08);filter:saturate(1.18) contrast(1.08) drop-shadow(0 8px 10px color-mix(in srgb,var(--accent) 40%,rgba(40,20,6,.3)))}.card-art--tough img,.card-art--scorn img,.card-art--storm img{transform:translateY(3px) rotate(2deg) scale(1.02);filter:saturate(.9) contrast(1.14) brightness(.92) drop-shadow(0 6px 8px rgba(30,14,4,.5))}.card-art--spooked img,.card-art--surprised img{transform:translateY(-5px) rotate(4deg) scale(1.07);filter:saturate(1.05) brightness(1.16) drop-shadow(0 8px 10px color-mix(in srgb,var(--accent) 34%,rgba(40,20,6,.3)))}.card-art--storm,.card-art--scorn,.card-art--tough{background:repeating-linear-gradient(-35deg,transparent 0 9%,color-mix(in srgb,var(--accent) 18%,transparent) 9% 11%),radial-gradient(ellipse 46% 44% at 50% 50%,color-mix(in srgb,var(--accent) 30%,transparent),transparent 100%)}.card-art--bright,.card-art--spark,.card-art--victory{background:radial-gradient(circle at 74% 20%,color-mix(in srgb,var(--accent) 45%,transparent),transparent 18%),radial-gradient(ellipse 46% 44% at 50% 50%,color-mix(in srgb,var(--accent) 34%,transparent),transparent 100%)}.card-label{display:flex;flex-direction:column;align-items:center;gap:2px;padding-top:3%;text-align:center}.card-expression{font-family:Fraunces,Georgia,serif;font-style:italic;font-weight:600;font-size:max(8px,13.5cqw);line-height:1;color:var(--ink-accent);white-space:nowrap}.card-character{font-size:max(7px,7.5cqw);font-weight:600;letter-spacing:.06em;color:#2e1d109e;white-space:nowrap;line-height:1}@container (max-width: 92px){.card-character{display:none}}@container (max-width: 64px){.card-front{padding:8% 7% 12%}.card-front:before,.card-front:after{font-size:9px}.card-front:after{display:none}}.card.matched .card-inner{animation:card-lift .62s cubic-bezier(.3,.7,.3,1) forwards}.card.matched:before{transform:translate(8px,18px);filter:blur(9px);opacity:.7}.card.matched .card-front{box-shadow:0 0 0 2px #ffdea0e6,0 0 26px 6px #ffc464a6}@keyframes card-lift{0%{transform:rotateY(180deg)}to{transform:rotateY(180deg) translateY(-7%) scale(1.07)}}.card.gone{visibility:hidden;animation:none}.card.wrong .card-inner{animation:card-shake .42s ease}@keyframes card-shake{0%,to{transform:rotateY(180deg) translate(0) rotate(0)}20%{transform:rotateY(180deg) translate(-4%) rotate(-2deg)}45%{transform:rotateY(180deg) translate(3.5%) rotate(1.5deg)}70%{transform:rotateY(180deg) translate(-2%) rotate(-.6deg)}}.card-flying{position:fixed;z-index:60;margin:0;pointer-events:none;animation:none;transition:transform .62s cubic-bezier(.45,.05,.25,1);transform-origin:0 0}.card-flying .card-inner{transform:rotateY(180deg);animation:none}.card-flying .card-front{box-shadow:0 0 18px 3px #ffc46466}.card-flying:before{transform:translate(10px,20px);filter:blur(10px)}.match-pile{position:fixed;z-index:9;left:-999px;top:0;width:80px;height:120px;pointer-events:none}.pile-card{position:absolute;inset:0;border-radius:7%/4.6%;background:url(/assets/images/arcade/match/card_face.webp) center / 100% 100% no-repeat;box-shadow:1px 3px 5px #0804028c;display:flex;align-items:center;justify-content:center}.pile-card img{width:72%;height:72%;object-fit:contain;filter:drop-shadow(0 3px 3px rgba(40,20,6,.35))}.arena-overlay.match-card{position:fixed;z-index:200;padding:72px 24px 32px;justify-content:safe center;overflow-y:auto;--arena-a: #ffb067;--arena-b: #ffe2a8;background:radial-gradient(ellipse at center,#28180c99,#0e0905eb);transition:opacity .5s}.match-card .ov-char{width:96px;height:auto;margin-bottom:4px;filter:drop-shadow(0 10px 16px rgba(0,0,0,.45))}.match-card .arena-title{font-size:56px}.match-card .arena-sub{max-width:400px;margin-bottom:12px}.match-hooks{margin:0 0 8px;max-width:400px;font-size:13px;line-height:1.5;color:var(--gold)}.match-keys{margin:0 0 16px;font-size:13px;letter-spacing:.04em;color:var(--muted)}.match-card .how-to{margin-bottom:12px}.match-end{opacity:0;pointer-events:none;z-index:210}.match-end.visible{opacity:1;pointer-events:auto}.win-score{margin:0 0 4px;font-weight:700;font-size:64px;line-height:1;font-variant-numeric:tabular-nums;color:#fff8ec}.win-stats{margin:0 0 24px;font-size:14px;font-weight:600;letter-spacing:.04em;color:var(--muted)}.win-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;align-items:center}.win-actions .arena-begin[hidden]{display:none}.match-card .btn-ghost{display:inline-block;border:1.5px solid rgba(255,246,232,.5);border-radius:999px;padding:12px 26px;background:none;color:var(--ink);text-decoration:none;cursor:pointer;font-family:Space Grotesk,sans-serif;font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.match-card .btn-ghost:hover{border-color:var(--ink)}@media(max-width:999px)and (max-aspect-ratio:7/5){.match-hud{left:calc(14px + env(safe-area-inset-left,0px));right:calc(70px + env(safe-area-inset-right,0px));top:calc(56px + env(safe-area-inset-top,0px));width:auto;flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:12px;row-gap:2px}.hud-prince{width:34px;height:34px}.hud-top{gap:8px}.hud-pairs span{font-size:30px}.hud-pairs small,.hud-progress,.hud-sub{display:none}.level-bar{margin-top:0}.level-btn{padding:4px 8px}.level-btn small{display:none}#matchToast{position:fixed;left:calc(14px + env(safe-area-inset-left,0px));bottom:calc(10px + env(safe-area-inset-bottom,0px));width:min(calc(100vw - 104px),420px);max-width:none;margin:0;align-items:flex-start;text-align:left;transform:translateY(8px);padding:10px 14px;border-radius:14px;background:radial-gradient(ellipse at center,#100904d1,#1009048c);z-index:50}#matchToast.visible{transform:none}#toastCharacter{font-size:17px}#toastDetail{font-size:12px}.match-main{padding-top:calc(124px + env(safe-area-inset-top,0px));padding-left:10px;padding-right:10px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}}@media(max-width:520px){.match-card .arena-title{font-size:46px}.match-card .ov-char{width:70px}.match-card .arena-sub{font-size:14px;line-height:1.5}.match-hooks{font-size:12px}.win-score{font-size:52px}}@media(pointer:coarse)and (max-width:720px){.match-keys{display:none}}@media(max-height:640px){.match-card .ov-char{display:none}}@media(prefers-reduced-motion:reduce){.candle-glow,.card{animation:none}.card-inner,.card-flying{transition-duration:.01s}.card.matched .card-inner,.card.wrong .card-inner{animation:none}}html[data-bk-theme=kitchen] body.game-body--match{background:#1a110a}html[data-bk-theme=kitchen] body.game-body--match .arena-overlay.match-card{background:radial-gradient(circle at 50% 42%,#faf6ecf2,#f6f0e3fc)}html[data-bk-theme=kitchen] body.game-body--match .match-hooks{color:#8a4a12}html[data-bk-theme=kitchen] body.game-body--match .match-keys,html[data-bk-theme=kitchen] body.game-body--match .win-stats{color:#5c5040}html[data-bk-theme=kitchen] body.game-body--match .win-score{color:#201911}html[data-bk-theme=kitchen] body.game-body--match .match-card .btn-ghost{color:#201911;border-color:#20191159}
