/*
 * Chunking-Simulator auf litzki-systems.com (gebaut in diesem Repo, 29.10.2026).
 * Nur Tokens aus site.css, nichts unter 14 px, kein !important. Gleiche Bausteine wie llms.txt- und robots.txt-Generator.
 */

.cs-tool { --dc-pad: clamp(1.25rem, 3vw, 2rem); color: var(--color-gray-300); padding: 0 var(--dc-pad) var(--dc-pad); margin: 2rem 0 3rem; }
.cs-tool.dc { overflow: clip; container-type: inline-size; }
.cs-tool p { margin: 0 0 .5rem; }
.cs-tool a { color: var(--color-accent-light); }
.cs-tool__note { font-size: var(--text-xs); color: var(--color-gray-400); }
.cs-tool:not(.is-ready) .cs-live { display: none; }

/* ---------- Eingabe ---------- */
.cs-sec { margin: 1.75rem 0 0; padding-top: 1.25rem; border-top: 1px solid var(--color-navy-light); }
.cs-tool .cs-sec__head { font-family: var(--font-mono); font-size: var(--text-sm); letter-spacing: .06em; color: var(--color-off-white); margin: 0 0 .75rem; }
.cs-tool .cs-sec__text { font-size: var(--text-sm); }
.cs-label { display: block; font-family: var(--font-sans); font-size: var(--text-sm); font-weight: 600; color: var(--color-off-white); margin-bottom: .35rem; }
.cs-input { display: block; width: 100%; min-width: 0; min-height: 11rem; font-family: var(--font-mono); font-size: var(--text-sm); line-height: 1.5; color: var(--color-off-white); background: var(--color-navy-dark); border: 1px solid var(--color-navy-light); border-radius: var(--radius-md); padding: .6rem .75rem; resize: vertical; }
.cs-input:focus { border-color: var(--color-accent); }
.cs-input::placeholder { color: var(--color-gray-500); opacity: 1; }
.cs-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-top: .75rem; }
.cs-status { font-size: var(--text-xs); color: var(--color-accent-light); font-weight: 600; min-height: 1.25rem; margin-top: .5rem; }
.cs-chip { font-family: var(--font-sans); font-size: var(--text-sm); font-weight: 500; color: var(--color-gray-300); background: var(--color-navy-dark); border: 1px solid var(--color-navy-light); border-radius: var(--radius-pill); padding: .45rem .95rem; cursor: pointer; transition: border-color .15s, color .15s; }
.cs-chip:hover { border-color: var(--color-accent); color: var(--color-off-white); }
.cs-chip[aria-pressed="true"] { border-color: var(--color-accent); color: var(--color-off-white); background: var(--color-navy-mid); }
.cs-input:focus-visible, .cs-chip:focus-visible, .cs-chunk__more summary:focus-visible, .cs-method summary:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 2px; }
.cs-tool .cs-switch__label { font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: .08em; text-transform: uppercase; color: var(--color-accent); margin: 1.25rem 0 .4rem; }
.cs-switches { display: grid; gap: 0 2rem; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
.cs-switch__row { display: flex; flex-wrap: wrap; gap: .5rem; }

/* ---------- Ergebnis ---------- */
.cs-out { margin-top: 1.75rem; padding-top: 1.25rem; border-top: 1px solid var(--color-navy-light); }
.cs-tool p.cs-empty { font-size: var(--text-sm); color: var(--color-gray-400); }
.cs-kpis { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); }
.cs-kpi { display: grid; gap: .2rem; padding: .75rem .9rem; background: var(--color-navy-dark); border: 1px solid var(--color-navy-light); border-radius: var(--radius-md); }
.cs-kpi.is-hot { border-color: var(--color-accent); }
.cs-kpi__label { font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: .06em; text-transform: uppercase; color: var(--color-gray-400); }
.cs-kpi__val { font-family: var(--font-mono); font-size: var(--text-lg); color: var(--color-off-white); }
.cs-kpi.is-hot .cs-kpi__val { color: var(--color-accent-light); }
.cs-kpi__sub { font-size: var(--text-xs); color: var(--color-gray-400); }

