/* Frost Match: scoped, touch-first classic pairs. */
.sr-fm-arcade-card,.sr-fm-dialog{--fm-ice:#8feaff;--fm-ink:#06121d;--fm-line:rgba(158,229,255,.25);box-sizing:border-box;color:#edfaff;font-family:inherit}
.sr-fm-arcade-card{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:24px;border:1px solid var(--fm-line);border-radius:20px;background:radial-gradient(ellipse at 95% 0,rgba(25,157,202,.22),transparent 65%),#091925;min-height:280px}
.sr-fm-arcade-icon{width:70px;height:70px;color:#e8fbff}.sr-fm-arcade-icon svg{width:100%;height:100%}
.sr-fm-arcade-card h3{font-size:clamp(24px,3vw,32px);line-height:1.1;margin:0 0 10px;color:#fff}.sr-fm-arcade-card p{margin:0;line-height:1.5}.sr-fm-arcade-copy>p:last-child{color:#b6cbd8;max-width:36ch}.sr-fm-arcade-card .sr-fm-primary{margin-top:auto}
.sr-fm-eyebrow{font-size:10px!important;line-height:1.3!important;letter-spacing:.13em;font-weight:800;color:#93dff0;margin:0 0 6px!important}
.sr-fm-dialog{width:min(540px,calc(100vw - 20px));max-width:none;max-height:calc(100dvh - 16px);padding:20px;margin:auto;border:1px solid #6db6cc;border-radius:22px;background:radial-gradient(ellipse at 90% 0,rgba(32,146,181,.2),transparent 55%),#07131f;box-shadow:0 25px 100px #000b;overflow:auto}
.sr-fm-dialog::backdrop{background:rgba(0,8,17,.85);backdrop-filter:blur(5px)}
.sr-fm-dialog *{box-sizing:border-box}.sr-fm-dialog[open]{display:flex;flex-direction:column;gap:10px}
.sr-fm-dialog [hidden]{display:none!important}
.sr-fm-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.sr-fm-header h2{font-size:30px;line-height:1.05;margin:0;color:#fff;font-weight:900;letter-spacing:-.03em}
.sr-fm-dialog button,.sr-fm-arcade-card button{font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:48px;border:1px solid var(--fm-line);border-radius:12px;color:#e8faff;background:#102535;transition:background .15s,transform .15s;line-height:1.1;letter-spacing:normal;text-transform:none;margin:0;box-shadow:none}
.sr-fm-dialog button:focus-visible,.sr-fm-arcade-card button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.sr-fm-dialog button:active,.sr-fm-arcade-card button:active{transform:scale(.98)}.sr-fm-dialog button:disabled{cursor:default}
.sr-fm-dialog .sr-fm-close{flex:none;width:48px;font-size:30px;padding:0;background:#102535}
.sr-fm-instructions{font-size:14px;line-height:1.3;color:#bdd8e7;margin:0}
.sr-fm-modes{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sr-fm-modes button{font-size:13px;font-weight:800;padding:8px}.sr-fm-modes span{font-weight:400;margin-left:4px;color:#bad3df}.sr-fm-modes button[aria-pressed=true]{border-color:#79dff5;background:#174354;color:#fff}
.sr-fm-hud{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;padding:8px 0;border-top:1px solid var(--fm-line);border-bottom:1px solid var(--fm-line);font-variant-numeric:tabular-nums}.sr-fm-hud>div{min-width:0;text-align:center}.sr-fm-hud span{display:block;line-height:1.2;text-transform:uppercase;font-size:9px;letter-spacing:.06em;color:#adc7d5}.sr-fm-hud strong{display:block;font-size:18px;line-height:1.25;color:#fff}
.sr-fm-arena{position:relative}.sr-fm-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:7px;height:min(330px,calc((100vw - 62px)*.75),calc(100dvh - 340px));min-height:165px}
.sr-fm-board[data-pairs="4"]{grid-template-rows:repeat(2,minmax(0,1fr));height:min(220px,calc((100vw - 62px)*.5),calc(100dvh - 340px));min-height:110px}
.sr-fm-dialog .sr-fm-tile{position:relative;min-width:0;width:100%;height:100%;min-height:48px;border:0;border-radius:12px;padding:0;background:transparent;perspective:700px}
.sr-fm-tile-inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .3s cubic-bezier(.2,.7,.2,1)}.sr-fm-tile.is-up .sr-fm-tile-inner{transform:rotateY(180deg)}
.sr-fm-tile-front,.sr-fm-tile-back{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #39728b;border-radius:12px;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.sr-fm-tile-back{background:radial-gradient(ellipse at 20% 0,#255065,#0c2638 70%);color:#e2faff;box-shadow:inset 0 0 15px #2a9cc02b}
.sr-fm-tile-front{transform:rotateY(180deg);background:#051019;border-color:#80d8ec}.sr-fm-tile-front img{display:block;width:100%;height:100%;object-fit:contain;border-radius:10px;pointer-events:none}
.sr-fm-card-mark{display:flex;align-items:center;justify-content:center;width:68%;height:68%;font-size:36px}.sr-fm-card-mark svg{width:100%;height:100%}
.sr-fm-tile.is-matched .sr-fm-tile-front{border:2px solid #9cffe0;box-shadow:inset 0 0 12px #8dffcf38}.sr-fm-tile.is-matched::after{content:"✓";position:absolute;right:3px;bottom:3px;background:#092e29;color:#b1ffe8;border-radius:50%;width:17px;height:17px;font-size:12px;line-height:17px;text-align:center;pointer-events:none}
.sr-fm-status{min-height:30px;margin:0;color:#bed9e6;font-size:12px;line-height:1.3;text-align:center;display:flex;align-items:center;justify-content:center}
.sr-fm-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sr-fm-actions button{font-size:13px;font-weight:700;padding:10px}
.sr-fm-dialog .sr-fm-primary,.sr-fm-arcade-card .sr-fm-primary{display:inline-flex;justify-content:center;align-items:center;gap:20px;min-height:48px;padding:13px 20px;border-color:#96ecff;background:#b8f0ff;color:#061b26;font-size:13px;font-weight:900;letter-spacing:.04em}
.sr-fm-overlay{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:16px;border:1px solid #77bdd1;border-radius:14px;background:#0a1c2af5;box-shadow:0 0 40px #0004}.sr-fm-overlay h3{margin:0 0 8px;color:#fff;font-size:clamp(22px,5vw,30px);line-height:1.05}.sr-fm-overlay>p:not(.sr-fm-eyebrow){font-size:13px;line-height:1.4;max-width:30ch;margin:0 0 12px;color:#c5dfeb}
@media(max-width:400px){.sr-fm-dialog{padding:14px;gap:8px!important;border-radius:16px}.sr-fm-header h2{font-size:27px}.sr-fm-eyebrow{font-size:9px!important}.sr-fm-dialog .sr-fm-modes button{font-size:12px}.sr-fm-board{gap:6px}.sr-fm-hud strong{font-size:17px}.sr-fm-hud{padding:6px 0}.sr-fm-status{min-height:24px}}
@media(max-height:620px){.sr-fm-dialog[open]{gap:6px}.sr-fm-dialog{padding:12px}.sr-fm-header h2{font-size:24px}.sr-fm-hud{padding:5px 0}.sr-fm-status{min-height:24px}.sr-fm-board{height:max(165px,calc(100dvh - 410px))}.sr-fm-board[data-pairs="4"]{height:min(220px,max(110px,calc(100dvh - 410px)))}}
@media(prefers-reduced-motion:reduce){.sr-fm-dialog button,.sr-fm-arcade-card button,.sr-fm-tile-inner{transition:none!important}.sr-fm-dialog button:active,.sr-fm-arcade-card button:active{transform:none}}

