/* chrishob.de v8.8.0 infrastructure finder suite */
.cp88-page{--cp88-line:var(--cp87-line);--cp88-soft:var(--cp87-soft);--cp88-panel:var(--cp87-panel);--cp88-accent:var(--cp87-accent)}
.cp88-note{margin:0 0 1rem;padding:.78rem .9rem;border:1px solid var(--cp88-line);border-radius:10px;background:var(--cp88-soft);font-size:.84rem;line-height:1.55}.cp88-note strong{font-weight:820}
.cp88-form{margin:1rem 0 1.5rem;padding:1rem;border:1px solid var(--cp88-line);border-radius:12px;background:var(--cp88-panel)}.cp88-formgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.cp88-field{display:grid;align-content:start;gap:.38rem;padding:.7rem;border:1px solid var(--cp88-line);border-radius:10px;background:var(--cp88-soft);font-size:.8rem;font-weight:760}.cp88-field>span{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.cp88-field>span small{font-size:.68rem;opacity:.62}.cp88-field input,.cp88-field select{width:100%;min-height:40px;padding:.55rem .62rem;border:1px solid var(--cp88-line);border-radius:8px;background:var(--cp88-panel);color:inherit;font:inherit;font-weight:520}.cp88-field>small{font-size:.7rem;line-height:1.45;font-weight:500;opacity:.62}.cp88-check{display:flex;gap:.65rem;align-items:flex-start;padding:.75rem;border:1px solid var(--cp88-line);border-radius:10px;background:var(--cp88-soft);font-size:.8rem;cursor:pointer}.cp88-check input{margin-top:.18rem}.cp88-check span{display:grid;gap:.22rem}.cp88-check strong{font-weight:760;line-height:1.35}.cp88-check small{font-size:.7rem;line-height:1.4;opacity:.62}.cp88-formactions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.85rem}
.cp88-section{margin-top:1.7rem}.cp88-sectionhead{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.cp88-sectionhead h2{margin:.12rem 0 0;font-size:clamp(1.25rem,2.3vw,1.7rem);letter-spacing:-.02em}.cp88-sectionhead p{max-width:580px;margin:0;font-size:.82rem;line-height:1.55;opacity:.65}.cp88-kicker{display:block;font-size:.68rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;opacity:.55}
.cp88-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.cp88-result{padding:.95rem;border:1px solid var(--cp88-line);border-radius:12px;background:var(--cp88-panel)}.cp88-result--top{border-color:color-mix(in srgb,var(--cp88-accent) 48%,var(--cp88-line));background:color-mix(in srgb,var(--cp88-accent) 6%,var(--cp88-panel))}.cp88-resulttop{display:flex;justify-content:space-between;gap:.75rem;align-items:center;font-size:.7rem;font-weight:820;letter-spacing:.05em;text-transform:uppercase;opacity:.68}.cp88-resulttop strong{font-size:.82rem;color:var(--cp88-accent)}.cp88-result h3{margin:.45rem 0 .38rem;font-size:1.08rem;letter-spacing:-.01em}.cp88-result p{margin:0 0 .7rem;font-size:.84rem;line-height:1.55;opacity:.72}.cp88-result ul,.cp88-license ul,.cp88-excluded ul{margin:.55rem 0 0;padding-left:1.05rem}.cp88-result li,.cp88-license li,.cp88-excluded li{margin:.25rem 0;font-size:.78rem;line-height:1.45}.cp88-warnings{display:grid;gap:.32rem;margin-top:.65rem}.cp88-warnings span{padding:.42rem .5rem;border-radius:7px;background:color-mix(in srgb,#d97706 10%,transparent);font-size:.72rem;line-height:1.4}.cp88-excluded{margin-top:.8rem;padding:.75rem .85rem;border:1px solid var(--cp88-line);border-radius:10px;background:var(--cp88-soft)}.cp88-excluded summary{cursor:pointer;font-size:.8rem;font-weight:760}.cp88-excludedgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:.7rem}.cp88-excluded article{padding:.7rem;border:1px solid var(--cp88-line);border-radius:9px;background:var(--cp88-panel)}.cp88-excluded h3{margin:0;font-size:.9rem}.cp88-license{margin-top:.85rem;padding:.85rem;border:1px solid color-mix(in srgb,var(--cp88-accent) 28%,var(--cp88-line));border-radius:10px;background:color-mix(in srgb,var(--cp88-accent) 5%,var(--cp88-panel))}.cp88-license h3{margin:0;font-size:.95rem}.cp88-signature{margin:.8rem 0 0;font-size:.68rem;opacity:.55}.cp88-signature code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.cp88-tablewrap{overflow:auto;margin-top:1rem;border:1px solid var(--cp88-line);border-radius:12px;background:var(--cp88-panel)}.cp88-table{width:100%;min-width:780px;border-collapse:collapse;font-size:.78rem}.cp88-table th,.cp88-table td{padding:.68rem .72rem;border-bottom:1px solid var(--cp88-line);border-right:1px solid var(--cp88-line);vertical-align:top;text-align:left;line-height:1.45}.cp88-table thead th{position:sticky;top:0;background:var(--cp88-panel);font-size:.76rem;font-weight:820}.cp88-table tbody th{min-width:160px;background:var(--cp88-soft);font-weight:760}.cp88-table tr:last-child th,.cp88-table tr:last-child td{border-bottom:0}.cp88-table th:last-child,.cp88-table td:last-child{border-right:0}
.cp88-refgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.cp88-ref{display:flex;flex-direction:column;padding:.85rem;border:1px solid var(--cp88-line);border-radius:11px;background:var(--cp88-panel)}.cp88-ref>span{font-size:.66rem;font-weight:840;letter-spacing:.06em;text-transform:uppercase;opacity:.55}.cp88-ref h3{margin:.3rem 0 .4rem;font-size:.96rem}.cp88-ref p{margin:0 0 .65rem;font-size:.78rem;line-height:1.5;opacity:.7}.cp88-ref a{margin-top:auto;color:inherit;font-size:.75rem;font-weight:760}.cp88-ref small{margin-top:.28rem;font-size:.65rem;opacity:.5}.cp88-knowledgegrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.cp88-knowledgegrid article{padding:.85rem;border:1px solid var(--cp88-line);border-radius:11px;background:var(--cp88-panel)}.cp88-knowledgegrid h3{margin:0 0 .35rem;font-size:.95rem}.cp88-knowledgegrid p{margin:0;font-size:.8rem;line-height:1.55;opacity:.72}
@media(max-width:900px){.cp88-formgrid,.cp88-results,.cp88-refgrid,.cp88-knowledgegrid{grid-template-columns:repeat(2,minmax(0,1fr))}.cp88-sectionhead{align-items:start;flex-direction:column}.cp88-excludedgrid{grid-template-columns:1fr}}
@media(max-width:620px){.cp88-form{padding:.7rem}.cp88-formgrid,.cp88-results,.cp88-refgrid,.cp88-knowledgegrid{grid-template-columns:1fr}.cp88-field,.cp88-check{padding:.62rem}.cp88-table{font-size:.74rem}}
