/* The existing mobile interface stays authoritative through 700px. */
@media (min-width:701px) {
  body { background:var(--bg); }
  .preview-label,.status-bar,.home-indicator,.mobile-nav,.phone::before,.phone::after { display:none; }
  .phone,html[data-theme="dark"] .phone {
    width:100%;height:100dvh;min-height:0;margin:0;padding:0;border:0;
    border-radius:0;background:var(--bg);box-shadow:none;
  }
  .phone-screen { width:100%;height:100%;border-radius:0; }
  .header {
    min-height:88px;padding:18px max(32px,calc((100vw - 1200px)/2));
    gap:32px;border-bottom:1px solid var(--line);
    background:var(--appearance-surface,var(--bg));
  }
  .wordmark { flex:none;font-size:27px;letter-spacing:-1.2px; }
  .desktop-nav { display:flex;align-items:center;justify-content:center;gap:6px;flex:1; }
  .desktop-nav a {
    display:flex;align-items:center;justify-content:center;min-height:44px;
    padding:0 17px;border-radius:12px;font-size:14px;font-weight:550;
    color:var(--muted);transition:background .15s,color .15s;
  }
  .desktop-nav a:hover { background:var(--bg);color:var(--ink); }
  .desktop-nav a.active { background:var(--appearance-cyan-bg,#e9f4f5);color:var(--cyan); }
  .header-actions { gap:9px;flex:none; }
  .header-actions>* { width:40px;height:40px; }
  main {
    width:100%;max-width:none;min-width:0;margin:0;
    padding:36px max(32px,calc((100vw - 1200px)/2)) 100px;
    scrollbar-width:thin;scrollbar-color:var(--line) transparent;scroll-padding-top:30px;
  }
  main::-webkit-scrollbar { display:block;width:7px; }
  main::-webkit-scrollbar-thumb { background:var(--line);border-radius:8px; }
  .page-intro { padding:0 0 28px; }
  .page-intro h1 { font-size:38px;line-height:1.15;letter-spacing:-1.4px;margin-bottom:12px; }
  .page-intro>p:last-child,.events-page-intro p { display:block;font-size:14px;line-height:1.6; }
  .home-screen { display:grid;grid-template-columns:minmax(0,1fr) 340px;align-content:start;column-gap:48px; }
  .home-screen .intro { padding:17px 0 36px; }
  .home-screen .home-day { font-size:13px;margin-bottom:20px; }
  .home-screen .home-title { font-size:clamp(38px,4vw,54px);line-height:1.13;letter-spacing:-2px; }
  .home-screen .location-card { align-self:center;margin:0 0 20px;border-radius:20px; }
  .home-screen .location-card-main { min-height:95px;padding:18px 20px; }
  .home-screen .location-card-footer { padding:12px 20px; }
  .home-screen .location-card-copy strong { font-size:18px; }
  .home-screen .location-status { grid-column:1/-1; }
  .home-screen .choices-grid { grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0; }
  .home-screen .choices-grid .category {
    grid-column:auto;position:relative;display:flex;flex-direction:column;align-items:flex-start;
    justify-content:space-between;text-align:left;min-height:285px;padding:28px;
    border-radius:28px;gap:32px;isolation:isolate;overflow:hidden;
  }
  .home-screen .choices-grid .category::after {
    content:"";position:absolute;z-index:-1;width:220px;height:220px;right:-85px;top:-100px;
    border:1px solid #ffffff16;border-radius:50%;box-shadow:0 0 0 35px #ffffff05,0 0 0 70px #ffffff03;
    pointer-events:none;
  }
  .home-screen .choices-grid .category-head { width:54px;height:54px;flex:0 0 54px;border-radius:17px;margin:0; }
  .home-screen .choices-grid .category-head svg { width:27px;height:27px; }
  .home-screen .choices-grid .category-bottom { flex:none; }
  .home-screen .choices-grid .category-kicker { display:block;font-size:11px;margin-bottom:10px; }
  .home-screen .choices-grid .category-food .category-kicker { color:#d1e6e8;opacity:1; }
  .home-screen .choices-grid .category h2 { font-size:30px;line-height:1.2;letter-spacing:-1px;margin:0 0 9px; }
  .home-screen .choices-grid .category p { font-size:13px;line-height:1.5; }
  .home-screen .choices-grid .category-arrow { top:28px;right:28px;bottom:auto;font-size:25px; }
  .home-screen .resume-search,.home-screen .sport-home-entry {
    grid-column:1/-1;border:1px solid var(--line);border-radius:20px;
    padding:18px 22px;background:var(--appearance-surface,#fff);margin:24px 0 0;min-height:82px;
  }
  .home-screen .sport-home-entry { max-width:100%; }
  .home-screen .sport-home-entry strong,.home-screen .resume-search strong { font-size:16px; }
  .home-screen .sport-home-entry small { font-size:13px; }
  .home-screen .home-status,.home-screen .home-help { grid-column:1/-1;max-width:760px; }
  .controls { flex-direction:row;align-items:center;justify-content:space-between;gap:20px; }
  .simple-places { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start; }
  .simple-place { height:100%; }
  .recommendation-card { margin:24px 0; }
  .recommendation-link { padding:18px 24px 24px; }
  .recommendation-label { padding:20px 24px 0; }
  .recommendation-link h2 { font-size:30px; }
  .recommendation-card .recommendation-main { max-width:740px; }
  .other-places-title { margin-top:32px;margin-bottom:18px;font-size:21px; }
  .more-places,.event-more { display:block;max-width:360px;margin:24px auto; }
  .event-periods { max-width:670px;margin-top:22px; }
  .event-mode-tabs { max-width:670px; }
  .event-categories { margin-top:18px;flex-wrap:wrap;overflow:visible; }
  .event-selection-controls { margin-top:24px; }
  .event-day-section { margin-top:34px; }
  .event-day-heading { margin-bottom:20px; }
  .event-day-heading h2 { font-size:23px; }
  .event-list:not(.personal-program .event-list) { grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start; }
  .event-preview { min-width:0; }
  .event-list .event-visual { aspect-ratio:4/3; }
  .event-list .event-visual.is-venue { aspect-ratio:16/9; }
  .event-feed-status,.event-sources { max-width:800px; }
  .club-directory { grid-template-columns:repeat(2,minmax(0,1fr));gap:18px; }
  .club-directory-card { padding:18px;gap:20px; }
  .club-directory-visual { width:110px;height:110px; }
  .club-hero,.club-hero.has-image { min-height:350px;padding:36px;border-radius:28px; }
  .club-hero-copy h1 { font-size:48px; }
  .club-follow-row { margin:22px 0 36px; }
  .club-practical { max-width:800px; }
  main:has(.place-detail-content),main:has(.event-decision),main:has(.sport-intro),main:has(.personal-space) {
    padding-inline:max(40px,calc((100vw - 1000px)/2));
  }
  .detail-grip { display:none; }
  .place-detail-content { max-width:none; }
  .detail-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:20px; }
  .event-card.event-decision { max-width:100%;margin-inline:auto;padding:32px; }
  .event-decision>.event-visual { max-width:560px;margin-inline:auto; }
  .event-card.event-decision h1 { font-size:34px;line-height:1.18;margin-bottom:28px; }
  .event-decision-facts { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-bottom:28px; }
  .event-decision-facts>p { margin:0; }
  .event-decision-facts strong { font-size:18px; }
  .event-decision-actions { margin-top:18px; }
  .event-decision-details>p { max-width:760px; }
  #campus-map,#events-map { min-height:480px;height:55dvh;max-height:680px; }
  .event-map-sheet { left:auto;right:28px;bottom:28px;width:380px;max-height:65%; }
  .assistant-launcher { display:flex;align-items:center;justify-content:center;bottom:28px;right:28px;width:auto;min-width:144px;padding:0 18px;gap:10px;border-radius:18px; }
  .assistant-launcher::after { content:"Assistant";font-size:13px;font-weight:600; }
  #assistant-panel { left:auto;right:24px;bottom:24px;top:auto;margin:0;width:460px;max-width:calc(100vw - 48px);height:min(740px,calc(100dvh - 120px));border-radius:26px; }
  #report { width:min(540px,calc(100vw - 80px));max-width:540px;max-height:calc(100dvh - 100px);padding:34px;margin:auto;border-radius:26px; }
  #report .dialog-grip { display:none; }
  #toast { bottom:28px;max-width:480px; }
}
@media (min-width:1100px) {
  .event-card.event-decision:has(>.event-visual) { display:grid;grid-template-columns:360px minmax(0,1fr);column-gap:36px;align-items:start; }
  .event-card.event-decision:has(>.event-visual)>* { grid-column:2;min-width:0; }
  .event-card.event-decision>.event-visual { grid-column:1;grid-row:1/span 8;width:100%;margin:0;aspect-ratio:3/4;border-radius:18px; }
  .event-card.event-decision:has(>.event-visual) .event-decision-facts { grid-template-columns:1fr;gap:20px; }
  .simple-places { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .event-list:not(.personal-program .event-list) { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .club-directory { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .home-screen .sport-home-entry { grid-column:2; }
  .home-screen .resume-search { grid-column:1;grid-row:3; }
  .home-screen:not(:has(.resume-search)) .sport-home-entry { grid-column:1/-1; }
}
@media (min-width:701px) and (max-width:1000px) {
  .header { gap:18px;padding:16px 24px; }
  .wordmark { font-size:24px; }
  .desktop-nav { gap:0; }
  .desktop-nav a { padding-inline:11px;font-size:13px; }
  .header-actions { gap:2px; }
  .header-actions>* { width:34px; }
  main { padding-inline:28px; }
  .home-screen { grid-template-columns:minmax(0,1fr) 280px;column-gap:24px; }
  .home-screen .choices-grid { gap:14px; }
  .home-screen .choices-grid .category { padding:23px;min-height:260px; }
  .home-screen .choices-grid .category h2 { font-size:25px; }
  .home-screen .home-title { font-size:38px; }
  .home-screen .location-card { display:block; }
  .home-screen .location-card-main { width:100%;min-height:76px;padding:14px 16px; }
  .home-screen .location-card-footer { display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:5px 16px;border-left:0;border-top:1px solid var(--line); }
  .home-screen .location-card-footer>span { display:block;font-size:10px;line-height:1.4;max-width:140px; }
  .home-screen .location-card-footer button { max-width:none;flex:none; }
}
@media (min-width:701px) and (max-width:800px) {
  .header { gap:10px;padding-inline:20px; }
  .wordmark { font-size:22px; }
  .desktop-nav a { padding-inline:8px;font-size:12px; }
  .header-actions>* { width:30px; }
  .home-screen { grid-template-columns:minmax(0,1fr) 250px; }
  .home-screen .home-title { font-size:34px;letter-spacing:-1.3px; }
  .home-screen .choices-grid .category { padding:20px; }
  .home-screen .choices-grid .category h2 { font-size:22px; }
}
@media (prefers-reduced-motion:reduce) and (min-width:701px) {
  .desktop-nav a { transition:none; }
}
