/* v7.30: focused landing shell.
   The first screen has one job: choose a task, then choose a GPU. Legacy
   task-switcher rules were removed from styles.css; this file owns the shell. */

:root {
  --home-navy: #0b3044;
  --home-navy-deep: #072536;
  --home-on-navy: #f7fbfd;
  --home-on-navy-muted: #c2d5df;
  --home-mint: #8bd8bd;
}

[data-theme="dark"] {
  --home-navy: #0a2a3b;
  --home-navy-deep: #071f2d;
  --home-on-navy: #f4f9fb;
  --home-on-navy-muted: #bdd0da;
  --home-mint: #83d8b8;
}

.brand-block { gap: 11px; }
.brand-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.brand-text h1 { white-space: nowrap; font-size: 18px; font-weight: 850; letter-spacing: -.02em; }
.brand-subtitle { color: var(--muted); font-size: 11.5px; font-weight: 650; }
.app-header { min-height: 68px; padding: 11px 0; }
.header-nav { gap: 9px; }
.header-guide-button { min-height: 38px; padding: 0 13px; font-size: 12px; font-weight: 800; }
.header-resources { position: relative; }
.header-resources > summary {
  min-height: 38px; padding: 10px 11px; border-radius: 8px; color: var(--muted);
  cursor: pointer; font-size: 12px; font-weight: 800; list-style: none;
}
.header-resources > summary::-webkit-details-marker { display: none; }
.header-resources > summary::after { content: "⌄"; margin-left: 5px; }
.header-resources[open] > summary,
.header-resources > summary:hover { background: var(--surface-soft); color: var(--ink); }
.header-resources-menu {
  position: absolute; z-index: 50; top: calc(100% + 7px); right: 0; display: grid;
  gap: 3px; width: 178px; padding: 7px; border: 1px solid var(--line);
  border-radius: 10px; background: var(--panel-raised); box-shadow: 0 18px 40px rgb(15 23 42 / 14%);
}
.header-resources-menu a { padding: 10px; border-radius: 7px; color: var(--ink); font-size: 12px; }
.header-resources-menu a:hover { background: var(--blue-soft); }
.github-link {
  display: inline-flex; align-items: center; gap: 5px; min-height: 38px; padding: 0 13px;
  border: 1px solid var(--line-strong); border-radius: 8px; color: var(--ink) !important;
}
.github-link:hover { border-color: var(--blue); background: var(--blue-soft); }

#coreTaskSwitcher {
  position: relative; display: block; width: min(1280px, 100%); margin: 4px auto 22px;
  padding: 0 0 13px; border: 0; border-bottom: 1px solid var(--line);
  border-radius: 0; background: transparent;
}
.core-task-heading { display: none; }
#coreTaskSwitcher .core-task-actions { display: grid; gap: 7px; width: 100%; }
.core-task-primary {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px;
  padding: 6px; border: 1px solid var(--line); border-radius: 15px; background: var(--panel-raised);
}
#coreTaskSwitcher .core-task-button {
  position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto; align-content: center; gap: 5px 12px; min-width: 0;
  min-height: 78px; height: auto; padding: 14px 46px 14px 16px;
  border: 1px solid transparent; border-radius: 10px; background: var(--surface-soft);
  color: var(--ink); line-height: 1.25; text-align: left;
}
#coreTaskSwitcher .core-task-button::after {
  content: "›"; position: absolute; top: 50%; right: 16px; color: var(--muted);
  font-size: 24px; font-weight: 400; line-height: 1; transform: translateY(-52%);
}
#coreTaskSwitcher .core-task-button:hover {
  border-color: var(--line-strong); background: var(--panel-raised);
}
#coreTaskSwitcher .core-task-button[aria-current="page"] {
  border-color: var(--home-navy); background: var(--home-navy); color: var(--home-on-navy);
}
#coreTaskSwitcher .core-task-button[aria-current="page"]::after { color: var(--home-mint); }
#coreTaskSwitcher .core-task-button > span {
  grid-column: 1; color: inherit; font-size: 15px; font-weight: 850; letter-spacing: -.015em;
}
#coreTaskSwitcher .core-task-button > small {
  grid-column: 1; margin: 0; color: var(--muted); font-size: 12px; font-weight: 650; line-height: 1.4;
}
#coreTaskSwitcher .core-task-button[aria-current="page"] > small { color: var(--home-on-navy-muted); }
.core-task-more { border: 0; }
.core-task-more > summary {
  display: inline-flex; align-items: baseline; gap: 8px; min-height: 36px; padding: 9px 5px 2px;
  border-radius: 7px; color: var(--ink); cursor: pointer; font-size: 12px; font-weight: 800; list-style: none;
}
.core-task-more > summary::-webkit-details-marker { display: none; }
.core-task-more > summary::before {
  content: "+"; width: 15px; color: var(--blue); font-family: var(--mono); font-size: 15px;
}
.core-task-more[open] > summary::before { content: "−"; }
.core-task-more > summary small { color: var(--muted); font-size: 11px; font-weight: 650; }
.core-task-secondary {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px;
  margin-top: 7px; padding-top: 10px; border-top: 1px solid var(--line);
}
.core-task-secondary .core-task-button { min-height: 68px !important; }

