/* tabua.css – Tábua de Cálculo */
body.tabua{background:radial-gradient(1200px 600px at 50% -10%,rgba(95,75,139,.35),transparent 60%),var(--bg)}
.tb{padding-top:76px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* Barra de data fixa */
.tb-bar{position:sticky;top:76px;z-index:30;background:rgba(7,10,28,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.tb-bar-in{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;padding-top:14px;padding-bottom:14px;max-width:1480px}
.tb-ns{display:flex;flex-direction:column;gap:4px;margin-right:auto;min-width:0}
.tb-ns strong{font:700 clamp(24px,3vw,34px)/1.05 var(--display);color:var(--gold)}
.tb-ns > span{font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;align-items:center}
/* Ziffern gleich breit und feste Mindestbreite: kein Nachrücken von Datum und Knöpfen, wenn sich Text oder Uhrzeit ändern */
.tb-ns{font-variant-numeric:tabular-nums}
#tb-sub{min-width:min(100%,25em)}
.tb-date{display:flex;align-items:center;gap:8px}
.tb-date .icon-btn{font-size:20px;cursor:pointer}
.tb-today{padding:10px 16px;font-size:12px}
/* anderes Datum als heute (auch von einer anderen Werkzeugseite übernommen): „Hoje“ = zurück zu heute, hervorgehoben */
.tb-today.dc-on{border-color:var(--gold);color:var(--gold);background:rgba(227,191,110,.1)}
.tb-actions{display:flex;gap:8px;align-items:center;flex-wrap:nowrap}
.tb-actions .icon-btn{cursor:pointer}
.tb-actions .icon-btn[aria-pressed=true]{border-color:var(--gold);color:var(--gold);background:rgba(227,191,110,.1)}
.tb-actions .icon-btn.ok{border-color:#25d366;color:#25d366}
.kin-chip{display:inline-flex;align-items:center;gap:7px;font-weight:500;color:var(--text)}
.kin-chip i{width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 2px rgba(255,255,255,.08)}

/* Layout */
.tb-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:34px;max-width:1480px;padding-top:30px;padding-bottom:40px}
.tb-nav{position:sticky;top:172px;align-self:start;max-height:calc(100vh - 190px);overflow:auto;padding-right:6px;scrollbar-width:thin}
.tb-select{display:none}
.tb-main{position:relative;min-width:0}
.tb-panel-head{margin-bottom:20px}
.tb-panel-head h2{font-size:clamp(26px,3.2vw,38px);margin-top:8px}
.tb-panels{display:grid;gap:20px}

/* Cartões */
.tb-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:24px 26px;min-width:0}
.tb-card h3{font-size:18px;margin-bottom:16px}
.tb-card h3 em{font:italic 400 13px var(--font);color:var(--faint);margin-left:6px}
.tb-lead{color:var(--muted);margin:0 0 16px}
.tb-hint{color:var(--faint);font-size:13px;margin:12px 0 0}
.tb-hint code{background:rgba(255,255,255,.06);padding:2px 6px;border-radius:6px}
.tb-kvs{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.tb-kv{padding:14px 16px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid var(--line);min-width:0}
.tb-kv small{display:block;font:600 10.5px/1.2 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:8px}
.tb-kv b{display:block;font:700 24px/1.1 var(--font);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
/* Untertitel der Kachel; nicht für eingesetzte Glossarbegriffe (span.gl-term, js/glossario-tip.js) – sonst zerfiel
   „V15.H19 · UMB 213“ in drei Zeilen (Korrektur 8, Fund 3) */
.tb-kv span:not(.gl-term){display:block;font-size:12.5px;color:var(--muted);margin-top:6px;line-height:1.35}
.tb-kv.k b{color:var(--gold)}
/* Kacheln mit Glyphe (Kin: Siegel + Ton, Plasma): gleiche Glyphenbox 38 × 47, Zahl bleibt groß */
.tb-kv-row{display:flex;align-items:center;gap:10px;min-width:0}
.tb-kv-row b{min-width:0}
.tb-kv-gl{flex:none;width:38px;height:47px;display:grid;place-items:center}
.tb-kv-gl svg{display:block;max-width:100%;max-height:100%}
.tb-kv.m{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.35)}

.tb-table{width:100%;border-collapse:collapse;font-size:14px}
.tb-table th,.tb-table td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.tb-table thead th{font:600 10.5px/1.3 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);background:rgba(95,75,139,.22)}
.tb-table tbody th{font-weight:600;color:var(--muted);white-space:nowrap}
.tb-table td.n{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.tb-table td.hl{color:var(--gold)}
.tb-table tr.sum td{border-bottom:0;color:var(--muted)}
.tb-pts tbody tr{cursor:pointer}
.tb-pts tbody tr:hover td{background:rgba(255,255,255,.03)}
.tb-pts td small{display:block;color:var(--faint);font-size:11px;margin-top:3px}
/* Spalte „Matriz 441“ (js/m441-sym.js): Eintrag der Matrix an der Koordinate, Runen 65–112 mit kleiner URH-Glyphe */
.sym441{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.sym441-g{flex:none;display:inline-grid;line-height:0}
.sym441-g svg{display:block}
.tb-card{overflow-x:auto}
.pt{display:inline-grid;place-items:center;min-width:30px;height:24px;padding:0 7px;border-radius:7px;font:700 12px var(--font);color:#111}
.pt-ph{background:#e3bf6e}.pt-t{background:#f0c94a}.pt-e{background:#5fd4f0}.pt-s{background:#ff6f66}.pt-m{background:#fff}
.tb-result{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.tb-steps{display:none;margin-top:20px;border-top:1px solid var(--line);padding-top:18px;gap:12px;scroll-margin-top:190px}
.show-steps .tb-steps{display:grid}
.tb-steps-h{margin:0;font:600 10.5px/1.2 var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.tb-step{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;align-items:start}
.tb-step > i{min-width:34px;height:34px;padding:0 4px;border-radius:17px;display:grid;place-items:center;background:rgba(227,191,110,.15);color:var(--gold);font:700 13px var(--font);font-style:normal}
/* só o título do passo em linha própria: <b> dentro do texto continua na frase */
.tb-step > div > b{display:block;font-size:14px}
.tb-step p{margin:4px 0 0;color:var(--muted);font-size:14px;overflow-wrap:anywhere}
.tb-step p b{color:var(--text)}
.tb-step code,.tb-src{font:500 12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--faint)}
.tb-src{display:block;margin-top:4px}
/* botão “Mostrar cálculos”: texto visível, também no celular */
/* mesma altura, borda e fundo dos botões redondos vizinhos (.icon-btn 40 px, site.css) */
.tb-steps-btn{height:40px;box-sizing:border-box;display:inline-flex;align-items:center;gap:7px;padding:0 15px 0 12px;border-radius:20px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--text);font:600 12.5px/1 var(--font);letter-spacing:.02em;white-space:nowrap;cursor:pointer;flex:none}
.tb-steps-btn:hover{border-color:var(--gold);color:var(--gold)}
.tb-steps-btn svg{width:18px;height:18px;flex:none}
.tb-steps-btn[aria-pressed=true]{border-color:var(--gold);color:var(--gold);background:rgba(227,191,110,.12)}
.tb-steps-btn[aria-disabled=true]{opacity:.5;border-style:dashed}
.tb-steps-btn[aria-disabled=true][aria-pressed=true]{color:var(--muted);border-color:var(--line);background:none}
.tb-nocalc{margin:10px 0 0;padding:8px 12px;border-radius:10px;border:1px dashed var(--line);color:var(--muted);font-size:13px}
.tb-nocalc[hidden]{display:none}
/* tabelas extras (lente, sincrômetro, FH por dia, chaves) */
.tb-mini{width:100%;border-collapse:collapse;font-size:13px}
.tb-mini th,.tb-mini td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap}
.tb-mini thead th{font:600 10px/1.3 var(--font);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);background:rgba(95,75,139,.22)}
.tb-mini tbody th{color:var(--muted);font-weight:600;text-align:left}
.tb-mini td small{display:block;color:var(--faint);font-size:10.5px}
.tb-mini .col-on{background:rgba(227,191,110,.07)}
.tb-mini tr.on td,.tb-mini tr.on th,.tb-mini td.on{background:rgba(227,191,110,.2);color:var(--text);font-weight:700}
.tb-mini tr.on td,.tb-mini tr.on th{border-top:1px solid rgba(227,191,110,.7);border-bottom:1px solid rgba(227,191,110,.7)}
.tb-mini td.on{box-shadow:inset 0 0 0 1.5px var(--gold)}
.tb-mini td.l{text-align:left;white-space:normal}
.tb-sinc{min-width:860px}
.tb-sinc td{padding:5px 4px;font-size:12px}
.tb-sinc .sg{display:flex;flex-direction:column;align-items:center;gap:2px;margin:0 auto 3px;width:26px}
.tb-sinc .sg img{display:block;width:26px;height:auto}
.tb-sinc td:not(.on):not(.col-on) .sg{opacity:.82}
.tb-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
.tb-list li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.025);color:var(--muted);font-size:14px;line-height:1.55}
.tb-list li b{color:var(--gold);font-variant-numeric:tabular-nums}
.tb-list li.on{border-color:var(--gold);background:rgba(227,191,110,.1);color:var(--text)}
.tb-list li.on b::after{content:' ●';font-size:9px;vertical-align:middle}
.tb-poem{margin:10px 0 0;color:var(--muted);font:400 14px/1.6 var(--font)}
.tb-poem span:not(.gl-term){display:block}
.tb-arq-txt{margin-top:14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;align-items:start}
.tb-arq-txt summary .tb-src{font:400 12px var(--font)}
.tb-arq-txt details{border:1px solid var(--line);border-radius:12px;padding:10px 14px;background:rgba(255,255,255,.025)}
.tb-arq-txt summary{cursor:pointer;font-weight:600;color:var(--text)}
.tb-arq-txt summary small{color:var(--gold);font-weight:700;letter-spacing:.08em;margin-right:6px}
.tb-texto h4{font-size:15px;margin:18px 0 6px;color:var(--text)}
.tb-texto p{color:var(--muted);margin:0 0 10px}
.tb-texto ul{color:var(--muted);margin:0 0 10px 20px}
.tb-gate small.ch{font-size:11.5px;color:var(--text);opacity:.85}

/* Portas do heptal */
.tb-gates{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.tb-gate{padding:16px 10px;border-radius:14px;text-align:center;border:1px solid var(--line);background:rgba(255,255,255,.03);display:grid;gap:4px}
.tb-gate i{font:700 11px var(--font);font-style:normal;color:var(--faint)}
.tb-gate b{text-transform:capitalize;font-size:14px}
.tb-gate strong{font:700 26px var(--display);color:var(--gold)}
.tb-gate span{font-size:12px;color:var(--muted)}
.tb-gate.on{border-color:var(--gold);background:rgba(227,191,110,.12);box-shadow:0 0 30px -8px rgba(227,191,110,.6)}

/* Matriz SVG: estilos em components.css */

/* Chaves */
.tb-chapter{font:600 12px var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin:20px 0 8px}
.tb-quote{margin:14px 0 0;padding:20px 24px;border-left:3px solid var(--gold);background:rgba(227,191,110,.06);border-radius:0 14px 14px 0;font:500 18px/1.65 var(--display);color:#e9e6ff}
.tb-quote.alt{border-left-color:var(--violet);background:rgba(123,92,196,.1)}

/* Sincrômetro */
.tb-clock{position:relative;width:min(280px,100%);aspect-ratio:1;margin:26px auto 10px;border-radius:50%;background:radial-gradient(circle,rgba(123,92,196,.25),transparent 70%);border:1px solid var(--line)}
.tb-clock span{position:absolute;left:50%;top:50%;width:30px;height:30px;margin:-15px;display:grid;place-items:center;border-radius:50%;font:600 11px var(--font);color:var(--faint);background:rgba(255,255,255,.03)}
.tb-clock span.on{background:var(--gold);color:#111;box-shadow:0 0 20px rgba(227,191,110,.7)}
.tb-clock-c{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.tb-clock-c b{font:700 40px var(--display);color:var(--gold)}
.tb-clock-c small{color:var(--faint);font-size:11px;letter-spacing:.14em;text-transform:uppercase}

.tb-note{max-width:1480px;padding-bottom:60px;color:var(--faint);font-size:13px}
.tb-note a{color:var(--cyan)}

@media (max-width:1100px){
  .tb-gates{grid-template-columns:repeat(4,minmax(0,1fr))}
  .tb-two{grid-template-columns:1fr}
}
/* Tablet (900–1100 px): zwei Spalten wie am Desktop – Bereiche links als schmale Seitenleiste, Inhalt rechts
   (Seitenleiste klebt unter der kompakten Datumsleiste: 76 px Kopf + 57 px Leiste + Abstand) */
@media (min-width:900px) and (max-width:1100px){
  .tb-layout{grid-template-columns:208px minmax(0,1fr);gap:22px}
  .tb-nav{top:150px;max-height:calc(100vh - 166px)}
}
/* Handy und kleines Tablet (< 900 px): eine Spalte, Bereiche als Auswahlliste */
@media (max-width:899px){
  .tb-layout{grid-template-columns:1fr;gap:18px}
  .tb-nav{position:static;max-height:none;overflow:visible}
  .tb-select{display:block}
  .tb-select select{width:100%;background:var(--panel-solid);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font:500 15px var(--font)}
}
@media (max-width:640px){
  .tb-bar{top:76px}
  .tb-bar-in{gap:10px}
  .tb-ns strong{font-size:22px}
  .tb-date input{flex:1;min-width:0}
  .tb-date{width:100%}
  .tb-actions{width:100%}
  .tb-actions .icon-btn{display:none}          /* no celular fica só o botão “Mostrar cálculos” */
  .tb-steps-btn{flex:1;justify-content:center}
  .tb-bar.compact .tb-steps-btn{height:34px}
  /* klebende Leiste beim Scrollen (≤ 640 px): nur NS-Datum, dann Datumsfeld + „Rechenwege“ in einer Zeile (statt ~190 px Höhe) */
  .tb-bar.compact #tb-sub,.tb-bar.compact .tb-today,.tb-bar.compact .tb-help{display:none!important}
  .tb .tb-bar.compact .tb-bar-in{gap:6px 8px}
  .tb .tb-bar.compact .tb-ns strong{font-size:16px}
  .tb-bar.compact .tb-date{width:auto;flex:1 1 0;min-width:210px;gap:6px}   /* lange NS-Angabe (Sondertage): Datum rutscht in die zweite Zeile */
  .tb-bar.compact .tb-date .icon-btn{width:34px;height:34px;flex:none}
  .tb-bar.compact .tb-date .field{min-width:0;height:34px;padding-left:10px;padding-right:8px}
  .tb-bar.compact .tb-actions{width:auto;flex:none}
  .tb-bar.compact .tb-steps-btn{flex:none;width:34px;padding:0;justify-content:center}
  .tb-bar.compact .tb-steps-btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .tb-list li{grid-template-columns:44px minmax(0,1fr);font-size:13.5px}
  .tb-card{padding:18px 16px}
  .tb-gates{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tb-result{grid-template-columns:1fr}
  .tb-kv b{font-size:20px}
  .tb-table{font-size:12.5px}
  .tb-table th,.tb-table td{padding:8px 6px}
  .tb-calc th:nth-child(3),.tb-calc td:nth-child(3){display:none}
  .tb-calc thead th{font-size:9px;letter-spacing:.06em}
  .tb-pts th:nth-child(6),.tb-pts td:nth-child(6),.tb-pts th:nth-child(7),.tb-pts td:nth-child(7){display:none}
  /* Koordinaten des Tages: mit der Spalte „Matriz 441“ sind Sphäre · Dimension und Referenz die Spalten 7 und 8 */
  .tb-coord th:nth-child(6),.tb-coord td:nth-child(6){display:table-cell}
  .tb-coord th:nth-child(8),.tb-coord td:nth-child(8){display:none}
}
@media print{
  .topbar,.drawer,.fab,.tb-nav,.tb-actions,.tb-date,footer,.skip{display:none!important}
  body,body.tabua{background:#fff;color:#111}
  .tb{padding-top:0}
  .tb-bar{position:static;background:none;border:0}
  .tb-card{background:#fff;border-color:#ccc;break-inside:avoid}
  .tb-kv,.tb-gate{background:#fafafa;border-color:#ddd}
  .tb-kv span,.tb-lead,.tb-hint{color:#444}
  .tb-steps{display:grid!important}
  .mx-c text{fill:#222}
}
.tb-scroll{overflow-x:auto;margin:0 -6px;padding:0 6px}
.tb-idx{min-width:1100px;font-size:13px}
.tb-idx td{white-space:normal}
.tb-desc td{color:var(--muted);font-size:13px;border-bottom:1px solid var(--line);padding-top:0}
.tb-voc{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.tb-voc-i{padding:16px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.03)}
.tb-voc-i header{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.tb-voc-i header b{font:700 22px var(--display);color:var(--gold)}
.tb-voc-i header small{color:var(--faint);font-size:12px}
.tb-voc-i p{margin:0;color:var(--muted);font-size:14px}
.tb-voc-meta{display:flex;flex-wrap:wrap;gap:4px 12px;margin:0 0 8px;font-size:12.5px;color:var(--text)}
.tb-voc-meta i{font-style:normal;color:var(--faint);text-transform:uppercase;font-size:9.5px;letter-spacing:.1em}
/* mesmas cores das marcas na matriz (matrix-svg.js MARK_STYLE) */
.pt-psi{background:#7fe3c4}.pt-ke{background:#b9a3ff}
.pt-lt{background:#ff7ad9}.pt-hk{background:#9fb4ff}.pt-st{background:#c6f06b}.pt-sf{background:#ffb347}
.pt-fh{background:#ff8fa3}.pt-cp{background:#8fd3ff}.pt-moap{background:#f59f6b}.pt-urh{background:#5fe0a0}
.pt-d,.pt-g,.pt-an,.pt-at,.pt-o{background:#d2a8ff}
.tb-helio{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px;max-width:520px}
.tb-helio div{padding:16px 10px;border-radius:12px;border:1px solid var(--line);text-align:center;font-size:13px;color:var(--muted);background:rgba(255,255,255,.03)}
.tb-helio div.on{border-color:var(--gold);color:var(--text);background:rgba(227,191,110,.12)}
/* Hunab Ku 21 */
.hk-board{width:100%;max-width:560px;display:block;margin:6px auto 12px}
.hk-n circle{fill:#151b45;stroke:rgba(170,180,255,.4);stroke-width:1.5}
.hk-n.on circle{fill:#e3bf6e;stroke:#fff;stroke-width:2.5;filter:drop-shadow(0 0 8px rgba(227,191,110,.8))}
.hk-n text.u{font:700 11px var(--font);fill:#dfe3ff;text-anchor:middle}
.hk-n.on text.u{fill:#111}
.hk-n text.l{font:500 9.5px var(--font);fill:var(--muted);text-anchor:middle}
.hk-n text.r{font:700 10px var(--font);fill:var(--gold)}
.hk-today{animation:hkpulse 1.6s ease-in-out infinite}
@keyframes hkpulse{50%{stroke-opacity:.35}}
@media (prefers-reduced-motion:reduce){.hk-today{animation:none}}   /* kein Dauerpulsieren (GR-18) */
.tb-oraculo{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}
.tb-or{padding:14px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.03);text-align:center}
.tb-or img{width:84px;height:84px;object-fit:cover;object-position:50% 22%;border-radius:50%;margin:0 auto 10px;background:#fff;border:2px solid rgba(227,191,110,.6);box-shadow:0 0 22px -6px rgba(227,191,110,.7)}
.tb-or small{display:block;font:600 10.5px var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.tb-or b{display:block;margin:6px 0 4px;font-size:15px}
.tb-or span{font-size:12px;color:var(--faint)}
.tb-paths{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px}
.tb-paths li{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center;padding:8px 10px;border-radius:10px;border:1px solid var(--line);font-size:12.5px;color:var(--muted)}
.tb-paths li b{color:var(--gold)}
.tb-paths li em{font-style:normal;font-weight:700;color:var(--text)}
.tb-paths li.on{grid-column:1/-1;border-color:var(--gold);background:rgba(227,191,110,.1);color:var(--text)}
.tb-notes{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
.tb-notes div{padding:12px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.03);display:grid;gap:6px;justify-items:start}
.tb-notes b{font:700 18px var(--display)}
.tb-notes small{color:var(--faint);font-size:12px}
@media (max-width:980px){.tb-oraculo{grid-template-columns:repeat(2,minmax(0,1fr))}}
.hk-n text.l.mid{font-size:8.5px}
/* „Wege beschriften“: Nummer + Frequenz in der Wegmitte */
.hk-w rect{fill:#0b1030;stroke:rgba(170,180,255,.45);stroke-width:1}
.hk-w text{font:700 8.5px var(--font);fill:#dfe3ff;text-anchor:middle}
.hk-w text.fq{font-weight:500;font-size:7px;fill:#c9b37a}
.hk-w.on rect{stroke:#fff;fill:#2a2350}
.pick{width:32px;height:32px;margin-right:6px;border-radius:6px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--muted);cursor:pointer;vertical-align:middle;font-size:12px;line-height:1}
.pick:hover,.pick:focus-visible{border-color:var(--gold);color:var(--gold)}

/* Sem saltos de layout (CLS): espaço reservado enquanto o JS ainda não preencheu */
.tb-panels:empty{min-height:110vh}
/* bis zum ersten Panel: Platz in Höhe eines typischen Panels (Koordinaten des Tages), damit der Fuß nicht springt */
.tb-panels:not([data-panel]){min-height:max(110vh,1400px)}
.tb-ns > span{min-height:24px}
/* Hinweis „NS x.xx = vor dem Beginn der NS-Zählung“ ersetzt die Überzeile (eine Zeile, Überlänge mit „…“) */
.tb-ns .tb-prens{text-transform:none;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.dt-msg{margin:6px 0 0;padding:8px 12px;border-radius:10px;border:1px solid rgba(240,161,74,.5);background:rgba(240,161,74,.1);color:var(--text);font-size:13px;line-height:1.4}
.tb-bar-in .dt-msg{flex-basis:100%;margin:0}

/* Barra de data compacta ao rolar */
.tb-bar.compact .tb-bar-in{padding-top:8px;padding-bottom:8px;gap:8px 20px}
.tb-bar.compact .tb-ns .eyebrow{display:none}
.tb-bar.compact .tb-ns strong{font-size:20px}
.tb-bar.compact .tb-ns > span{font-size:12px;min-height:0}
.tb-bar.compact .tb-prens{display:none}
.tb-bar.compact .tb-date .field{padding-top:6px;padding-bottom:6px}

/* Matriz ampliada (vista em tela cheia) */
.tb-mx-zoom{margin-left:auto;cursor:pointer;font-size:12px;white-space:nowrap}
.tb-zoom{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;background:var(--bg,#070a1c);color:var(--text);display:none;flex-direction:column}
.tb-zoom[open]{display:flex}
.tb-zoom::backdrop{background:rgba(3,5,15,.85)}
.tb-zoom-head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);background:rgba(7,10,28,.95)}
.tb-zoom-head h2{flex:1;min-width:0;font-size:15px;line-height:1.3;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tb-zoom-btns{display:flex;gap:6px}
.tb-zoom-btns .icon-btn{cursor:pointer;font-size:18px}
.tb-zoom-body{flex:1;overflow:auto;touch-action:pan-x pan-y;overscroll-behavior:contain;padding:4px;-webkit-overflow-scrolling:touch}
/* Fokus beim Öffnen (auch per Maus/Tipp): sichtbarer Rahmen um die scrollbare Fläche, kräftiger bei Tastatur */
.tb-zoom-body:focus{outline:2px solid rgba(227,191,110,.55);outline-offset:-2px}
.tb-zoom-body:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.tb-zoom-svg{display:block;max-width:none}
.tb-zoom-info{margin:0;padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);font-size:13px;color:var(--muted);min-height:64px;background:rgba(7,10,28,.95)}
html.tb-zoom-open{overflow:hidden}
@media print{.tb-mx-zoom,.tb-zoom{display:none!important}}
@media (max-width:899px){.tb-nav{min-height:48px}.tb-select select{height:48px}}
.tb-mini th small{display:block;font-size:9px;letter-spacing:.06em;color:var(--faint);font-weight:500;text-transform:none}
.tb-steps > .tb-scroll{margin:0}

/* Kopfleiste Tablet (641–1100 px): NS + Untertitel füllen Zeile 1, Datum und Aktionen stehen IMMER in Zeile 2 –
   vorher stand das Datum bei „—“ neben der NS-Angabe und rutschte nach dem Füllen in Zeile 2 (CLS 0,33–0,41) */
@media (min-width:641px) and (max-width:1100px){
  .tb-bar-in{column-gap:12px}
  .tb-date,.tb-actions{gap:6px}
  .tb-ns{flex-basis:100%;margin-right:0}
  .tb-date{margin-right:auto}
  /* kompakte Leiste beim Scrollen: eine Zeile – NS, Datum, Aktionen nur als Icons (Beschriftung für Screenreader) */
  .tb-bar.compact .tb-ns{flex-basis:auto;margin-right:auto}
  .tb-bar.compact #tb-sub,.tb-bar.compact .tb-today,.tb-bar.compact .tb-help{display:none!important}
  .tb-bar.compact .tb-date{margin-right:0}
  .tb-bar.compact .tb-steps-btn{width:40px;padding:0;justify-content:center}
  .tb-bar.compact .tb-steps-btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
/* Untertitel: Trenner „·“ gehört zum Kin-Chip (bricht mit ihm um statt am Zeilenende zu hängen) */
#tb-sub .kin-chip{white-space:nowrap}
#tb-sub .kin-chip::before{content:"·";color:var(--muted);margin-right:1px}
/* Handy: Datum und Kin-Chip immer in eigenen Zeilen (ohne Trenner); Höhe beider Zeilen von Anfang an reserviert (CLS) */
@media (max-width:640px){
  #tb-sub{min-height:56px;align-content:flex-start}
  #tb-sub .tb-sub1{flex-wrap:wrap;row-gap:8px}
  #tb-sub .kin-chip{flex-basis:100%}
  #tb-sub .kin-chip::before{display:none}
}
/* Feste Zeilenstruktur des Untertitels (A3, 03.10.2026): Datum + Kin-Chip in einer Zeile, Überlänge mit „…“
   (voller Text im title). Vorher brach die Leiste bei langen Daten (PT/DE, „quarta-feira, 31 de dezembro de 9999“)
   um und die Aktionen rutschten 76 px nach unten (CLS ≈ 0,56). */
/* Überzeile und NS-Angabe immer einzeilig (sonst wechselt die Höhe der Leiste mit Breite und Datum) */
.tb-ns .eyebrow{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
/* Handy: IT/ES „Coordinate Synchronotron del giorno“ war um 5–23 px zu lang („…“) – engerer Buchstabenabstand (Fund 9) */
@media (max-width:640px){.tb-ns .eyebrow{letter-spacing:.12em}}
/* KE und Psi-Chrono: Tzolkin-Raster (js/tzolkin.js) – Platz schon vor dem Nachladen von tzolkin.css (technik.md Fund 9) */
.tb-tzk{display:grid;aspect-ratio:14/23;width:100%;max-width:460px;margin:0 auto}
#tb-ns{display:flex;align-items:baseline;min-width:0;white-space:nowrap}
#tb-ns .tb-nssp{font-size:.56em;margin-left:.25em;min-width:0;overflow:hidden;text-overflow:ellipsis}
#tb-sub .tb-sub1{display:flex;align-items:center;gap:8px;min-width:0;max-width:100%}
#tb-sub .tb-wd{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#tb-sub .kin-chip{flex:0 1 auto;min-width:0}
#tb-sub .kin-chip svg{flex:none}
#tb-sub .kc-t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (min-width:1101px){
  .tb-ns{flex:1 1 0;min-width:240px}
  #tb-sub{min-width:0}
}
/* Werte ohne Rune (Planilha „xxx“): „—“, Planilha-Wert im title */
.tb-norune{cursor:help;color:var(--muted)}
.tb-date .icon-btn:disabled{opacity:.35;cursor:default}
/* Touch-Ziele ≥ 40 px (Finger) */
@media (pointer:coarse){
  #tb-today,.tb-mx-zoom{min-height:40px}
  .pick{width:40px;height:40px}
}

/* Feature-Schalter „Rechentafel nur mit Konto“ (js/tabua-conta.js): sanfte Sperre, Tafel abgedeckt */
.tb-conta{position:sticky;top:96px;z-index:30;display:flex;justify-content:center;padding:28px 16px 0;margin-bottom:-100vh;pointer-events:none}
.tb-conta-card{pointer-events:auto;max-width:560px;padding:28px;border-radius:var(--radius);border:1px solid rgba(227,191,110,.45);background:var(--panel-solid);box-shadow:var(--shadow)}
.tb-conta-card h2{font-size:clamp(22px,3vw,30px);margin:10px 0 12px}
.tb-conta-card p{color:var(--muted);margin:0 0 14px}
.tb-conta-acoes{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 0!important}
.tb-coberto{filter:blur(6px) saturate(.6);opacity:.55;user-select:none;pointer-events:none}
@media (max-width:640px){.tb-conta{top:72px;padding-top:16px}.tb-conta-card{padding:20px 16px}}
.tb-bloqueada .tg-tip{display:none!important}   /* Einführung erst nach der Anmeldung */
@media print{.tb-conta{display:none}.tb-coberto{filter:none;opacity:1}}

/* Die Aktivierungspunkte in den Kreisläufen (js/tabua-panels-b.js 'pontos-circuitos'; Muster wie hipercubo.css .hc-ptl) */
.pc-l{list-style:none;margin:16px 0 8px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.pc-c{padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.02)}
.pc-c.sel{border-color:rgba(227,191,110,.55)}
.pc-h{margin:0 0 8px;font-size:14px}
.pc-h small{display:block;color:var(--faint);font-size:12px;margin-left:19px}
.pc-sw{display:inline-block;width:12px;height:12px;border-radius:3px;background:var(--c);box-shadow:0 0 8px color-mix(in srgb,var(--c) 60%,transparent);margin-right:7px;vertical-align:-1px}
.pc-ps{display:flex;flex-wrap:wrap;gap:6px}
.pc-p{display:inline-grid;grid-template-columns:auto auto;column-gap:6px;align-items:baseline;padding:6px 10px;border-radius:10px;border:1px solid color-mix(in srgb,var(--c) 45%,var(--line));background:rgba(255,255,255,.03);color:var(--text);font:600 12.5px/1.25 var(--font)}
.pc-p b{color:var(--c)}
.pc-p small{grid-column:1/-1;color:var(--faint);font-weight:500;font-size:11px}
.pc-box:has(> .tb-hint){min-height:260px}

/* ---------- UMBs e KE nach Gerds Excel (06.10.2026, js/tabua-ift.js): Kreuztabelle, drei Matrix-Ansichten, 21 Mächte ----------
   Farben: Variante „D · Excel gedämpft“ (Entscheidung 06.10.2026) – Gerds Farbtöne, entsättigt und dunkler, damit sie
   sich in die nachtblaue Seite einfügen. ALLE Farben des Bereichs stehen nur hier (eine Stelle zum Tauschen):
   --ift-org-t/e/s   Herkünfte Zeit · Raum · Synchron (Tageswerte, Rechentabelle, IFT-Kästen, Reiter, Abzeichen, Legenden);
                     Text darauf dunkel (--ift-ink), Kontrast ≥ 8 : 1
   --ift-t-o/v/x/w   Zeitmatrix: Rahmen mit Mond.Tagen · übrige Rahmen · Mittelkreuz · übrige Felder
   --ift-e-r/g/b/y   Raummatrix: Rahmen Kin 1–64 · 65–128 · 129–192 · 193–256; --ift-e-R/G/B/Y die vier Mittelfelder (Kin 257–260);
                     --ift-e-x Mittelkreuz, --ift-e-w übrige Felder
   --ift-s-p/g/d/x   Synchronmatrix: Spalten ohne Kin · Tzolkin · Portale (PAG) · Mittelkreuz
   Werte mit Alpha liegen über dem Zellgrund --ift-cell (Nachtblau der Seite). Druck (heller Grund): Originalfarben der Excel
   als Referenz zu Gerds Vorlage (Abschnitt @media print unten). */
:root{
  --ift-org-t:#8fb86a;--ift-org-e:#d6c85a;--ift-org-s:#d6a04a;--ift-ink:#1a1405;--ift-cell:var(--bg-2);
  --ift-t-o:#c98a4a66;--ift-t-v:#8a7ab866;--ift-t-x:#5f7fa866;--ift-t-w:#ffffff08;
  --ift-e-r:#b85a5a88;--ift-e-g:#8aa86a77;--ift-e-b:#4f78b088;--ift-e-y:#c8b86077;
  --ift-e-R:#b85a5a;--ift-e-G:#8aa86a;--ift-e-B:#4f78b0;--ift-e-Y:#c8b860;--ift-e-x:#5f7fa855;--ift-e-w:#ffffff08;
  --ift-s-p:#b87a8a55;--ift-s-g:#6f9a6a44;--ift-s-d:#3f6a45dd;--ift-s-x:#5f7fa855;
  /* Kurznamen der Herkünfte (js/tabua-ift.js: --c1/--c2 der Tageswert-Zellen) */
  --ift-t:var(--ift-org-t);--ift-e:var(--ift-org-e);--ift-s:var(--ift-org-s);
  /* FH-Tabelle (Bereich „Meister-IFT und Harmonische Frequenz“): Plasmafarben der Excel gedämpft – Dali/Alfa gelb, Seli/Limi rot,
     Gama/Silio weiß (hier helles Grau), Kali blau; Schrift --ift-ink, Kontrast ≥ 4,9 : 1 (WCAG AA) */
  --fh-y:#c8b860;--fh-r:#c46a6a;--fh-w:#c9ccd6;--fh-b:#6a8cc4}
.ift .pt-t{background:var(--ift-t)}.ift .pt-e{background:var(--ift-e)}.ift .pt-s{background:var(--ift-s)}
.ift .pt{color:var(--ift-ink)}
/* Kreuztabelle */
.ift-tw{overflow-x:auto}
.ift-calc{font-size:14px}
.ift-calc thead th{vertical-align:bottom}
.ift-calc thead th.ift-grp{text-align:center;color:var(--muted);border-bottom:0}
.ift-calc thead th.ift-h{text-align:center;color:var(--ift-ink);letter-spacing:.06em;background:var(--c)}
.ift-calc thead th.ift-h-t{--c:var(--ift-t)}.ift-calc thead th.ift-h-e{--c:var(--ift-e)}.ift-calc thead th.ift-h-s{--c:var(--ift-s)}
.ift-calc .ift-rh{white-space:normal;color:var(--text);border-left:6px solid var(--c);background:color-mix(in srgb,var(--c) 14%,transparent)}
.ift-r-t{--c:var(--ift-t)}.ift-r-e{--c:var(--ift-e)}.ift-r-s{--c:var(--ift-s)}
.ift-rh .pt{margin-right:8px;vertical-align:middle}
.ift-rn small{font-weight:400;color:var(--muted)}
.ift-m{display:none}
.ift-ref-k{color:var(--muted)}
.ift-calc td.ift-sum,.ift-calc td.ift-v{text-align:center}
.ift-calc td.ift-sum small,.ift-calc td.ift-v small{display:block;font:500 11px/1.2 var(--font);color:var(--muted);white-space:nowrap}
.ift-calc td.ift-sum b{color:var(--gold);font-size:18px}
.ift-calc td.ift-v b{font-size:17px}
.ift-calc td.ift-v{background:color-mix(in srgb,var(--c) 12%,transparent);border-left:1px solid var(--line)}
.ift-v-t{--c:var(--ift-t)}.ift-v-e{--c:var(--ift-e)}.ift-v-s{--c:var(--ift-s)}
.ift-calc tfoot th,.ift-calc tfoot td{border-bottom:0;padding-top:14px}
.ift-calc tfoot th{text-align:right;color:var(--text);font-weight:700}
.ift-calc td.ift-fmc{text-align:center}
.ift-calc td.ift-fmc b{display:inline-block;min-width:64px;padding:5px 10px;border-radius:8px;background:rgba(227,191,110,.12);box-shadow:inset 0 0 0 1px rgba(227,191,110,.55);color:var(--gold);font-size:20px}
.ift-fmc-f{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.ift-tabs .ta-tabs{border-radius:14px}
.ift-defs{margin:16px 0 0;display:grid;gap:4px;font-size:14px;color:var(--muted)}
.ift-defs div{display:flex;flex-wrap:wrap;gap:0 8px}
.ift-defs dt{font-weight:700;color:var(--text)}
.ift-defs dd{margin:0}
.ift-defs u{text-decoration-thickness:2px;text-underline-offset:3px;color:var(--text)}
/* Reiter der drei Matrizen */
.ift-tabs .ta-tab-b::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:7px;vertical-align:-1px;background:var(--c);box-shadow:0 0 0 1px rgba(0,0,0,.35)}
.ift-tab-t{--c:var(--ift-t)}.ift-tab-e{--c:var(--ift-e)}.ift-tab-s{--c:var(--ift-s)}
.ift-tp:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:8px}
.ift-boxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;margin:4px 0 20px}
.ift-box{border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:13.5px;background:rgba(255,255,255,.02)}
.ift-o-t{--c:var(--ift-t)}.ift-o-e{--c:var(--ift-e)}.ift-o-s{--c:var(--ift-s)}
.ift-box p{margin:0}
.ift-box-h{display:flex;justify-content:space-between;gap:8px;padding:6px 12px;background:var(--c);color:var(--ift-ink);font-weight:600}
.ift-box-t{padding:7px 12px;font-weight:700;text-align:center;border-bottom:1px solid var(--line)}
.ift-box ul{list-style:none;margin:0;padding:0}
.ift-box li{display:grid;grid-template-columns:4.8em 3.2em minmax(0,1fr);align-items:stretch;border-bottom:1px solid var(--line);color:var(--muted);font-variant-numeric:tabular-nums}
.ift-box li > *{padding:4px 8px;display:flex;align-items:center}
.ift-box li b{font-weight:500;justify-content:flex-end}
.ift-box li.on{color:var(--text)}
.ift-box li.on .c,.ift-box li.on b{background:var(--c);color:var(--ift-ink);font-weight:700}
.ift-box-s{padding:5px 12px;color:var(--muted);text-align:center;font-variant-numeric:tabular-nums}
/* Matrix 21 × 21 */
.ift-mx-h{font:700 17px/1.3 var(--display);text-align:center;margin:0 0 10px}
.ift-mx-r{font:400 13px var(--font);color:var(--muted)}
.ift-mxw{container-type:inline-size;max-width:720px;margin:0 auto}
.ift-mx{display:grid;grid-template-columns:minmax(0,1.25fr) repeat(21,minmax(0,1fr));gap:1px;background:rgba(170,180,255,.22);border:1px solid rgba(170,180,255,.3);font-size:clamp(7px,1.9cqw,13px);line-height:1}
.ift-mx > i{display:grid;place-items:center;aspect-ratio:1;font-style:normal;min-width:0;background:var(--ift-cell)}
.ift-mx > i.ift-ax{background:var(--panel-solid);color:var(--muted);font-size:.85em;aspect-ratio:auto;padding:3px 0}
.ift-mx > i.ift-ax:nth-child(n+23){padding:0 2px}
.ift-mx > i.ift-on{background:linear-gradient(135deg,var(--c1) 50%,var(--c2) 50%);color:var(--ift-ink);font-weight:700;box-shadow:inset 0 0 0 2px var(--ift-ink),0 0 0 2px #f3f1ea;position:relative;z-index:1}
@container (max-width:430px){ .ift-ax-p{display:none} .ift-mx > i.ift-on b{display:none} }
/* Strukturfarben: je Klasse die Variable aus :root oben (--k), gelegt über den Zellgrund (Gliederung wie in der Excel) */
.ift-mx > i[class*="mx-"],.ift-sw[class*="mx-"],.ift-sw-q > i{background:linear-gradient(var(--k),var(--k)),var(--ift-cell)}
.ift-mx .mx-t-o,.mx-t-o.ift-sw{--k:var(--ift-t-o)}
.ift-mx .mx-t-v,.mx-t-v.ift-sw{--k:var(--ift-t-v)}
.ift-mx .mx-t-x,.mx-t-x.ift-sw{--k:var(--ift-t-x)}
.ift-mx .mx-t-w,.mx-t-w.ift-sw{--k:var(--ift-t-w)}
.ift-mx .mx-e-r,.mx-e-r.ift-sw{--k:var(--ift-e-r)}
.ift-mx .mx-e-g,.mx-e-g.ift-sw{--k:var(--ift-e-g)}
.ift-mx .mx-e-b,.mx-e-b.ift-sw{--k:var(--ift-e-b)}
.ift-mx .mx-e-y,.mx-e-y.ift-sw{--k:var(--ift-e-y)}
.ift-mx .mx-e-R,.ift-sw .mx-e-R{--k:var(--ift-e-R)}
.ift-mx .mx-e-G,.ift-sw .mx-e-G{--k:var(--ift-e-G)}
.ift-mx .mx-e-B,.ift-sw .mx-e-B{--k:var(--ift-e-B)}
.ift-mx .mx-e-Y,.ift-sw .mx-e-Y{--k:var(--ift-e-Y)}
.ift-mx .mx-e-x,.mx-e-x.ift-sw{--k:var(--ift-e-x)}
.ift-mx .mx-e-w,.mx-e-w.ift-sw{--k:var(--ift-e-w)}
.ift-mx .mx-s-p,.mx-s-p.ift-sw{--k:var(--ift-s-p)}
.ift-mx .mx-s-g,.mx-s-g.ift-sw{--k:var(--ift-s-g)}
.ift-mx .mx-s-d,.mx-s-d.ift-sw{--k:var(--ift-s-d)}
.ift-mx .mx-s-x,.mx-s-x.ift-sw{--k:var(--ift-s-x)}
.ift-mx > i.ift-on{background:linear-gradient(135deg,var(--c1) 50%,var(--c2) 50%)}
.ift-vals,.ift-leg{list-style:none;margin:12px auto 0;padding:0;max-width:720px;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--muted)}
.ift-vals li{display:flex;align-items:center;gap:6px;color:var(--text)}
.ift-vals li small{color:var(--muted)}
.ift-leg li{display:flex;align-items:center;gap:6px}
.ift-sw{flex:none;width:14px;height:14px;border-radius:3px;border:1px solid rgba(170,180,255,.35)}
.ift-sw-q{display:grid;grid-template-columns:1fr 1fr;overflow:hidden}
.ift-sw-q i{display:block}
/* IFT (M) / FMC und die 21 Mächte */
.ift-fmc-big{display:inline-grid;grid-template-columns:auto auto;align-items:baseline;gap:2px 14px;padding:12px 18px;border-radius:12px;background:rgba(227,191,110,.1);box-shadow:inset 0 0 0 1px rgba(227,191,110,.5);color:var(--text)}
.ift-fmc-big small{grid-column:1/-1;font:700 11px/1.2 var(--font);letter-spacing:.14em;color:var(--gold)}
.ift-fmc-big b{font:700 34px/1 var(--font);font-variant-numeric:tabular-nums;color:var(--gold)}
.ift-fmc-big span{font-variant-numeric:tabular-nums;color:var(--muted)}
.ift-calc-l{margin:14px 0 6px;font-variant-numeric:tabular-nums}
.ift-merk{margin:0 0 18px;padding:12px 16px;border-left:3px solid var(--gold);background:rgba(227,191,110,.08);border-radius:0 10px 10px 0}
.ift-merk b,.ift-merk span{display:block}
.ift-merk span{margin-top:4px;color:var(--gold);font-size:13.5px;letter-spacing:.03em}
.ift-pod-h{font:700 17px/1.3 var(--display);margin:6px 0 12px;scroll-margin-top:190px}
.ift-pod-h small{font:400 13px var(--font);color:var(--muted)}
.ift-pod-h:focus{outline:none}
.ift-pod{display:grid;gap:12px}
.ift-ord{padding:0;border-left:4px solid var(--oc);border-radius:10px;background:rgba(255,255,255,.025)}
.ift-ord-1{--oc:#7fe3c4}.ift-ord-2{--oc:#6fb2f2}.ift-ord-3{--oc:#b9a3ff}   /* Minze · Himmelblau · Flieder (CIRC_COL-Familie) */
.ift-ord h5{margin:0;padding:8px 14px;font:600 11px/1.3 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--oc);border-bottom:1px solid var(--line)}
.ift-ord ol{list-style:none;margin:0;padding:0}
.ift-pl{display:grid;grid-template-columns:7.2em 2.2em minmax(0,1fr);gap:0 10px;align-items:baseline;padding:6px 14px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}
.ift-pl:last-child{border-bottom:0}
.ift-pl .f{font-variant-numeric:tabular-nums;white-space:nowrap}
.ift-pl .nr{font-weight:700;color:var(--text);text-align:right}
.ift-pl .nm{letter-spacing:.02em}
.ift-pl.on{background:rgba(227,191,110,.12);box-shadow:inset 0 0 0 1px var(--gold);color:var(--text);border-radius:6px}
.ift-pl.on .nr,.ift-pl.on .nm{color:var(--gold);font-weight:700}
.ift-bar{grid-column:1/-1;position:relative;height:32px;margin:6px 0 2px}
.ift-bar::before{content:"";position:absolute;left:0;right:0;top:8px;height:6px;border-radius:3px;background:linear-gradient(90deg,rgba(227,191,110,.15),rgba(227,191,110,.45))}
.ift-bar i{position:absolute;left:var(--p);top:2px;width:3px;height:18px;margin-left:-1.5px;border-radius:2px;background:var(--gold)}
.ift-bar em{position:absolute;left:clamp(14px,var(--p),calc(100% - 14px));top:21px;transform:translateX(-50%);font:700 11px/1 var(--font);font-style:normal;color:var(--gold);white-space:nowrap}
.tb-result.ift-res{margin-top:0}
/* FH-Tabelle nach Gerds Excel („cálculo frequência harmônica_FH“): Zeilen in der Plasmafarbe, Tage nach heute leer */
.fh-tab{font-size:14px;border-collapse:separate;border-spacing:0 3px}
.tb-table.fh-tab th,.tb-table.fh-tab td{border-bottom:0}
.fh-tab thead th{text-align:center;vertical-align:bottom;color:var(--muted);font-size:12px;letter-spacing:.04em}
.fh-tab thead th.fh-ref{border-bottom:1px solid var(--line)}
.fh-tab tbody tr{background:var(--c);color:var(--ift-ink)}
.fh-tab tbody th,.fh-tab tbody td{color:var(--ift-ink);text-align:center;vertical-align:middle}
.fh-tab tbody th{font-weight:700;text-align:left;padding-left:14px;border-radius:8px 0 0 8px}
.fh-tab tbody td:last-child{border-radius:0 8px 8px 0}
.fh-c-y{--c:var(--fh-y)}.fh-c-r{--c:var(--fh-r)}.fh-c-w{--c:var(--fh-w)}.fh-c-b{--c:var(--fh-b)}
.fh-tab tr.fh-x{background:color-mix(in srgb,var(--c) 42%,var(--bg-2))}
.fh-tab tr.fh-x th,.fh-tab tr.fh-x td{color:var(--text)}
.fh-tab tr.on th,.fh-tab tr.on td{box-shadow:inset 0 2px 0 var(--ift-ink),inset 0 -2px 0 var(--ift-ink)}
.fh-tab tr.on th{box-shadow:inset 0 2px 0 var(--ift-ink),inset 0 -2px 0 var(--ift-ink),inset 2px 0 0 var(--ift-ink)}
.fh-tab tr.on td:last-child{box-shadow:inset 0 2px 0 var(--ift-ink),inset 0 -2px 0 var(--ift-ink),inset -2px 0 0 var(--ift-ink)}
.fh-tab td.fh-m b{font-size:17px;font-variant-numeric:tabular-nums}
.fh-tab td.fh-pl{min-width:13em;line-height:1.35;font-size:12.5px}
.fh-tab td.fh-pl b,.fh-tab td.fh-pl span{display:block}
.fh-tab td.fh-pl span.sr{position:absolute}
.fh-tab tfoot th,.fh-tab tfoot td{padding-top:12px;vertical-align:middle}
.fh-tab tfoot th{text-align:right;color:var(--text);font-weight:700}
.fh-tab td.fh-sum{text-align:center}
.fh-tab td.fh-sum b{display:inline-block;min-width:64px;padding:5px 10px;border-radius:8px;background:rgba(227,191,110,.12);box-shadow:inset 0 0 0 1px rgba(227,191,110,.55);color:var(--gold);font-size:20px;font-variant-numeric:tabular-nums}
.fh-tab td.fh-txt,.fh-tab .fh-txt-m td{font-size:12.5px;line-height:1.4;color:var(--gold);letter-spacing:.02em;text-align:center}
.fh-tab tr.fh-txt-m{display:none}
.fh-dias{display:grid;gap:4px;margin:8px 0 2px;font-variant-numeric:tabular-nums}
.tb-steps-card{display:none}
.show-steps .tb-steps-card{display:block}
.tb-steps-card .tb-steps{margin-top:0;border-top:0;padding-top:0}
@media (max-width:640px){
  .ift-calc .ift-ref,.ift-calc .ift-co{display:none}
  .ift-m{display:block;margin-top:3px;font:500 11px/1.3 var(--font);color:var(--muted)}
  .ift-calc{font-size:12.5px}
  .tb-table.ift-calc th,.tb-table.ift-calc td{padding:7px 4px}
  .ift-calc .ift-rh{border-left-width:4px}
  .ift-rh .pt{min-width:24px;height:20px;padding:0 5px;margin-right:4px}
  .ift-calc thead th.ift-h{font-size:8.5px;letter-spacing:.02em}
  .ift-calc td.ift-sum small,.ift-calc td.ift-v small{display:none}
  .ift-calc td.ift-sum b{font-size:15px}.ift-calc td.ift-v b{font-size:14px}
  .ift-calc td.ift-fmc b{min-width:0;font-size:16px;padding:4px 6px}
  .ift-calc tfoot th{font-size:11px}
  .ift-pl{grid-template-columns:6.4em 1.8em minmax(0,1fr);gap:0 8px;padding:6px 10px;font-size:12px}
  .fh-tab{font-size:12px}
  .tb-table.fh-tab th,.tb-table.fh-tab td{padding:6px 4px}
  .fh-tab thead th{font-size:10.5px;letter-spacing:0}
  .fh-k{display:none}
  .fh-tab td.fh-m b{font-size:14px}
  .fh-tab td.fh-pl{min-width:0;font-size:10.5px;line-height:1.3}
  .fh-tab tfoot th{font-size:11px}
  .fh-tab td.fh-sum b{min-width:0;font-size:16px;padding:4px 6px}
  .fh-tab td.fh-txt{display:none}
  .fh-tab tr.fh-txt-m{display:table-row}
  .fh-tab .fh-txt-m td{padding-top:4px;font-size:11px}
  .fh-tab tbody th{padding-left:8px}
}
@media print{
  .ift-tp[hidden]{display:block}
  .tb-steps-card{display:block}
  .tb-card.ift{break-inside:auto}
  .ift-tp{break-inside:avoid;margin-bottom:18px}
  .ift-tp + .ift-tp{break-before:page}
  .ift-mxw,.ift-vals,.ift-leg{max-width:500px}
  .ift-boxes{margin-bottom:10px}
  .ift-ord,.ift-calc{break-inside:avoid}
  .ift-mx{background:#888;border-color:#888}
  .ift-mx > i{background:#fff}
  .ift-mx > i[class*="mx-"],.ift-sw[class*="mx-"],.ift-sw-q > i{background:var(--k,#fff)}   /* Druck: deckende Excel-Farben, ohne Bildebene */
  :root{--ift-org-t:#92d050;--ift-org-e:#ffff00;--ift-org-s:#ffc000;--ift-ink:#10131f;--ift-cell:#fff;
    --ift-t-o:#fabf8f;--ift-t-v:#ccc0da;--ift-t-x:#b8cce4;--ift-t-w:#fff;--ift-e-r:#ff0000;--ift-e-g:#c4d79b;--ift-e-b:#0070c0;--ift-e-y:#ffffcc;
    --ift-e-R:#ff0000;--ift-e-G:#92d050;--ift-e-B:#0070c0;--ift-e-Y:#ffff00;--ift-e-x:#b8cce4;--ift-e-w:#fff;
    --ift-s-p:#ff9393;--ift-s-g:#c4d79b;--ift-s-d:#76933c;--ift-s-x:#b8cce4}
  .ift-mx > i.ift-ax{background:#eee;color:#222}
  .ift-mx > i.ift-on{background:linear-gradient(135deg,var(--c1) 50%,var(--c2) 50%)}
  .ift-fmc-big{color:#111}
  .ift-calc td.ift-fmc b,.ift-fmc-big b,.ift-fmc-big small{color:#6b4e00}
  .ift-fmc-big span{color:#444}
  .ift-calc .ift-rh,.ift-calc tfoot th,.ift-box li,.ift-box-t,.ift-defs dt,.ift-defs u,.ift-pl .nr,.ift-vals li{color:#111}
  .ift-box,.ift-ord{background:#fff}
  .ift-box li.on,.ift-box-h,.ift-ref-k,.ift-rn small,.ift-pl.on{color:#111}
  .ift-box li,.ift-box-s,.ift-vals li small,.ift-leg,.ift-pl,.ift-mx-r,.ift-pod-h small,.ift-fmc-f,.ift-defs{color:#444}
  .ift-calc thead th.ift-grp{color:#444}
  .ift-pl.on .nr,.ift-pl.on .nm,.ift-bar em,.ift-merk span,.ift-calc td.ift-sum b{color:#6b4e00}
  :root{--fh-y:#ffff00;--fh-r:#ff0000;--fh-w:#ffffff;--fh-b:#558ed5}
  .fh-tab{break-inside:avoid}
  .fh-tab tbody tr{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .fh-tab tbody th,.fh-tab tbody td{color:#111;box-shadow:inset 0 -1px 0 #999}
  .fh-tab tr.fh-x{background:var(--c)}
  .fh-tab tr.fh-x th,.fh-tab tr.fh-x td{color:#111}
  .fh-tab thead th,.fh-tab tfoot th{color:#111}
  .fh-tab td.fh-sum b{color:#6b4e00}
  .fh-tab td.fh-txt,.fh-tab .fh-txt-m td{color:#111}
}
