@charset "UTF-8";
:root{--ink:#181819;--paper:#f4f2eb;--white:#fffef9;--blue:#5368ff;--coral:#ff7658;--lime:#d8ef52;--violet:#a979eb;--line:rgba(24,24,25,.17);--muted:#696760;--wrap:min(1180px,calc(100% - 48px))}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:"Pretendard Variable",Pretendard,"Noto Sans KR","Apple SD Gothic Neo",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}button{cursor:pointer}.game-wrap{width:var(--wrap);margin-inline:auto}.skip{position:fixed;z-index:99;left:12px;top:12px;padding:10px 14px;background:var(--ink);color:white;transform:translateY(-150%)}.skip:focus{transform:none}.game-header{height:72px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding-inline:max(24px,calc((100vw - 1180px)/2));border-bottom:1px solid var(--line);position:relative;z-index:20;background:rgba(244,242,235,.93);backdrop-filter:blur(12px)}.game-logo{display:flex;align-items:center;gap:10px;width:max-content}.game-logo>span{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:var(--ink);color:white;font-weight:900}.game-logo strong{font-size:17px;letter-spacing:-.04em}.game-logo small{padding:3px 5px;background:var(--coral);color:var(--ink);font:900 8px monospace;transform:rotate(-3deg)}.game-header nav{display:flex;gap:32px;font-size:13px;font-weight:700}.game-header nav a{padding:27px 0 24px;position:relative}.game-header nav a.active::after,.game-header nav a:hover::after{content:"";position:absolute;left:0;right:0;bottom:18px;height:2px;background:var(--coral)}.back-home{justify-self:end;padding:10px 15px;border:1px solid var(--ink);font-size:11px;font-weight:750}.back-home:hover{background:var(--ink);color:white}.back-home span{margin-left:10px}.mobile-menu{display:none}.game-title{padding:42px 0 36px}.breadcrumbs{display:flex;align-items:center;gap:9px;margin:0 0 35px;color:var(--muted);font-size:12px}.breadcrumbs strong{color:var(--ink)}.title-row{display:flex;justify-content:space-between;align-items:end;gap:35px}.micro{margin:0 0 15px;color:var(--blue);font:850 11px monospace;letter-spacing:.12em}.title-row h1{margin:0;font-size:clamp(45px,5.2vw,70px);line-height:1.02;letter-spacing:-.075em}.title-row h1 em{font-style:normal;color:var(--coral)}.title-row>div:first-child>p:last-child{margin:20px 0 0;color:var(--muted);font-size:15px;line-height:1.75}.share-button{min-height:44px;padding:0 16px;border:1px solid var(--ink);background:var(--ink);color:white;font-size:12px;font-weight:800}.share-button:hover{background:var(--blue)}.share-button b{margin-left:10px}.play-section{border-block:1px solid var(--ink);background:var(--white)}.play-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);min-height:720px}.game-panel{padding:34px 44px 46px;border-right:1px solid var(--ink);background:var(--blue);color:white}.game-status{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:26px;border:1px solid var(--ink);background:var(--white);color:var(--ink);box-shadow:6px 6px 0 var(--ink)}.game-status>div{padding:13px 15px;border-right:1px solid var(--ink)}.game-status>div:last-child{border:0}.game-status small{display:block;margin-bottom:5px;color:var(--muted);font:800 9px monospace}.game-status strong{font:900 21px monospace}.stage-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px;font-size:13px;font-weight:800}.stage-label span:last-child{font:700 11px monospace;color:#e7e9ff}.number-stage{position:relative;min-height:510px}.number-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.number-cell{aspect-ratio:1;border:1.5px solid var(--ink);background:var(--white);box-shadow:4px 4px 0 var(--ink);font:900 clamp(20px,3vw,34px) monospace;transition:transform .09s,background .09s,color .09s}.number-cell:hover{transform:translate(-2px,-2px);background:var(--lime)}.number-cell.correct{background:var(--lime);color:var(--ink);box-shadow:none;transform:translate(4px,4px);opacity:.35;pointer-events:none}.number-cell.wrong{background:var(--coral);animation:wrong .2s linear 2}.start-cover{position:absolute;inset:0;z-index:5;display:grid;place-items:center;padding:30px;background:rgba(24,24,25,.88);text-align:center}.start-cover[hidden]{display:none}.start-card{width:min(100%,430px);padding:37px;background:var(--paper);color:var(--ink);border:1.5px solid var(--ink);box-shadow:8px 8px 0 var(--lime)}.start-card span{display:grid;place-items:center;width:74px;height:74px;margin:0 auto 22px;border-radius:50%;background:var(--coral);border:1.5px solid var(--ink);font:900 24px monospace}.start-card h2{margin:0;font-size:30px;letter-spacing:-.055em}.start-card p{margin:12px 0 24px;color:var(--muted);font-size:14px;line-height:1.7}.primary-button{min-height:52px;width:100%;border:1.5px solid var(--ink);background:var(--lime);box-shadow:5px 5px 0 var(--ink);font-weight:900}.primary-button:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink)}.leader-panel{padding:34px 32px 45px}.leader-head{display:flex;justify-content:space-between;gap:20px;align-items:end;padding-bottom:20px;border-bottom:1px solid var(--ink)}.leader-head p{margin:0 0 7px;color:var(--blue);font:850 10px monospace;letter-spacing:.12em}.leader-head h2{margin:0;font-size:30px;letter-spacing:-.055em}.leader-head span{font:700 10px monospace;color:var(--muted)}.leader-list{margin:0;padding:0;list-style:none}.leader-list li{min-height:51px;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;border-bottom:1px solid var(--line);font-size:13px}.leader-list li:first-child{background:var(--lime);margin-inline:-10px;padding-inline:10px;border-color:var(--ink)}.leader-list .rank{font:900 12px monospace}.leader-list .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:750}.leader-list .score{font:850 13px monospace}.leader-empty{padding:55px 0;text-align:center;color:var(--muted);font-size:13px;line-height:1.7}.rank-note{margin:22px 0 0;padding:16px;background:#ece9df;border-left:4px solid var(--coral);color:var(--muted);font-size:12px;line-height:1.7}.result-card{margin-top:22px;padding:22px;background:var(--white);border:1px solid var(--ink);box-shadow:6px 6px 0 var(--coral)}.result-card[hidden]{display:none}.result-card>small{color:var(--blue);font:850 10px monospace}.result-card h3{margin:8px 0 5px;font-size:25px}.result-card>p{margin:0 0 17px;color:var(--muted);font-size:12px}.score-form label{display:block;margin-bottom:7px;font-size:12px;font-weight:800}.score-form>div{display:grid;grid-template-columns:1fr auto}.score-form input{min-width:0;height:45px;padding:0 12px;border:1px solid var(--ink);background:var(--paper);outline:0}.score-form button{border:1px solid var(--ink);border-left:0;background:var(--ink);color:white;padding:0 15px;font-size:12px;font-weight:800}.score-form small{display:block;margin-top:8px;color:var(--muted);font-size:10px;line-height:1.55}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.result-actions button{min-height:42px;border:1px solid var(--ink);background:var(--white);font-size:12px;font-weight:800}.result-actions button:first-child{background:var(--lime)}.guide-section{padding:95px 0 105px}.guide-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.guide-grid>div:first-child p{margin:0 0 13px;color:var(--blue);font:850 10px monospace}.guide-grid h2{margin:0;font-size:clamp(35px,4vw,50px);line-height:1.12;letter-spacing:-.06em}.guide-list{border-top:1px solid var(--ink)}.guide-list article{display:grid;grid-template-columns:55px 1fr;padding:22px 0;border-bottom:1px solid var(--line)}.guide-list span{color:var(--coral);font:900 11px monospace}.guide-list h3{margin:0 0 7px;font-size:18px}.guide-list p{margin:0;color:var(--muted);font-size:13px;line-height:1.75}.game-footer{padding:55px 0 22px;background:var(--ink);color:white}.game-footer>.game-wrap{display:grid;grid-template-columns:1fr auto;gap:40px}.game-footer strong{font-size:25px}.game-footer p{margin:8px 0;color:#888;font-size:10px}.game-footer div div:nth-child(2){display:flex;gap:22px;align-items:center}.game-footer a{font-size:10px;color:#bbb}.game-footer small{grid-column:1/-1;padding-top:17px;border-top:1px solid #333;color:#666;font:500 8px monospace}.toast{position:fixed;z-index:50;left:50%;bottom:24px;transform:translate(-50%,140%);padding:13px 18px;background:var(--ink);color:white;border:1px solid white;box-shadow:4px 4px 0 var(--coral);font-size:12px;font-weight:750;transition:transform .2s}.toast.show{transform:translate(-50%,0)}@keyframes wrong{50%{transform:translateX(5px)}}
@media(max-width:900px){:root{--wrap:min(100% - 34px,720px)}.game-header{grid-template-columns:1fr auto;padding-inline:17px}.game-header nav,.back-home{display:none}.mobile-menu{display:block;min-width:48px;min-height:44px;border:1px solid var(--ink);background:transparent;font:700 9px monospace}.game-header nav.open{display:flex;position:absolute;top:72px;left:0;right:0;flex-direction:column;gap:0;padding:10px 17px 17px;background:var(--paper);border-bottom:1px solid var(--ink)}.game-header nav.open a{min-height:44px;padding:13px 4px;border-bottom:1px solid var(--line)}.play-layout{grid-template-columns:1fr}.game-panel{border-right:0;border-bottom:1px solid var(--ink)}.leader-panel{min-height:650px}.guide-grid{grid-template-columns:1fr;gap:45px}}
@media(max-width:560px){:root{--wrap:calc(100% - 28px)}.game-header{height:66px}.game-logo small{display:none}.game-header nav.open{top:66px}.game-title{padding:31px 0 30px}.breadcrumbs{margin-bottom:28px;font-size:11px}.title-row{display:block}.title-row h1{font-size:clamp(41px,12vw,56px)}.title-row>div:first-child>p:last-child{font-size:14px}.share-button{width:100%;margin-top:23px}.game-panel{padding:18px 14px 30px}.game-status{box-shadow:4px 4px 0 var(--ink)}.game-status>div{padding:10px 9px}.game-status strong{font-size:17px}.number-stage{min-height:calc(100vw - 28px)}.number-grid{gap:6px}.number-cell{box-shadow:3px 3px 0 var(--ink);font-size:clamp(20px,7vw,29px)}.start-cover{padding:17px}.start-card{padding:27px 20px;box-shadow:5px 5px 0 var(--lime)}.start-card h2{font-size:26px}.leader-panel{padding:30px 19px 42px;min-height:620px}.leader-head h2{font-size:27px}.result-card{padding:18px}.guide-section{padding:70px 0 80px}.guide-grid{gap:35px}.game-footer>.game-wrap{grid-template-columns:1fr}.game-footer div div:nth-child(2){flex-wrap:wrap}.game-footer small{grid-column:1}.toast{width:calc(100% - 28px);text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.mode-selector{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:20px;border:1px solid var(--ink);box-shadow:5px 5px 0 var(--ink)}.mode-selector button{min-height:52px;border:0;border-right:1px solid var(--ink);background:var(--white);font-size:15px;font-weight:900}.mode-selector button:last-child{border:0}.mode-selector button.selected{background:var(--lime);color:var(--ink)}.stop-stage{min-height:510px;display:grid;place-items:center;position:relative;border:1.5px solid var(--ink);background:var(--white);color:var(--ink);overflow:hidden}.stop-stage::before,.stop-stage::after{content:"";position:absolute;border:1px solid var(--line);border-radius:50%;pointer-events:none}.stop-stage::before{width:430px;height:430px}.stop-stage::after{width:310px;height:310px}.stop-button{position:relative;z-index:2;width:min(66vw,285px);aspect-ratio:1;border:2px solid var(--ink);border-radius:50%;background:var(--coral);box-shadow:11px 11px 0 var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .12s,box-shadow .12s}.stop-button:hover{transform:translate(-3px,-3px);box-shadow:14px 14px 0 var(--ink)}.stop-button:active{transform:translate(7px,7px);box-shadow:4px 4px 0 var(--ink)}.stop-button small{font:850 11px monospace;letter-spacing:.12em}.stop-button strong{margin:8px 0 5px;font:950 clamp(45px,7vw,78px) monospace;letter-spacing:-.08em}.stop-button span{font-size:13px;font-weight:750}.stop-button.running{background:var(--lime)}.stop-button.finished{background:var(--violet)}.champion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:18px 0 22px}.champion-card{min-height:88px;padding:11px 9px;border:1px solid var(--ink);background:var(--white)}.champion-card.selected{background:var(--lime);box-shadow:3px 3px 0 var(--ink)}.champion-card small{display:block;color:var(--blue);font:850 9px monospace}.champion-card strong{display:block;margin:7px 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.champion-card span{font:850 11px monospace}.ranking-mode-title{display:flex;justify-content:space-between;align-items:center;margin:0;padding:13px 0;border-top:1px solid var(--ink);font-size:13px}.ranking-mode-title b{font:900 11px monospace;color:var(--blue)}.hub-section{padding:20px 0 110px}.game-card-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}.game-card{min-height:430px;padding:22px;position:relative;display:flex;flex-direction:column;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);background:var(--white);transition:transform .2s,box-shadow .2s}.game-card:hover{transform:translate(-4px,-4px);box-shadow:7px 7px 0 var(--ink);z-index:2}.game-card>a{position:absolute;inset:0;z-index:2}.game-card-top{display:flex;justify-content:space-between;font:800 10px monospace}.game-card-top small{padding:4px 7px;background:var(--lime)}.game-art{height:210px;margin:22px 0 26px;display:grid;place-items:center;border:1px solid var(--ink);background:var(--blue);overflow:hidden}.touch-art{grid-template-columns:repeat(5,43px);gap:7px}.touch-art i{display:grid;place-items:center;width:43px;height:43px;background:var(--white);border:1px solid var(--ink);font:900 15px monospace;font-style:normal}.touch-art i:nth-child(2){background:var(--lime);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}.time-art{position:relative;background:var(--coral)}.time-art::before{content:"5.00";display:grid;place-items:center;width:145px;height:145px;border-radius:50%;background:var(--white);border:2px solid var(--ink);box-shadow:8px 8px 0 var(--ink);font:950 35px monospace}.game-card-copy{margin-top:auto}.game-card-copy small{color:var(--blue);font:850 10px monospace}.game-card-copy h2{margin:9px 0 7px;font-size:27px;letter-spacing:-.055em}.game-card-copy p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}
@media(max-width:560px){.game-card-grid{grid-template-columns:1fr}.game-card{min-height:390px}.touch-art{grid-template-columns:repeat(5,34px)}.touch-art i{width:34px;height:34px}.stop-stage{min-height:calc(100vw - 28px)}.stop-stage::before{width:88vw;height:88vw}.stop-stage::after{width:65vw;height:65vw}.stop-button{width:64vw}.champion-grid{gap:5px}.champion-card{padding:9px 7px}.champion-card strong,.champion-card span{font-size:10px}}
.game-card-grid>.game-card:last-child:nth-child(odd){grid-column:1/-1}.memory-art{grid-template-columns:repeat(3,70px);gap:12px;background:#4968d8}.memory-art i{display:grid;place-items:center;width:70px;height:70px;border:1px solid var(--ink);background:var(--white);box-shadow:4px 4px 0 var(--ink);font-size:34px;font-style:normal}.memory-art i:nth-child(2),.memory-art i:nth-child(5){background:var(--lime)}
@media(max-width:560px){.game-card-grid>.game-card:last-child:nth-child(odd){grid-column:auto}.memory-art{grid-template-columns:repeat(3,58px)}.memory-art i{width:58px;height:58px;font-size:29px}}
.number-cell,.stop-button,.mode-selector button,.champion-card{touch-action:manipulation;-webkit-user-select:none;user-select:none}
.number-cell{color:var(--ink)}
.mode-selector button{color:var(--ink)}

/* Shopping memory game */
.memory-play .play-layout{min-height:760px}.memory-panel{background:#4968d8}.memory-status strong{font-size:19px}.memory-stage{position:relative;min-height:555px;padding:25px;border:1.5px solid var(--ink);background:#fffdf7;color:var(--ink);box-shadow:6px 6px 0 var(--ink)}.memory-stage-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid var(--ink)}.memory-stage-head small{display:block;margin-bottom:6px;color:var(--blue);font:850 10px monospace;letter-spacing:.11em}.memory-stage-head h2{margin:0;font-size:clamp(23px,3vw,32px);letter-spacing:-.055em}.memory-stage-head>strong{flex:none;font:900 20px monospace}.memory-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.memory-item{min-width:0;min-height:118px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:12px 7px;border:1.5px solid var(--ink);background:var(--white);color:var(--ink);box-shadow:3px 3px 0 var(--ink)}button.memory-item{cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none}.memory-item>span{font-size:43px;line-height:1}.memory-item>strong{font-size:17px}.choice-items{grid-template-columns:repeat(4,minmax(0,1fr))}.choice-items .memory-item{min-height:100px;transition:transform .1s,background .1s}.choice-items .memory-item:hover{transform:translate(-2px,-2px);background:#eef2ff}.choice-items .memory-item.selected{background:var(--lime);box-shadow:5px 5px 0 var(--ink);transform:translate(-2px,-2px)}.choice-items .memory-item.answer-correct{background:#c9f0d8;border-color:#176b3a;box-shadow:3px 3px 0 #176b3a}.choice-items .memory-item.answer-wrong{background:#ffe0d8;border-color:#b43b25}.choice-items .memory-item.answer-missed{border:4px solid #23804a}.memory-ready-button{display:block;min-width:180px;min-height:48px;margin:25px auto 0;border:1.5px solid var(--ink);background:var(--white);font-weight:850}.memory-ready-button:hover{background:var(--lime)}.memory-check-button{width:min(100%,360px);display:block;margin:24px auto 0}.memory-check-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.round-result{padding:18px 10px;text-align:center}.round-result>span{display:inline-block;padding:6px 10px;background:var(--lime);font:850 11px monospace}.round-result h2{margin:18px 0 9px;font-size:32px;letter-spacing:-.055em}.round-result>p{margin:0 0 22px;color:var(--muted);font-size:14px}.answer-items{width:min(100%,460px);margin:0 auto 25px}.answer-items .memory-item{min-height:105px;border:3px solid #23804a;box-shadow:none}.round-result>.primary-button{width:min(100%,360px)}.memory-start-card>small{display:block;margin-top:17px;color:var(--muted);font-size:11px}.memory-info{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;margin-bottom:105px;padding:42px;border:1px solid var(--ink);background:var(--white);box-shadow:8px 8px 0 var(--coral)}.memory-info>div:first-child>p{margin:0 0 12px;color:var(--blue);font:850 10px monospace}.memory-info h2{margin:0;font-size:clamp(31px,4vw,48px);line-height:1.12;letter-spacing:-.06em}.memory-info>div:last-child p{margin:0 0 16px;color:var(--muted);font-size:14px;line-height:1.85}.memory-info>div:last-child p:last-child{margin-bottom:0}.memory-guide{padding-bottom:70px}
@media(max-width:900px){.memory-info{grid-template-columns:1fr;gap:28px}.memory-stage{min-height:570px}}
@media(max-width:560px){.memory-panel{padding-bottom:28px}.memory-status>div{padding-inline:7px}.memory-status strong{font-size:15px}.memory-stage{min-height:520px;padding:16px 12px;box-shadow:4px 4px 0 var(--ink)}.memory-stage-head{align-items:center;margin-bottom:15px}.memory-stage-head h2{font-size:22px}.memory-stage-head>strong{font-size:16px}.memory-items{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.memory-item,.choice-items .memory-item{min-height:90px;padding:8px 4px;box-shadow:2px 2px 0 var(--ink)}.memory-item>span{font-size:34px}.memory-item>strong{font-size:15px}.choice-items{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-items .memory-item{min-height:82px;flex-direction:row;gap:9px}.choice-items .memory-item>span{font-size:31px}.round-result{padding-inline:0}.round-result h2{font-size:27px}.answer-items{grid-template-columns:repeat(3,minmax(0,1fr))}.answer-items .memory-item{min-height:84px}.memory-info{width:calc(100% - 28px);margin-bottom:80px;padding:27px 20px;box-shadow:5px 5px 0 var(--coral)}}
.memory-info>div:last-child p:last-of-type{margin-bottom:18px}.memory-info-link{display:inline-flex;padding:11px 14px;border:1px solid var(--ink);background:var(--lime);color:var(--ink);font-size:13px;font-weight:850;box-shadow:3px 3px 0 var(--ink)}.memory-info-link:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}

/* Pair match */
.pair-play{padding:38px 0 86px;background:#3859cf}.pair-shell{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.72fr);border:1.5px solid var(--ink);background:var(--white);box-shadow:9px 9px 0 var(--ink)}.pair-main{min-width:0;padding:20px;background:#6473ed;border-right:1.5px solid var(--ink)}.pair-status{grid-template-columns:repeat(5,1fr);margin-bottom:15px}.pair-status>div{padding:12px}.pair-status strong{font-size:18px}.pair-message{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:46px;padding:0 15px;border:1.5px solid var(--ink);background:var(--ink);color:white;font-size:13px;font-weight:750}.pair-message strong{flex:none;color:var(--lime);font:850 11px monospace}.pair-board-wrap{position:relative;min-height:610px;padding:18px;border:1.5px solid var(--ink);border-top:0;background:#f6f3ec}.pair-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;min-height:570px;align-content:center}.pair-board[data-cards="24"],.pair-board[data-cards="36"]{grid-template-columns:repeat(6,minmax(0,1fr))}.pair-board[data-cards="48"]{grid-template-columns:repeat(8,minmax(0,1fr))}.pair-card{position:relative;min-width:0;aspect-ratio:1/1.08;padding:0;border:1.5px solid var(--ink);background:transparent;cursor:pointer;perspective:700px;transform-style:preserve-3d}.pair-card-back,.pair-card-face{position:absolute;inset:0;display:grid;place-items:center;border:1px solid transparent;backface-visibility:hidden;transition:transform .28s ease,background .18s}.pair-card-back{background:#142969;color:white;font:900 clamp(17px,2vw,28px) monospace;box-shadow:3px 3px 0 var(--ink)}.pair-card-face{background:#fffdf7;font-size:clamp(24px,3vw,44px);transform:rotateY(180deg);box-shadow:3px 3px 0 var(--ink)}.pair-card.revealed .pair-card-back,.pair-card.matched .pair-card-back{transform:rotateY(180deg)}.pair-card.revealed .pair-card-face,.pair-card.matched .pair-card-face{transform:rotateY(0)}.pair-card.matched .pair-card-face{background:var(--lime);border-color:#217143}.pair-card.wrong .pair-card-face{background:#ffb9a7;animation:pair-shake .25s linear}.pair-card:focus-visible{outline:4px solid var(--coral);outline-offset:2px;z-index:2}.pair-board[data-cards="36"] .pair-card-face,.pair-board[data-cards="48"] .pair-card-face{font-size:clamp(21px,2.4vw,36px)}@keyframes pair-shake{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}.pair-start,.pair-level-result{position:absolute;inset:18px;z-index:5;display:grid;place-items:center;padding:24px;background:rgba(246,243,236,.96)}.pair-start[hidden],.pair-level-result[hidden]{display:none}.pair-start-card{width:min(100%,600px);text-align:center}.pair-start-icon{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 18px;border:1.5px solid var(--ink);border-radius:50%;background:var(--coral);font-size:30px;box-shadow:5px 5px 0 var(--ink)}.pair-start-card>p:first-of-type{margin:0 0 8px;color:var(--blue);font:850 10px monospace;letter-spacing:.1em}.pair-start-card h2{margin:0 0 23px;font-size:clamp(28px,4vw,43px);letter-spacing:-.06em}.pair-start-card>p:not(:first-of-type){color:var(--muted);font-size:14px;line-height:1.7}.card-count-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:22px}.card-count-options button{min-height:78px;padding:10px 5px;border:1.5px solid var(--ink);background:var(--white);color:var(--ink);cursor:pointer}.card-count-options button.selected{background:var(--lime);box-shadow:4px 4px 0 var(--ink);transform:translate(-2px,-2px)}.card-count-options strong,.card-count-options small{display:block}.card-count-options strong{font-size:17px}.card-count-options small{margin-top:5px;color:var(--muted);font-size:10px}.pair-start-card>.primary-button{width:min(100%,340px)}.pair-start-card>small{display:block;margin-top:15px;color:var(--muted);font-size:11px}.pair-change-button{display:block;margin:12px auto 0;padding:9px 12px;border:0;border-bottom:1px solid var(--ink);background:transparent;font-weight:750;cursor:pointer}.pair-level-result{text-align:center}.pair-level-result>span{padding:7px 11px;background:var(--lime);font:850 11px monospace}.pair-level-result h2{margin:19px 0 8px;font-size:clamp(27px,4vw,40px);letter-spacing:-.055em}.pair-level-result p{margin:0 0 24px;color:var(--muted)}.pair-level-result .primary-button{width:min(100%,330px)}.score-pop{position:absolute;z-index:8;opacity:0;transform:translate(-50%,-10px);pointer-events:none;font:950 24px monospace;text-shadow:2px 2px 0 white;transition:opacity .15s,transform .55s}.score-pop.show{opacity:1;transform:translate(-50%,-45px)}.score-pop.plus{color:#13723b}.score-pop.minus{color:#c23f25}.pair-leader{padding:23px}.rank-modes{display:grid;grid-template-columns:repeat(4,1fr);margin:16px 0;border:1px solid var(--ink)}.rank-modes button{min-height:38px;border:0;border-right:1px solid var(--ink);background:var(--white);font:800 12px monospace;cursor:pointer}.rank-modes button:last-child{border-right:0}.rank-modes button.selected{background:var(--lime)}.pair-guide{padding-block:78px}.time-warning{color:#ffdf34!important;animation:time-pulse .7s infinite alternate}@keyframes time-pulse{to{opacity:.55}}
@media(max-width:1050px){.pair-shell{grid-template-columns:1fr}.pair-main{border-right:0;border-bottom:1.5px solid var(--ink)}.pair-board-wrap{min-height:590px}.pair-board{min-height:550px}.pair-leader{min-height:auto}}
@media(max-width:700px){.pair-play{padding-top:22px}.pair-shell{width:calc(100% - 24px);box-shadow:5px 5px 0 var(--ink)}.pair-main{padding:10px}.pair-status{grid-template-columns:repeat(5,1fr)}.pair-status>div{padding:9px 4px}.pair-status small{font-size:8px}.pair-status strong{font-size:13px}.pair-message{padding-inline:9px;font-size:11px}.pair-message strong{font-size:9px}.pair-board-wrap{min-height:520px;padding:8px}.pair-board{min-height:500px;gap:5px}.pair-start,.pair-level-result{inset:8px;padding:15px}.pair-board[data-cards="12"]{grid-template-columns:repeat(3,minmax(0,1fr))}.pair-board[data-cards="24"],.pair-board[data-cards="36"],.pair-board[data-cards="48"]{grid-template-columns:repeat(6,minmax(0,1fr))}.pair-card-back,.pair-card-face{box-shadow:2px 2px 0 var(--ink)}.pair-card-back{font-size:14px}.pair-card-face,.pair-board[data-cards="36"] .pair-card-face,.pair-board[data-cards="48"] .pair-card-face{font-size:clamp(18px,6vw,30px)}.card-count-options{grid-template-columns:1fr 1fr}.pair-start-card h2{font-size:30px}.score-pop{font-size:19px}}
@media(max-width:410px){.pair-board[data-cards="48"]{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.pair-board[data-cards="48"] .pair-card-face{font-size:19px}.pair-board-wrap{min-height:560px}.pair-board{min-height:540px}.pair-message span{max-width:65%}}
.pair-art{grid-template-columns:repeat(4,1fr);gap:7px;padding:25px;background:#ffdfd3}.pair-art i{display:grid;place-items:center;aspect-ratio:1;border:1px solid var(--ink);background:#fff;font-style:normal;font-size:24px;box-shadow:3px 3px 0 var(--ink)}.pair-art i:nth-child(2),.pair-art i:nth-child(5),.pair-art i:nth-child(7){background:#172b70;color:white;font:900 20px monospace}
.pair-finish-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.pair-finish-choices button{min-height:66px;padding:10px;border:1.5px solid var(--ink);cursor:pointer}.pair-finish-choices .primary-button{width:auto}.pair-mode-button{background:var(--white);box-shadow:5px 5px 0 var(--ink)}.pair-finish-choices strong,.pair-finish-choices small{display:block}.pair-finish-choices strong{font-size:14px}.pair-finish-choices small{margin-top:5px;color:var(--muted);font-size:10px}.pair-finish-choices button:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink)}@media(max-width:460px){.pair-finish-choices{grid-template-columns:1fr}}
.memory-link-row{display:flex;flex-wrap:wrap;gap:10px}.memory-info-link.secondary{background:var(--white)}
.memory-stage[data-density="medium"] .memory-items{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.memory-stage[data-density="medium"] .memory-item{min-height:94px}.memory-stage[data-density="medium"] .memory-item>span{font-size:35px}.memory-stage[data-density="medium"] .memory-item>strong{font-size:15px}.memory-stage[data-density="compact"] .memory-items{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.memory-stage[data-density="compact"] .memory-item{min-height:78px;padding:7px 4px;gap:4px;box-shadow:2px 2px 0 var(--ink)}.memory-stage[data-density="compact"] .memory-item>span{font-size:28px}.memory-stage[data-density="compact"] .memory-item>strong{font-size:13px}.memory-stage[data-density="compact"] .answer-items{width:100%}
@media(max-width:560px){.memory-stage[data-density="medium"] .memory-items{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.memory-stage[data-density="medium"] .memory-item{min-height:76px;flex-direction:column;gap:3px}.memory-stage[data-density="medium"] .memory-item>span{font-size:28px}.memory-stage[data-density="medium"] .memory-item>strong{font-size:13px}.memory-stage[data-density="compact"] .memory-items{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.memory-stage[data-density="compact"] .memory-item{min-height:66px;flex-direction:column;padding:5px 2px;gap:2px}.memory-stage[data-density="compact"] .memory-item>span{font-size:25px}.memory-stage[data-density="compact"] .memory-item>strong{font-size:12px}.memory-stage[data-density="compact"] .answer-items{grid-template-columns:repeat(4,minmax(0,1fr))}}
.stage-label .time-warning{padding:3px 6px;background:var(--coral);color:var(--ink)!important;font-weight:900!important}
.memory-status{grid-template-columns:repeat(4,1fr)}.memory-status strong{font-size:17px}.memory-status #chanceText{color:var(--coral);letter-spacing:.05em}
@media(max-width:560px){.memory-status>div{padding-inline:5px}.memory-status small{font-size:8px}.memory-status strong{font-size:13px}.memory-status #chanceText{font-size:15px}}