.onboarding-screen {
  overflow: hidden; width: min(1280px, 100%); margin: 0 auto 34px;
  border: 1px solid color-mix(in srgb, var(--home-navy) 35%, var(--line));
  border-radius: 24px; background: var(--panel-raised); box-shadow: 0 18px 52px rgb(15 23 42 / 9%);
}
.onboarding-inner {
  display: grid; grid-template-columns: minmax(340px, .86fr) minmax(0, 1.14fr);
  gap: 0; min-height: 520px; padding: 0;
}
.onboarding-copy {
  display: flex; flex-direction: column; align-items: flex-start; min-width: 0;
  padding: clamp(42px, 4.5vw, 66px); background: var(--home-navy); color: var(--home-on-navy);
}
.onboarding-kicker {
  display: inline-flex; align-items: center; gap: 9px; margin-bottom: 20px;
  color: var(--home-mint); font-size: 13px; font-weight: 850;
}
.onboarding-kicker::before {
  content: ""; width: 8px; height: 8px; border: 2px solid currentColor; border-radius: 2px;
}
.onboarding-copy h2 {
  max-width: 14ch; margin: 0; color: var(--home-on-navy);
  font-size: clamp(36px, 3.4vw, 50px); font-weight: 900; letter-spacing: -.048em; line-height: 1.12;
  word-break: keep-all;
}
html[lang="en"] .onboarding-copy h2 { max-width: 18ch; font-size: clamp(34px, 3.1vw, 47px); }
.onboarding-copy > p {
  max-width: 40ch; margin: 22px 0 0; color: var(--home-on-navy-muted);
  font-size: 15px; font-weight: 560; line-height: 1.7; word-break: keep-all;
}
.onboarding-catalog {
  display: grid; gap: 5px; width: 100%; margin-top: 30px; padding: 19px 0;
  border-top: 1px solid rgb(255 255 255 / 18%); border-bottom: 1px solid rgb(255 255 255 / 18%);
}
.onboarding-catalog strong { color: var(--home-on-navy); font-size: 16px; font-weight: 850; }
.onboarding-catalog span { color: var(--home-on-navy-muted); font-size: 12px; line-height: 1.5; }
.onboarding-trust {
  display: flex; flex-wrap: wrap; gap: 7px; margin: auto 0 0; padding: 28px 0 0;
  color: var(--home-on-navy-muted); font-size: 11.5px; font-weight: 700; list-style: none;
}
.onboarding-trust li {
  padding: 7px 9px; border: 1px solid rgb(255 255 255 / 18%); border-radius: 999px;
}
.onboarding-trust li::before { content: "✓"; margin-right: 6px; color: var(--home-mint); }

