/* Thema Ingenieur- und Planungsbüros (/protokoll) · Zeichenpapier, Bemaßung, Plankopf, TOP-Nummern */
@font-face{font-family:Caveat;src:url(/assets/fonts/caveat-latin-500-normal.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Plex Mono';src:url(/assets/fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Plex Mono';src:url(/assets/fonts/ibm-plex-mono-latin-600-normal.woff2) format('woff2');font-weight:600;font-display:swap}

body.th-ing{--paper:#f4f6f8;--ink:#10233f;--muted:#4a5a70;--line:#cfd8e4;--blue:#2457a6;--grid:#dbe4f0;--pencil:#2b2f36;--red:#c8372d;
  background-color:var(--paper);
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-size:24px 24px;background-attachment:fixed}
.th-ing .top{background:rgba(244,246,248,.92)}
.th-ing .eyebrow{color:var(--blue);font:600 12.5px 'Plex Mono',monospace;letter-spacing:.02em}
.th-ing .hero h1 em{color:var(--blue)}

/* Bemaßungslinien: Zeit bis zum Protokoll */
.masse{margin:30px 0 6px;max-width:980px}
.mass{position:relative;height:40px;border-left:1.5px solid var(--ink);border-right:1.5px solid var(--ink);margin-bottom:10px}
.mass::before{content:"";position:absolute;left:0;right:0;top:24px;height:1.5px;background:var(--ink)}
.mass::after{content:"";position:absolute;left:0;right:0;top:19px;height:12px;background:
  linear-gradient(135deg,transparent 45%,var(--ink) 45% 55%,transparent 55%) left/12px 12px no-repeat,
  linear-gradient(135deg,transparent 45%,var(--ink) 45% 55%,transparent 55%) right/12px 12px no-repeat}
.mass span{position:absolute;left:50%;top:0;transform:translateX(-50%);background:var(--paper);padding:0 10px;font:600 13px 'Plex Mono',monospace;color:var(--ink);white-space:nowrap}
.mass.lang{width:100%}
.mass.kurz{width:14%;min-width:150px;border-color:var(--blue)}
.mass.kurz::before{background:var(--blue)}
.mass.kurz::after{background:linear-gradient(135deg,transparent 45%,var(--blue) 45% 55%,transparent 55%) left/12px 12px no-repeat,linear-gradient(135deg,transparent 45%,var(--blue) 45% 55%,transparent 55%) right/12px 12px no-repeat}
.mass.kurz span{color:var(--blue);left:0;transform:none;padding-left:0}
.mass-n{font:400 11px 'Plex Mono',monospace;color:var(--muted)}

/* App: Zeichentisch */
.th-ing .app{background:#fff;color:var(--ink);border:1.5px solid var(--ink);border-radius:6px;box-shadow:10px 10px 0 rgba(16,35,63,.12)}
.th-ing .app-bar{background:var(--ink);border:0}
.th-ing .app-bar b{color:#fff;font:600 13px 'Plex Mono',monospace}
.th-ing .dots i{background:#3b5378}
.th-ing .app-tag{color:#9ec0f5;border-color:rgba(158,192,245,.4)}
.th-ing .in-pane{background:#f8fafc;border-color:var(--line)}
.th-ing .pane-h{color:var(--muted);font-family:'Plex Mono',monospace}
.th-ing .d-tab{color:var(--muted);border-color:var(--line);background:#fff;border-radius:4px}
.th-ing .d-tab:hover{color:var(--ink)}
.th-ing .d-tab small{color:#7487a0}
.th-ing .d-tab[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.th-ing .d-tab[aria-selected=true] small{color:#9ec0f5}
.th-ing .d-meta{color:var(--muted);font-family:'Plex Mono',monospace;font-size:11.5px}
.th-ing .voice{background:#fff;border:1.5px solid var(--ink);border-radius:4px}
.th-ing .voice .play{background:var(--ink)}.th-ing .voice .play::after{border-left-color:#fff}
.th-ing .voice .wave i{background:var(--blue)}
.th-ing .transcript-l{color:var(--muted);font-family:'Plex Mono',monospace}
.th-ing .transcript{color:var(--ink)}
.th-ing .transcript mark{background:#dde9fb;color:var(--ink);box-shadow:inset 0 -2px 0 var(--blue);border-radius:0}
/* Mitschrift auf Karopapier */
.th-ing .sheet{background:#fff;color:var(--pencil);border-radius:2px;transform:rotate(-.8deg);border:1px solid #c8d3e2;
  background-image:linear-gradient(#cfdcf0 1px,transparent 1px),linear-gradient(90deg,#cfdcf0 1px,transparent 1px);background-size:18px 18px;
  box-shadow:0 12px 24px -14px rgba(16,35,63,.6);padding:18px 18px 18px 20px}
.th-ing .sheet ul,.th-ing .sheet-sig{font:500 21px/30px Caveat,cursive}
.th-ing .sheet-h{font:600 11px/22px 'Plex Mono',monospace;color:var(--blue);letter-spacing:.06em}
.th-ing .sheet mark{background:rgba(36,87,166,.15);color:var(--pencil);box-shadow:inset 0 -2px 0 var(--blue)}
.th-ing .sheet-sig{color:#4a5568}
.th-ing #d-own{background:#fff;color:var(--ink);border:1.5px solid var(--line);border-radius:4px;font:400 14px/1.6 'Plex Mono',monospace}
.th-ing .own-l,.th-ing .hint{color:var(--muted)}
.th-ing .btn.run{background:var(--ink);color:#fff;border-radius:4px}.th-ing .btn.run:hover{background:var(--blue)}

/* Protokoll mit Plankopf */
.th-ing .out-pane{background:#fff}
.th-ing .steps li{border-color:var(--line);color:#7487a0;font-family:'Plex Mono',monospace;border-radius:3px}
.th-ing .steps[data-step="1"] li:nth-child(1),.th-ing .steps[data-step="2"] li:nth-child(-n+2),.th-ing .steps[data-step="3"] li{background:var(--ink);border-color:var(--ink);color:#fff}
.th-ing .empty{border-color:var(--line);color:#7487a0;border-radius:4px}
.th-ing .p-doc{background:#fff;border:1.5px solid var(--ink);border-radius:2px;padding:0;color:var(--ink);box-shadow:none}
.th-ing .p-doc h3{font:600 15px 'Plex Mono',monospace;margin:0;padding:10px 14px;background:var(--ink);color:#fff;letter-spacing:.02em}
.th-ing .p-meta{grid-template-columns:auto 1fr auto;gap:0;padding:0;margin:0;border-bottom:1.5px solid var(--ink)}
.th-ing .p-meta>div{padding:7px 12px;border-right:1px solid var(--line)}
.th-ing .p-meta>div:last-child{border-right:0}
.th-ing .p-meta .wide{grid-column:1/-1;border-top:1px solid var(--line);border-right:0}
.th-ing .p-meta span{font:600 9.5px 'Plex Mono',monospace;color:#7487a0;letter-spacing:.06em;text-transform:uppercase}
.th-ing .p-meta b{font-size:13.5px}
.th-ing .p-meta .nr b{font:600 18px 'Plex Mono',monospace;color:var(--blue)}
.th-ing .p-doc{counter-reset:top}
.th-ing .p-sec{margin:0;padding:10px 14px;border-bottom:1px solid var(--line);counter-increment:top}
.th-ing .p-sec[hidden]{counter-increment:none}
.th-ing .p-sec:last-child{border-bottom:0}
.th-ing .p-sec h4{font:600 11.5px 'Plex Mono',monospace;color:var(--blue);text-transform:uppercase;letter-spacing:.04em}
.th-ing .p-sec h4::before{content:"TOP " counter(top) " · ";color:var(--ink)}
.th-ing .p-sec ul{color:#24364f;list-style:none;padding-left:0;counter-reset:pt}
.th-ing .p-sec li{counter-increment:pt;padding-left:34px;position:relative}
.th-ing .p-sec li::before{content:counter(top) "." counter(pt);position:absolute;left:0;font:600 12px/1.6 'Plex Mono',monospace;color:#7487a0}
.th-ing #p-issues h4{color:var(--red)}
.th-ing #p-issues li::before{color:var(--red)}
.th-ing .p-tasks th{font-family:'Plex Mono',monospace;color:#7487a0;border-color:var(--ink)}
.th-ing .p-tasks .d-nr{color:var(--blue);font-family:'Plex Mono',monospace}
.th-ing .p-in{border-radius:3px;font-family:'Plex Mono',monospace;font-size:12px;border-color:var(--line)}
.th-ing .p-in.miss{background:#fff1ef;border-color:#f0a59d}
/* Rückfragen wie Rotstift am Rand */
.th-ing .asks{background:#fff;border:0;border-left:3px solid var(--red);border-radius:0;box-shadow:inset 0 0 0 1px #f3d2ce}
.th-ing .asks-h{color:var(--red);font-family:'Plex Mono',monospace}
.th-ing .asks li{color:#5b1d18}.th-ing .asks li::before{content:"!";color:var(--red)}
.th-ing .ghost{color:var(--ink);border-color:var(--line);border-radius:4px}.th-ing .ghost:hover{border-color:var(--ink)}
.th-ing .approved{color:#14663d}.th-ing .app.needs-price .approved{color:var(--red)}
.th-ing .time{color:#7487a0;font-family:'Plex Mono',monospace}

/* Abschnitte darunter */
.th-ing .how-grid article,.th-ing .plan-grid article,.th-ing .final,.th-ing .modules li{border-radius:4px}
.th-ing .how-grid article{border-color:var(--line)}
.th-ing .how-grid .n,.th-ing .plan-grid .n{border-radius:3px;font-family:'Plex Mono',monospace}
.th-ing .how-grid .accent{background:var(--ink);border-color:var(--ink)}
.th-ing .win div{background:#fff;border:1px solid var(--line);border-radius:4px}
.th-ing .plan-grid .report{background:var(--ink);border-color:var(--ink)}
.th-ing .rep-h{color:#9ec0f5}
.th-ing .modules{background:#fff;border:1px solid var(--line);border-radius:4px}
.th-ing .modules li.on{background:var(--ink);border-color:var(--ink)}
.th-ing .faq details{border-color:var(--line)}

@media (max-width:640px){.mass span{font-size:11.5px}.th-ing .p-meta{grid-template-columns:1fr 1fr}.th-ing .p-meta>div:nth-child(3){grid-column:1/-1;border-top:1px solid var(--line)}}
@media print{body.th-ing{background:#fff}.masse{display:none}.th-ing .app{box-shadow:none;border:0}}
/* Branchenfunktionen */
.th-ing .nx{background:#fff;border:1.5px solid var(--ink);border-radius:4px;color:var(--ink)}
.th-ing .nx-h{font-family:'Plex Mono',monospace;font-size:13px}
.th-ing .chip{border-color:var(--line);color:var(--ink);border-radius:3px;font-family:'Plex Mono',monospace}
.th-ing .chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.th-ing .mail{border-radius:2px;border-color:var(--line)}
.th-ing .plan-h{color:var(--blue);font-family:'Plex Mono',monospace}
.th-ing .from{background:#e3ecfb;color:var(--blue);font-family:'Plex Mono',monospace;border-radius:3px}
.th-ing #p-prev h4{color:var(--ink)}
.th-ing .st{font-family:'Plex Mono',monospace;border-radius:3px}

/* Eingang als Besprechungsaufnahme mit Zeitmarken */
.th-ing .d-in[data-kind=voice]{background:#fff;border:1.5px solid var(--ink);border-radius:6px;overflow:hidden;position:relative;padding-top:34px}
.th-ing .d-in[data-kind=voice]::before{content:"● AUFNAHME · " attr(data-who) " · " attr(data-when);position:absolute;left:0;right:0;top:0;height:34px;padding:9px 12px 0;background:var(--ink);color:#fff;font:600 11px 'Plex Mono',monospace;letter-spacing:.04em}
.th-ing .d-in[data-kind=voice] .voice{border:0;border-bottom:1px solid var(--line);border-radius:0;margin:0;background:#f8fafc}
.th-ing .d-in[data-kind=voice] .transcript-l{display:none}
.th-ing .d-in[data-kind=voice] .transcript{font-size:14px;line-height:1.5;max-height:430px;overflow:auto}
.th-ing .transcript .seg{display:block;position:relative;padding:7px 12px 7px 64px;border-bottom:1px solid #eef2f7;border-radius:0}
.th-ing .transcript .seg::before{content:attr(data-tc);position:absolute;left:12px;top:9px;font:600 11px 'Plex Mono',monospace;color:#7487a0}
.th-ing .transcript .seg:not([data-tc])::before{content:"··:··"}
.th-ing .transcript .seg.now{background:#eaf1fd;box-shadow:inset 3px 0 0 var(--blue)}
.th-ing .transcript .seg.now::before{color:var(--blue)}
.th-ing .transcript .seg.past{color:#5b6b80}
.th-ing .d-meta{display:none}

/* ═══ Ganze Seite: Planblatt ═══ */
@font-face{font-family:'Plex Sans';src:url(/assets/fonts/ibm-plex-sans-latin-400-normal.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Plex Sans';src:url(/assets/fonts/ibm-plex-sans-latin-600-normal.woff2) format('woff2');font-weight:600;font-display:swap}
body.th-ing{font-family:'Plex Sans',Inter,sans-serif}
body.th-ing::after{content:"";position:fixed;inset:8px;border:1.5px solid var(--ink);box-shadow:inset 0 0 0 3px var(--paper),inset 0 0 0 3.8px rgba(16,35,63,.45);pointer-events:none;z-index:40}
.th-ing h1,.th-ing h2,.th-ing h3,.th-ing .final h2,.th-ing .demo-head h2{font-family:'Plex Sans',Inter,sans-serif;font-weight:600;letter-spacing:-.025em}
.th-ing .hero h1{font-size:clamp(44px,5.6vw,84px);line-height:1.02}
.th-ing .hero h1 em,.th-ing .final h2 em{font-style:normal;color:var(--blue);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}
.th-ing .top{border-bottom:1.5px solid var(--ink)}
.th-ing .top nav a{font-family:'Plex Mono',monospace;font-size:13px}
.th-ing .btn{background:var(--ink);border-radius:3px}.th-ing .btn:hover{background:var(--blue)}
.th-ing .btn.approve{background:var(--mint);color:#06120e}
.th-ing .flow li{border-radius:3px;border-color:var(--ink);background:#fff}
.th-ing .flow span{border-radius:50%;border:1.5px solid var(--ink);background:#fff;color:var(--ink);font-family:'Plex Mono',monospace}
.th-ing .flow li:last-child{background:var(--ink);border-color:var(--ink)}.th-ing .flow li:last-child span{background:var(--ink);border-color:#fff;color:#fff}
.th-ing .for{background:#e3ecfb;color:var(--blue);border-radius:3px;font-family:'Plex Mono',monospace}
/* Achsenkreise statt Überschriften-Labels */
.th-ing main{counter-reset:achse}
.th-ing main>section:not(.hero){counter-increment:achse}
.th-ing main>section>.eyebrow::before,.th-ing .demo-head::before{content:counter(achse,upper-alpha);display:inline-grid;place-items:center;width:30px;height:30px;border:1.5px solid var(--ink);border-radius:50%;margin-right:10px;font:600 13px 'Plex Mono',monospace;color:var(--ink);background:var(--paper);vertical-align:middle}
.th-ing .demo-head::before{display:grid;margin:0 auto 12px}
.th-ing main>section:not(.hero){border-top:1px dashed #9fb0c8}
/* Ablauf als Flussdiagramm */
.th-ing .how-grid{gap:28px}
.th-ing .how-grid article{position:relative;border:1.5px solid var(--ink);border-radius:0;background:#fff}
.th-ing .how-grid article:not(:last-child)::after{content:"";position:absolute;right:-29px;top:44px;width:28px;height:1.5px;background:var(--ink)}
.th-ing .how-grid article:not(:last-child)::before{content:"";position:absolute;right:-30px;top:39px;border:6px solid transparent;border-left:9px solid var(--ink);border-right:0}
.th-ing .how-grid .n{width:auto;height:auto;background:none;color:var(--blue);font:600 13px 'Plex Mono',monospace}
.th-ing .how-grid .n::after{content:".0"}
.th-ing .how-grid h3{font-size:20px}
.th-ing .how-grid .accent .n{color:#9ec0f5}
.th-ing .win{gap:0;border:1.5px solid var(--ink);background:#fff;margin-top:22px}
.th-ing .win div{border:0;border-right:1px solid var(--line);border-radius:0;background:transparent;padding:16px 18px}
.th-ing .win div:last-child{border-right:0}
.th-ing .win b{font:600 12px 'Plex Mono',monospace;color:var(--blue);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
/* Zusammenarbeit als Leistungsbild */
.th-ing .plan-grid{gap:0;border:1.5px solid var(--ink)}
.th-ing .plan-grid article{border:0;border-right:1px solid var(--line);border-radius:0}
.th-ing .plan-grid .report{border-right:0}
.th-ing .plan-grid .n{border-radius:50%;background:#fff;border:1.5px solid var(--ink);color:var(--ink)}
.th-ing .plan-grid .report .n{background:var(--ink);border-color:#9ec0f5;color:#9ec0f5}
.th-ing .rep b{font-family:'Plex Mono',monospace;font-weight:600;font-size:22px}
.th-ing .modules{border:1.5px solid var(--ink);border-top:0;border-radius:0;margin-top:0}
.th-ing .modules li{border-radius:0;font-family:'Plex Mono',monospace;font-size:12.5px}
/* Fragen als Legende */
.th-ing .faq{max-width:1180px;display:grid;grid-template-columns:1fr 1fr;gap:0 48px;align-items:start}
.th-ing .faq h2{grid-column:1/-1}
.th-ing .faq summary{font-size:16px}
.th-ing .faq summary::after{content:"+";font-family:'Plex Mono',monospace;color:var(--blue)}
.th-ing .final{border:1.5px solid var(--ink);border-radius:0;box-shadow:6px 6px 0 rgba(16,35,63,.12)}
.th-ing .final img{border-radius:0;border:1.5px solid var(--ink);filter:grayscale(.2)}
/* Fußzeile als Plankopf */
.th-ing .foot{display:grid;grid-template-columns:1fr minmax(0,460px);align-items:end;gap:24px;padding:28px 5vw 34px;border-top:1.5px solid var(--ink)}
.th-ing .foot nav{flex-wrap:wrap;font-family:'Plex Mono',monospace;font-size:12px}
.pk{border-collapse:collapse;width:100%;background:#fff;font-size:12.5px;color:var(--ink)}
.pk td{border:1.5px solid var(--ink);padding:6px 10px;vertical-align:top}
.pk span{display:block;font:600 9.5px 'Plex Mono',monospace;color:#7487a0;text-transform:uppercase;letter-spacing:.06em}
.pk b{font-weight:600}
@media (max-width:980px){.th-ing .how-grid article::after,.th-ing .how-grid article::before{display:none}.th-ing .faq{grid-template-columns:1fr}.th-ing .foot{grid-template-columns:1fr}}
@media (max-width:640px){body.th-ing::after{inset:4px}.th-ing .win,.th-ing .plan-grid{grid-template-columns:1fr}.th-ing .win div,.th-ing .plan-grid article{border-right:0;border-bottom:1px solid var(--line)}}
.th-ing .how-grid .n{display:block}
.th-ing .hero .eyebrow::before{display:none}
