/* Mobile presentation only. Game rules and storage live in core/. */
.mobile-navigation,.mobile-game-details{display:none}
@media screen and (max-width:600px){
 #header{height:64px}
 .header-inner{height:64px;padding:10px 16px;flex-wrap:nowrap;gap:10px}
 .header-inner>.brand{height:44px;font-size:19px;gap:8px}
 .brand img{width:29px;height:29px}.brand-sub{font-size:12px}
 .header-inner>nav{display:none}
 .header-actions{position:static;margin-left:auto;gap:8px}
 .header-actions>.sync-badge{display:none}
 .language-button{min-width:44px;min-height:44px;font-size:11px}
 .mobile-navigation{display:block}
 .mobile-navigation>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;min-height:44px;padding:7px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font-size:11px}
 .mobile-navigation>summary::-webkit-details-marker{display:none}
 .mobile-navigation summary svg{width:16px;height:16px}
 .mobile-navigation[open]>summary{background:var(--soft)}
 .mobile-navigation-links{position:absolute;top:58px;right:12px;z-index:20;min-width:210px;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 28px #0002}
 .mobile-navigation-links a{display:flex;align-items:center;gap:12px;min-height:46px;padding:10px 13px;font-size:13px;border-radius:6px}
 .mobile-navigation-links a:hover,.mobile-navigation-links a[aria-current]{background:var(--soft)}
 .mobile-navigation-links svg{width:18px;height:18px}
 body[data-page=game] #app{padding:12px 12px 24px;min-height:calc(100svh - 64px);max-width:480px}
 body[data-page=game] .page-heading:has(+.game-layout){display:none}
 body[data-page=game] #footer{display:none}
 .game-layout .board-meta{margin-bottom:8px;min-height:36px}
 .game-layout .board-meta>div{gap:8px}
 .game-layout .timer-wrap .icon-button{width:44px;height:36px}
 .game-layout .tools{margin-top:8px;gap:4px}
 .game-layout .tool{min-height:48px;padding:5px 0;gap:3px;font-size:11px}
 .game-layout .tool>svg{width:19px;height:19px}
 .game-layout .board-foot{margin-top:5px;min-height:15px}
 .game-layout .game-sidebar{padding-top:8px}
 .game-layout .input-label,.game-layout .progress-card,.game-layout .rule-note,.game-layout .restart{display:none}
 .game-layout .keypad{gap:6px}
 .game-layout .keypad>button{min-height:48px;padding:4px 0}
 .game-layout .keypad>button>span{font-size:24px;line-height:1.2}
 .game-layout .keypad>button>small{margin-top:1px;font-size:9px}
 .game-layout .keypad.keys-9{display:flex;flex-wrap:wrap;justify-content:center}
 .game-layout .keypad.keys-9>button{flex:0 0 calc((100% - 24px)/5)}
 .game-layout .check-button{min-height:44px;margin-top:10px;font-size:13px}
 .game-layout .hint-card:not(.expanded){display:none}
 .game-layout .hint-card.expanded{display:none}
 #dialog[data-kind=hint]{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:none;max-height:85vh;max-height:85svh;overflow:auto;padding:24px 20px max(20px,env(safe-area-inset-bottom));border-radius:18px 18px 0 0}
 #dialog[data-kind=hint] h2{font-size:20px;margin-top:12px}
 #dialog[data-kind=hint] p{font-size:14px;line-height:1.9}
 #dialog[data-kind=hint] .dialog-buttons{display:grid;grid-template-columns:1fr 1fr;margin-top:22px}
 #dialog[data-kind=hint] .dialog-buttons .button{min-height:48px;font-size:13px}
 body[data-page=game] .difficulty-explainer{display:none}
 .mobile-game-details{display:block;order:4;margin-top:12px;border-top:1px solid var(--line);font-size:12px}
 .mobile-game-details>summary{cursor:pointer;min-height:44px;padding:12px 3px;color:var(--muted)}
 .mobile-game-details>summary>span{float:right;font-variant-numeric:tabular-nums}
 .mobile-details-content{padding:4px 4px 12px}
 .mobile-details-content dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 12px}
 .mobile-details-content dt{font-size:10px;color:var(--muted)}
 .mobile-details-content dd{margin:4px 0 0;font-size:17px}
 .mobile-details-content>p{font-size:11px;color:var(--muted);margin-bottom:12px}
 .mobile-game-options{display:flex;flex-wrap:wrap;gap:8px}
 .mobile-game-options .button{flex:1;min-height:44px;padding:8px;font-size:11px}
 #toast{bottom:max(16px,env(safe-area-inset-bottom))}
}