.onboarding-picker {
  display: grid; align-content: center; gap: 15px; min-width: 0;
  padding: clamp(38px, 4.6vw, 66px); background: var(--panel-raised);
}
.onboarding-picker-intro { display: grid; gap: 7px; margin-bottom: 5px; }
.onboarding-picker-intro > span {
  color: var(--blue); font-size: 11px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase;
}
.onboarding-picker-intro h3 {
  margin: 0; color: var(--ink); font-size: clamp(21px, 2vw, 27px); font-weight: 850; letter-spacing: -.03em;
}
.onboarding-search { display: grid; gap: 8px; margin: 0; padding: 0; border: 0; }
.onboarding-search .field { display: grid; gap: 8px; }
.onboarding-search .field > span { color: var(--ink); font-size: 13px; font-weight: 800; }
#onboardingGpuSearch {
  min-height: 58px; border: 1px solid var(--line-strong); border-radius: 10px; padding: 0 16px;
  background: var(--panel-raised); color: var(--ink); font-size: 16px; box-shadow: none;
}
#onboardingGpuSearch::placeholder { color: color-mix(in srgb, var(--muted) 82%, transparent); }
#onboardingGpuSearch:focus {
  border-color: var(--blue); outline: 3px solid color-mix(in srgb, var(--blue) 18%, transparent); outline-offset: 1px;
}
.onboarding-search-hint { min-height: 18px; color: var(--muted); font-size: 11.5px; line-height: 1.45; white-space: normal; }
.onboarding-quickpick-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-top: 5px; }
.onboarding-quickpick-head h3 { margin: 0; color: var(--ink); font-size: 13px; font-weight: 850; }
.onboarding-quickpicks {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0;
}
.onboarding-gpu-card {
  position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 10px;
  align-content: center; min-width: 0; max-width: none; min-height: 64px; padding: 11px 34px 11px 13px;
  border: 1px solid var(--line); border-radius: 10px; background: var(--surface-soft);
  color: var(--ink); text-align: left;
}
.onboarding-gpu-card::after {
  content: "›"; position: absolute; top: 50%; right: 12px; color: var(--muted);
  font-size: 20px; line-height: 1; transform: translateY(-52%);
}
.onboarding-gpu-card:hover,
.onboarding-gpu-card:focus-visible { border-color: var(--blue); background: var(--blue-soft); }
.onboarding-gpu-card:focus-visible { outline: 3px solid color-mix(in srgb, var(--blue) 20%, transparent); outline-offset: 2px; }
.onboarding-gpu-card strong {
  grid-column: 1; min-width: 0; font-size: 13px; font-weight: 820; line-height: 1.3; white-space: normal;
}
.onboarding-gpu-card span {
  grid-column: 1; color: var(--muted); font-family: var(--mono); font-size: 10.5px; font-variant-numeric: tabular-nums;
}

body:not(.guided-workspace-started) #workspaceJourney { display: none; }

body.guided-workspace-started #coreTaskSwitcher {
  margin-bottom: 12px;
  padding-bottom: 9px;
}

body.guided-workspace-started .core-task-primary {
  padding: 4px;
}

body.guided-workspace-started #coreTaskSwitcher .core-task-button {
  min-height: 54px;
  padding-top: 9px;
  padding-bottom: 9px;
}

body.guided-workspace-started #coreTaskSwitcher .core-task-button > small {
  display: none;
}

body.guided-workspace-started #coreTaskSwitcher .core-task-more > summary {
  min-height: 30px;
  padding-top: 6px;
}

body.guided-workspace-started #hardwareSubline {
  display: none;
}

body[data-app-mode="simple"] .app-mode-status {
  display: none;
}

body[data-app-mode="simple"] #decisionHub,
body[data-app-mode="simple"] #benchmarkDashboard,
body[data-app-mode="simple"] #benchmarkSheet {
  display: none !important;
}

.guide-examples {
  display: flex; flex-wrap: nowrap; overflow-x: auto; align-items: center; gap: 8px;
  margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line);
}
.guide-examples-title,
.guide-examples .demo-chip { flex: 0 0 auto; }
.guide-examples-title { color: var(--muted); font-size: 12px; font-weight: 800; }

