.playroom{--play-ink:#28493b;--play-muted:#778371;--play-line:#d9dfd1;--play-paper:#fffef8;padding:61px 0;background:#f0f1e8;border-block:1px solid #dce1d3}
.playroom .section-head{margin-bottom:28px}.playroom .eyebrow{color:#668061}.playroom .section-head h2{color:var(--play-ink)}
.arcade-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.arcade-card{font:inherit;min-width:0;display:flex;flex-direction:column;text-align:left;padding:0;border:1px solid var(--play-line);border-radius:18px;overflow:hidden;background:var(--play-paper);color:var(--play-ink);transition:transform .18s,border-color .18s,box-shadow .18s;cursor:pointer}
.arcade-card:hover{transform:translateY(-4px);border-color:#83a17a;box-shadow:0 12px 24px #3349340b}.arcade-card:focus-visible{outline:3px solid #79a1d0;outline-offset:4px}
.arcade-preview{display:flex;align-items:center;justify-content:center;position:relative;width:100%;height:226px;background:#e7eddf;border-bottom:1px solid var(--play-line);padding:24px 20px 16px}
.arcade-preview>svg{max-width:245px;width:100%;height:183px}.arcade-preview>img{position:absolute;right:13px;bottom:11px;width:62px;height:72px;object-fit:contain}
.arcade-preview-tag{position:absolute;left:15px;top:13px;display:inline-flex;background:#fff9;border:1px solid #fff8;color:#6a7e65;font-size:9px;padding:3px 7px;border-radius:5px;line-height:1.5}
.arcade-card[data-play-game=memory] .arcade-preview{background:#e9e9f2}.arcade-card[data-play-game=puzzle] .arcade-preview{background:#f3e8d9}
.arcade-card-copy{display:flex;flex:1;flex-direction:column;width:100%;padding:23px}
.arcade-category{font-size:10px;letter-spacing:.06em;font-weight:750;color:#829076}
.arcade-card h3{font-size:23px;letter-spacing:-.05em;line-height:1.4;margin:8px 0 11px}.arcade-card p{font-size:13px;line-height:1.8;color:var(--play-muted);margin:0 0 25px}
.arcade-card-link{margin-top:auto;font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}.arcade-card-link b{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#edf1e8;font-size:13px}
.playroom-note{font-size:11px;color:var(--play-muted);line-height:1.8;margin:20px 0 0}
.official-game-drawer{margin-top:26px;border-top:1px solid var(--play-line);border-bottom:0;padding:19px 0 0}.official-game-drawer>summary{font-size:12px;color:var(--play-muted);font-weight:650}.official-game-drawer>p{font-size:11px;margin:13px 0;color:var(--play-muted)}
.official-game-links{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.official-game-links a{font-size:11px;border:1px solid var(--play-line);border-radius:6px;padding:8px 11px;color:var(--play-ink);background:var(--play-paper)}
.middle-page .playroom{--play-ink:#e3ebf7;--play-muted:#a4b3cb;--play-line:#344865;--play-paper:#192d4a;background:#13243d;border-color:#243852}.middle-page .playroom .eyebrow{color:#b4cbe4}.middle-page .arcade-card{color:#e3ebf7}.middle-page .arcade-category{color:#a9bed9}.middle-page .arcade-card-link b{background:#2a4262}.middle-page .arcade-card:hover{border-color:#7195c2}
.arcade-dialog{width:min(520px,calc(100vw - 22px));max-height:94dvh;border:1px solid #d7dfd4;border-radius:18px;padding:0;background:#fafbf7;color:#2d453b;box-shadow:0 20px 90px #102b4940;overscroll-behavior:contain}
.arcade-dialog::backdrop{background:#122a407d;backdrop-filter:blur(4px)}
.arcade-top{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 22px;border-bottom:1px solid #e0e6d9;background:#fff;position:sticky;top:0;z-index:2}
.arcade-brand{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:800;min-width:0}.arcade-brand img{width:25px;height:29px;object-fit:contain}
.arcade-top-controls{display:flex;gap:8px;flex-shrink:0}.arcade-top button{font:inherit;font-size:11px;line-height:1.5;padding:6px 10px;border:1px solid #d9e0d2;border-radius:6px;background:#fff;color:#657a5b}
.arcade-heading{padding:23px 25px 0;text-align:center}.arcade-heading .eyebrow{font-size:9px;color:#79936e;margin:0 0 7px}.arcade-heading h2{font-size:27px;margin:0 0 6px;line-height:1.4;letter-spacing:-.055em}.arcade-heading p:last-child{font-size:12px;line-height:1.8;color:#819078;margin:0}
.arcade-body{max-width:410px;margin:auto;padding:21px 25px 0}
.arcade-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:17px}.arcade-stats>div{padding:11px 8px;text-align:center;border:1px solid #dce5d4;background:white;border-radius:9px;min-width:0}.arcade-stats span{display:block;font-size:10px;line-height:1.8;color:#87937d}.arcade-stats strong{font-size:20px;line-height:1.6;letter-spacing:-.045em;color:#355b41}
.arcade-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;min-height:40px}
.arcade-small,.arcade-drop{font:inherit;border:1px solid #cfdac8;border-radius:7px;background:#fff;color:#5c7652;padding:9px 13px;font-size:11px;white-space:nowrap}.arcade-drop{background:#496f4d;color:white;border-color:#496f4d;font-size:12px;min-width:138px;padding:11px 18px;font-weight:800}
.arcade-best{font-size:10px;color:#85917d}.arcade-best strong{color:#526e48;margin-left:6px}.arcade-small:disabled{opacity:.45;cursor:default}
.arcade-dialog button:focus-visible,.arcade-dialog [tabindex]:focus-visible{outline:3px solid #7ba3d0;outline-offset:3px}
.arcade-status{font-size:12px;line-height:1.7;text-align:center;color:#5f7c50;margin:17px 25px 0;min-height:23px}
.arcade-record-note{font-size:10px;text-align:center;color:#939c8b;line-height:1.7;margin:8px 20px 23px}
.memory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;max-width:350px;margin:auto}
.memory-card{display:flex;align-items:center;justify-content:center;aspect-ratio:1;padding:9px;border:1px solid #6e8170;border-radius:11px;background:#758b73;color:#fffef1;box-shadow:0 3px 0 #5d735a;cursor:pointer;transition:background .18s,transform .18s,border-color .18s;min-width:0;touch-action:manipulation;user-select:none}
.memory-card:active{transform:translateY(2px)}.memory-card.revealed{border-color:#d2b996;background:#fbf2df;color:#958051;box-shadow:0 3px 0 #e2d7bd}.memory-card.matched{border-color:#a2bea0;background:#e6efdf;color:#53744b;box-shadow:0 3px 0 #bdd4af;cursor:default}
.memory-card>svg{height:43px;width:43px}.memory-back-mark{font-size:24px;font-weight:750;letter-spacing:-.07em;line-height:1.3}.memory-back-mark>span{display:block;font-size:6px;letter-spacing:.13em;font-weight:650;margin-top:1px}
.puzzle-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;background:#c9c7af;padding:10px;border-radius:12px;touch-action:none;user-select:none;max-width:350px;margin:auto;outline-offset:4px}
.puzzle-cell{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:7px;background:#dedeca;color:#697451;font-size:30px;font-weight:800;letter-spacing:-.04em;line-height:1;min-width:0}
.puzzle-cell[data-value="2"]{background:#f4f0df;color:#6e7554}.puzzle-cell[data-value="4"]{background:#e2eacf;color:#637a49}.puzzle-cell[data-value="8"]{background:#b8cf9d;color:#fff}.puzzle-cell[data-value="16"]{background:#87ab83;color:white}.puzzle-cell[data-value="32"]{background:#679480;color:white}.puzzle-cell[data-value="64"]{background:#4e8174;color:white}.puzzle-cell.high-value{background:#d4b56a;color:#fff;font-size:26px}.puzzle-cell.huge-value{background:#ac8b42;font-size:22px}.puzzle-cell[data-value="2048"]{background:#a38236;color:#fff8cd}
.puzzle-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:16px 0 0}.puzzle-controls button{font:inherit;font-size:22px;line-height:1.2;border:1px solid #cfd9c6;color:#5a7451;background:#fff;border-radius:7px;min-height:41px;padding:6px;touch-action:manipulation}
.tile-pop{animation:tile-pop .16s ease-out}@keyframes tile-pop{from{transform:scale(.87)}to{transform:scale(1)}}
.stack-stage{position:relative;display:flex;justify-content:center;background:#e7edf0;border:1px solid #d8e1d3;border-radius:13px;overflow:hidden}
.stack-stage canvas{display:block;width:min(100%,32dvh);height:auto;aspect-ratio:3/4;max-width:360px;touch-action:none;cursor:pointer;user-select:none}
.stack-hint{position:absolute;top:22%;left:0;width:100%;text-align:center;pointer-events:none;font-size:12px;color:#7c8e78;line-height:1.8}.stack-hint strong{font-size:29px;letter-spacing:-.055em;color:#536c4a}.stack-hint[hidden]{display:none}
.review-design-demo{margin-top:27px;border:1px dashed #d6c7a3;border-radius:11px;padding:19px;background:#fffdf5}
.review-design-demo>summary{font-size:12px;line-height:1.8;color:#827451}.review-design-demo>summary small{display:inline-block;margin-left:8px;font-size:10px;color:#8d7952;font-weight:550}
.review-design-demo>p{font-size:12px;color:#8e744d;line-height:1.8;margin:17px 0 19px}.review-design-demo .academy-review-card{background:#fffef8;border-style:dashed}.review-design-demo .academy-review-meta span{color:#927845}.review-design-demo .academy-review-card>p{color:#746b56}
.review-demo-label{display:block;margin-top:16px;font-size:10px;font-weight:750;color:#9b7d4c}
@media(max-width:950px){.arcade-cards{gap:15px}.arcade-card-copy{padding:20px}.arcade-card h3{font-size:21px}.arcade-card p{font-size:12px}.arcade-preview{height:208px;padding-inline:14px}}
@media(max-width:760px){.playroom{padding:43px 0 45px}.arcade-cards{grid-template-columns:1fr;gap:17px}.arcade-card{display:grid;grid-template-columns:122px minmax(0,1fr)}.arcade-preview{height:100%;min-height:195px;padding:27px 8px 16px;border-bottom:0;border-right:1px solid var(--play-line)}.arcade-preview>svg{height:150px}.arcade-preview>img{width:34px;height:42px;right:5px;bottom:12px}.arcade-preview-tag{font-size:8px;left:8px;top:9px}.arcade-card-copy{padding:20px}.arcade-card h3{font-size:22px;margin-top:6px}.arcade-card p{margin-bottom:16px;line-height:1.8}.arcade-category{font-size:9px}.arcade-card-link{font-size:11px}.arcade-card-link b{height:26px;width:26px}.playroom-note{font-size:10px}.official-game-drawer>summary{font-size:11px}.official-game-links a{font-size:10px}.arcade-dialog{border-radius:15px}.arcade-top{padding:12px 16px}.arcade-heading{padding:18px 20px 0}.arcade-heading h2{font-size:24px}.arcade-heading p:last-child{font-size:11px}.arcade-body{padding:16px 20px 0}.arcade-stats{margin-bottom:14px}.arcade-stats>div{padding:8px}.arcade-stats strong{font-size:18px}.memory-grid{gap:8px}.memory-card{border-radius:9px}.memory-card>svg{height:37px;width:37px}.arcade-status{font-size:11px;margin-top:14px}.arcade-record-note{font-size:9px;margin-bottom:17px}.arcade-bottom{margin-top:14px}.review-design-demo{padding:17px}.review-design-demo>summary small{display:block;margin-left:0;margin-top:3px}.review-design-demo>p{font-size:11px}.puzzle-cell{font-size:27px}.puzzle-cell.high-value{font-size:24px}.puzzle-cell.huge-value{font-size:20px}}
@media(max-width:380px){.arcade-card{grid-template-columns:100px minmax(0,1fr)}.arcade-card-copy{padding:17px}.arcade-card h3{font-size:20px}.arcade-preview>svg{height:140px}.arcade-preview>img{width:30px}.arcade-body{padding-inline:16px}.arcade-top-controls{gap:5px}.arcade-top button{padding:6px 8px}.arcade-brand{font-size:11px}.memory-grid{gap:7px}.puzzle-grid{gap:7px;padding:8px}.arcade-small{font-size:10px;padding:9px 11px}}
@media(prefers-reduced-motion:reduce){.arcade-card,.memory-card{transition:none}.arcade-card:hover{transform:none}.tile-pop{animation:none}}
