      /* ============================================================
   FUNDAMENT — "Haus des Lebens"
   Bewusst eigene, vom Rest der App abweichende Optik (warmes
   Schwarz/Gold statt Graphit/Amber) — ausschließlich für diesen einen
   Tab, per Nutzer-Vorgabe. Alle Farb-/Schriftvariablen sind lokal auf
   .fundamentHouse gescoped, NIE auf :root, damit nichts davon in den
   Rest der App durchsickert.
   ============================================================ */
      .fundamentHouse {
        font-family: var(--font-ui);
      }
      .fhCrestWrap {
        max-width: 640px;
        margin: 32px auto 0;
      }
      svg.fhCrest {
        width: 100%;
        height: auto;
        overflow: visible;
      }
      .fhRoofShape {
        fill: var(--fh-gold);
        cursor: pointer;
        transition: fill 0.15s ease;
      }
      .fhRoofShape:hover {
        fill: var(--fh-gold-hover);
      }
      .fhRibbonBg {
        fill: var(--fh-rust);
      }
      .fhRibbonText {
        font-family: "Big Shoulders Display", sans-serif;
        font-weight: 800;
        font-size: var(--fs-xl);
        fill: var(--fh-cream);
        text-transform: uppercase;
        letter-spacing: 0.03em;
      }
      .fhRoofBox {
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        box-sizing: border-box;
      }
      .fhRoofContent {
        font-family: var(--font-ui);
        font-size: var(--fs-sm);
        color: var(--fh-gold-ink);
        font-weight: 600;
        line-height: 1.35;
        overflow: hidden;
        display: -webkit-box;
        -webkit-line-clamp: 4;
        -webkit-box-orient: vertical;
      }
      .fhPillarShape {
        fill: var(--fh-rust);
        cursor: pointer;
        transition: fill 0.15s ease;
      }
      .fhPillarShape:hover {
        fill: var(--fh-rust-hover);
      }
      .fhPillarBox {
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding: 18px;
        box-sizing: border-box;
      }
      .fhPillarText {
        font-family: "Big Shoulders Display", sans-serif;
        font-weight: 800;
        font-size: var(--fs-2xl);
        line-height: 1.15;
        text-transform: uppercase;
        color: var(--fh-cream);
        letter-spacing: 0.01em;
      }
      .fhFoundShape {
        fill: var(--fh-bg-2);
        stroke: var(--fh-gold);
        stroke-width: 3;
        cursor: pointer;
      }
      .fhFoundLabel {
        font-family: "Big Shoulders Display", sans-serif;
        font-weight: 900;
        font-size: var(--fs-2xl);
        fill: var(--fh-gold);
        text-transform: uppercase;
        letter-spacing: 0.04em;
      }
      .fhFoundSub {
        font-family: var(--font-ui);
        font-size: var(--fs-xs);
        fill: var(--fh-dim);
        font-weight: 600;
        letter-spacing: 0.02em;
      }
      .fhBrick {
        stroke: var(--fh-brick);
        stroke-width: 1;
      }
      .fhEditPin {
        fill: var(--fh-bg);
        stroke: var(--fh-cream);
        stroke-width: 1.4;
      }
      .fhEditPinIcon {
        fill: none;
        stroke: var(--fh-cream);
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round;
      }
      .fhHit {
        cursor: pointer;
      }
      .fhEmpty {
        font-size: var(--fs-xs);
        color: var(--fh-dim);
        padding: 10px 0;
      }
      .fhHint {
        text-align: center;
        font-size: var(--fs-xs);
        color: var(--fh-dim);
        margin-top: 18px;
        letter-spacing: 0.02em;
      }
      .fhHint b {
        color: var(--fh-gold);
      }
      .fhEditOverlay {
        position: fixed;
        inset: 0;
        background: var(--fh-scrim);
        backdrop-filter: blur(3px);
        display: none;
        align-items: center;
        justify-content: center;
        z-index: 500;
        padding: 20px;
      }
      .fhEditOverlay.show {
        display: flex;
      }
      .fhEditCard {
        background: var(--fh-bg-2);
        border: 2px solid var(--fh-gold);
        border-radius: var(--r-sm);
        padding: 28px;
        max-width: 440px;
        width: 100%;
      }
      .fhEditTag {
        font-family: "Big Shoulders Display", sans-serif;
        font-weight: 800;
        font-size: var(--fs-xl);
        color: var(--fh-gold);
        text-transform: uppercase;
        margin-bottom: 6px;
      }
      .fhEditTip {
        font-size: var(--fs-xs);
        color: var(--fh-dim);
        margin-bottom: 18px;
        line-height: 1.5;
      }
      .fhEditCard textarea {
        width: 100%;
        min-height: 90px;
        background: var(--fh-bg);
        border: 1px solid var(--fh-line);
        border-radius: var(--r-sm);
        color: var(--fh-cream);
        font-family: var(--font-ui);
        font-size: var(--fs-md);
        padding: 14px;
        resize: vertical;
        line-height: 1.5;
      }
      .fhEditCard textarea:focus {
        outline: none;
        border-color: var(--fh-gold);
      }
      .fhEditActions {
        display: flex;
        justify-content: flex-end;
        gap: 10px;
        margin-top: 16px;
      }
      .fhEditActions button {
        font-family: var(--font-ui);
        font-weight: 700;
        font-size: var(--fs-sm);
        padding: 10px 18px;
        border-radius: var(--r-sm);
        cursor: pointer;
        border: none;
      }
      .fhBtnCancel {
        background: transparent;
        color: var(--fh-dim);
        border: 1px solid var(--fh-line) !important;
      }
      .fhBtnSave {
        background: var(--fh-gold);
        color: var(--fh-gold-ink);
      }
      .fhEditorHead {
        text-align: center;
        margin: 56px auto 32px;
        max-width: 1080px;
        scroll-margin-top: 24px;
      }
      .fhEditorKicker {
        font-size: var(--fs-sm);
        font-weight: 700;
        letter-spacing: 0.1em;
        color: var(--fh-gold);
        margin-bottom: 10px;
      }
      .fhEditorHead h2 {
        font-family: "Big Shoulders Display", sans-serif;
        font-weight: 900;
        font-size: clamp(var(--fs-2xl), 5vw, var(--fs-3xl));
        text-transform: uppercase;
        line-height: 1;
        color: var(--fh-cream);
      }
      .fhGrid {
        max-width: 1080px;
        margin: 0 auto;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 2px;
        background: var(--fh-line);
        border: 2px solid var(--fh-line);
      }
      @media (max-width: 1024px) {
        .fhGrid {
          grid-template-columns: repeat(2, 1fr);
        }
      }
      @media (max-width: 640px) {
        .fhGrid {
          grid-template-columns: 1fr;
        }
      }
      .fhCol {
        background: var(--fh-bg-2);
        padding: 20px 16px 16px;
        display: flex;
        flex-direction: column;
        min-height: 340px;
      }
      .fhColHead {
        display: flex;
        align-items: baseline;
        gap: 8px;
        margin-bottom: 16px;
        padding-bottom: 12px;
        border-bottom: 2px solid;
      }
      .fhCol[data-cat="traeume"] .fhColHead {
        border-color: var(--fh-gold);
      }
      .fhCol[data-cat="werte"] .fhColHead {
        border-color: var(--fh-rust);
      }
      .fhCol[data-cat="ziele"] .fhColHead {
        border-color: var(--fh-cream);
      }
      .fhCol[data-cat="strategien"] .fhColHead {
        border-color: var(--fh-dim);
      }
      .fhColHead h3 {
        font-family: "Big Shoulders Display", sans-serif;
        font-weight: 800;
        font-size: var(--fs-xl);
        text-transform: uppercase;
        letter-spacing: 0.02em;
        color: var(--fh-cream);
      }
      .fhCnt {
        font-size: var(--fs-xs);
        color: var(--fh-dim);
        margin-left: auto;
        font-weight: 600;
      }
      .fhList {
        display: flex;
        flex-direction: column;
        gap: 10px;
        flex: 1;
        margin-bottom: 16px;
      }
      .fhItem {
        background: var(--fh-bg);
        border: 1px solid var(--fh-line);
        border-radius: var(--r-sm);
        padding: 12px 14px;
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 10px;
        cursor: pointer;
      }
      .fhItem .fhTxt {
        flex: 1;
        min-width: 0;
      }
      .fhItem .fhT {
        font-size: var(--fs-md);
        font-weight: 600;
        color: var(--fh-cream);
        margin-bottom: 3px;
        line-height: 1.4;
      }
      .fhItem .fhW {
        font-size: var(--fs-xs);
        color: var(--fh-dim);
        line-height: 1.5;
      }
      .fhItem .fhDel {
        background: transparent;
        border: none;
        color: var(--fh-dim);
        cursor: pointer;
        font-size: var(--fs-md);
        line-height: 1;
        padding: 2px 4px;
        flex-shrink: 0;
      }
      .fhItem .fhDel:hover {
        color: var(--fh-rust);
      }
      .fhItem .fhDot {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: var(--area, var(--fh-gold));
        flex-shrink: 0;
        margin-top: 6px;
      }
      .fhSub {
        font-size: var(--fs-xs);
        font-weight: 600;
        color: var(--fh-dim);
        margin-top: 6px;
      }
      .fhItem.fhPending {
        border-style: dashed;
      }
      .fhItem .fhPromote {
        background: transparent;
        border: 1px solid var(--fh-gold);
        color: var(--fh-gold);
        border-radius: var(--r-sm);
        padding: 4px 8px;
        font-size: var(--fs-xs);
        font-weight: 700;
        cursor: pointer;
        flex-shrink: 0;
      }
      .fhItem .fhPromote:hover {
        background: var(--fh-gold-tint);
      }
      .fhAdd {
        display: flex;
        flex-direction: column;
        gap: 8px;
      }
      .fhAdd input {
        background: var(--fh-bg);
        border: 1px dashed var(--fh-line);
        border-radius: var(--r-sm);
        padding: 10px 12px;
        color: var(--fh-cream);
        font-family: var(--font-ui);
        font-size: var(--fs-sm);
      }
      .fhAdd input::placeholder {
        color: var(--fh-dim);
      }
      .fhAdd input:focus {
        outline: none;
        border-color: var(--fh-gold);
        border-style: solid;
      }
      .fhAdd button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        background: transparent;
        border: 1px solid var(--fh-gold);
        color: var(--fh-gold);
        border-radius: var(--r-sm);
        padding: 9px;
        font-family: var(--font-ui);
        font-weight: 700;
        font-size: var(--fs-xs);
        cursor: pointer;
        letter-spacing: 0.03em;
      }
      .fhAdd button:hover {
        background: var(--fh-gold-tint);
      }
      .calendarChip[style*="--tg:"] {
        background: color-mix(in srgb, var(--tg) 18%, transparent);
        color: var(--tg);
      }
