/* Native Classics reuse LuckyKrabs theme tokens, fonts and safe areas. */
#app .lk-classic-symbol{color:var(--accent);font-size:28px;line-height:24px;width:24px}
#app .lk-classic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
#app .lk-classic-card{border-radius:14px;min-height:174px;isolation:isolate;justify-content:flex-end;background:var(--surface)}
#app .lk-classic-cover{position:absolute;inset:0 0 57px;overflow:hidden;background:linear-gradient(155deg,var(--accent-soft),var(--surface))}
#app .lk-classic-tiles{position:absolute;inset:9px;opacity:.28;background:linear-gradient(90deg,transparent 92%,var(--accent) 92%),linear-gradient(0deg,transparent 92%,var(--accent) 92%);background-size:22px 22px;transform:rotate(-12deg) scale(1.12)}
#app .lk-classic-card img{position:absolute;object-fit:contain!important;filter:drop-shadow(0 4px 8px #0003)}
#app .lk-classic-diamond{width:90%!important;height:90%!important;left:0;top:0}#app .lk-classic-bomb{width:58%!important;height:58%!important;right:0;bottom:0;transform:rotate(12deg)}
#app .lk-classic-caption{z-index:1;position:relative;display:grid;padding:10px;gap:3px;background:var(--surface);width:100%}#app .lk-classic-caption strong{font-size:17px;font-weight:600}#app .lk-classic-caption>span{font-size:12px;color:var(--muted);text-transform:none!important}
.cm-game{--cm-win:#6ed9bb;--cm-win-soft:#133932;--cm-loss:#ff928e;--cm-loss-soft:#462327;height:100%;min-height:0;display:flex;flex-direction:column;background:var(--bg);color:var(--text);font-size:14px}
[data-theme=light] .cm-game{--cm-win:#166c55;--cm-win-soft:#e4f5ed;--cm-loss:#b33035;--cm-loss-soft:#ffe9e7}
.cm-header{display:flex;align-items:center;gap:10px;padding:calc(max(var(--lk-safe-top,0px),env(safe-area-inset-top,0px)) + 10px) 16px 10px;border-bottom:1px solid var(--line);flex-shrink:0}.cm-header h1{font-size:21px;line-height:1.2;font-weight:600;letter-spacing:-.5px}.cm-header small{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.cm-wallet{margin-left:auto;text-align:right;min-width:0}.cm-wallet span{display:block;color:var(--muted);font-size:12px}.cm-wallet strong{font-size:17px;font-weight:600;white-space:nowrap}.cm-wallet em{color:var(--muted);font-size:12px;margin-left:3px}
.cm-icon-button{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface);border-radius:14px;font-size:23px}.cm-info{font-size:17px;font-weight:600}
.cm-scroll{overflow:auto;overscroll-behavior:contain;min-height:0;padding:12px 16px max(16px,env(safe-area-inset-bottom,0px));scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.cm-modes{display:grid;grid-template-columns:repeat(3,1fr);padding:4px;background:var(--surface);border:1px solid var(--line);border-radius:15px;gap:4px;margin-bottom:12px}.cm-modes button{height:38px;border-radius:10px;font-size:14px;background:transparent;color:var(--muted);font-weight:600}.cm-modes button[aria-pressed=true]{color:var(--accent);background:var(--accent-soft)}
.cm-board{width:min(100%,326px);aspect-ratio:1;margin:0 auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));gap:6px;padding:7px;background:var(--surface);border:1px solid var(--line);border-radius:20px}
.cm-cell{position:relative;min-width:0;min-height:0;border:1px solid var(--line);border-bottom-width:3px;border-radius:11px;background:var(--surface-2);padding:0;display:grid;place-items:center;isolation:isolate}.cm-cell:enabled:hover{border-color:var(--accent)}.cm-cell.is-selected{background:var(--accent-soft);border-color:var(--accent)}.cm-cell.is-selected:after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:var(--accent);font-size:24px;font-weight:600}
.cm-cell.is-gem{background:var(--cm-win-soft);border-color:var(--cm-win)}.cm-cell.is-bomb{background:var(--cm-loss-soft);border-color:var(--cm-loss)}.cm-cell.is-revealed{opacity:.4}.cm-cell.is-hit{box-shadow:0 0 0 2px var(--cm-loss) inset}.cm-cell.is-opened:after{display:none}
.cm-sprite{position:absolute;inset:2px;background-size:500% 200%;background-repeat:no-repeat;background-position:0 0;pointer-events:none}.cm-sprite.gem{background-image:url('assets/mines/diamond-shine-sheet.png')}.cm-sprite.bomb{background-image:url('assets/mines/bomb-explosion-sheet.png')}
.cm-ladder{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none;margin:10px 0;padding:1px 1px 3px;scroll-snap-type:x proximity}.cm-ladder::-webkit-scrollbar{display:none}.cm-step{min-width:68px;padding:6px 7px;flex-shrink:0;border:1px solid var(--line);border-radius:8px;text-align:center;color:var(--muted);font-size:12px;scroll-snap-align:center}.cm-step strong{display:block;font-size:14px;line-height:18px;font-weight:600;color:var(--text);text-transform:none!important}.cm-step.is-current{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.cm-step.is-current strong{color:var(--accent)}
.cm-status{min-height:44px;display:flex;align-items:center;justify-content:center;gap:7px;line-height:1.4;text-align:center;margin:3px 0 10px;padding:6px 10px;border:1px solid var(--line);border-radius:12px;color:var(--muted);background:var(--surface)}.cm-status strong{font-size:20px;font-weight:600;color:var(--text)}.cm-status.is-win{border-color:var(--cm-win);color:var(--cm-win);background:var(--cm-win-soft)}.cm-status.is-win strong{color:var(--cm-win)}.cm-status.is-loss{color:var(--cm-loss);background:var(--cm-loss-soft);border-color:var(--cm-loss)}.cm-status.is-error{color:var(--cm-loss)}
.cm-controls{display:grid;gap:10px}.cm-label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:14px;color:var(--muted)}.cm-label span:last-child{font-size:12px}.cm-input-row{display:flex;height:44px;min-width:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}.cm-input-row input{flex:1;width:0;min-width:0;border:0;background:transparent;color:var(--text);padding:8px 10px;outline-offset:-3px;font-size:17px;font-weight:600;text-align:center}.cm-input-row button{background:var(--surface-2);color:var(--text);min-width:44px;padding:0 9px;border-left:1px solid var(--line);font-size:14px}.cm-input-row button:first-child{border-left:0;border-right:1px solid var(--line)}.cm-input-row input:disabled{opacity:1;-webkit-text-fill-color:var(--text)}.cm-input-row input[type=number]{appearance:textfield;-moz-appearance:textfield}.cm-input-row input::-webkit-inner-spin-button{display:none}
.cm-mines-row{display:flex;gap:5px}.cm-mines-row>.cm-input-row{flex:1;min-width:115px}.cm-preset{min-width:40px;padding:0 8px;height:44px;background:var(--surface);border:1px solid var(--line);border-radius:11px;color:var(--muted)}.cm-preset[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}
.cm-auto-panel{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.cm-auto-panel .cm-mines-row>.cm-input-row{min-width:70px}.cm-auto-panel .cm-preset{min-width:36px;padding:0 5px}.cm-limits summary{cursor:pointer;min-height:36px;display:flex;align-items:center;gap:6px;color:var(--muted);font-size:14px}.cm-limits summary:before{content:'+';font-size:18px}.cm-limits[open] summary:before{content:'−'}.cm-limit-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:7px}.cm-limit-grid label{min-width:0;font-size:12px;color:var(--muted);line-height:1.5}.cm-limit-grid input{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);min-height:44px;padding:8px;font-size:14px;margin-top:4px}.cm-auto-stat{font-size:14px;color:var(--accent);line-height:1.5}
.cm-action-wrap{position:sticky;bottom:-1px;background:var(--bg);padding:10px 0 5px;z-index:2}.cm-primary{width:100%;min-height:52px;background:var(--accent);color:#051a2c;border-radius:14px;font-size:17px;font-weight:600;line-height:1.3;padding:10px 12px}.cm-primary.is-stop{background:var(--surface-2);border:1px solid var(--cm-loss);color:var(--cm-loss)}.cm-primary:disabled{opacity:.52}.cm-footnote{font-size:12px;color:var(--muted);line-height:1.5;text-align:center;padding-top:6px}.cm-secondary{min-height:44px;width:100%;border:1px solid var(--line);background:var(--surface);border-radius:12px;color:var(--text);font-size:14px;margin-top:8px}.cm-rules{padding:2px 0 14px;font-size:15px;line-height:1.65;color:var(--muted)}.cm-rules h2{font-size:23px;color:var(--text);margin:8px 0 14px}.cm-rules p{margin:0 0 14px}.cm-rules strong{color:var(--text)}.cm-rules ul{padding-left:20px}.cm-rules .cm-primary{margin-top:16px}.cm-game button:disabled:not(.cm-primary){cursor:default;opacity:.55}.cm-board button:disabled{opacity:1}.cm-board button.is-revealed:disabled{opacity:.4}
@media(max-width:350px){.cm-scroll{padding-left:12px;padding-right:12px}.cm-header{padding-left:12px;padding-right:12px;gap:7px}.cm-header h1{font-size:19px}.cm-header small{font-size:11px}.cm-board{gap:5px;padding:6px;border-radius:16px}.cm-preset{min-width:34px;padding:0 5px}.cm-input-row button{min-width:38px;padding:0 7px}.cm-wallet strong{font-size:15px}.cm-icon-button.cm-info{width:38px}}
@media(prefers-reduced-motion:reduce){.cm-game *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Footer is outside the scroll region: never cover stake/auto/limit controls. */
.cm-scroll{flex:1;padding-bottom:10px}
.cm-action-wrap{position:static;flex-shrink:0;border-top:1px solid var(--line);padding:10px 16px max(12px,env(safe-area-inset-bottom,0px))}
.cm-game .cm-board button:disabled{opacity:1}
.cm-game .cm-board button.is-revealed:disabled{opacity:.36}
.cm-cell{border-color:color-mix(in srgb,var(--muted) 50%,var(--line))}
[data-theme=light] .cm-cell:not(.is-gem):not(.is-bomb):not(.is-selected){border-color:color-mix(in srgb,var(--muted) 75%,var(--line))}
@media(max-width:350px){.cm-action-wrap{padding-left:12px;padding-right:12px}}

/* AA-readable blue foregrounds on the light accent surface; primary keeps its fill. */
[data-theme=light] .cm-modes button[aria-pressed=true],
[data-theme=light] .cm-step.is-current,
[data-theme=light] .cm-step.is-current strong,
[data-theme=light] .cm-preset[aria-pressed=true],
[data-theme=light] .cm-cell.is-selected:after,
[data-theme=light] .cm-auto-stat{color:#1265b3}
[data-theme=light] .cm-step.is-current,
[data-theme=light] .cm-preset[aria-pressed=true],
[data-theme=light] .cm-cell.is-selected{border-color:#1265b3}
[data-theme=light] .cm-game :focus-visible{outline-color:#1265b3}
