/* Phone and tablet layouts; desktop theme remains in style.css. */
@media (max-width: 900px) {
  :root { --taskbar:calc(58px + env(safe-area-inset-bottom,0px)); }
  html,body { height:100%; height:100dvh; }
  .desktop { height:100%; }
  .shortcuts { top:max(12px,env(safe-area-inset-top))!important; left:12px!important; width:calc(100% - 24px)!important; bottom:calc(var(--taskbar) + 238px)!important; grid-template-columns:repeat(auto-fill,minmax(82px,1fr))!important; grid-auto-rows:96px!important; gap:8px!important; overflow-y:auto!important; overflow-x:hidden!important; padding:4px 4px 12px; overscroll-behavior:contain; }
  .shortcut { width:100%!important; min-height:92px!important; font-size:12px!important; }
  .shortcut img { width:64px!important; height:56px!important; }
  .shortcut span { line-height:1.2; max-height:none; }
  .windows { z-index:9500; top:env(safe-area-inset-top,0px); }
  .window { left:0!important; top:0!important; width:100%!important; height:100%!important; min-width:0; min-height:0; border-radius:0; }
  .titlebar { height:54px; cursor:default; padding:0 6px 0 12px; }
  .window-title { font-size:12px; letter-spacing:.3px; flex:1; }
  .window-controls { flex-shrink:0; gap:6px; }
  .window-controls button { width:44px; height:44px; }
  .window-controls [data-window=maximize],.resize-grip { display:none; }
  .window-body,.app-page { min-width:0; overscroll-behavior:contain; }
  .app-page { padding:16px; font-size:14px; }
  .app-page input:not([type=range]):not([type=color]),.app-page textarea,.app-page select { font-size:16px; min-width:0; }
  .app-page button,.toolbar button,.explorer-toolbar button,.explorer-nav button,.start-menu button { min-height:44px; }
  .toolbar,.explorer-toolbar { flex-wrap:wrap; flex-shrink:0; }
  .form-grid,.wallpaper-settings-grid { grid-template-columns:minmax(0,1fr); }
  .setting-row { flex-wrap:wrap; }
  .file-row { flex-wrap:wrap; }
  .todo-text,.race-event-row span { min-width:0; overflow-wrap:anywhere; }
  .explorer-shell { grid-template-columns:minmax(0,1fr); grid-template-rows:auto 1fr; }
  .explorer-nav { display:flex; gap:6px; overflow-x:auto; border-right:0; border-bottom:1px solid #343c47; }
  .explorer-nav button { width:auto; flex-shrink:0; margin:0; }
  .race-cal-grid { grid-template-columns:repeat(7,minmax(0,1fr)); gap:3px; }
  .race-day { min-height:44px; padding:4px; min-width:0; }
  .race-cal-head { flex-wrap:wrap; }
  .gallery-viewer { min-height:160px; }
  .pp-screen-wrap { min-height:180px; flex-shrink:0; }
  .pp-card { min-width:0; max-width:100%; padding:12px; }
  .pp-title { font-size:24px; }
  .pp-touch button { width:48px; height:48px; touch-action:none; }
  .taskbar { padding:5px max(8px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left)); gap:8px; }
  .start-button { min-width:54px; height:44px; }
  .task { height:44px; padding:4px 6px; }
  .task span { display:none; }
  .tray { gap:5px; font-size:11px; }
  .start-menu { width:min(320px,calc(100% - 16px)); max-height:calc(100% - var(--taskbar) - 16px); }
  .context-menu { max-width:calc(100% - 16px); max-height:calc(100% - var(--taskbar) - 16px); overflow:auto; }
  .context-menu button { min-height:44px; }
  .notice { bottom:calc(var(--taskbar) + 12px); }
  .desktop-music { left:12px; right:12px; bottom:calc(var(--taskbar) + 10px); width:auto; max-width:none; height:218px; padding:10px 12px; display:grid; grid-template-columns:80px minmax(0,1fr); gap:3px 12px; align-content:start; }
  .dm-heading { grid-column:1/-1; margin-bottom:4px; }
  .dm-record-wrap { width:76px; height:76px; margin:0; grid-column:1; grid-row:2; }
  .dm-track { grid-column:2; grid-row:2; text-align:left; align-self:center; margin:0; }
  .dm-name { font-size:14px; }
  .desktop-music .dm-seek { grid-column:1/-1; height:16px; }
  .dm-time { grid-column:1/-1; margin:0; }
  .dm-controls { grid-column:1/-1; margin:0; gap:8px; }
  .dm-controls button,.dm-controls .dm-play { width:44px; height:44px; flex-shrink:0; }
  .desktop-music .dm-volume { height:24px; flex:1; width:60px; }
  .dm-progress { grid-column:1/-1; min-width:0; }
  .dm-status { grid-column:1/-1; display:block; margin:0; font-size:9px; }
  .boot-screen { padding:max(16px,env(safe-area-inset-top)) 0 max(16px,env(safe-area-inset-bottom)); }
  .boot-card { margin:auto; }
}
@media (max-width:900px) and (max-height:500px) and (orientation:landscape) {
  .shortcuts { width:calc(100% - 290px)!important; bottom:var(--taskbar)!important; }
  .desktop-music { left:auto; width:260px; }
  .boot-card { padding:16px 24px; }
  .boot-status { gap:4px 20px; }
  .boot-card>p { margin-bottom:12px; }
  .boot-progress { margin:12px 0; }
}
@media (pointer:coarse) { button { touch-action:manipulation; } }
