/* DIY-Rechner-Kern (craft-art.com, 29.10.2026). aicon wird von bauen.py durch das Tool-Praefix ersetzt. */
.aicon{--aicon-ink:var(--fm-ink,#1f2328);--aicon-ink2:var(--fm-ink2,#4b5160);--aicon-line:var(--fm-line,#e3e1ea);--aicon-paper:var(--fm-paper,#f6f5fa);--aicon-card:var(--fm-card,#fff);--aicon-fill:var(--fm-accent,#252c54);--aicon-fill2:var(--fm-accent2,#1b2140);--aicon-mark:var(--fm-mark,#db9957);--aicon-no:#b3261e;--aicon-in:#c9c6d3;
  container-type:inline-size;color:var(--aicon-ink);font-size:15px;line-height:1.45;margin:0 0 1.5em;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;box-sizing:border-box;max-width:100%;font-family:inherit}
.aicon *,.aicon *::before,.aicon *::after{box-sizing:border-box}
.aicon [hidden]{display:none!important}
.aicon button,.aicon select,.aicon input{font:inherit;color:inherit;margin:0}
.aicon-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0}
.aicon-top .aicon-seg{width:auto;min-width:220px;flex:0 1 300px}
.aicon-main{display:grid;gap:14px;grid-template-columns:minmax(0,1fr);min-width:0}
@container (min-width:720px){.aicon-main{grid-template-columns:minmax(0,1.2fr) minmax(290px,1fr)}.aicon-side{align-self:start;position:sticky;top:16px}}
.aicon-side{display:grid;gap:12px;min-width:0}
.aicon-inputs{align-self:start}
.aicon-panel{background:var(--aicon-card);border:1px solid var(--aicon-line);border-radius:10px;padding:14px;display:grid;gap:12px;align-content:start;min-width:0}
.aicon-res{border-top:4px solid var(--aicon-mark)}
.aicon-h{font-weight:700;font-size:16px;color:var(--aicon-ink)}
.aicon-sub{font-size:13px;color:var(--aicon-ink2);font-weight:700}
.aicon-grp{display:grid;gap:10px;min-width:0;border-top:1px solid var(--aicon-line);padding-top:12px}
.aicon-grp:first-child{border-top:0;padding-top:0}
.aicon-fs{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px 10px;min-width:0;align-items:end}
.aicon-f{display:grid;gap:3px;font-size:13px;color:var(--aicon-ink2);font-weight:600;min-width:0;align-content:start;margin:0}
.aicon-fl{min-width:0}
.aicon-in{display:flex;align-items:stretch;min-width:0;border:1px solid var(--aicon-in);border-radius:8px;background:var(--aicon-card);overflow:hidden}
.aicon-in:focus-within{outline:2px solid var(--aicon-mark);outline-offset:1px}
.aicon-in input{flex:1 1 auto;width:100%;min-width:0;border:0;padding:7px 9px;background:transparent;font-size:15px;font-weight:400;color:var(--aicon-ink);min-height:36px;outline:0;box-shadow:none}
.aicon-in em{flex:0 0 auto;display:flex;align-items:center;padding:0 9px;font-style:normal;font-size:13px;color:var(--aicon-ink2);background:var(--aicon-paper);border-left:1px solid var(--aicon-line);white-space:nowrap}
.aicon-in.is-bad,.aicon-in:has(input.is-bad){border-color:var(--aicon-no)}
.aicon-f select{width:100%;min-width:0;border:1px solid var(--aicon-in);border-radius:8px;padding:7px 9px;background:var(--aicon-card);font-size:15px;font-weight:400;color:var(--aicon-ink);min-height:36px}
.aicon-wide{grid-column:1/-1}
.aicon-items{display:grid;gap:10px;min-width:0}
.aicon-item{border:1px solid var(--aicon-line);border-radius:10px;padding:10px;display:grid;gap:10px;background:var(--aicon-paper);min-width:0}
.aicon-item.is-minus{border-style:dashed}
.aicon-ihead{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.aicon-ihead b{font-size:14px;color:var(--aicon-ink);min-width:0}
.aicon-x{border:1px solid var(--aicon-line);background:var(--aicon-card);border-radius:8px;padding:5px 10px;font-size:13px;font-weight:600;cursor:pointer;color:var(--aicon-no);min-height:32px;white-space:nowrap}
.aicon-x:hover{border-color:var(--aicon-no)}
.aicon-chk{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--aicon-ink);cursor:pointer;min-height:32px;min-width:0;margin:0}
.aicon-chk input{width:20px;height:20px;margin:0;flex:0 0 auto;accent-color:var(--aicon-fill)}
.aicon-seg{display:flex;flex-wrap:wrap;border:1px solid var(--aicon-in);border-radius:8px;overflow:hidden;background:var(--aicon-card);width:100%;min-width:0}
.aicon-seg button{flex:1 1 0;border:0;background:transparent;padding:7px 6px;font-weight:700;font-size:13px;line-height:1.2;cursor:pointer;color:var(--aicon-ink2);min-width:max-content;min-height:36px;white-space:nowrap;box-shadow:inset 1px 0 0 var(--aicon-in)}
.aicon-seg button:first-child{box-shadow:none}
.aicon-seg button.is-on{background:var(--aicon-fill);color:#fff}
.aicon-seg button:hover:not(.is-on){background:var(--aicon-paper)}
.aicon-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0}
.aicon-clbl{font-size:12px;color:var(--aicon-ink2);font-weight:600}
.aicon-chip{border:1px solid var(--aicon-in);background:var(--aicon-card);border-radius:999px;padding:5px 11px;font-size:13px;font-weight:700;cursor:pointer;color:var(--aicon-ink2);min-height:32px;white-space:nowrap}
.aicon-chip:hover{border-color:var(--aicon-fill);color:var(--aicon-fill)}
.aicon-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--aicon-line);background:var(--aicon-card);border-radius:8px;padding:8px 12px;cursor:pointer;font-weight:600;font-size:14px;line-height:1.2;white-space:nowrap;min-height:38px;color:var(--aicon-ink)}
.aicon-btn:hover{border-color:var(--aicon-fill)}
.aicon-primary{background:var(--aicon-fill);border-color:var(--aicon-fill);color:#fff!important}
.aicon-primary:hover{background:var(--aicon-fill2)}
.aicon-add{justify-self:start;color:var(--aicon-fill)}
.aicon-ghost{color:var(--aicon-ink2)}
.aicon-btn:focus-visible,.aicon-seg button:focus-visible,.aicon-chip:focus-visible,.aicon-x:focus-visible,.aicon select:focus-visible,.aicon a:focus-visible,.aicon-chk input:focus-visible,.aicon-scroll:focus-visible{outline:2px solid var(--aicon-mark);outline-offset:2px}
.aicon-hint{margin:0!important;font-size:13px;color:var(--aicon-ink2)}
.aicon-msg{margin:0!important;font-size:14px;color:var(--aicon-no);font-weight:600}
.aicon-big{display:grid;gap:2px;min-width:0}
.aicon-big span{font-size:13px;color:var(--aicon-ink2);font-weight:700}
.aicon-big b{font-size:30px;line-height:1.15;color:var(--aicon-fill);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.aicon-big em{font-style:normal;font-size:14px;color:var(--aicon-ink2)}
.aicon-boxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;min-width:0}
.aicon-box{border:1px solid var(--aicon-line);border-radius:8px;padding:8px 10px;background:var(--aicon-paper);display:grid;gap:1px;min-width:0}
.aicon-box span{font-size:12px;color:var(--aicon-ink2);font-weight:600}
.aicon-box b{font-size:17px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.aicon-box em{font-style:normal;font-size:12px;color:var(--aicon-ink2)}
.aicon-scroll{overflow-x:auto;min-width:0;max-width:100%}
.aicon-tbl{width:100%;border-collapse:collapse;font-size:13px;margin:0!important;border:0}
.aicon-tbl th,.aicon-tbl td{border:0;border-bottom:1px solid var(--aicon-line);padding:6px 6px;text-align:left;vertical-align:top;background:transparent}
.aicon-tbl th{font-size:12px;color:var(--aicon-ink2);font-weight:700}
.aicon-tbl td:last-child,.aicon-tbl th:last-child{text-align:right;white-space:nowrap}
.aicon-tbl tr.is-sum td{font-weight:700;border-bottom:0}
@container (max-width:420px){.aicon-tbl thead{display:none}.aicon-tbl tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 8px;border-bottom:1px solid var(--aicon-line);padding:5px 0}.aicon-tbl td{border:0;padding:1px 0}.aicon-tbl td:first-child{grid-column:1/-1;font-weight:700}.aicon-tbl td:not(:first-child)::before{content:attr(data-l) ": ";color:var(--aicon-ink2);font-size:12px}.aicon-tbl td:last-child{text-align:left}.aicon-tbl td:empty{display:none}}
.aicon-notes{margin:0!important;padding:0 0 0 18px!important;font-size:13px;color:var(--aicon-ink2);display:grid;gap:4px}
.aicon-notes:empty{display:none}
.aicon-notes li{margin:0!important}
.aicon-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.aicon-psel{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--aicon-ink2);margin:0}
.aicon-psel select{border:1px solid var(--aicon-in);border-radius:8px;padding:6px 8px;background:var(--aicon-card);min-height:38px;font-size:14px}
.aicon-learn{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;font-size:14px;padding:0 2px}
.aicon-learn a{color:var(--aicon-fill);text-decoration:underline;padding:6px 0;display:inline-block}
.aicon-toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%) translateY(20px);background:#222;color:#fff;padding:9px 16px;border-radius:8px;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:99999;max-width:90vw}
.aicon-toast.is-on{opacity:1;transform:translateX(-50%) translateY(0)}
.aicon-pic{display:block;width:100%;max-width:340px;height:auto;justify-self:center}
/* Concrete Calculator: Zusatzregeln (Kern: _diykern/kern.css) */
.aicon-item .aicon-seg button{flex-basis:auto}
