/* The desktop workspace uses the viewport; mobile retains its own app shell. */
@media (min-width: 960px) {
  body { max-width:none; margin:0; border:0; box-shadow:none; }
  header { height:88px; max-width:none; padding:20px max(40px,calc((100vw - 1120px)/2)); }
  main { max-width:1120px; margin:0 auto; padding:48px 40px 80px; min-height:calc(100dvh - 88px); }
  .bottom-nav { top:18px; bottom:auto; left:auto; right:max(32px,calc((100vw - 1120px)/2)); transform:none; width:auto; height:52px; padding:0; border:0; gap:8px; background:transparent; }
  .bottom-nav a,.bottom-nav button { flex-direction:row; max-width:none; width:auto; flex:none; padding:12px 16px; gap:9px; font-size:14px; }
  .bottom-nav a::after,.bottom-nav button::after { content:attr(title); }
  main:has(.conversation-entry) { padding-top:100px; }
  .conversation-entry { display:grid; grid-template-columns:minmax(0,1fr) 320px; column-gap:72px; align-items:start; }
  .conversation-entry .entry-portrait { grid-column:2; grid-row:1 / 6; width:320px; height:320px; border-radius:40px; margin:0; align-self:center; }
  .conversation-entry h1 { grid-column:1; font-size:64px; letter-spacing:-2.5px; margin:0 0 24px; }
  .entry-intro { grid-column:1; font-size:24px; max-width:26ch; line-height:1.4; }
  .entry-copy { grid-column:1; font-size:16px; margin-top:10px; max-width:36ch; }
  .entry-actions { grid-column:1; display:flex; align-items:center; gap:24px; margin-top:28px; }
  .entry-actions .button { width:auto; min-width:190px; }
  .entry-bottom { margin-top:72px; display:flex; justify-content:space-between; padding-top:24px; }
  .entry-bottom p,.entry-bottom a { font-size:13px; }
  .market-header { display:flex; align-items:center; justify-content:space-between; gap:40px; padding-bottom:32px; }
  .market-header h1 { font-size:44px; }
  .market-header .button { width:auto; margin:0; white-space:nowrap; }
  .cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
  .hero { margin-bottom:32px; max-width:850px; }
  .hero h1 { font-size:42px; }
  .grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr); gap:28px; }
  .mobile-panels { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr); gap:0 28px; align-items:start; }
  .mobile-panels > section:first-of-type { grid-column:1; grid-row:1 / 3; }
  .mobile-panels > section:nth-of-type(2) { grid-column:2; grid-row:1; }
  .mobile-panels > section:nth-of-type(3) { grid-column:2; grid-row:2; }
  .section { padding:28px; border-radius:16px; }
  .photos img { height:auto; max-height:420px; aspect-ratio:4/3; object-fit:contain; background:#f5f7f5; }
  main > .section:not(.receipt):has(.stock-list) { max-width:850px; }
  .floating-action { left:auto; right:max(40px,calc((100vw - 1120px)/2)); transform:none; bottom:28px; width:auto; min-width:190px; max-width:360px; }
  .receipt { max-width:640px; margin:24px auto; padding:40px; }
  .receipt h1 { font-size:40px; }
  .action-sheet { inset:50% auto auto 50%; transform:translate(-50%,-50%); width:480px; border-radius:20px; margin:0; padding:32px; max-height:85dvh; }
  #toast { bottom:28px; }
}
@media (min-width: 1280px) { .cards { grid-template-columns:repeat(3,minmax(0,1fr)); } }
