/* Standalone layout and workbook additions. The original map palette is in map.css. */
:root { color-scheme: light dark; background: #fff; }
html, body { margin: 0; }
body { font-family: system-ui, sans-serif; }
#forbes-elements-map { max-width: 1240px; margin: 0 auto; min-height: 100vh; padding: 32px; }
#forbes-elements-map h1 { font: 500 30px/1.2 system-ui, sans-serif; margin: 0; letter-spacing: -.025em; }
#forbes-elements-map .fm-detail h2, #forbes-elements-map .fm-case-intro h2 { font-size: 22px; }
#forbes-elements-map p { overflow-wrap: anywhere; }
#forbes-elements-map .fm-sub { margin-bottom: 0; }
#forbes-elements-map .fm-version, #forbes-elements-map .fm-storage { color: var(--fm-muted); font-size: 12px; }
#forbes-elements-map .fm-navigation, #forbes-elements-map .fm-view-buttons { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
#forbes-elements-map .fm-navigation { justify-content: space-between; padding-top: 6px; }
#forbes-elements-map .fm-small-count { margin-left: 6px; opacity: .8; }
#forbes-elements-map .fm-storage { margin: 10px 0 24px; }
#forbes-elements-map .fm-filters { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 300px); gap: 16px; }
#forbes-elements-map .fm-filter-count { color: var(--fm-muted); font-size: 12px; margin: 10px 0 12px; }
#forbes-elements-map input, #forbes-elements-map textarea { display: block; width: 100%; max-width: 100%; box-sizing: border-box; margin-top: 5px; padding: 10px 12px; font: inherit; font-size: 16px; min-height: 42px; border: 1px solid var(--fm-line); border-radius: 7px; color: var(--fm-text); background: var(--fm-bg); }
#forbes-elements-map textarea { line-height: 1.5; resize: vertical; }
#forbes-elements-map select { text-overflow: ellipsis; }
#forbes-elements-map button, #forbes-elements-map summary, #forbes-elements-map select { cursor: pointer; }
#forbes-elements-map button:disabled { cursor: default; opacity: .45; }
#forbes-elements-map .fm-coaching { margin-top: 18px; border-top: 1px solid var(--fm-line); padding-top: 15px; }
#forbes-elements-map .fm-coaching h3 { font-size: 16px; }
#forbes-elements-map .fm-coaching p { margin: 7px 0 14px; }
#forbes-elements-map .fm-related { margin-top: 22px; }
#forbes-elements-map .fm-link-buttons { display: flex; flex-wrap: wrap; gap: 6px; }
#forbes-elements-map .fm-link-buttons button { padding: 7px 10px; text-align: left; }
#forbes-elements-map .fm-notes { margin-top: 22px; border-top: 1px solid var(--fm-line); padding-top: 15px; }
#forbes-elements-map summary { font-weight: 500; padding: 6px 0; }
#forbes-elements-map #fm-record-status { color: var(--fm-muted); font-weight: 400; margin-left: 8px; font-size: 12px; }
#forbes-elements-map .fm-note-fields { display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr); gap: 16px; margin-top: 12px; }
#forbes-elements-map .fm-case-intro { margin: 8px 0 22px; }
#forbes-elements-map .fm-case-intro p { margin-bottom: 0; color: var(--fm-muted); }
#forbes-elements-map .fm-case-detail { margin-top: 22px; max-width: 900px; }
#forbes-elements-map .fm-question { font-size: 18px; font-weight: 500; margin: 20px 0; }
#forbes-elements-map #fm-case-reveal { margin-top: 12px; }
#forbes-elements-map .fm-case-answer { background: var(--fm-panel); margin-top: 16px; border-radius: 8px; padding: 18px; }
#forbes-elements-map .fm-case-answer p { margin: 8px 0 18px; }
#forbes-elements-map .fm-case-answer p:last-child { margin-bottom: 0; }
#forbes-elements-map .fm-notice { background: var(--fm-panel); padding: 16px; border-radius: 8px; }
#forbes-elements-map .fm-foot { border-top: 1px solid var(--fm-line); padding-top: 12px; margin-top: 30px; }
#forbes-elements-map .fm-foot cite { font-style: normal; overflow-wrap: anywhere; }
/* Explicit fallbacks keep the palette readable in browsers without light-dark(). */
@supports not (color: light-dark(white, black)) {
  #forbes-elements-map { --fm-bg:#fff;--fm-text:#223832;--fm-muted:#52675e;--fm-line:#d4dfd9;--fm-panel:#f4f7f5;--fm-active:#2c5142;--fm-on-active:#fff;--fm-human:#e5f1eb;--fm-delivery:#e6eef8;--fm-physical:#f6edd9;--fm-craft:#efe9f6;--fm-digital:#e3f0f3;--fm-sustain:#eaf0db; }
}
@media (prefers-color-scheme: dark) {
  :root { background: #19211f; }
  @supports not (color: light-dark(white, black)) {
    #forbes-elements-map { --fm-bg:#19211f;--fm-text:#eef5f1;--fm-muted:#b8c8bf;--fm-line:#45564d;--fm-panel:#26312b;--fm-active:#c5e8d5;--fm-on-active:#163b2c;--fm-human:#243d32;--fm-delivery:#25364c;--fm-physical:#413724;--fm-craft:#372e46;--fm-digital:#233c43;--fm-sustain:#343c23; }
  }
}
@media (max-width: 650px) {
  #forbes-elements-map { padding: 20px 14px; }
  #forbes-elements-map .fm-filters, #forbes-elements-map .fm-note-fields { grid-template-columns: 1fr; }
  #forbes-elements-map select { font-size: 16px; }
  #forbes-elements-map .fm-navigation { align-items: flex-start; }
}
@media (pointer: coarse) {
  #forbes-elements-map button, #forbes-elements-map summary, #forbes-elements-map select { min-height: 44px; }
}
@media print {
  :root { color-scheme: light; }
  #forbes-elements-map { padding: 0; }
  #forbes-elements-map .fm-navigation, #forbes-elements-map .fm-filters, #forbes-elements-map .fm-grid, #forbes-elements-map .fm-storage, #forbes-elements-map .fm-map-note, #forbes-elements-map .fm-filter-count, #forbes-elements-map .fm-link-buttons, #forbes-elements-map .fm-pair { display: none; }
  #forbes-elements-map .fm-columns { grid-template-columns: 1fr; }
  #forbes-elements-map .fm-case-answer, #forbes-elements-map .fm-practice { break-inside: avoid; }
}
