/* Grey-white clinical workspace. Shell and material tokens are owned here. */
@layer reset,base,layout,components,material,responsive,workspace;
@layer workspace {
  :root {
    --surface: #ececec;
    --glass-solid: #ececec;
    --ink: #292d31;
    --muted: #555b62;
    --accent: #36424b;
    --shadow: #c2c5c8;
    --line: #ccd0d3;
    --glass: linear-gradient(145deg, #f5f5f5, #e8e8e8);
    --glass-edge: #ffffffb8;
    --control: linear-gradient(155deg, #fff 0%, #efefef 48%, #d5d6d7 100%);
    --control-pressed: linear-gradient(145deg, #d2d5d7, #f0f0f0);
    --control-selected: linear-gradient(145deg, #d7dadd, #f3f3f3);
    --control-shadow:
      -4px -4px 9px #fffffff2, 5px 6px 10px #c2c4c8, 0 3px 1px #b5b8bb,
      inset 1px 1px 2px #fff, inset -1px -2px 3px #b9bdc180;
    --control-inset:
      inset 4px 4px 8px #b9bdc3, inset -4px -4px 8px #fff, 0 1px 0 #fff;
    --raised:
      8px 8px 18px #c6c8cb, -8px -8px 18px #fff, inset 1px 1px 2px #fff,
      inset -1px -1px 2px #bfc1c450;
    --inset: inset 4px 4px 9px #c0c3c7, inset -4px -4px 9px #fff;
    --scroll-track: #e3e4e5;
    --scroll-thumb: #656d74;
    --scroll-hover: #404a53;
  }
  html {
    scroll-padding-top: 105px;
  }
  body {
    background: var(--surface);
    font-size: 15px;
  }
  ::selection {
    background: #cdd3d8;
    color: #171b20;
  }
  h1,
  h2,
  h3 {
    font-family: var(--font);
    letter-spacing: -0.03em;
  }
  h1 {
    font-size: clamp(26px, 2.4vw, 34px);
  }
  h2 {
    font-size: 21px;
  }
  .inset,
  .reader,
  .field input,
  .field textarea,
  .field select,
  .results-toolbar select {
    background: var(--surface);
    border-color: #ffffffb8;
  }
  .button.primary,
  .search-submit {
    background: linear-gradient(150deg, #4d5863, #2e353d);
    border-color: #818990;
    color: #fff;
    text-shadow: 0 1px 1px #171c22;
  }
  .button.primary:active,
  .search-submit:active {
    color: var(--ink);
    text-shadow: none;
  }
  .save-button,
  .button[aria-pressed="true"],
  button[data-save][aria-pressed="true"],
  .domain-tabs button[aria-pressed="true"],
  .icon-button[aria-pressed="true"] {
    color: var(--ink);
  }
  .domain-tabs button[aria-pressed="true"],
  button[data-save][aria-pressed="true"] {
    border-color: #848c94;
  }
  [data-save][aria-pressed="true"] svg {
    fill: #7e889455;
  }
  .tool-symbol,
  .tool-symbol.human,
  .tool-symbol.animal,
  .tool-symbol.plant {
    color: #3b4853;
    background: var(--surface);
    box-shadow: var(--inset);
  }
  .mode-tag {
    color: #48535d;
    background: #e0e4e7;
  }
  .mode-tag.external {
    color: #655239;
    background: #ede5d8;
  }
  .switch-track {
    background: #d8dadd;
    border-color: #bbc0c5;
  }
  .app-header {
    position: sticky;
    top: 0;
    z-index: 35;
    background: #ecececf2;
    backdrop-filter: blur(14px);
    border-bottom: 1px solid #fff;
    box-shadow: 0 5px 16px #b5b8bd4d;
  }
  .header-inner {
    min-height: 88px;
    max-width: 1512px;
    margin: auto;
    padding: 14px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
  }
  .brand {
    margin: 0;
    flex-shrink: 0;
    gap: 13px;
  }
  .brand > span:last-child {
    font-size: 24px;
    letter-spacing: -0.8px;
  }
  .brand small {
    font-size: 11px;
    letter-spacing: 3px;
    margin-top: 0;
  }
  .brand-mark {
    color: var(--ink);
    width: 46px;
    height: 46px;
    border-radius: 14px;
  }
  .desktop-nav {
    display: flex;
    gap: 10px;
    align-items: center;
  }
  .desktop-nav a {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 12px 14px;
    border-radius: 12px;
    font-size: 14px;
    white-space: nowrap;
  }
  .desktop-nav .icon {
    width: 17px;
    height: 17px;
  }
  .desktop-nav a[aria-current],
  .desktop-nav a:hover {
    box-shadow: var(--inset);
    background: var(--control-selected);
    color: var(--ink);
  }
  .desktop-nav a[aria-current] {
    font-weight: 700;
  }
  .header-actions {
    display: flex;
    align-items: center;
    gap: 18px;
  }
  .header-glossary {
    font-size: 13px;
    white-space: nowrap;
  }
  .mobile-menu,
  .mobile-navigation {
    display: none;
  }
  .main-shell {
    margin: 0;
    width: 100%;
  }
  main {
    max-width: 1360px;
    padding: 0 40px 56px;
    margin: auto;
  }
  .context-strip {
    max-width: 1360px;
    margin: auto;
    padding: 18px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    font-size: 12px;
    color: var(--muted);
  }
  .context-strip nav {
    display: flex;
    gap: 28px;
  }
  .context-strip a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }
  .context-strip .icon {
    width: 16px;
    height: 16px;
  }
  footer {
    max-width: 1280px;
    margin: auto;
    border-color: var(--line);
    padding: 28px 0;
    font-size: 12px;
  }
  .workspace-welcome {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding: 30px 0 34px;
  }
  .workspace-welcome h1 {
    margin: 6px 0 10px;
  }
  .workspace-kicker {
    font-size: 13px;
  }
  .workspace-welcome > .button {
    flex-shrink: 0;
  }
  .discovery,
  .catalog-search {
    padding: 25px 28px;
    margin-top: 0;
  }
  .filter-row {
    margin-top: 22px;
  }
  .popular {
    margin-top: 16px;
  }
  .task-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
  }
  .task-card {
    position: relative;
    padding: 24px;
    min-height: 180px;
  }
  .task-symbol {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    margin-bottom: 18px;
  }
  .task-symbol .icon {
    width: 24px;
    height: 24px;
  }
  .task-card h3 {
    font-size: 16px;
  }
  .task-card p {
    margin-top: 6px;
    font-size: 12px;
  }
  .task-card > .icon {
    position: absolute;
    right: 24px;
    top: 35px;
    width: 17px;
  }
  .tools-grid,
  .catalog-results .tools-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
  }
  .tool-card {
    padding: 23px;
  }
  .tool-card p {
    font-size: 13px;
    line-height: 1.8;
  }
  .tool-meta,
  .catalog-results .tool-meta {
    font-size: 11px;
    border-color: var(--line);
  }
  .collection-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
  }
  .collection-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 19px 23px;
  }
  .collection-link small {
    margin-left: auto;
    color: var(--muted);
  }
  .knowledge-shelf {
    padding: 30px;
    display: flex;
    gap: 24px;
    align-items: center;
    justify-content: space-between;
  }
  .knowledge-shelf h2 {
    display: inline;
    margin-left: 8px;
  }
  .knowledge-shelf p {
    margin-top: 12px;
    font-size: 13px;
  }
  .knowledge-shelf .form-actions {
    flex-shrink: 0;
  }
  .recent-tools {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
  }
  .recent-tools a {
    padding: 13px 19px;
  }
  .catalog-filter-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 20px;
    border-top: 1px solid var(--line);
    padding-top: 20px;
    margin-top: 20px;
  }
  .catalog-filter-bar > label:not(.button) {
    display: grid;
    gap: 8px;
    font-size: 12px;
    flex: 1;
    min-width: 160px;
  }
  .catalog-filter-bar select {
    background: var(--surface);
    box-shadow: var(--inset);
    border: 1px solid #fff;
    border-radius: 10px;
    padding: 12px;
    color: var(--ink);
    min-height: 44px;
    font: inherit;
  }
  /* Native selects remain semantic; supported browsers also style their popover. */
  :is(
    select,
    .field select,
    .results-toolbar select,
    .catalog-filter-bar select
  ) {
    appearance: none;
    color: var(--ink);
    font: inherit;
    font-size: 14px;
    line-height: 1.5;
    min-height: 46px;
    max-width: 100%;
    min-width: 0;
    border: 1px solid #bbc0c5;
    border-radius: 12px;
    padding: 12px 46px 12px 16px;
    background-color: var(--surface);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23464f58' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-position: right 15px center;
    background-repeat: no-repeat;
    box-shadow: var(--inset);
    cursor: pointer;
    transition:
      border-color 140ms,
      box-shadow 140ms;
  }
  select:hover {
    border-color: #929aa3;
  }
  select:focus-visible {
    outline: 3px solid var(--accent);
    outline-offset: 4px;
  }
  select:disabled {
    opacity: 0.58;
    cursor: not-allowed;
    box-shadow: none;
  }
  select option,
  select optgroup {
    color: var(--ink);
    background: var(--surface);
    font: inherit;
  }
  select option {
    padding: 12px 14px;
    line-height: 1.6;
  }
  select option:checked {
    color: var(--ink);
    background: #d4d9df;
  }
  select option:disabled {
    color: #757b81;
  }
  select option[hidden] {
    display: none;
  }
  select[multiple],
  select[size]:not([size="1"]) {
    padding: 8px;
    background-image: none;
    min-height: 160px;
    cursor: default;
  }
  select[multiple] option {
    border-radius: 8px;
    margin: 4px;
  }
  select[multiple] option:checked {
    box-shadow: var(--control-inset);
    font-weight: 600;
  }
  @supports (appearance: base-select) {
    select:not([multiple]):not([size]),
    select[size="1"] {
      appearance: base-select;
      background-image: none;
      display: flex;
      align-items: center;
      gap: 14px;
      padding: 10px 12px 10px 16px;
    }
    select::picker(select) {
      appearance: base-select;
      margin-block: 10px;
      padding: 8px;
      border: 1px solid #b6bdc4;
      border-radius: 16px;
      color: var(--ink);
      background: linear-gradient(145deg, #f8f8f8, #e5e6e7);
      box-shadow:
        8px 10px 22px #8f969d66,
        inset 1px 1px 1px #fff,
        inset -1px -1px 1px #bbc0c5;
      max-height: min(350px, 55dvh);
      min-width: anchor-size(width);
      max-width: calc(100vw - 32px);
      overflow: auto;
      scrollbar-color: var(--scroll-thumb) var(--scroll-track);
    }
    select::picker-icon {
      color: var(--ink);
      margin-left: auto;
      background: var(--control);
      border: 1px solid #fff;
      border-radius: 8px;
      box-shadow:
        3px 3px 6px #c1c5ca,
        -2px -2px 5px #fff;
      padding: 6px;
      font-size: 12px;
      transition: rotate 140ms;
    }
    select:open::picker-icon {
      rotate: 180deg;
    }
    select option {
      display: flex;
      align-items: center;
      gap: 12px;
      min-height: 44px;
      padding: 11px 13px;
      border-radius: 10px;
      background: transparent;
      border: 1px solid transparent;
      white-space: normal;
      overflow-wrap: anywhere;
      margin: 3px 0;
    }
    select option:checked {
      background: var(--control-selected);
      box-shadow: var(--inset);
      border-color: #b2b9c0;
      font-weight: 600;
    }
    select option:hover,
    select option:focus {
      background: #dce1e5;
      color: #222b32;
      outline: 1px solid #9aa4ad;
      outline-offset: -1px;
    }
    select option::checkmark {
      order: 1;
      margin-left: auto;
      font-weight: 700;
      color: #35444f;
    }
    select option[hidden] {
      display: none;
    }
  }
  .domain-tabs button[aria-pressed="true"],
  .anatomy-structure-list button[aria-pressed="true"],
  .view-switch button[aria-pressed="true"] {
    background: var(--control-selected);
    box-shadow: var(--control-inset);
    border: 1px solid #8c969f;
    font-weight: 600;
  }
  .catalog-results {
    margin-top: 28px;
  }
  .results-actions,
  .view-switch {
    display: flex;
    align-items: center;
    gap: 16px;
  }
  .view-switch {
    gap: 10px;
  }
  .view-switch button {
    width: 42px;
    height: 42px;
  }
  .tools-grid.list-view {
    grid-template-columns: 1fr;
  }
  .list-view .tool-card {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr) minmax(0, 1.6fr) 170px;
    align-items: center;
    gap: 24px;
    padding: 18px 24px;
  }
  .list-view .tool-card-top,
  .list-view .tool-card p,
  .list-view .tool-meta {
    margin: 0;
  }
  .list-view .tool-meta {
    display: block;
    padding: 0;
    border: 0;
  }
  .list-view .tool-meta span {
    display: block;
  }
  .tool-layout,
  .reader-layout {
    display: block;
    max-width: 1060px;
    margin: auto;
  }
  .tool-heading {
    max-width: 1060px;
    margin: 0 auto;
    padding: 22px 0 30px;
  }
  .tool-aside {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    border-top: 1px solid var(--line);
    padding-top: 30px;
    margin-top: 30px;
    position: static;
  }
  .tool-aside > .aside-card:last-child {
    grid-column: auto;
  }
  .aside-card {
    margin: 0;
    padding: 22px;
  }
  .work-panel {
    padding: 32px;
  }
  .form-grid {
    gap: 24px;
  }
  .article-section {
    margin-top: 30px;
  }
  .reader-layout > aside {
    position: static;
    margin-top: 28px;
  }
  .research-nav {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin: 0 0 28px;
  }
  .research-nav a {
    padding: 11px 17px;
    border-radius: 12px;
    box-shadow: var(--control-shadow);
    font-size: 13px;
  }
  .research-nav a[aria-current] {
    box-shadow: var(--inset);
    font-weight: 700;
  }
  .research-panel {
    max-width: 1060px;
    margin: auto;
  }
  .research-output {
    margin-top: 26px;
    padding: 26px;
    overflow: auto;
  }
  .research-output h2 {
    margin-bottom: 14px;
  }
  .research-output table {
    border-collapse: collapse;
    width: 100%;
    text-align: left;
    font-size: 13px;
  }
  .research-output th,
  .research-output td {
    padding: 11px 12px;
    border-bottom: 1px solid var(--line);
    vertical-align: top;
  }
  .research-output svg {
    width: 100%;
    max-height: 550px;
    background: #fafafa;
    border-radius: 12px;
  }
  .research-output a {
    text-decoration: underline;
  }
  .research-output pre {
    white-space: pre-wrap;
    word-break: break-word;
    font-size: 14px;
  }
  .research-output .helper {
    margin: 15px 0;
  }
  .research-status {
    min-height: 26px;
    margin-top: 16px;
  }
  .research-panel details {
    margin: 22px 0;
  }
  .research-panel summary {
    cursor: pointer;
    min-height: 44px;
    padding: 10px 0;
  }
  .research-panel textarea {
    font-family: var(--font);
    font-size: 14px;
  }
  .mpr-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 24px;
  }
  .mpr-grid figure {
    min-width: 0;
  }
  .mpr-grid canvas {
    width: 100%;
    object-fit: contain;
    background: #16191c;
  }
  .mpr-grid input {
    width: 100%;
  }
  .volume-panel {
    margin-top: 28px;
    padding: 24px;
  }
  .volume-panel h3 {
    margin-bottom: 12px;
  }
  .mip-controls {
    margin-top: 24px;
  }
  .mip-controls > label {
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 13px;
  }
  .mip-controls input {
    flex: 1;
  }
  #mip-canvas {
    display: block;
    max-width: 100%;
    margin: 20px auto 0;
    background: #16191c;
  }
  .tool-glyph {
    width: 32px;
    height: 32px;
  }
  .anatomy-intro {
    padding: 20px 25px;
    margin-bottom: 32px;
  }
  .anatomy-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    margin-top: 28px;
  }
  .anatomy-card {
    padding: 22px 24px 26px;
    display: flex;
    flex-direction: column;
  }
  .anatomy-card img {
    width: 100%;
    height: 240px;
    object-fit: contain;
    margin-bottom: 22px;
    filter: drop-shadow(7px 12px 7px #9ba1a43d);
  }
  .anatomy-card h2 {
    font-size: 19px;
    margin-bottom: 4px;
  }
  .anatomy-card small {
    color: var(--muted);
    font-size: 12px;
  }
  .anatomy-card p {
    font-size: 13px;
    margin: 14px 0 20px;
    flex: 1;
  }
  .anatomy-card .text-link {
    font-size: 12px;
  }
  .anatomy-detail {
    padding: 30px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
    gap: 42px;
    align-items: center;
  }
  .anatomy-visual img {
    width: 100%;
    height: auto;
    max-height: 570px;
    object-fit: contain;
    filter: drop-shadow(10px 16px 9px #939aa238);
  }
  .anatomy-visual figcaption {
    font-size: 12px;
    color: var(--muted);
    margin-top: 12px;
  }
  .anatomy-copy > p {
    margin: 14px 0;
  }
  .anatomy-structure-list {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin: 24px 0;
  }
  .anatomy-structure-list button {
    font-size: 13px;
  }
  #organ-detail {
    padding: 24px;
    min-height: 170px;
  }
  #organ-detail p {
    font-size: 14px;
    margin-top: 12px;
  }
  .anatomy-table {
    margin-top: 0;
  }
  .anatomy-table small {
    display: block;
    color: var(--muted);
    font-weight: 400;
  }
  @media (max-width: 1100px) {
    .anatomy-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .desktop-nav,
    .header-glossary {
      display: none;
    }
    .mobile-menu {
      display: inline-flex;
    }
    .mobile-navigation {
      position: fixed;
      display: block;
      inset: 0 0 0 auto;
      width: min(360px, 90vw);
      z-index: 95;
      padding: 25px;
      background: var(--surface);
      overflow-y: auto;
      visibility: hidden;
      transform: translateX(110%);
      transition:
        transform 180ms,
        visibility 180ms;
    }
    .mobile-navigation.open {
      visibility: visible;
      transform: translateX(0);
    }
    .mobile-nav-heading {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 25px;
    }
    .drawer-backdrop {
      position: fixed;
      inset: 0;
      background: #25282c66;
      z-index: 80;
    }
    .primary-nav a {
      min-height: 52px;
      margin-bottom: 10px;
    }
    .context-strip > a {
      display: none;
    }
    .task-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .task-card {
      min-height: 160px;
    }
    .tools-grid,
    .catalog-results .tools-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .tool-aside {
      grid-template-columns: 1fr 1fr;
    }
    .tool-aside > .aside-card:last-child {
      grid-column: 1/-1;
    }
    .list-view .tool-card {
      grid-template-columns: 160px 1fr;
    }
    .knowledge-shelf {
      align-items: flex-start;
      flex-direction: column;
    }
    footer {
      margin: 0 40px;
    }
  }
  @media (max-width: 650px) {
    .anatomy-grid {
      grid-template-columns: 1fr;
      gap: 24px;
    }
    .anatomy-card img {
      height: 260px;
    }
    .anatomy-detail {
      display: block;
      padding: 22px;
    }
    .anatomy-visual img {
      max-height: 390px;
    }
    .anatomy-copy {
      margin-top: 24px;
    }
    .anatomy-structure-list {
      gap: 12px;
    }
    html {
      scroll-padding-top: 85px;
    }
    .header-inner {
      min-height: 74px;
      padding: 13px 20px;
      gap: 14px;
    }
    .brand > span:last-child {
      font-size: 21px;
    }
    .brand-mark {
      width: 42px;
      height: 42px;
    }
    .header-actions {
      gap: 12px;
    }
    main {
      padding: 0 20px 36px;
    }
    .context-strip {
      padding: 15px 20px 0;
    }
    .context-strip > span {
      display: none;
    }
    .context-strip nav {
      justify-content: space-between;
      width: 100%;
      gap: 12px;
    }
    .workspace-welcome {
      display: block;
      padding: 27px 0;
    }
    .workspace-welcome h1 {
      font-size: 27px;
      line-height: 1.5;
    }
    .workspace-welcome > .button {
      margin-top: 20px;
    }
    .discovery,
    .catalog-search {
      padding: 19px 16px;
    }
    .search-bar {
      padding: 10px 12px;
      gap: 8px;
    }
    .search-bar input {
      font-size: 14px;
    }
    .search-submit {
      padding: 11px 16px;
    }
    .filter-row {
      gap: 20px;
    }
    .domain-tabs {
      display: grid;
      grid-template-columns: 1fr 1fr;
      width: 100%;
      gap: 12px;
    }
    .domain-tabs button {
      justify-content: center;
      min-height: 44px;
      font-size: 12px;
      padding: 10px;
    }
    .popular {
      gap: 12px;
      line-height: 2;
    }
    .section-heading {
      align-items: flex-start;
      gap: 15px;
    }
    .section-heading .helper {
      display: none;
    }
    .task-grid {
      gap: 18px;
    }
    .task-card {
      padding: 20px 16px;
    }
    .task-card h3 {
      font-size: 15px;
    }
    .task-card > .icon {
      right: 15px;
      top: 30px;
    }
    .task-card p {
      font-size: 12px;
    }
    .tools-grid,
    .catalog-results .tools-grid {
      grid-template-columns: 1fr;
    }
    .tool-card {
      padding: 22px;
    }
    .tool-meta,
    .catalog-results .tool-meta {
      font-size: 11px;
    }
    .collection-grid {
      grid-template-columns: 1fr;
    }
    .collection-link {
      padding: 18px 20px;
    }
    .knowledge-shelf {
      padding: 24px;
    }
    .knowledge-shelf .form-actions {
      flex-wrap: wrap;
    }
    .catalog-filter-bar {
      gap: 16px;
    }
    .catalog-filter-bar > label:not(.button) {
      min-width: 100%;
    }
    .results-toolbar {
      flex-wrap: wrap;
      gap: 16px;
    }
    .results-actions {
      width: 100%;
      justify-content: space-between;
    }
    .list-view .tool-card {
      display: block;
    }
    .list-view .tool-card p,
    .list-view .tool-meta {
      margin-top: 12px;
    }
    .list-view .tool-card-top {
      margin-bottom: 14px;
    }
    .tool-aside {
      grid-template-columns: 1fr;
    }
    .work-panel {
      padding: 22px 18px;
    }
    .tool-heading {
      flex-wrap: wrap;
      gap: 20px;
    }
    .tool-heading h1 {
      font-size: 26px;
    }
    .tool-heading > .button {
      min-height: 44px;
    }
    .form-grid {
      grid-template-columns: 1fr;
    }
    .form-actions {
      gap: 15px;
      flex-wrap: wrap;
    }
    .research-output {
      padding: 18px 12px;
    }
    .research-nav {
      gap: 12px;
    }
    .research-nav a {
      font-size: 12px;
    }
    .mpr-grid {
      grid-template-columns: 1fr;
    }
    footer {
      margin: 0 20px;
    }
  }
  .high-contrast {
    --surface: #f8f8f8;
    --ink: #171717;
    --muted: #333;
    --glass: #fff;
    --raised: 0 0 0 1px #777;
    --inset: inset 0 0 0 1px #777;
    --control-shadow: 0 0 0 1px #777;
    --control-inset: inset 0 0 0 2px #444;
  }
  .high-contrast .app-header,
  .high-contrast .mobile-navigation {
    background: #fff;
  }
  @media (prefers-reduced-motion: reduce) {
    .mobile-navigation {
      transition: none;
    }
  }
  @media (prefers-reduced-transparency: reduce) {
    .app-header {
      background: var(--surface);
      backdrop-filter: none;
    }
  }
  @media (forced-colors: active) {
    select {
      appearance: auto;
      background-image: none;
      forced-color-adjust: auto;
    }
    select::picker(select) {
      background: Canvas;
      color: CanvasText;
      border: 1px solid CanvasText;
    }
    select option:checked {
      background: Highlight;
      color: HighlightText;
    }
    .app-header,
    .mobile-navigation,
    .neu,
    .inset {
      background: Canvas;
      border: 1px solid CanvasText;
    }
  }
  @media print {
    .app-header,
    .context-strip,
    .mobile-navigation,
    .research-nav {
      display: none;
    }
    main {
      padding: 0;
    }
  }
}
