/* iPadOS layout and touch polish. */
@media (min-width: 600px) and (min-height: 600px) {
  html.platform-ipados {
    --sidebar: 88px;
    --list: clamp(320px, 34vw, 390px);
    --profile: 320px;
    --tablet-divider: color-mix(in srgb, var(--border) 72%, transparent);
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
  }
  html.platform-ipados body { -webkit-font-smoothing: antialiased; }
  html.platform-ipados .app,
  html.platform-ipados .app.profile-open {
    width: 100%; max-width: none; border: 0; box-shadow: none;
    grid-template-columns: var(--sidebar) var(--list) minmax(0,1fr);
  }
  html.platform-ipados .vk-topbar {
    grid-template-columns: var(--sidebar) var(--list) minmax(0,1fr);
    background: color-mix(in srgb,var(--surface) 93%,transparent) !important;
    border-bottom-color: var(--tablet-divider);
    backdrop-filter: saturate(160%) blur(22px); -webkit-backdrop-filter: saturate(160%) blur(22px);
  }
  html.platform-ipados .vk-topbar-brand { justify-content: center; padding: 0; }
  html.platform-ipados .vk-topbar-brand > span:last-child { display: none; }
  html.platform-ipados .vk-mark { width: 34px; height: 34px; border-radius: 11px; }
  html.platform-ipados .vk-global-search { max-width: 360px; height: 36px; border-radius: 10px; }
  html.platform-ipados .sidebar {
    width: var(--sidebar) !important; background: color-mix(in srgb,var(--rail-bg) 94%,transparent) !important;
    border-right-color: var(--tablet-divider) !important;
  }
  html.platform-ipados .sb-comm-btn {
    width: 56px !important; height: 56px; margin: 10px auto; padding: 7px !important;
    justify-content: center !important; border-radius: 16px;
  }
  html.platform-ipados .sb-comm-btn > span:not(#sbCommAva),
  html.platform-ipados .sb-comm-btn > i,
  html.platform-ipados .sidebar > div,
  html.platform-ipados .sb-logout-row { display: none !important; }
  html.platform-ipados #sbCommAva { width: 42px !important; height: 42px !important; border-radius: 13px !important; }
  html.platform-ipados .snav { align-items: center; gap: 6px !important; padding: 4px 10px !important; }
  html.platform-ipados .snav-btn {
    width: 56px !important; height: 52px; padding: 0 !important;
    justify-content: center; border-radius: 14px !important; position: relative;
  }
  html.platform-ipados .snav-btn > span:not(.snav-badge) { display: none !important; }
  html.platform-ipados .snav-btn i { font-size: 22px !important; }
  html.platform-ipados .snav-btn.active { background: var(--accent-soft); }
  html.platform-ipados .snav-badge { position: absolute; top: 2px; right: 1px; }

  html.platform-ipados .list-pane { width: var(--list) !important; border-right-color: var(--tablet-divider) !important; }
  html.platform-ipados .list-pane > div:first-child { min-height: 58px; padding: 14px 16px 10px !important; }
  html.platform-ipados .list-pane > div:first-child h1 { margin: 0; font-size: 21px !important; letter-spacing: -.35px; }
  html.platform-ipados .dialog-row {
    min-height: 70px; margin: 0 7px 2px; padding: 10px 11px; border-radius: 12px;
  }
  html.platform-ipados .dlg-photo,
  html.platform-ipados .dlg-initials { width: 50px; height: 50px; }
  html.platform-ipados .dlg-name { font-size: 14px; }
  html.platform-ipados .dlg-preview { font-size: 12.5px; }
  html.platform-ipados .content-pane { background: var(--chat-base) !important; }
  html.platform-ipados .chat-hdr { min-height: 58px; padding: 8px 16px !important; }
  html.platform-ipados .chat-history { padding: 18px clamp(18px,4vw,48px) !important; }
  html.platform-ipados .chat-inner { max-width: 760px; }
  html.platform-ipados .msg-row { max-width: 72%; }
  html.platform-ipados .msg-bubble { padding: 8px 12px; font-size: 13.5px; border-radius: 16px; }
  html.platform-ipados .chat-composer { padding: 10px 16px !important; }
  html.platform-ipados .composer-inner { max-width: 760px; }
  html.platform-ipados .composer-area { min-height: 42px; border-radius: 14px; }
  html.platform-ipados button,
  html.platform-ipados [role="button"] { touch-action: manipulation; }

  html.platform-ipados .wall-head-inner,
  html.platform-ipados .wall-feed { width: min(100%, 720px); max-width: 720px; }
  html.platform-ipados .wall-card { border-radius: 16px; }
  html.platform-ipados .settings-pane { align-items: center; padding-bottom: 24px; }
  html.platform-ipados .settings-head-bar { width: 100%; }
  html.platform-ipados .settings-pane > .settings-group,
  html.platform-ipados .settings-pane > .settings-danger { width: min(calc(100% - 40px),720px); }
  html.platform-ipados .notif-scroll { padding: 14px; gap: 8px; }
  html.platform-ipados .notif-item { border-radius: 14px; padding: 13px 15px; }
  html.platform-ipados .profile-pane,
  html.platform-ipados .app.profile-open .profile-pane {
    position: fixed; inset-block: var(--vk-topbar) 0; inset-inline-end: 0; z-index: 75;
    width: min(var(--profile), 42vw) !important; display: flex;
    border-left: 1px solid var(--tablet-divider); box-shadow: -18px 0 52px rgba(0,0,0,.28);
  }
  html.platform-ipados .profile-close-btn { display: flex; }

  html.preview-ipad {
    --ipad-safe-top: 24px;
    --ipad-safe-bottom: 20px;
    --vk-topbar: calc(48px + var(--ipad-safe-top));
  }
  html.preview-ipad .app,
  html.preview-ipad .app.profile-open {
    grid-template-rows: var(--vk-topbar) minmax(0,1fr) var(--ipad-safe-bottom);
  }
  html.preview-ipad .vk-topbar { padding-top: var(--ipad-safe-top); }
  html.preview-ipad .sidebar,
  html.preview-ipad #secMessages > .list-pane,
  html.preview-ipad #secMessages > .content-pane,
  html.preview-ipad .wall-pane,
  html.preview-ipad .notif-pane,
  html.preview-ipad .stats-pane,
  html.preview-ipad .settings-pane { grid-row: 2; }
  html.preview-ipad .profile-pane,
  html.preview-ipad .app.profile-open .profile-pane { inset-block-end: var(--ipad-safe-bottom); }
}

@media (min-width: 600px) and (min-height: 600px) and (max-width: 900px) {
  html.platform-ipados { --sidebar: 76px; --list: clamp(300px,42vw,340px); }
  html.platform-ipados .sb-comm-btn { width: 52px !important; }
  html.platform-ipados .snav-btn { width: 50px !important; }
  html.platform-ipados .stats-body { display: flex; flex-direction: column; }
  html.platform-ipados .stats-charts { overflow: visible; border-right: 0; }
  html.platform-ipados .stats-demo { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); overflow: visible; }
}

