/* 두루미 놀이터 · 두뇌 게임 공통 스타일 (public/play/play.css) — 이미지 없이 CSS/SVG 만 써요 */
:root{--bg:#fff8ef;--card:#fff;--ink:#2b2336;--sub:#6f6680;--line:#eadfd0;--pri:#ff7a59;--pri-d:#c23e25;--plum:#3b2a5c;--lav:#9c8de4;--gold:#f5c76b;--ok:#2f9e6f;--bad:#d6455d;color-scheme:light}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Jua','Noto Sans KR',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;line-height:1.5;min-height:100vh}
.wrap{max-width:560px;margin:0 auto;padding:12px 16px 40px}
.top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px}
.top a,.top button{min-height:44px;display:inline-flex;align-items:center;padding:0 12px;border-radius:14px;border:1.5px solid var(--line);background:#fff;color:var(--ink);font:inherit;font-size:15px;text-decoration:none;cursor:pointer}
h1{font-size:26px;margin:8px 0 4px;line-height:1.25;word-break:keep-all;text-wrap:balance}
.lead{margin:0 0 14px;color:var(--sub);font-size:15px;font-family:'Noto Sans KR',sans-serif;word-break:keep-all}
.btn{display:block;width:100%;min-height:52px;padding:12px 16px;border-radius:16px;border:0;background:var(--pri-d);color:#fff;font:inherit;font-size:18px;text-align:center;text-decoration:none;cursor:pointer;box-shadow:0 8px 18px rgba(194,62,37,.28)}
.btn.ghost{background:#fff;color:var(--ink);border:1.5px solid var(--line);box-shadow:none}
.btn.gold{background:linear-gradient(135deg,#ffd679,#f5b14f);color:#3a2a12;box-shadow:0 8px 18px rgba(245,177,79,.35)}
.btn:focus-visible,.top a:focus-visible,.top button:focus-visible,.cell:focus-visible,.opt:focus-visible,.tile:focus-visible{outline:3px solid #7a4bd8;outline-offset:2px}
.btn:disabled{opacity:.55;cursor:default}
.row{display:grid;gap:8px;margin-top:10px}
.row.two{grid-template-columns:1fr 1fr}
.hud{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px 0 10px;font-size:16px}
.hud .hearts{letter-spacing:2px;font-size:20px}
.hud .stat{font-family:'Noto Sans KR',sans-serif;font-weight:700;font-size:14px;color:var(--sub)}
.bar{height:10px;border-radius:6px;background:#efe6d9;overflow:hidden;margin:0 0 12px}
.bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#ff7a59,#f5c76b);transform-origin:left;will-change:transform}
.card{background:var(--card);border:1.5px solid var(--line);border-radius:22px;padding:14px;box-shadow:0 10px 24px rgba(120,80,40,.08)}
.note{font-size:13px;color:var(--sub);font-family:'Noto Sans KR',sans-serif;margin:10px 2px;word-break:keep-all}
.msg{min-height:26px;margin:8px 0 0;text-align:center;font-size:17px}
.msg.ok{color:var(--ok)}.msg.bad{color:var(--bad)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);max-width:90vw;padding:10px 16px;border-radius:14px;background:#2b2336;color:#fff;font-size:15px;z-index:20}
/* 결과(성적표) */
.report{text-align:center}
.report .emoji{font-size:64px;line-height:1.1}
.report h2{font-size:26px;margin:6px 0 2px;word-break:keep-all}
.report .sub{color:var(--sub);font-family:'Noto Sans KR',sans-serif;font-size:14px;margin:0 0 10px}
.stats{display:grid;gap:6px;margin:10px 0;text-align:left}
.stats div{display:flex;justify-content:space-between;gap:10px;padding:8px 12px;border-radius:12px;background:#fff7ec;border:1px solid var(--line);font-size:16px}
.stats b{font-family:'Noto Sans KR',sans-serif}
.disc{font-size:12.5px;color:var(--sub);font-family:'Noto Sans KR',sans-serif;margin:10px 0 0;text-align:center}
.bridge{margin-top:14px;padding:14px;border-radius:20px;background:linear-gradient(160deg,#2f2147,#3b2a5c);color:#fff;text-align:center}
.bridge p{margin:0 0 10px;font-size:15px;font-family:'Noto Sans KR',sans-serif}
.bridge .btn{background:linear-gradient(135deg,#ffd679,#f5b14f);color:#3a2a12;box-shadow:none}
.bridge small{display:block;margin-top:8px;opacity:.8;font-size:12px;font-family:'Noto Sans KR',sans-serif}
/* 게임 목록 */
.games{display:grid;gap:12px;margin:12px 0}
.gcard{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center;padding:14px;border-radius:20px;background:#fff;border:1.5px solid var(--line);color:inherit;text-decoration:none;min-height:84px}
.gcard:focus-visible{outline:3px solid #7a4bd8;outline-offset:2px}
.gcard .ge{font-size:40px;text-align:center}
.gcard b{display:block;font-size:19px}
.gcard span{display:block;font-size:13.5px;color:var(--sub);font-family:'Noto Sans KR',sans-serif}
.gcard em{font-style:normal;font-size:12.5px;color:var(--pri-d);font-family:'Noto Sans KR',sans-serif}
/* 접근성: 모션 줄이기 · 대비 높이기 */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
html.hc{--line:#8a7f98;--sub:#403852}
html.hc .btn.ghost,html.hc .card,html.hc .gcard{border-color:#2b2336}
@media (prefers-contrast:more){:root{--line:#8a7f98;--sub:#403852}}
.next{margin:12px 0 0;text-align:center}.next p{margin:0 0 6px;font-size:14px;color:var(--sub);font-family:'Noto Sans KR',sans-serif}.next .btn{display:flex;margin:6px 0}
.report .cmt{margin:6px 8px 12px;font-size:15px;line-height:1.5;color:var(--ink);font-family:'Noto Sans KR',sans-serif;word-break:keep-all}