.app-footer { display: flex; flex-direction: column; gap: 16px; }
.footer-section { width: 100%; }
.footer-contribute {
  display: flex; flex-wrap: wrap; align-items: flex-start; gap: 12px;
  padding-bottom: 14px; border-bottom: 1px solid var(--line);
}
.footer-contribute .catalog-request-center { flex: 1 1 420px; }
.footer-contribute .showcase-feedback { margin-left: 0; }

@media (max-width: 1100px) {
  #coreTaskSwitcher .core-task-button { padding-right: 38px; }
  #coreTaskSwitcher .core-task-button::after { right: 12px; }
  .onboarding-copy,
  .onboarding-picker { padding: 42px; }
}
@media (max-width: 960px) {
  .onboarding-inner { grid-template-columns: 1fr; min-height: 0; }
  .onboarding-copy { min-height: 420px; }
  .onboarding-copy h2 { max-width: 18ch; }
  .onboarding-picker { align-content: start; }
}
@media (max-width: 760px) {
  .app-shell { width: min(100% - 28px, 1540px); margin-top: 14px; }
  .header-resources { display: none; }
  #coreTaskSwitcher { margin-bottom: 17px; padding-bottom: 11px; }
  .core-task-primary { grid-template-columns: 1fr; gap: 5px; }
  #coreTaskSwitcher .core-task-button { min-height: 62px; padding: 11px 42px 11px 13px; }
  body.guided-workspace-started #workspaceJourney { display: none; }
  body.guided-workspace-started .core-task-primary { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3px; }
  body.guided-workspace-started #coreTaskSwitcher .core-task-button {
    min-height: 54px;
    padding: 8px 21px 8px 9px;
  }
  body.guided-workspace-started #coreTaskSwitcher .core-task-button::after { right: 7px; font-size: 17px; }
  body.guided-workspace-started #coreTaskSwitcher .core-task-button > span { font-size: 12.5px; line-height: 1.25; }
  #coreTaskSwitcher .core-task-button > span { font-size: 14px; }
  #coreTaskSwitcher .core-task-button > small { font-size: 11.5px; }
  .core-task-secondary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .onboarding-screen { border-radius: 18px; }
  .onboarding-copy { min-height: 0; padding: 34px 28px; }
  .onboarding-copy h2 { max-width: 19ch; font-size: clamp(32px, 8vw, 42px); }
  .onboarding-copy > p { margin-top: 17px; font-size: 14px; }
  .onboarding-catalog { margin-top: 23px; }
  .onboarding-trust { margin-top: 0; padding-top: 22px; }
  .onboarding-picker { padding: 30px 28px 32px; }
}
@media (max-width: 520px) {
  .header-inner { align-items: center; flex-direction: row; width: min(100% - 24px, 1540px); gap: 8px; }
  .brand-block { flex: 1 1 auto; width: auto; }
  .brand-subtitle,
  .header-guide-button,
  .github-link-text { display: none; }
  .header-nav { justify-content: flex-end; width: auto; gap: 5px; overflow: visible; }
  .header-nav .github-link { display: none; }
  .language-toggle,
  .theme-toggle { margin-left: 0; }
  .theme-toggle { display: none; }
  .core-task-secondary { grid-template-columns: 1fr; }
  body.guided-workspace-started .core-task-primary { grid-template-columns: repeat(3, minmax(104px, 1fr)); overflow-x: auto; }
  .onboarding-copy { padding: 30px 23px; }
  .onboarding-copy h2 { font-size: clamp(30px, 9.2vw, 38px); }
  .onboarding-picker { padding: 26px 22px 28px; }
  .onboarding-picker-intro h3 { font-size: 22px; }
  .onboarding-quickpicks { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .onboarding-gpu-card { min-height: 72px; padding-left: 11px; }
}
@media (max-width: 370px) {
  .onboarding-quickpicks { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  #coreTaskSwitcher,
  .onboarding-gpu-card { transition: none; }
}