.cs-map { display: grid; grid-template-columns: max-content minmax(0, 1fr); align-items: center; gap: .6rem .9rem; margin: 1.25rem 0 0; }
.cs-map__label { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-gray-300); }
.cs-map__svg { display: block; width: 100%; height: 1.75rem; }
.cs-map__bar { fill: var(--color-navy-mid); stroke: var(--color-navy-light); stroke-width: 1; }
.cs-map__bar--gpt { fill: var(--color-navy-dark); }
.cs-map__cut { fill: var(--color-gray-300); }
.cs-map__cut.is-hot { fill: var(--color-accent); }

.cs-tool.dc ul.cs-hints { list-style: none; margin: 1.25rem 0 0; padding: 0; display: grid; gap: .4rem; }
.cs-tool.dc .cs-hints li { margin: 0; padding: .45rem .65rem; font-size: var(--text-xs); color: var(--color-gray-300); border-left: 3px solid var(--color-gray-500); background: var(--color-navy-dark); border-radius: 0 .35rem .35rem 0; }
.cs-tool.dc .cs-hints li.is-warn { color: var(--color-off-white); border-left-color: var(--color-accent); }

.cs-cols { display: grid; gap: 1.5rem; margin-top: 1.5rem; }
.cs-col { min-width: 0; }
.cs-tool .cs-col__head { font-family: var(--font-mono); font-size: var(--text-sm); letter-spacing: .04em; color: var(--color-off-white); margin: 0 0 .6rem; }
.cs-tag { font-size: var(--text-xs); color: var(--color-accent); border: 1px solid var(--color-accent); border-radius: var(--radius-pill); padding: .05rem .5rem; white-space: nowrap; }
.cs-tool.dc ol.cs-chunks { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.cs-tool.dc .cs-chunks li { margin: 0; }
.cs-chunk { padding: .6rem .75rem; background: var(--color-navy-dark); border: 1px solid var(--color-navy-light); border-left: 3px solid var(--color-gray-500); border-radius: .4rem; }
.cs-chunk.is-moved { border-left-color: var(--color-accent); }
.cs-tool .cs-chunk__bar { display: flex; flex-wrap: wrap; gap: .25rem .75rem; align-items: baseline; font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-gray-400); margin: 0 0 .4rem; }
.cs-chunk__id { color: var(--color-off-white); }
.cs-chunk__flag { color: var(--color-accent-light); }
.cs-tool pre.cs-chunk__text { margin: 0; padding: 0; max-height: 20rem; overflow: auto; font-family: var(--font-mono); font-size: var(--text-sm); line-height: 1.5; color: var(--color-gray-300); background: none; border: 0; white-space: pre-wrap; overflow-wrap: anywhere; scrollbar-width: thin; }
.cs-chunk__more { margin-top: .4rem; font-size: var(--text-xs); }
.cs-chunk__more summary { cursor: pointer; color: var(--color-accent-light); }
.cs-chunk__more[open] summary { margin-bottom: .4rem; }
.cs-chunk:has(> .cs-chunk__more[open]) > pre.cs-chunk__text { display: none; }

.cs-method { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--color-navy-light); font-size: var(--text-xs); color: var(--color-gray-300); }
.cs-method summary { cursor: pointer; color: var(--color-off-white); font-weight: 600; }
.cs-tool.dc .cs-method ul { margin: .5rem 0 0; padding-left: 1.2rem; }
.cs-method li { margin: .25rem 0; }

.cs-view { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.5rem; }
@container (max-width: 899px) {
  .cs-cols[data-view="b"] > .cs-col:first-child, .cs-cols[data-view="a"] > .cs-col:last-child { display: none; }
}
@container (min-width: 900px) {
  .cs-view { display: none; }
  .cs-cols { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
}
