/* Shared, quiet hierarchy for the landing and workspace headers. */
.workspace-page-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 18px 28px;
  padding: 18px clamp(18px, 3vw, 44px) 20px;
  text-shadow: none;
}

.workspace-page-heading > .app-header-meta {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
  gap: 8px;
}

.workspace-page-heading .app-header-meta .eyebrow {
  flex: 1 1 180px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .08em;
}

.workspace-page-heading h1 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(24px, 2.5vw, 32px);
  line-height: 1.25;
  text-shadow: none;
}

.workspace-page-heading .header-subtitle {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.7;
}

.workspace-page-heading .app-header-controls {
  gap: 8px 16px;
  margin-top: 14px;
}

.workspace-page-heading .interface-language-switch,
.workspace-page-heading .image-language-switch,
.site-header-settings .interface-language-switch {
  align-items: center;
  gap: 5px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.workspace-page-heading .interface-language-switch > span,
.workspace-page-heading .image-language-switch > span,
.site-header-settings .interface-language-switch > span {
  padding: 0 3px 0 0;
  color: var(--muted);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

.workspace-page-heading .interface-language-switch select,
.site-header-settings .interface-language-switch select {
  min-height: 28px;
  border-color: rgba(130, 170, 195, .25);
  background: rgba(9, 25, 40, .7);
  font-size: 11px;
  box-shadow: none;
}

.workspace-page-heading .image-language-switch button {
  min-height: 28px;
  min-width: 32px;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  box-shadow: none;
  font-weight: 600;
}

.workspace-page-heading .image-language-switch button[aria-pressed="true"],
.workspace-page-heading .image-language-switch button.is-active {
  border-color: rgba(var(--accent-rgb), .3);
  background: rgba(var(--accent-rgb), .12);
  color: var(--accent);
}

.workspace-page-heading .image-language-switch button:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.site-header-settings {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px 18px;
}

.site-header {
  gap: 16px;
  height: auto;
  min-height: 72px;
  padding-top: 12px;
  padding-bottom: 12px;
}

@media (max-width: 1120px) {
  .workspace-page-heading {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
}

@media (max-width: 620px) {
  .workspace-page-heading { padding-top: 14px; }
  .site-header-settings { margin-left: auto; gap: 8px; }
  .site-header-settings .interface-language-switch > span { display: none; }
}

.account-notifications { position: relative; color: var(--muted); font-size: 9px; text-shadow: none; }
.account-notifications > summary { display: inline-flex; align-items: center; min-height: 20px; padding: 3px 7px; border: 1px solid rgba(142, 166, 188, .4); border-radius: 2px; cursor: pointer; font: 700 9px/1 Arial, sans-serif; letter-spacing: .04em; list-style: none; }
.account-notifications > summary::-webkit-details-marker { display: none; }
.account-notifications.has-unread > summary { color: #72e7ff; border-color: #328ba5; box-shadow: 0 0 12px rgba(var(--accent-rgb), .14); }
.account-notifications-panel { position: absolute; top: calc(100% + 9px); right: 0; z-index: 100; width: min(350px, calc(100vw - 36px)); max-height: 65vh; overflow: auto; padding: 12px; border: 1px solid #28536b; border-radius: 6px; background: #081725; box-shadow: 0 12px 32px #0008; }
.account-notifications-panel a { display: grid; gap: 5px; padding: 10px 4px; border-bottom: 1px solid #234051; color: #dcebf4; text-decoration: none; overflow-wrap: anywhere; }
.account-notifications-panel a.is-unread strong { color: #72e7ff; }
.account-notifications-panel a.is-read { opacity: .65; }
.account-notifications-panel a small { color: #8da5b8; }
.account-notifications-panel p { font-size: 11px; line-height: 1.6; }
.account-notifications-actions { display: flex; justify-content: flex-end; padding-bottom: 8px; border-bottom: 1px solid #234051; }
.account-notifications-actions button { border: 1px solid #328ba5; border-radius: 3px; padding: 4px 7px; background: #0d3650; color: #72e7ff; font: inherit; cursor: pointer; }
.account-notifications-actions button:hover,
.account-notifications-actions button:focus-visible { background: #15506e; }
.account-notifications-actions button:disabled { cursor: wait; opacity: .6; }
.workspace-page-heading { position: relative; z-index: 6; }

.site-footer {
  display: grid;
  grid-template-columns: minmax(180px, .6fr) minmax(0, 1.4fr);
  align-items: start;
  gap: 24px;
  min-height: 0;
  padding: 24px clamp(24px, 5vw, 80px);
}

.site-footer-meta,
.site-footer-disclaimer {
  display: grid;
  gap: 6px;
}

.site-footer-disclaimer {
  max-width: 780px;
  color: #647f93;
  font-size: 10px;
  line-height: 1.65;
}

.site-footer-disclaimer p { margin: 0; }
.site-footer-disclaimer a { color: #76dfff; text-decoration: underline; text-underline-offset: 2px; }
.site-footer-report-link {
  width: fit-content;
  margin-top: 5px;
  border: 1px solid rgba(118, 223, 255, 0.42);
  border-radius: 3px;
  padding: 5px 8px;
  background: transparent;
  color: #76dfff;
  cursor: pointer;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
}
.site-footer-report-link:hover,
.site-footer-report-link:focus-visible { border-color: #76dfff; background: rgba(35, 157, 205, 0.16); }
.bug-report-dialog { width: min(440px, calc(100vw - 36px)); border: 1px solid #317a9e; border-radius: 5px; padding: 0; color: #e4f7ff; background: linear-gradient(145deg, #0b2132, #06121e); box-shadow: 0 20px 64px rgba(0, 0, 0, 0.7); }
.bug-report-dialog::backdrop { background: rgba(1, 8, 15, 0.76); backdrop-filter: blur(3px); }
.bug-report-dialog form { display: grid; gap: 10px; padding: 16px; }
.bug-report-dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 10px; border-bottom: 1px solid rgba(69, 136, 170, 0.45); }
.bug-report-dialog h2 { margin: 0; color: #76dfff; font-size: 16px; }
.bug-report-dialog label,
.bug-report-dialog p { color: #9db5c5; font-size: 11px; line-height: 1.45; }
.bug-report-dialog textarea { min-height: 132px; resize: vertical; padding: 9px; border: 1px solid #28536b; border-radius: 3px; background: #06121e; color: #e4f7ff; font: inherit; font-size: 12px; }
.bug-report-dialog form > button { width: fit-content; padding: 7px 12px; border: 1px solid #3e9cc5; border-radius: 3px; background: #0d3650; color: #dff7ff; font-size: 11px; font-weight: 800; cursor: pointer; }
.bug-report-dialog p { min-height: 16px; margin: 0; }
.bug-report-close { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid #31546b; border-radius: 3px; background: transparent; color: #9db5c5; font-size: 20px; line-height: 1; cursor: pointer; }
.bug-report-close:hover,
.bug-report-close:focus-visible { border-color: #76dfff; color: #76dfff; }

@media (max-width: 620px) {
  .site-footer { grid-template-columns: 1fr; gap: 14px; }
}
