/* V15: practice-only UI. Isolated from the daily puzzle and streak. */
.game-mode-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:-7px 0 22px}
.game-mode-tab{text-decoration:none;min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 17px;border-radius:10px;background:#262129;border:1px solid #58404a;color:#c7b8be;font-family:Montserrat,sans-serif;font-size:12px;font-weight:900;letter-spacing:.035em;transition:background-color .15s,border-color .15s}
.game-mode-tab span{font-weight:800;font-size:9px;letter-spacing:.06em;color:#ad929d}
.game-mode-tab:hover,.game-mode-tab:focus-visible{border-color:#b25a68;color:#fff8f4}
.game-mode-tab.active{border-color:#c54c60;background:#602937;color:#fff9f6}
.game-mode-tab.active span{color:#f5c2c8}
.practice-panel{border:1px solid #654651;border-top:3px solid #b62d46;border-radius:16px;background:linear-gradient(147deg,#302830,#241f29 70%,#252129);padding:29px 27px 25px;box-shadow:0 18px 44px #0c091055}
.practice-intro h1{font-family:Montserrat,sans-serif;font-size:clamp(25px,5.1vw,46px);font-weight:900;line-height:1.09;letter-spacing:-.05em;margin:19px 0 9px}
.practice-intro h1 span{color:#e47a82}
.practice-intro p{margin:0;color:#bfb0b7;font-size:14px;line-height:1.6;max-width:500px}
.practice-section-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:23px 0 12px}
.practice-section-head h2{margin:0;color:#f6e9e7;font-family:Montserrat,sans-serif;font-size:12px;font-weight:900;letter-spacing:.08em}
.practice-section-head>span{font-size:9px;color:#a88e99;font-weight:700;letter-spacing:.05em}
.difficulty-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.difficulty-button{min-width:0;min-height:68px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;gap:7px;padding:13px 15px;border:1px solid #654d57;border-radius:10px;background:#302a32;color:#f6ece8;text-align:left;cursor:pointer;transition:border-color .16s,background .16s,transform .16s}
.difficulty-button:hover,.difficulty-button:focus-visible{border-color:#d47783;transform:translateY(-1px)}
.difficulty-button.selected{background:#70303e;border-color:#e17a87;box-shadow:inset 0 0 0 1px #e17a8744}
.difficulty-button strong{font-family:Montserrat,sans-serif;font-size:13px;font-weight:900;letter-spacing:.06em}
.difficulty-button span{font-size:11px;color:#c9afb8;font-weight:650;white-space:nowrap}
.practice-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #604a54;border-bottom:1px solid #604a54;margin:21px 0 17px;padding:16px 0}
.practice-metrics>div{text-align:center;display:flex;flex-direction:column;gap:7px}
.practice-metrics>div+div{border-left:1px solid #59434e}
.practice-metrics span{font-size:10px;font-weight:800;color:#b9a9b0;letter-spacing:.06em}
.practice-metrics strong{font-family:Montserrat,sans-serif;color:#fff7f0;font-variant-numeric:tabular-nums;font-size:24px;letter-spacing:-.06em}
.practice-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.practice-modes{display:flex;gap:4px;padding:5px;background:#211b23;border:1px solid #5c434e;border-radius:10px}
.practice-mode{border:0;background:transparent;color:#b9abb2;padding:11px 15px;border-radius:7px;font-family:Montserrat,sans-serif;font-size:11px;font-weight:900;cursor:pointer;white-space:nowrap}
.practice-mode.active{color:#fff9f4;background:#af2941}
.practice-toolbar-right{display:flex;align-items:center;gap:13px}
.practice-toolbar-right span{font-size:12px;color:#c4b0b8;font-weight:800;white-space:nowrap}
.practice-reset{padding:12px 14px;color:#f8e1e6;background:#432a34;border:1px solid #805361;border-radius:8px;font-family:Montserrat,sans-serif;font-size:10px;font-weight:850;cursor:pointer;white-space:nowrap}
.practice-reset:hover{background:#713445}
.practice-frame{width:min(100%,510px);margin:0 auto;padding:8px}
.practice-board{width:100%;height:auto;aspect-ratio:1/1;display:grid;grid-template-columns:repeat(var(--practice-size),minmax(0,1fr));grid-template-rows:repeat(var(--practice-size),minmax(0,1fr));gap:clamp(2px,.7vw,5px)}
.practice-tile{width:100%;min-width:0;height:100%;min-height:0;aspect-ratio:auto;display:flex;align-items:center;justify-content:center;padding:0;font-size:clamp(12px,3.5vw,22px);touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.practice-tile.flagged{color:#f8e9e7;background:#643244;border-color:#bd6d81;font-size:clamp(12px,3.5vw,22px)}
.practice-tile.mine,.practice-tile.hit{font-size:clamp(13px,4vw,23px);color:white}
.practice-tile.wrong{color:#f0b5c1;background:#3d2b36}
.practice-help{margin:13px auto 0;font-size:11px;line-height:1.5;text-align:center;color:#baadb4}
.practice-help b{color:#f2c1cb}
.practice-result[hidden]{display:none!important}
.practice-result{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:19px;border-radius:11px;padding:20px;background:#254a3d;border:1px solid #458566}
.practice-result.lost{background:#5f303a;border-color:#a9636f}
.practice-result h2{font-family:Montserrat,sans-serif;font-size:17px;line-height:1.2;margin:3px 0 5px;color:#fff5ee;font-weight:900}
.practice-result p{margin:0;font-size:12px;color:#e3d8d5}
.practice-result-overline{font-size:9px;color:#c6e4d0;font-weight:900;letter-spacing:.08em}
.practice-result button{padding:12px 13px;background:#f1e8e4;color:#36252b;border:0;border-radius:8px;font-family:Montserrat,sans-serif;font-size:11px;font-weight:900;white-space:nowrap;cursor:pointer}
.practice-disclaimer{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;padding:20px 8px;color:#bdaab0;font-size:10px;font-weight:800;letter-spacing:.035em;text-align:center}
.practice-disclaimer>span{color:#da4c63}.practice-disclaimer a{color:#eaa7b0;text-decoration:underline}
.practice-back{display:flex;align-items:center;text-decoration:none}
@media(max-width:600px){
 .game-mode-nav{margin:-5px 0 15px;gap:6px}.game-mode-tab{min-height:46px;padding:10px;font-size:10px;gap:3px}.game-mode-tab span{font-size:8px}
 .practice-panel{padding:22px 13px 18px}.practice-intro h1{font-size:27px;margin:15px 0 7px}.practice-intro p{font-size:12px}
 .practice-section-head{margin-top:18px}.practice-section-head>span{font-size:8px}
 .difficulty-choices{gap:5px}.difficulty-button{min-height:65px;padding:10px 7px;border-radius:7px}.difficulty-button strong{font-size:10px}.difficulty-button span{font-size:9px}
 .practice-metrics{margin:17px 0 13px;padding:13px 0}.practice-metrics strong{font-size:19px}.practice-metrics span{font-size:8px}
 .practice-toolbar{gap:5px}.practice-modes{padding:3px;gap:2px}.practice-mode{padding:10px 8px;font-size:9px}.practice-toolbar-right{gap:6px}.practice-toolbar-right span{font-size:9px}.practice-reset{font-size:9px;padding:10px 8px}
 .practice-frame{padding:5px}.practice-board{gap:3px}.practice-tile{border-radius:4px}
 .practice-result{flex-direction:column;align-items:stretch;padding:15px}.practice-result button{width:100%}
}
@media(max-width:350px){.practice-toolbar-right span{display:none}.game-mode-tab span{display:none}.difficulty-button span{font-size:8px}.practice-mode{padding:9px 6px}}
