:root{
  --card-ink:#17233b;--card-muted:#65748a;--card-line:#d9e3ef;--card-soft:#f4f7fb;
  --card-blue:#315ed8;--card-purple:#714fd2;--card-good:#0a8f65;--card-warn:#bc7200;--card-bad:#c93e52;
}
body.card-game{--game-accent:var(--card-purple);--game-accent-2:var(--card-blue);background:radial-gradient(circle at 8% 0,#e7e1ff 0,transparent 34%),linear-gradient(145deg,#fbfcff,#eef3ff);overflow:hidden}
body.card-game .game-shell{height:100dvh;min-height:0}
body.card-game .game-card{min-height:0}
.twenty-four-layout{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,300px);gap:12px;overflow:hidden}
.twenty-four-board,.twenty-four-side{min-height:0;border:1px solid var(--card-line);border-radius:20px;background:#fff}
.twenty-four-board{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:10px;padding:14px;overflow:hidden}
.tf-target{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px;border-radius:16px;background:linear-gradient(135deg,#f0edff,#edf5ff);border:1px solid #ded8fb}
.tf-target span{color:#5f6980;font-size:13px;font-weight:850}.tf-target strong{font-size:28px;line-height:1;color:#5039b6}.tf-target small{color:#68768b;font-weight:800}
.tf-cards{min-height:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:stretch}
.tf-card{position:relative;min-width:0;min-height:150px;border:2px solid #d8e1ec;border-radius:20px;background:linear-gradient(160deg,#fff,#f7f9fc);box-shadow:0 10px 24px rgba(54,72,108,.08);color:var(--card-ink);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 10px;touch-action:manipulation;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}
.tf-card:hover{border-color:#bcb1ee}.tf-card:active{transform:scale(.98)}.tf-card.is-selected{border-color:#7656d8;box-shadow:0 0 0 5px rgba(118,86,216,.14),0 12px 28px rgba(71,51,150,.14);transform:translateY(-3px)}.tf-card.is-hint{animation:tfPulse 1s ease-in-out infinite}.tf-card:disabled{opacity:.48;cursor:not-allowed;transform:none}
.tf-card .tf-corner{position:absolute;top:9px;left:11px;font-size:15px;font-weight:950;color:#7056bb}.tf-card .tf-value{font-size:clamp(38px,5vw,66px);font-weight:1000;line-height:1}.tf-card .tf-suit{font-size:24px;margin-top:5px}.tf-card .tf-expr{width:100%;margin-top:8px;color:#65748a;font-size:12px;line-height:1.3;font-weight:800;text-align:center;overflow-wrap:anywhere}.tf-card.is-result{background:linear-gradient(160deg,#f9f6ff,#edf4ff)}
.tf-operators{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.tf-op{min-height:52px;border:1px solid #d2dcea;border-radius:15px;background:#f7f9fd;color:#32455f;font-size:25px;font-weight:1000;cursor:pointer}.tf-op.is-selected{background:linear-gradient(135deg,#7655d6,#315ed8);border-color:transparent;color:#fff;box-shadow:0 8px 18px rgba(79,63,180,.22)}.tf-op.is-hint{animation:tfPulse 1s ease-in-out infinite}.tf-op:disabled{opacity:.45;cursor:not-allowed}
.tf-steps{min-height:54px;padding:9px 12px;border-radius:15px;background:#f5f7fb;border:1px solid #e0e7f0;display:flex;align-items:center;gap:10px;overflow:auto}.tf-steps>span{white-space:nowrap;color:#69768a;font-size:13px;font-weight:850}.tf-steps-list{display:flex;gap:7px;min-width:0}.tf-step{white-space:nowrap;padding:6px 9px;border-radius:10px;background:#fff;border:1px solid #dde4ed;color:#33465f;font-size:13px;font-weight:850}
.twenty-four-side{padding:14px;display:flex;flex-direction:column;gap:10px;overflow:auto}.twenty-four-side h2{margin:0;font-size:18px}.twenty-four-side p{margin:0;color:var(--card-muted);font-size:13px;line-height:1.5}.tf-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.tf-levels button{min-height:42px;border:1px solid #d5dfeb;border-radius:12px;background:#f8fafc;color:#40536d;font-weight:900;cursor:pointer}.tf-levels button.is-active{background:#6651c8;color:#fff;border-color:#6651c8}.tf-rule-list{display:grid;gap:7px}.tf-rule-list span{padding:8px 10px;border-radius:11px;background:#f5f7fb;color:#4f6077;font-size:12px;font-weight:800}.tf-side-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}.tf-side-actions .game-btn.wide{grid-column:1/-1}.tf-hint-state{min-height:42px;padding:8px 10px;border-radius:12px;background:#fff9e9;border:1px solid #f1d99b;color:#865800;font-size:12px;font-weight:850;line-height:1.4}
.card-tutorial-layer{position:fixed;inset:0;z-index:90;padding:16px;background:rgba(14,24,43,.64);backdrop-filter:blur(8px);display:grid;place-items:center}.card-tutorial-layer[hidden]{display:none}.card-tutorial-card{width:min(850px,100%);max-height:min(92dvh,850px);border-radius:26px;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.24);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden}.card-tutorial-head{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:16px 18px;border-bottom:1px solid #e2e8f0}.card-tutorial-head>i{width:48px;height:48px;border-radius:15px;background:#eee9ff;display:grid;place-items:center;font-size:27px}.card-tutorial-head span{font-size:12px;color:#6b7280;font-weight:850}.card-tutorial-head h2{margin:2px 0 0;font-size:22px}.card-tutorial-close{width:44px;height:44px;border:1px solid #d8e0ea;border-radius:13px;background:#fff;font-size:25px;cursor:pointer}.card-tutorial-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:10px 14px;background:#f7f8fc;border-bottom:1px solid #e2e8f0}.card-tutorial-tabs button{min-height:42px;border:1px solid #d8e0eb;border-radius:12px;background:#fff;color:#53647b;font-weight:900;cursor:pointer}.card-tutorial-tabs button.is-active{background:#6551c9;color:#fff;border-color:#6551c9}.card-tutorial-body{min-height:0;padding:18px;overflow:auto}.card-tutorial-panel h3{margin:0 0 12px;font-size:20px}.card-tutorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.card-tutorial-box{border:1px solid #dfe6ef;border-radius:16px;background:#f9fbfd;padding:14px}.card-tutorial-box strong{display:block;margin-bottom:7px}.card-tutorial-box p,.card-tutorial-box li{color:#53647b;line-height:1.65;font-size:14px}.card-tutorial-box ul{margin:0;padding-left:20px}.card-tutorial-example{padding:16px;border-radius:18px;background:linear-gradient(135deg,#f1edff,#eef5ff);border:1px solid #ddd5fb}.card-tutorial-example .math{font-size:26px;font-weight:1000;color:#4e39af;margin:10px 0}.card-tutorial-actions{padding:12px 16px;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;gap:10px}.card-tutorial-actions button{min-height:48px;padding:0 18px;border:1px solid #d6dfeb;border-radius:14px;background:#fff;color:#41536c;font-weight:900;cursor:pointer}.card-tutorial-actions button.primary{background:linear-gradient(135deg,#6c50cf,#315ed8);color:#fff;border-color:transparent}
.tf-guide-banner{position:fixed;z-index:82;left:50%;bottom:18px;transform:translateX(-50%);width:min(720px,calc(100% - 24px));padding:12px 14px;border-radius:17px;background:#fff7d9;border:1px solid #efcf72;box-shadow:0 16px 44px rgba(74,52,0,.18);display:flex;align-items:center;gap:12px;color:#775100;font-weight:850}.tf-guide-banner button{margin-left:auto;min-height:40px;padding:0 13px;border:0;border-radius:11px;background:#805f00;color:#fff;font-weight:900;cursor:pointer}
@keyframes tfPulse{50%{box-shadow:0 0 0 7px rgba(239,179,40,.23),0 12px 28px rgba(71,51,150,.12)}}
@media(max-width:900px),(orientation:portrait){body.card-game{overflow:auto}body.card-game .game-shell{height:100dvh;min-height:0;padding:8px 0 10px}body.card-game .game-top{grid-template-columns:auto minmax(0,1fr) auto}body.card-game .game-top-actions{grid-column:auto}.twenty-four-layout{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.twenty-four-side{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;padding:10px;overflow:visible}.twenty-four-side h2,.twenty-four-side>p{display:none}.tf-levels{grid-column:1/-1}.tf-rule-list{grid-template-columns:repeat(3,1fr);gap:6px}.tf-rule-list span{padding:7px;font-size:11px;text-align:center}.tf-hint-state{min-height:0}.tf-side-actions{margin:0}.twenty-four-board{padding:10px}.tf-card{min-height:128px}.tf-card .tf-value{font-size:48px}.card-tutorial-grid{grid-template-columns:1fr}}
@media(max-width:620px){.twenty-four-layout{gap:8px}.tf-target{padding:8px 10px}.tf-target strong{font-size:24px}.tf-cards{gap:7px}.tf-card{min-height:105px;border-radius:15px;padding:9px 5px}.tf-card .tf-value{font-size:38px}.tf-card .tf-suit{font-size:18px}.tf-card .tf-expr{font-size:10px}.tf-operators{gap:6px}.tf-op{min-height:46px}.tf-steps{min-height:48px}.twenty-four-side{grid-template-columns:1fr}.tf-rule-list{display:none}.tf-levels{grid-column:auto}.tf-side-actions{grid-template-columns:repeat(4,1fr)}.tf-side-actions .game-btn.wide{grid-column:auto}.tf-side-actions .game-btn{min-height:44px;padding:0 7px;font-size:12px}.card-tutorial-tabs{grid-template-columns:1fr 1fr}.card-tutorial-tabs button:nth-child(5){grid-column:1/-1}.card-tutorial-head{padding:12px}.card-tutorial-head h2{font-size:18px}.card-tutorial-body{padding:12px}.card-tutorial-actions{padding:10px}.tf-guide-banner{align-items:flex-start;flex-wrap:wrap}.tf-guide-banner button{margin-left:0}}
@media(max-height:760px) and (orientation:landscape){body.card-game .game-shell{padding:7px 0}.tf-card{min-height:118px}.twenty-four-board{padding:9px}.twenty-four-side{padding:10px}.tf-rule-list span{padding:6px 8px}.game-feedback{min-height:44px}}
@media(prefers-reduced-motion:reduce){.tf-card,.tf-op{animation:none!important;transition:none!important}}

/* v448 凑十钓鱼 */
body.make-ten-game{--game-accent:#128b78;--game-accent-2:#2b65c8;background:radial-gradient(circle at 10% 0,#d8f7ee 0,transparent 34%),linear-gradient(145deg,#fbfffe,#eef5ff)}
.make-ten-layout{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(248px,292px);gap:12px;overflow:hidden}.make-ten-board,.make-ten-side{min-height:0;border:1px solid var(--card-line);border-radius:20px;background:#fff}.make-ten-board{position:relative;padding:10px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;overflow:hidden;background:linear-gradient(160deg,#f4fffb,#edf8ff)}.mt-opponent,.mt-player,.mt-table-zone{min-height:0;border-radius:16px;border:1px solid #dce6ef;background:rgba(255,255,255,.94);padding:8px}.mt-table-zone{display:grid;grid-template-rows:auto minmax(0,1fr);background:linear-gradient(145deg,#e7f8f5,#e9f3ff);border-color:#cce6e2;overflow:hidden}.mt-zone-label{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:25px;color:#456075;font-size:12px;font-weight:900}.mt-zone-label b{color:#187c6e}.mt-ai-hand,.mt-hand{display:flex;align-items:center;justify-content:center;gap:7px;min-height:70px}.mt-table{min-height:0;display:grid;grid-template-columns:repeat(8,minmax(44px,1fr));grid-auto-rows:52px;gap:6px;align-content:center;overflow:hidden}.mt-card{position:relative;min-width:0;min-height:66px;border:2px solid #d5e1ec;border-radius:13px;background:linear-gradient(160deg,#fff,#f6fafc);box-shadow:0 6px 15px rgba(46,74,102,.09);display:grid;place-items:center;align-content:center;gap:1px;color:#18354e;cursor:pointer;touch-action:manipulation}.mt-card span{font-size:clamp(22px,3.2vw,34px);font-weight:1000;line-height:1}.mt-card i{font-style:normal;font-size:15px}.mt-card small{position:absolute;left:6px;top:4px;color:#2d8075;font-size:10px;font-weight:1000}.mt-hand .mt-card{width:min(82px,18%);min-height:84px}.mt-table .mt-card{width:100%;height:100%;min-height:0}.mt-card:active{transform:scale(.97)}.mt-card.is-selected{border-color:#6b51cf;box-shadow:0 0 0 4px rgba(107,81,207,.16),0 8px 18px rgba(59,45,134,.14);transform:translateY(-2px)}.mt-card.is-capturable{border-color:#12a877;background:linear-gradient(160deg,#effff9,#dff8ee);box-shadow:0 0 0 4px rgba(18,168,119,.13)}.mt-card.is-wrong-target{border-color:#df586b;background:#fff0f2}.mt-card.is-hint{animation:tfPulse 1s ease-in-out infinite;border-color:#edae20}.mt-card:disabled{cursor:default}.mt-card-back{width:50px;height:64px;border-radius:11px;background:repeating-linear-gradient(45deg,#287f9c,#287f9c 8px,#1f6e8a 8px,#1f6e8a 16px);border:2px solid #fff;box-shadow:0 4px 12px rgba(34,80,109,.18);display:grid;place-items:center;font-size:21px}.mt-empty{grid-column:1/-1;min-height:52px;display:grid;place-items:center;color:#75869a;font-weight:850;font-size:13px}.make-ten-side{padding:13px;display:flex;flex-direction:column;gap:9px;overflow:auto}.make-ten-side h2{margin:0;font-size:18px}.make-ten-side>p{margin:0;color:var(--card-muted);font-size:13px;line-height:1.45}.mt-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.mt-levels button{min-height:40px;border:1px solid #d5dfeb;border-radius:11px;background:#f8fafc;color:#40536d;font-weight:900;cursor:pointer}.mt-levels button.is-active{background:#128b78;color:#fff;border-color:#128b78}.mt-scoreboard{display:grid;grid-template-columns:1fr 1fr;gap:7px}.mt-scoreboard article{padding:8px;border-radius:13px;background:#f2f7fb;text-align:center}.mt-scoreboard span{display:block;color:#607188;font-size:11px;font-weight:850}.mt-scoreboard strong{font-size:25px;color:#193b59}.mt-scoreboard small{font-weight:850;color:#6f8092}.mt-action-guide{min-height:52px;padding:9px 10px;border-radius:12px;background:#fff8df;border:1px solid #efd48a;color:#795400;font-size:12px;font-weight:850;line-height:1.4}.mt-side-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.mt-side-actions .wide{grid-column:1/-1}.mt-rules{display:grid;gap:6px;margin-top:auto}.mt-rules span{padding:7px 9px;border-radius:10px;background:#f4f7fa;color:#536479;font-size:11px;font-weight:800}.mt-pause-panel{position:absolute;inset:10px;z-index:5;border-radius:17px;background:rgba(255,255,255,.94);backdrop-filter:blur(7px);display:grid;place-items:center;align-content:center;gap:8px;color:#38516d}.mt-pause-panel[hidden]{display:none}.mt-pause-panel i{font-style:normal;font-size:44px}.mt-pause-panel strong{font-size:22px}.mt-pause-panel span{color:#64748b}.make-ten-game.is-card-paused .mt-card{pointer-events:none}
@media(max-width:900px),(orientation:portrait){.make-ten-layout{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.make-ten-board{padding:8px;gap:6px}.make-ten-side{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px;padding:9px;overflow:visible}.make-ten-side h2,.make-ten-side>p,.mt-rules{display:none}.mt-levels{grid-column:1/-1}.mt-scoreboard{grid-column:1/2}.mt-action-guide{grid-column:2/3}.mt-side-actions{grid-column:1/-1;grid-template-columns:2fr 1fr 1fr}.mt-side-actions .wide{grid-column:auto}.mt-table{grid-template-columns:repeat(7,minmax(42px,1fr));grid-auto-rows:minmax(58px,64px)}.mt-hand .mt-card{min-height:76px}.mt-ai-hand,.mt-hand{min-height:64px}.mt-card-back{width:43px;height:56px}.make-ten-game .game-feedback{min-height:44px}.make-ten-game .game-card{padding:10px;gap:8px}}
@media(max-width:620px){.mt-table{grid-template-columns:repeat(6,minmax(38px,1fr));gap:4px;grid-auto-rows:minmax(50px,54px)}.mt-card{min-height:53px;border-radius:10px}.mt-card span{font-size:22px}.mt-card i{font-size:12px}.mt-hand .mt-card{min-height:68px}.mt-ai-hand,.mt-hand{gap:4px}.mt-card-back{width:38px;height:50px}.make-ten-side{grid-template-columns:1fr}.mt-levels,.mt-scoreboard,.mt-action-guide,.mt-side-actions{grid-column:auto}.mt-action-guide{display:none}.mt-side-actions{grid-template-columns:repeat(3,1fr)}.mt-side-actions .game-btn{padding:0 6px;font-size:12px}.make-ten-game .game-top-actions{gap:5px}.make-ten-game .game-top-btn{padding:0 9px;font-size:12px}}
@media(max-height:760px) and (orientation:landscape){.make-ten-board{padding:7px;gap:5px}.mt-opponent,.mt-player,.mt-table-zone{padding:6px}.mt-ai-hand,.mt-hand{min-height:56px}.mt-hand .mt-card{min-height:65px}.mt-card-back{width:38px;height:49px}.mt-table{grid-auto-rows:minmax(48px,52px)}.make-ten-side{padding:9px;gap:6px}.mt-rules span{padding:5px 7px}.mt-action-guide{min-height:43px}.make-ten-game .game-feedback{min-height:42px}}

/* v448 主题记忆翻牌 */
body.memory-match-game{--game-accent:#4966c7;--game-accent-2:#168c91;background:radial-gradient(circle at 8% 0,#e0e7ff 0,transparent 34%),linear-gradient(145deg,#fbfdff,#eef7f7)}
.memory-match-layout{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(258px,300px);gap:12px;overflow:hidden}.memory-match-board,.memory-match-side{min-height:0;border:1px solid var(--card-line);border-radius:20px;background:#fff}.memory-match-board{position:relative;padding:10px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;overflow:hidden;background:linear-gradient(155deg,#f8faff,#edf8f7)}.mm-board-head{min-height:34px;padding:0 4px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#344c6a}.mm-board-head span{font-size:14px;font-weight:950}.mm-board-head b{font-size:12px;color:#6b7b91}.mm-grid{--mm-cols:4;--mm-rows:3;min-height:0;height:100%;display:grid;grid-template-columns:repeat(var(--mm-cols),minmax(0,1fr));grid-template-rows:repeat(var(--mm-rows),minmax(0,1fr));gap:8px;perspective:1100px;overflow:hidden}.mm-card{min-width:0;min-height:0;padding:0;border:0;background:transparent;cursor:pointer;perspective:900px;touch-action:manipulation}.mm-card-inner{position:relative;width:100%;height:100%;min-height:0;display:block;transform-style:preserve-3d;transition:transform .32s cubic-bezier(.2,.7,.2,1)}.mm-card.is-face-up .mm-card-inner,.mm-card.is-matched .mm-card-inner{transform:rotateY(180deg)}.mm-card-back,.mm-card-front{position:absolute;inset:0;border-radius:15px;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:grid;place-items:center;align-content:center;overflow:hidden}.mm-card-back{border:2px solid #c9d7e8;background:linear-gradient(145deg,#4b69cb,#258c98);box-shadow:0 7px 17px rgba(48,77,130,.16);color:#fff}.mm-card-back::before{content:"";position:absolute;inset:6px;border:1px solid rgba(255,255,255,.48);border-radius:11px;background:repeating-linear-gradient(45deg,rgba(255,255,255,.08) 0 7px,transparent 7px 14px)}.mm-card-back i{position:relative;font-style:normal;font-size:clamp(25px,3vw,38px);line-height:1}.mm-card-back small{position:relative;margin-top:5px;font-size:10px;font-weight:900;letter-spacing:.04em;color:#eaf3ff}.mm-card-front{transform:rotateY(180deg);padding:7px;border:2px solid #d6e1ed;background:linear-gradient(155deg,#fff,#f6f9fd);box-shadow:0 8px 19px rgba(45,68,101,.12);color:#203852;text-align:center}.mm-card-front strong{max-width:100%;font-size:clamp(13px,1.5vw,20px);line-height:1.2;font-weight:1000;overflow-wrap:anywhere}.mm-card-front small{max-width:100%;margin-top:4px;color:#68798e;font-size:clamp(9px,1vw,12px);line-height:1.25;font-weight:850;overflow-wrap:anywhere}.mm-face-icon{font-style:normal;font-size:clamp(29px,4vw,54px);line-height:1;margin-bottom:4px}.mm-kind-shape .mm-face-icon{font-size:clamp(34px,5vw,64px)}.mm-kind-english strong,.mm-kind-idiom strong{font-size:clamp(18px,2.15vw,29px);letter-spacing:.01em}.mm-kind-picture .mm-face-icon{font-size:clamp(30px,4.5vw,58px)}.mm-kind-meaning strong{font-size:clamp(11px,1.35vw,17px);line-height:1.25}.mm-tone-blue{color:#3569d4}.mm-tone-orange{color:#e67c28}.mm-tone-green{color:#2c9a68}.mm-tone-purple{color:#7b56c9}.mm-tone-red{color:#df5360}.mm-tone-teal{color:#15958e}.mm-tone-navy{color:#304f84}.mm-tone-gold{color:#d29a19}.mm-tone-pink{color:#dc6087}.mm-tone-brown{color:#9a6848}.mm-tone-cyan{color:#2e9fbc}.mm-tone-lime{color:#80a92e}.mm-card.is-matched .mm-card-front{border-color:#20a779;background:linear-gradient(155deg,#effdf8,#e3f8ef);box-shadow:0 0 0 3px rgba(32,167,121,.11),0 8px 20px rgba(33,118,91,.12)}.mm-card.is-matched .mm-card-front::after{content:"✓";position:absolute;right:6px;top:5px;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:#159d70;color:#fff;font-size:12px;font-weight:1000}.mm-card.is-hint-location .mm-card-back{animation:mmHintPulse .8s ease-in-out infinite;border-color:#f1b52c;box-shadow:0 0 0 5px rgba(241,181,44,.22),0 8px 20px rgba(104,77,17,.18)}.mm-card.is-guide-target .mm-card-back{animation:mmGuidePulse .9s ease-in-out infinite}.mm-card:active:not(:disabled) .mm-card-inner{transform:scale(.97)}.mm-card.is-face-up:active:not(:disabled) .mm-card-inner{transform:rotateY(180deg) scale(.97)}.mm-card:disabled{cursor:default}.memory-match-side{padding:12px;display:flex;flex-direction:column;gap:8px;overflow:auto}.memory-match-side h2{margin:0;font-size:18px}.memory-match-side>p{margin:0;color:var(--card-muted);font-size:12px;line-height:1.45}.mm-theme-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.mm-theme-buttons button{min-height:42px;padding:4px;border:1px solid #d5dfeb;border-radius:11px;background:#f8fafc;color:#40536d;font-size:12px;font-weight:900;cursor:pointer}.mm-theme-buttons button.is-active{background:#4966c7;border-color:#4966c7;color:#fff}.mm-level-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.mm-level-buttons button{min-height:48px;border:1px solid #d5dfeb;border-radius:11px;background:#f8fafc;color:#40536d;display:grid;place-items:center;align-content:center;cursor:pointer}.mm-level-buttons b{font-size:12px}.mm-level-buttons small{font-size:10px;color:#718198}.mm-level-buttons button.is-active{background:#168c91;border-color:#168c91;color:#fff}.mm-level-buttons button.is-active small{color:#eaffff}.mm-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.mm-stats article{min-width:0;padding:7px 5px;border-radius:12px;background:#f2f6fb;text-align:center}.mm-stats span{display:block;color:#66778c;font-size:10px;font-weight:850}.mm-stats strong{font-size:20px;color:#213f5d;line-height:1.15}.mm-stats small{font-size:10px;color:#718198;font-weight:800}.mm-hint-state{min-height:50px;padding:8px 9px;border-radius:12px;background:#fff8df;border:1px solid #efd48a;color:#795400;font-size:11px;font-weight:850;line-height:1.4}.mm-side-actions{display:grid;grid-template-columns:2fr 1fr;gap:7px}.mm-side-actions .wide{grid-column:auto}.mm-rules{display:grid;gap:5px;margin-top:auto}.mm-rules span{padding:6px 8px;border-radius:9px;background:#f4f7fa;color:#536479;font-size:10px;font-weight:800}.mm-pause-panel{position:absolute;inset:10px;z-index:8;border-radius:17px;background:rgba(247,250,255,.97);backdrop-filter:blur(8px);display:grid;place-items:center;align-content:center;gap:8px;color:#38516d}.mm-pause-panel[hidden]{display:none}.mm-pause-panel i{font-style:normal;font-size:48px}.mm-pause-panel strong{font-size:22px}.mm-pause-panel span{max-width:330px;color:#64748b;text-align:center}.memory-match-game.is-card-paused .mm-card-inner{transform:rotateY(0deg)!important}.memory-match-game.is-card-paused .mm-card-front{visibility:hidden}.memory-match-game.is-card-paused .mm-card{pointer-events:none}
@keyframes mmHintPulse{50%{transform:translateY(-3px)}}@keyframes mmGuidePulse{50%{box-shadow:0 0 0 7px rgba(255,220,92,.32),0 10px 24px rgba(61,74,124,.2);transform:translateY(-3px)}}
@media(max-width:900px),(orientation:portrait){body.memory-match-game{overflow:hidden}body.memory-match-game .game-shell{height:100dvh;min-height:0;padding:8px 0 10px}body.memory-match-game .game-top{grid-template-columns:auto minmax(0,1fr) auto}body.memory-match-game .game-top-actions{grid-column:auto}.memory-match-layout{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:8px}.memory-match-board{padding:8px;gap:6px}.memory-match-side{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;padding:8px;overflow:visible}.memory-match-side h2,.memory-match-side>p,.mm-rules{display:none}.mm-theme-buttons{grid-column:1/-1}.mm-level-buttons{grid-column:1/-1}.mm-stats{grid-column:1/2}.mm-hint-state{grid-column:2/3}.mm-side-actions{grid-column:1/-1}.mm-grid[data-level="challenge"]{--mm-cols:4!important;--mm-rows:6!important}.mm-card-front{padding:5px}.mm-card-front strong{font-size:clamp(12px,2.2vw,18px)}.mm-kind-english strong,.mm-kind-idiom strong{font-size:clamp(16px,3vw,25px)}.mm-kind-meaning strong{font-size:clamp(10px,1.85vw,15px)}.mm-face-icon{font-size:clamp(26px,5vw,50px)}.mm-kind-shape .mm-face-icon{font-size:clamp(31px,6vw,58px)}.memory-match-game .game-card{padding:9px;gap:7px}.memory-match-game .game-feedback{min-height:44px}.mm-board-head{min-height:28px}.mm-board-head b{display:none}}
@media(max-width:620px){.mm-grid{gap:5px}.mm-card-back,.mm-card-front{border-radius:11px}.mm-card-back::before{inset:4px;border-radius:8px}.mm-card-back small{font-size:8px}.memory-match-side{grid-template-columns:1fr}.mm-theme-buttons,.mm-level-buttons,.mm-stats,.mm-hint-state,.mm-side-actions{grid-column:auto}.mm-hint-state{display:none}.mm-side-actions .game-btn{min-height:42px;font-size:12px;padding:0 7px}.memory-match-game .game-top-actions{gap:4px}.memory-match-game .game-top-btn{padding:0 7px;font-size:11px}.mm-kind-meaning strong{font-size:10px}.mm-card-front small{font-size:8px}}
@media(max-height:760px) and (orientation:landscape){.memory-match-board{padding:7px;gap:5px}.mm-grid{gap:6px}.memory-match-side{padding:9px;gap:5px}.memory-match-side>p{display:none}.mm-rules span{padding:4px 6px}.mm-hint-state{min-height:40px}.memory-match-game .game-feedback{min-height:42px}.mm-board-head{min-height:26px}.mm-card-back small{font-size:8px}}
@media(prefers-reduced-motion:reduce){.mm-card-inner{transition:none!important}.mm-card.is-hint-location .mm-card-back,.mm-card.is-guide-target .mm-card-back{animation:none!important}}

/* v451 颜色数字行动牌 */
body.color-action-game{--game-accent:#2d61c8;--game-accent-2:#0a9b7b;background:radial-gradient(circle at 8% 0,#dce9ff 0,transparent 34%),radial-gradient(circle at 92% 100%,#e5f8ec 0,transparent 31%),linear-gradient(145deg,#fbfdff,#eef5ff)}
.color-action-layout{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,296px);gap:12px;overflow:hidden}.ca-board,.ca-side{min-height:0;border:1px solid var(--card-line);border-radius:20px;background:#fff}.ca-board{position:relative;padding:10px;display:grid;grid-template-rows:auto minmax(170px,.9fr) auto minmax(150px,1.1fr);gap:8px;overflow:hidden;background:linear-gradient(155deg,#f7fbff,#eef7f3)}.ca-player-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.ca-player-strip article{min-width:0;min-height:46px;padding:6px 8px;border:1px solid #dbe4ee;border-radius:13px;background:#fff;display:flex;align-items:center;gap:7px;color:#506079}.ca-player-strip article>i{font-style:normal;font-size:20px}.ca-player-strip span{min-width:0;display:grid}.ca-player-strip b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ca-player-strip small{font-size:10px;color:#76859a}.ca-player-strip em{margin-left:auto;padding:3px 6px;border-radius:99px;background:#e7f0ff;color:#285fbf;font-style:normal;font-size:9px;font-weight:950}.ca-player-strip article.is-turn{border-color:#6e93d9;box-shadow:0 0 0 3px rgba(60,104,190,.11);background:#f4f8ff}.ca-player-strip article.is-close:not(.is-turn){border-color:#e9aa47;background:#fff9ec}.ca-table{min-height:0;border:1px solid #d8e4ed;border-radius:18px;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.92),rgba(237,246,244,.98)),repeating-linear-gradient(135deg,rgba(52,98,137,.04) 0 12px,transparent 12px 24px);display:grid;grid-template-columns:minmax(100px,1fr) 118px minmax(150px,1.15fr) minmax(100px,1fr);align-items:center;justify-items:center;gap:10px;padding:10px 14px;overflow:hidden}.ca-direction{padding:8px 10px;border-radius:12px;background:#eef4fb;color:#48607b;font-size:12px;font-weight:950;text-align:center}.ca-deck{position:relative;width:82px;height:116px;border:0;border-radius:15px;background:linear-gradient(150deg,#223d70,#2d68c5);box-shadow:0 9px 22px rgba(41,75,129,.23);color:#fff;display:grid;place-items:center;align-content:center;gap:2px;cursor:pointer;touch-action:manipulation}.ca-deck::before{content:"";position:absolute;inset:6px;border:1px solid rgba(255,255,255,.45);border-radius:11px;background:repeating-linear-gradient(45deg,rgba(255,255,255,.08) 0 7px,transparent 7px 14px)}.ca-deck span,.ca-deck b,.ca-deck small{position:relative}.ca-deck span{font-size:28px}.ca-deck b{font-size:10px}.ca-deck small{font-size:11px;font-weight:950}.ca-deck:disabled{opacity:.55;cursor:not-allowed}.ca-deck.is-ready{animation:caReady 1s ease-in-out infinite}.ca-discard-wrap{position:relative;display:grid;place-items:center;gap:5px}.ca-current-color{min-width:112px;padding:6px 10px;border-radius:99px;color:#fff;text-align:center;font-size:11px;font-weight:1000;box-shadow:0 5px 12px rgba(32,51,84,.14)}.ca-current-color.is-blue{background:#2f67c7}.ca-current-color.is-green{background:#178d67}.ca-current-color.is-orange{background:#d97816}.ca-current-color.is-red{background:#cc4354}.ca-discard{width:88px;height:122px}.ca-discard .ca-card{width:100%;height:100%;min-height:0}.ca-turn-note{max-width:132px;padding:9px;border-radius:12px;background:#fff9df;border:1px solid #efd58c;color:#7f5b08;font-size:11px;line-height:1.38;font-weight:850;text-align:center}.ca-hand-head{display:flex;align-items:center;justify-content:space-between;padding:0 4px;color:#405771}.ca-hand-head span{font-size:13px;font-weight:950}.ca-hand-head b{font-size:11px}.ca-hand{min-height:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(58px,1fr));grid-auto-rows:minmax(100px,1fr);gap:7px;overflow:hidden;align-items:stretch}.ca-card{position:relative;min-width:0;min-height:100px;padding:7px 4px;border:2px solid #d2dce8;border-radius:14px;background:#fff;color:#fff;box-shadow:0 7px 17px rgba(38,57,87,.12);display:grid;place-items:center;align-content:center;gap:2px;cursor:pointer;touch-action:manipulation;overflow:hidden;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.ca-card::before{content:"";position:absolute;inset:5px;border:1px solid rgba(255,255,255,.52);border-radius:10px}.ca-card::after{content:"";position:absolute;width:72%;height:62%;border-radius:50%;background:rgba(255,255,255,.2);transform:rotate(-19deg)}.ca-card>*{position:relative;z-index:1}.ca-card.ca-blue{background:linear-gradient(150deg,#3979dc,#2350a8)}.ca-card.ca-green{background:linear-gradient(150deg,#23a77c,#11684e)}.ca-card.ca-orange{background:linear-gradient(150deg,#f39a36,#c45e0a)}.ca-card.ca-red{background:linear-gradient(150deg,#e65e6c,#ab2e40)}.ca-card.ca-wild{background:conic-gradient(from 25deg,#2f6bd0,#19a875,#f09a2e,#db4f61,#2f6bd0)}.ca-card .ca-card-corner{position:absolute;left:9px;top:7px;font-size:12px;font-weight:1000}.ca-card>i{font-style:normal;font-size:18px}.ca-card>strong{font-size:clamp(25px,3vw,41px);line-height:1;font-weight:1000}.ca-card>small{font-size:9px;font-weight:950;text-align:center}.ca-card.is-legal{border-color:#f4c342;box-shadow:0 0 0 4px rgba(244,195,66,.25),0 8px 20px rgba(42,63,91,.14);transform:translateY(-2px)}.ca-card.is-legal:active{transform:translateY(0) scale(.97)}.ca-card.is-hint,.ca-card.is-guide-target{animation:caHint .82s ease-in-out infinite}.ca-card:disabled{cursor:default}.ca-empty-hand{grid-column:1/-1;display:grid;place-items:center;border:1px dashed #bdcada;border-radius:15px;color:#62748a;font-weight:900}.ca-side{padding:12px;display:flex;flex-direction:column;gap:8px;overflow:auto}.ca-side h2{margin:0;font-size:18px}.ca-side>p{margin:0;color:var(--card-muted);font-size:12px;line-height:1.45}.ca-setting{display:grid;gap:5px}.ca-setting>span{color:#65758a;font-size:10px;font-weight:950}.ca-setting.is-disabled{opacity:.52}.ca-segment{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.ca-segment.three{grid-template-columns:repeat(3,1fr)}.ca-segment button{min-height:38px;padding:0 5px;border:1px solid #d4deea;border-radius:10px;background:#f8fafc;color:#40536d;font-size:11px;font-weight:900;cursor:pointer}.ca-segment button.is-active{background:#2e63c7;border-color:#2e63c7;color:#fff}.ca-segment button:disabled{cursor:not-allowed}.ca-hint-state{min-height:52px;padding:8px 9px;border-radius:12px;background:#fff8df;border:1px solid #efd48a;color:#795400;font-size:11px;font-weight:850;line-height:1.4}.ca-side-actions{display:grid;grid-template-columns:1.25fr .75fr;gap:7px}.ca-side-actions .game-btn{min-height:43px;padding:0 8px;font-size:12px}.ca-side-actions [data-draw-side].is-ready{background:#e7f6ef;border-color:#83cdb2;color:#087558}.ca-rules{display:grid;gap:5px;margin-top:auto}.ca-rules span{padding:6px 8px;border-radius:9px;background:#f4f7fa;color:#536479;font-size:10px;font-weight:800}.ca-rules i{display:inline-grid;place-items:center;min-width:23px;color:#2e63c7;font-style:normal;font-weight:1000}.ca-pause-panel,.ca-pass-panel{position:absolute;inset:10px;z-index:10;border-radius:17px;background:rgba(247,250,255,.98);backdrop-filter:blur(10px);display:grid;place-items:center;align-content:center;gap:8px;color:#38516d;text-align:center}.ca-pause-panel[hidden],.ca-pass-panel[hidden]{display:none}.ca-pause-panel i,.ca-pass-panel i{font-style:normal;font-size:48px}.ca-pause-panel strong,.ca-pass-panel strong{font-size:22px}.ca-pause-panel span,.ca-pass-panel span{max-width:350px;color:#64748b}.ca-pass-panel button{min-height:48px;padding:0 20px;border:0;border-radius:14px;background:linear-gradient(135deg,#2f65ca,#188b70);color:#fff;font-size:15px;font-weight:950;cursor:pointer}.color-action-game.is-card-paused .ca-hand{visibility:hidden}.ca-color-layer{position:fixed;inset:0;z-index:95;padding:18px;background:rgba(14,27,47,.68);backdrop-filter:blur(8px);display:grid;place-items:center}.ca-color-layer[hidden]{display:none}.ca-color-card{width:min(480px,100%);padding:24px;border-radius:24px;background:#fff;box-shadow:0 25px 70px rgba(0,0,0,.28);text-align:center}.ca-color-card h2{margin:0;font-size:24px}.ca-color-card p{margin:8px 0 18px;color:#62748a;line-height:1.55}.ca-color-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ca-color-options button{min-height:64px;border:0;border-radius:16px;color:#fff;font-size:17px;font-weight:1000;cursor:pointer}.ca-color-options .is-blue{background:#2f67c7}.ca-color-options .is-green{background:#178d67}.ca-color-options .is-orange{background:#d97816}.ca-color-options .is-red{background:#cc4354}.ca-tutorial-cards{margin:14px 0;display:flex;align-items:center;justify-content:center;gap:14px}.ca-tutorial-cards span{width:78px;height:104px;border-radius:14px;color:#fff;display:grid;place-items:center;font-size:21px;font-weight:1000;box-shadow:0 8px 18px rgba(45,60,88,.16)}.ca-tutorial-cards span.is-blue{background:#2f67c7}.ca-tutorial-cards span.is-red{background:#cc4354}.ca-tutorial-cards b{font-size:25px;color:#52667e}
@keyframes caReady{50%{box-shadow:0 0 0 7px rgba(27,164,116,.2),0 10px 24px rgba(41,75,129,.2)}}@keyframes caHint{50%{box-shadow:0 0 0 7px rgba(245,184,30,.3),0 10px 24px rgba(56,74,105,.18);transform:translateY(-5px)}}
@media(max-width:900px),(orientation:portrait){body.color-action-game{overflow:hidden}body.color-action-game .game-shell{height:100dvh;min-height:0;padding:8px 0 10px}body.color-action-game .game-top{grid-template-columns:auto minmax(0,1fr) auto}body.color-action-game .game-top-actions{grid-column:auto}.color-action-layout{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:8px}.ca-board{grid-template-rows:auto minmax(145px,.82fr) auto minmax(215px,1.18fr);padding:8px;gap:6px}.ca-table{grid-template-columns:minmax(80px,.9fr) 95px minmax(120px,1fr) minmax(90px,.9fr);padding:7px 10px}.ca-deck{width:70px;height:99px}.ca-discard{width:74px;height:103px}.ca-card{min-height:90px}.ca-hand{grid-template-columns:repeat(auto-fit,minmax(68px,1fr));grid-auto-rows:minmax(92px,1fr);gap:6px}.ca-side{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;padding:8px;overflow:visible}.ca-side h2,.ca-side>p,.ca-rules{display:none}.ca-setting{min-width:0}.ca-hint-state{grid-column:1/3;min-height:46px}.ca-side-actions{grid-column:3/4;grid-template-columns:1fr 1fr}.ca-side-actions .game-btn{min-width:0;padding:0 5px;font-size:11px}.ca-player-strip article{min-height:40px;padding:4px 6px}.ca-player-strip article>i{font-size:17px}.ca-player-strip em{display:none}.color-action-game .game-card{padding:9px;gap:7px}.color-action-game .game-feedback{min-height:43px}.ca-current-color{min-width:96px;padding:5px 7px}.ca-turn-note{font-size:10px;padding:7px}.ca-card>strong{font-size:clamp(23px,4.2vw,38px)}}
@media(max-width:620px){.ca-player-strip{grid-template-columns:1fr 1fr}.ca-player-strip article:nth-child(n+3){display:none}.ca-table{grid-template-columns:1fr 68px 82px 1fr;gap:5px;padding:6px}.ca-direction,.ca-turn-note{font-size:9px;padding:5px}.ca-deck{width:61px;height:86px}.ca-discard{width:64px;height:88px}.ca-current-color{min-width:78px;font-size:9px}.ca-board{grid-template-rows:auto minmax(125px,.75fr) auto minmax(195px,1.25fr)}.ca-hand{grid-template-columns:repeat(auto-fit,minmax(54px,1fr));grid-auto-rows:minmax(80px,1fr);gap:4px}.ca-card{min-height:78px;border-radius:11px}.ca-card::before{inset:4px;border-radius:8px}.ca-card .ca-card-corner{left:6px;top:5px;font-size:10px}.ca-card>i{font-size:14px}.ca-card>strong{font-size:23px}.ca-card>small{font-size:7px}.ca-side{grid-template-columns:1fr 1fr}.ca-setting:nth-of-type(3){display:none}.ca-hint-state{grid-column:1/2;display:none}.ca-side-actions{grid-column:1/-1}.ca-color-card{padding:18px}.ca-color-options button{min-height:54px}.color-action-game .game-top-actions{gap:4px}.color-action-game .game-top-btn{padding:0 7px;font-size:11px}}
@media(max-height:760px) and (orientation:landscape){.ca-board{padding:7px;gap:5px;grid-template-rows:auto minmax(140px,.9fr) auto minmax(125px,1.1fr)}.ca-table{padding:6px 10px}.ca-deck{width:68px;height:96px}.ca-discard{width:70px;height:98px}.ca-hand{grid-auto-rows:minmax(82px,1fr);gap:5px}.ca-card{min-height:82px}.ca-side{padding:9px;gap:5px}.ca-side>p{display:none}.ca-rules span{padding:4px 6px}.ca-hint-state{min-height:40px}.color-action-game .game-feedback{min-height:40px}.ca-player-strip article{min-height:38px}.ca-player-strip article>i{font-size:17px}}
@media(prefers-reduced-motion:reduce){.ca-card,.ca-deck{animation:none!important;transition:none!important}}