/* Android adaptive tablets: navigation rail + Material list-detail panes. */
@media (min-width: 600px) and (min-height: 600px) {
  html.platform-android-tablet {
    --sidebar: 88px;
    --list: clamp(320px,32vw,400px);
    --profile: 330px;
    --tablet-divider: color-mix(in srgb,var(--border) 70%,transparent);
    font-family: Roboto,"Noto Sans","Segoe UI",sans-serif;
  }
  html.platform-android-tablet .app,
  html.platform-android-tablet .app.profile-open {
    width:100%; max-width:none; border:0; box-shadow:none;
    grid-template-columns:var(--sidebar) var(--list) minmax(0,1fr);
  }
  html.platform-android-tablet .vk-topbar {
    grid-template-columns:var(--sidebar) var(--list) minmax(0,1fr);
    min-height:56px; background:var(--surface) !important;
    border-bottom-color:var(--tablet-divider);
  }
  html.platform-android-tablet .vk-topbar-brand { justify-content:center; padding:0; }
  html.platform-android-tablet .vk-topbar-brand > span:last-child { display:none; }
  html.platform-android-tablet .vk-mark { width:38px; height:38px; border-radius:50%; }
  html.platform-android-tablet .vk-global-search { height:40px; max-width:380px; border-radius:20px; }
  html.platform-android-tablet .sidebar {
    width:var(--sidebar) !important; background:var(--rail-bg) !important;
    border-right-color:var(--tablet-divider) !important;
  }
  html.platform-android-tablet .sb-comm-btn {
    width:58px !important; height:58px; margin:10px auto; padding:8px !important;
    justify-content:center !important; border-radius:18px;
  }
  html.platform-android-tablet .sb-comm-btn > span:not(#sbCommAva),
  html.platform-android-tablet .sb-comm-btn > i,
  html.platform-android-tablet .sidebar > div,
  html.platform-android-tablet .sb-logout-row { display:none !important; }
  html.platform-android-tablet #sbCommAva { width:42px !important; height:42px !important; border-radius:14px !important; }
  html.platform-android-tablet .snav { align-items:center; gap:6px !important; padding:5px 10px !important; }
  html.platform-android-tablet .snav-btn {
    width:64px !important; height:56px; padding:0 !important; justify-content:center;
    border-radius:18px !important; position:relative;
  }
  html.platform-android-tablet .snav-btn > span:not(.snav-badge) { display:none !important; }
  html.platform-android-tablet .snav-btn i {
    width:46px; height:32px; border-radius:18px; display:flex; align-items:center; justify-content:center;
    font-size:22px !important;
  }
  html.platform-android-tablet .snav-btn.active { background:transparent; color:var(--accent); }
  html.platform-android-tablet .snav-btn.active i { background:var(--accent-soft); }
  html.platform-android-tablet .snav-badge { position:absolute; top:2px; right:2px; }
  html.platform-android-tablet .list-pane { width:var(--list) !important; border-right-color:var(--tablet-divider) !important; }
  html.platform-android-tablet .list-pane > div:first-child { min-height:60px; padding:14px 18px 10px !important; }
  html.platform-android-tablet .list-pane > div:first-child h1 { margin:0; font-size:22px !important; font-weight:600 !important; }
  html.platform-android-tablet .dialog-row { min-height:72px; margin:0 8px 3px; padding:10px 12px; border-radius:16px; }
  html.platform-android-tablet .dialog-row.active { background:var(--accent-soft); }
  html.platform-android-tablet .dlg-photo,
  html.platform-android-tablet .dlg-initials { width:50px; height:50px; }
  html.platform-android-tablet .content-pane { background:var(--chat-base) !important; }
  html.platform-android-tablet .chat-hdr { min-height:60px; padding:9px 18px !important; }
  html.platform-android-tablet .chat-history { padding:20px clamp(20px,4vw,52px) !important; }
  html.platform-android-tablet .chat-inner,
  html.platform-android-tablet .composer-inner { max-width:780px; }
  html.platform-android-tablet .msg-row { max-width:72%; }
  html.platform-android-tablet .msg-bubble { padding:9px 13px; border-radius:18px; font-size:13.5px; }
  html.platform-android-tablet .chat-composer { padding:10px 18px !important; }
  html.platform-android-tablet .composer-area { min-height:44px; border-radius:24px; }
  html.platform-android-tablet .send-btn { border-radius:15px !important; }
  html.platform-android-tablet .wall-head-inner,
  html.platform-android-tablet .wall-feed { width:min(100%,760px); max-width:760px; }
  html.platform-android-tablet .wall-card,
  html.platform-android-tablet .notif-item,
  html.platform-android-tablet .stat-card,
  html.platform-android-tablet .chart-card,
  html.platform-android-tablet .settings-group { border-radius:20px; }
  html.platform-android-tablet .settings-pane { align-items:center; padding-bottom:26px; }
  html.platform-android-tablet .settings-head-bar { width:100%; }
  html.platform-android-tablet .settings-pane > .settings-group,
  html.platform-android-tablet .settings-pane > .settings-danger { width:min(calc(100% - 48px),760px); }
  html.platform-android-tablet .profile-pane,
  html.platform-android-tablet .app.profile-open .profile-pane {
    position:fixed; inset-block:var(--vk-topbar) 0; inset-inline-end:0; z-index:75;
    width:min(var(--profile),42vw) !important; display:flex;
    box-shadow:-20px 0 56px rgba(0,0,0,.30); border-left:1px solid var(--tablet-divider);
  }
  html.platform-android-tablet .profile-close-btn { display:flex; }

  html.preview-android-tablet {
    --android-tablet-safe-top:24px;
    --android-tablet-safe-bottom:24px;
    --vk-topbar:calc(56px + var(--android-tablet-safe-top));
  }
  html.preview-android-tablet.android-nav-buttons { --android-tablet-safe-bottom:48px; }
  html.preview-android-tablet .app,
  html.preview-android-tablet .app.profile-open {
    grid-template-rows:var(--vk-topbar) minmax(0,1fr) var(--android-tablet-safe-bottom);
  }
  html.preview-android-tablet .vk-topbar { padding-top:var(--android-tablet-safe-top); }
  html.preview-android-tablet .sidebar,
  html.preview-android-tablet #secMessages > .list-pane,
  html.preview-android-tablet #secMessages > .content-pane,
  html.preview-android-tablet .wall-pane,
  html.preview-android-tablet .notif-pane,
  html.preview-android-tablet .stats-pane,
  html.preview-android-tablet .settings-pane { grid-row:2; }
  html.preview-android-tablet .profile-pane,
  html.preview-android-tablet .app.profile-open .profile-pane { inset-block-end:var(--android-tablet-safe-bottom); }
}

@media (min-width:600px) and (min-height:600px) and (max-width:839px) {
  html.platform-android-tablet { --sidebar:80px; --list:100%; }
  html.platform-android-tablet .app,
  html.platform-android-tablet .app.profile-open { grid-template-columns:var(--sidebar) minmax(0,1fr); }
  html.platform-android-tablet .vk-topbar { grid-template-columns:var(--sidebar) minmax(0,1fr); }
  html.platform-android-tablet .vk-topbar-search { grid-column:2; padding-right:14px; }
  html.platform-android-tablet .vk-topbar-community { display:none; }
  html.platform-android-tablet #secMessages > .list-pane { grid-column:2; width:100% !important; }
  html.platform-android-tablet .content-pane {
    position:fixed !important; inset:var(--vk-topbar) 0 var(--android-tablet-safe-bottom,0) var(--sidebar) !important;
    z-index:60; width:auto; transform:translateX(105%); transition:transform .24s ease;
  }
  html.platform-android-tablet .content-pane.open { transform:translateX(0); }
  html.platform-android-tablet .chat-back { display:flex !important; }
  html.platform-android-tablet .wall-pane,
  html.platform-android-tablet .notif-pane,
  html.platform-android-tablet .stats-pane,
  html.platform-android-tablet .settings-pane { grid-column:2 / -1 !important; }
}

@media (min-width:1200px) and (min-height:600px) {
  html.platform-android-tablet { --sidebar:220px; --list:390px; }
  html.platform-android-tablet .sb-comm-btn {
    width:calc(100% - 20px) !important; height:auto; margin:10px; justify-content:flex-start !important;
  }
  html.platform-android-tablet .sb-comm-btn > span:not(#sbCommAva),
  html.platform-android-tablet .sb-comm-btn > i { display:block !important; }
  html.platform-android-tablet .snav { align-items:stretch; padding-inline:10px !important; }
  html.platform-android-tablet .snav-btn { width:100% !important; height:48px; justify-content:flex-start; gap:12px !important; padding:0 12px !important; }
  html.platform-android-tablet .snav-btn > span:not(.snav-badge) { display:block !important; }
  html.platform-android-tablet .snav-btn i { width:36px; background:transparent; }
  html.platform-android-tablet .snav-btn.active { background:var(--accent-soft); }
}
