/* comecar.css – Rundgang „Começar / Erste Schritte“ */
/* GR-04: kein weiches Scrollen beim Sprung zu #estacao-N (site.css: smooth) – der Rundgang zeichnet die Station während des
   Sprungs, der weiche Sprung endete sonst an der alten Stelle; js/comecar.js scrollt beim Blättern ausdrücklich weich */
html:has(body.comecar){scroll-behavior:auto}
.cm{padding-top:76px}
.cm-hero{padding:80px 0 30px;background:radial-gradient(900px 500px at 70% 10%,rgba(123,92,196,.35),transparent 65%)}
.cm-hero h1{font-size:clamp(34px,5.2vw,60px);margin:14px 0 18px}
.cm-today{margin-top:18px;font-size:14px;color:var(--muted)}
.cm-today b{color:var(--text)}
.cm-tour{padding:30px 0 100px}

/* Fortschritt */
.cm-steps{margin-bottom:28px}
.cm-steps ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.cm-steps button{width:100%;display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:0;color:var(--muted);cursor:pointer;padding:4px 2px;font:500 12px/1.2 var(--font)}
.cm-steps button span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:rgba(255,255,255,.03);font:700 16px var(--display);color:var(--text);transition:.25s}
.cm-steps button small{font-size:12px;text-align:center}
.cm-steps button:hover span{border-color:var(--gold);color:var(--gold)}
.cm-steps button.done span{background:rgba(127,227,196,.14);border-color:#7fe3c4;color:#7fe3c4}
.cm-steps button[aria-current] span{background:linear-gradient(135deg,#f3d58f,#c99a3e);border-color:transparent;color:#1a1405;box-shadow:0 6px 22px -8px rgba(227,191,110,.8)}
.cm-steps button[aria-current] small{color:var(--gold)}
.cm-bar{height:4px;border-radius:4px;background:rgba(170,180,255,.12);margin:14px 0 8px;overflow:hidden}
.cm-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#c99a3e,#f3d58f);border-radius:4px;transition:width .4s}
.cm-count{font-size:13px;color:var(--faint);margin:0}

/* Stationen */
.cm-st{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:44px;align-items:start}
.cm-st[hidden]{display:none}
/* GR-04: Bis das Inline-Skript nach den Stationen läuft (bei langsamem Netz kann vorher schon gezeichnet werden), nur die
   Station des Ankers (#estacao-N) bzw. die erste zeigen – sonst rückt die Anker-Station beim Ausblenden der übrigen nach oben.
   Ohne JavaScript (html.no-js) bleiben alle Stationen sichtbar. */
html:not(.no-js) .cm-tour:not(.js) .cm-st{display:none}
html:not(.no-js) .cm-tour:not(.js) .cm-st:target,html:not(.no-js) .cm-tour:not(.js):not(:has(.cm-st:target)) .cm-st:first-child{display:grid}
.cm-st + .cm-st{margin-top:70px}
.cm-tour.js .cm-st + .cm-st{margin-top:0}
.cm-fig{margin:0;background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:16px}
.cm-fig img{width:100%;height:auto;max-height:460px;object-fit:contain;border-radius:12px;margin:0 auto}
.cm-fig figcaption{font-size:13px;color:var(--faint);margin-top:10px;line-height:1.5}
.cm-body h2{font-size:clamp(26px,3.4vw,40px);margin:10px 0 16px}
.cm-body h2:focus{outline:none}
.cm-body > p{color:var(--muted);font-size:16.5px}
.cm-body > p b{color:var(--text)}
.cm-key{margin:18px 0 0;padding:14px 18px;border-left:3px solid var(--gold);background:rgba(227,191,110,.06);border-radius:0 12px 12px 0}
.cm-key p{margin:0 0 6px;font-style:italic;color:var(--text);font-size:15px;line-height:1.6}
.cm-key:empty{min-height:84px;box-sizing:border-box}   /* Zitat aus den 260 Schlüsseln kommt per JS: Platz für 2 Zeilen + Quelle (CLS) */
.cm-key cite{font:600 11px/1 var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-style:normal}

/* Übung */
.cm-ex{padding:22px;margin-top:24px}
.cm-ex.cm-wide{grid-column:1/-1;margin-top:0}
.cm-ex h3{font-size:18px;margin:0 0 8px;color:var(--gold)}
.cm-q{color:var(--text);margin-bottom:14px}
.cm-ctrl{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.cm-opts{display:flex;flex-wrap:wrap;gap:8px}
.cm-opt{display:inline-flex;align-items:center;gap:8px;font-size:13px;padding:9px 14px}
.cm-opt i{width:14px;height:14px;border-radius:4px;border:1px solid rgba(255,255,255,.3)}
.cm-opt[aria-pressed=true]{border-color:var(--gold);background:rgba(227,191,110,.12)}
.cm-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.cm-form label{display:flex;flex-direction:column;gap:4px;font:600 11px/1 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.cm-form .field{width:92px;font-size:16px}
.cm-form select.field{width:84px}
.cm-ctrl .btn{padding:12px 20px;font-size:13px}
.cm-fb{margin-top:12px;font-size:15px;min-height:0}
.cm-fb:empty{display:none}
.cm-fb.ok{color:#7fe3c4}
.cm-fb.no{color:#f3d58f}
.cm-ans:empty{display:none}
.cm-ans{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.cm-res{display:flex;gap:18px;align-items:center}
.cm-res > div:last-child{min-width:0}
.cm-res h4{font:700 22px/1.25 var(--display);margin:6px 0 8px}
.cm-res p{margin:0 0 6px;color:var(--muted)}
.cm-res p b{color:var(--text)}
.cm-glyph{flex:none}
.cm-glyph svg{display:block}
.cm-big{flex:none;min-width:84px;font:700 40px/1 var(--display);color:var(--gold);text-align:center}
.cm-big small{font-size:16px;color:var(--faint)}
.cm-parts{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:10px}
.cm-parts li{display:flex;gap:12px;align-items:center}
.cm-parts li > svg,.cm-tone{flex:none;width:40px}
.cm-tone{display:grid;place-items:center;height:40px}
.cm-parts span{display:flex;flex-direction:column;line-height:1.35;min-width:0}
.cm-parts small{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.cm-parts em{color:var(--muted);font-size:14px}
.cm-more{margin:12px 0 0;font-size:14px}
.cm-more a{color:var(--gold)}
.cm-more a.btn{color:var(--text)}
.cm-cap{font-size:13px;color:var(--faint);margin:10px 0 0}

/* Monde */
.cm-moons{display:flex;flex-wrap:wrap;gap:5px;margin:16px 0 10px}
.cm-moons i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font:600 11px var(--font);font-style:normal;color:var(--faint);border:1px solid var(--line)}
.cm-moons i.on{background:var(--gold);color:#1a1405;border-color:var(--gold)}
.cm-moon{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;max-width:420px;margin-top:12px}
.cm-moon i{aspect-ratio:1;display:grid;place-items:center;border-radius:9px;background:rgba(170,180,255,.07);border:1px solid var(--line);font:600 13px var(--font);font-style:normal;color:var(--muted)}
.cm-moon i.on{background:rgba(227,191,110,.85);color:#1a1405;border-color:transparent}
.cm-moon i.cm-now{outline:2px solid #fff;outline-offset:1px}

/* Plasmen */
.cm-plasmas{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;width:100%}
.cm-pl{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 2px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--text);cursor:pointer;font:600 12px var(--font)}
.cm-pl:hover{border-color:var(--gold)}
.cm-pl svg{width:100%;max-width:46px;height:auto}
.cm-pl[aria-pressed=true]{border-color:var(--gold);background:rgba(227,191,110,.1)}
.cm-pl.right{border-color:#7fe3c4;box-shadow:0 0 20px -8px #7fe3c4}

/* Matrix */
.cm-mx{width:100%;max-width:600px;margin:0 auto}
.cm-pts{margin-top:4px}

/* Matriz 441: Reiter „Originalgrafik | Rechenansicht“ (js/mx-original.js wireTabs; Stil der Reiter in css/mx.css) */
.cm-mxv{width:100%;min-width:0;display:grid;justify-items:start}
.cm-mxp{width:100%;min-width:0}
.cm-mxp[hidden]{display:none}
/* Station 5: Originalgrafik mit Orientierung und Achsen V/H; Klick → Einheit (js/comecar.js cellAt, Raster GRID) */
.cm-ofig{margin:0 auto;display:grid;justify-items:center;gap:6px;width:100%;max-width:640px;min-width:0}
.cm-omid{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;width:100%}
.cm-lab{font-size:11px;line-height:1.3;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--muted);text-align:center}
.cm-side{writing-mode:vertical-rl;white-space:nowrap}
.cm-side.cm-l{transform:rotate(180deg)}
.cm-bot{display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--gold)}
.cm-eyes{display:block;width:46px;height:auto}
.cm-oax{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;gap:3px;min-width:0;container-type:inline-size}
.cm-axc{font:700 8px/1 var(--font);color:var(--faint);align-self:end;justify-self:end;padding:0 1px 1px 0}
.cm-axv,.cm-axh{position:relative;font:600 clamp(7.5px,2.1cqw,11px)/1 var(--font);color:var(--faint);font-variant-numeric:tabular-nums}
.cm-axv{height:1.25em}
.cm-axh{width:1.9em}
.cm-axv span,.cm-axh span{position:absolute;white-space:nowrap}
.cm-axv span{bottom:0;transform:translateX(-50%)}
.cm-axh span{right:2px;transform:translateY(-50%)}
.cm-axv .c,.cm-axh .c{color:var(--gold);font-weight:800}
.cm-obox{position:relative;aspect-ratio:1/1;width:100%;container-type:inline-size;border-radius:10px;background:var(--bg-2);cursor:crosshair;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.cm-obox img{display:block;width:100%;height:auto;border-radius:10px;user-select:none;-webkit-user-select:none;pointer-events:none}
.cm-ol{position:absolute;inset:0;pointer-events:none}
.cm-osel,.cm-ohov,.cm-om{position:absolute;width:0;height:0}
.cm-osel i,.cm-ohov i,.cm-om i{position:absolute;left:0;top:0;width:calc(4.74cqw + 7px);height:calc(4.74cqw + 7px);box-sizing:border-box;transform:translate(-50%,-50%);border:3px solid #fff;border-radius:26%;
  box-shadow:0 0 0 2px rgba(7,10,28,.95),0 0 12px 2px rgba(255,255,255,.6)}
.cm-osel b,.cm-ohov b,.cm-om b{position:absolute;top:0;left:calc(2.37cqw + 8px);transform:translateY(-50%);padding:.14em .45em;border-radius:.55em;white-space:nowrap;background:#fff;color:#111;
  font:800 clamp(10px,2.3cqw,14px)/1.15 var(--font);box-shadow:0 0 0 1.5px rgba(7,10,28,.9),0 2px 6px rgba(0,0,0,.5)}
.cm-osel.l b,.cm-ohov.l b,.cm-om.l b{left:auto;right:calc(2.37cqw + 8px)}
.cm-osel.ok i{border-color:#7fe3c4;box-shadow:0 0 0 2px rgba(7,10,28,.95),0 0 16px 4px #7fe3c4}
.cm-osel.ok b{background:#7fe3c4}
.cm-ohov i{border-width:2px;border-style:dashed;box-shadow:0 0 0 1.5px rgba(7,10,28,.9)}
.cm-ohov b{background:rgba(7,10,28,.9);color:#fff;font-weight:700}
.cm-ohov[hidden]{display:none}
.cm-om i{border-color:var(--c);box-shadow:0 0 0 2px rgba(7,10,28,.95),0 0 14px 3px var(--c);animation:cm-pulse 1.5s ease-in-out infinite}
.cm-om b{background:var(--c)}
@keyframes cm-pulse{50%{transform:translate(-50%,-50%) scale(1.25);box-shadow:0 0 0 2px rgba(7,10,28,.95),0 0 24px 8px var(--c)}}
/* CLS: Platz der Übung (Reiter + Originalgrafik + Formular), bis js/comecar.js sie füllt (gemessen 390–1280 px) */
.cm-ex[data-ex="matriz"] .cm-ctrl:empty{min-height:min(100vw + 165px, 800px)}
.cm-oline{margin:8px auto 0;max-width:640px;min-height:1.6em;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px;font-size:13px;line-height:1.45;color:var(--muted);font-variant-numeric:tabular-nums}
.cm-oit{display:inline-flex;align-items:baseline;gap:7px;min-width:0}
.cm-oit b{display:inline-grid;place-items:center;min-width:22px;padding:1px 6px;border-radius:6px;background:var(--c,#fff);color:#111;font:800 11.5px/1.35 var(--font)}
.cm-oit.ok b{background:#7fe3c4}
.cm-oit > span{color:var(--text)}
.cm-oit > b .gl-term,.cm-oit > b .gl-term:hover,.cm-oit > b .gl-term[aria-expanded="true"]{color:inherit;text-decoration-color:currentColor}   /* GR-03: Glossarbegriff in der Plakette lesbar */
.cm-ohint{color:var(--faint);text-align:center}
@media (max-width:520px){.cm-lab{font-size:9.5px;letter-spacing:.05em}.cm-omid{gap:4px}.cm-eyes{width:38px}}
@media (prefers-reduced-motion:reduce){.cm-om i{animation:none!important}}

/* Signatur: Originalgrafik der Tafel (js/mx-original.js viewsHTML/mountOrig, Matrix aus js/matriz441.js) – gemeinsamer Stil in css/mx.css, hier nur die Abweichungen */
.cm-sigb{grid-template-columns:minmax(0,1fr)!important}
.cm .mxo > .mxo-tabs{margin:0 0 10px}
.cm .mxo-card{padding:0}   /* <section> ohne die globale Abschnittspolsterung (site.css) */
.cm .mxo-card h3{margin:0 0 6px;font:600 11px/1.3 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.cm-sigv{min-height:calc(min(92vw,620px) + 120px)}   /* Platz für die Matrix, bis js/mx-original.js geladen ist */

/* Signatur */
.cm-final{align-items:center}
.cm-hint{font-size:13px;color:var(--faint)}
.cm-sigmx{width:100%;max-width:520px;margin:0 auto}
.cm-sigmx svg .mx-ax{display:none}
.cm-links{display:flex;flex-wrap:wrap;gap:10px}
.cm-links .btn{padding:12px 18px;font-size:12px}

/* Blättern */
.cm-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:34px;padding-top:22px;border-top:1px solid var(--line)}
.cm-pager .btn:disabled{opacity:.35;cursor:default;transform:none}
.cm-keys{font-size:12px;color:var(--faint)}
html.no-js .cm-steps,html.no-js .cm-pager{display:none}

.cm-steps button:focus-visible span,.cm-pl:focus-visible,.cm-opt:focus-visible,.cm .btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

@media (max-width:900px){
  .cm-st{grid-template-columns:minmax(0,1fr);gap:22px}
  .cm-fig{position:static;max-width:440px}
  .cm-fig img{max-height:300px}
}
@media (max-width:600px){
  .cm-hero{padding:56px 0 20px}
  .cm-steps button span{width:34px;height:34px;font-size:14px}
  .cm-steps button small{display:none}
  .cm-ex{padding:16px}
  .cm-res{flex-direction:column;align-items:flex-start}
  .cm-plasmas{grid-template-columns:repeat(4,minmax(0,1fr))}
  .cm-keys{display:none}
  .cm-pager .btn{padding:12px 16px;font-size:12px}
  .cm-fig img{max-height:240px}
}
/* Brotkrumen .pg-crumbs: css/site.css (gemeinsam, Touch-Ziel) */
/* Meldung bei ungültigem Datum (util.js dateMessage) */
.dt-msg{margin:8px 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}
/* CLS: Zeilen, die js/comecar.js erst füllt, haben von Anfang an ihre Höhe (je eine Zeile) */
.cm-today{min-height:1.7em}
.cm-count{min-height:1.7em}
@media (pointer:coarse){.cm-pager .btn{min-height:40px}}   /* Touch-Ziel ≥ 40 px */
/* „Zurück zu heute“ (js/data-comum.js todayPill): schwebt unten, verschiebt nichts (kein CLS) */
.dc-pill{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:40;display:flex;align-items:center;gap:10px;
  max-width:calc(100vw - 24px);box-sizing:border-box;padding:6px 6px 6px 16px;border-radius:999px;border:1px solid rgba(227,191,110,.6);background:rgba(10,13,36,.95);
  box-shadow:0 12px 34px rgba(0,0,0,.5);color:var(--muted);font-size:13px;white-space:nowrap}
.dc-pill b{color:var(--text)}
.dc-today{border:1px solid var(--gold);border-radius:999px;background:rgba(227,191,110,.12);color:var(--gold);font:600 12.5px/1 var(--font);padding:0 14px;min-height:38px;cursor:pointer;white-space:nowrap}
.dc-today:hover{background:rgba(227,191,110,.22)}
.dc-today:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
body:has(.dc-pill){padding-bottom:64px}
@media (max-width:400px){.dc-pill{font-size:12px;gap:6px;padding-left:12px}.dc-today{padding:0 10px}}
@media print{.dc-pill{display:none}}

/* Station 1: Tzolkin (js/tzolkin.js) – 1 Siegelspalte + 13 Kin-Spalten × 20 Zeilen; Höhe vorab reserviert (kein Layoutsprung) */
.tzk{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));grid-template-rows:repeat(20,minmax(0,1fr));gap:2px;aspect-ratio:14/23;width:100%;max-width:460px;margin:0 auto}
.tzk-s{display:grid;place-items:center}
.tzk-s img{width:78%;height:auto;display:block}
.tzk-k{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border-radius:4px;background:var(--t);color:var(--muted);text-decoration:none;min-width:0;overflow:hidden}
.tzk-k img{width:72%;max-width:20px;height:auto;display:block}
.tzk-k b{font:600 clamp(9px,2.4vw,10px)/1 var(--font);font-variant-numeric:tabular-nums;letter-spacing:-.02em}   /* ≥ 9 px auch auf dem Handy (GR-19) */
.tzk-k.gap{background:linear-gradient(#5fd4f0,#5fd4f0) left 1px top 1px/4px 1.5px,linear-gradient(#5fd4f0,#5fd4f0) left 1px top 1px/1.5px 4px,linear-gradient(#5fd4f0,#5fd4f0) right 1px top 1px/4px 1.5px,linear-gradient(#5fd4f0,#5fd4f0) right 1px top 1px/1.5px 4px,linear-gradient(#5fd4f0,#5fd4f0) left 1px bottom 1px/4px 1.5px,linear-gradient(#5fd4f0,#5fd4f0) left 1px bottom 1px/1.5px 4px,linear-gradient(#5fd4f0,#5fd4f0) right 1px bottom 1px/4px 1.5px,linear-gradient(#5fd4f0,#5fd4f0) right 1px bottom 1px/1.5px 4px,#1f5a3c;background-repeat:no-repeat;color:#e9f7ee}
.tzk-k.now{box-shadow:0 0 0 2px var(--gold),0 0 14px -2px var(--gold);color:var(--gold);position:relative;z-index:1}
.tzk-k.gap.now{color:#fff}

/* Station 3: die Zeitmatrix in 3D (js/zeitmatrix3d.js, 06.10.2026) statt des Bibliotheksbilds 3.10 – Platz vorab reserviert
   (Rahmen 4:3, Bildunterschrift drei Zeilen), damit nichts springt. Ohne JavaScript bzw. ohne WebGL (.fb) bleibt das Bibliotheksbild. */
.cm-zm{position:relative;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:radial-gradient(110% 85% at 50% 45%,rgba(123,92,196,.2),transparent 70%),#070a1c}
.cm-zm-fb{display:flex;height:100%;align-items:center;justify-content:center}
.cm-fig .cm-zm-fb img{width:auto;max-width:100%;max-height:100%}
html:not(.no-js) .cm-zm-fig:not(.fb) .cm-zm-fb,html:not(.no-js) .cm-zm-fig:not(.fb) .cm-zm-fbcap{display:none}
.cm-zm-fig.fb .cm-zm-txt{display:none}
html:not(.no-js) .cm-zm-fig figcaption{min-height:4.5em}
.cm-zm-txt a{color:var(--gold);white-space:nowrap}
.cm-zm-cv{display:block;width:100%;height:100%}
.cm-zm-lab{position:absolute;left:0;top:0;white-space:nowrap;font:600 12px/1.3 var(--font);color:#fff;background:rgba(7,10,28,.82);border:1px solid var(--gold);box-shadow:0 0 16px rgba(227,191,110,.45);padding:4px 9px;border-radius:8px;pointer-events:none}
.cm-zm-lab span{color:#c9cdf0;font-weight:500}
