/* CAD BOLT BIM AI Assistant – navy + orange glass */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* ---------- homepage entry ---------- */
.aih-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:1.4rem;margin-top:2rem}
.aih-chat,.aih-tools a{background:var(--glass);border:1px solid var(--line);border-radius:var(--radius);backdrop-filter:blur(14px)}
.aih-chat{padding:1.3rem;display:flex;flex-direction:column;gap:1rem;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.aih-bar{display:flex;align-items:center;gap:.6rem}.aih-bar small{margin-left:auto;color:var(--green);font-size:.75rem}
.aih-dot{width:10px;height:10px;border-radius:50%;background:var(--orange);box-shadow:0 0 12px var(--orange)}
.aih-msg{background:var(--glass-strong);border-radius:16px 16px 16px 4px;padding:.8rem 1rem;color:var(--text);font-size:.95rem}.aih-msg em{color:var(--orange-hot)}
.aih-ex{display:flex;flex-wrap:wrap;gap:.5rem}.aih-ex a{font-size:.82rem;padding:.45rem .8rem;border-radius:999px;border:1px solid var(--line-strong);color:var(--text);transition:.2s}.aih-ex a:hover{border-color:var(--orange);color:var(--orange-hot)}
.aih-in{display:flex;gap:.5rem;margin-top:auto}.aih-in input{flex:1;min-width:0;background:rgba(0,0,0,.25);border:1px solid var(--line-strong);border-radius:14px;padding:.85rem 1rem;color:#fff;font:inherit}.aih-in input:focus{outline:none;border-color:var(--orange)}
.aih-in button,.cba-send{width:48px;border-radius:14px;background:linear-gradient(135deg,var(--orange),var(--orange-hot));color:#fff;font-size:1.1rem;box-shadow:0 8px 24px rgba(243,112,33,.35)}
.aih-tools{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.aih-tools a{padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.2rem;transition:.25s}.aih-tools a:hover{border-color:rgba(243,112,33,.6);transform:translateY(-3px)}
.aih-tools b{font-family:var(--display);font-weight:400;font-size:1.35rem;letter-spacing:.03em}.aih-tools small{color:var(--muted);font-size:.8rem}
.aih-tools .aih-open{background:linear-gradient(135deg,var(--orange),var(--orange-hot));border:0;justify-content:center;font-weight:700;color:#fff}
@media (max-width:860px){.aih-grid{grid-template-columns:1fr}}
@media (max-width:480px){.aih-tools{grid-template-columns:1fr}}

/* ---------- full page ---------- */
.cba-page main{padding-top:var(--header-h)}
.cba-page .float-quote{display:none}
.cba{display:grid;grid-template-columns:290px 1fr;height:calc(100vh - var(--header-h));height:calc(100dvh - var(--header-h));max-width:1500px;margin:0 auto;gap:0}
.cba-side{border-right:1px solid var(--line);padding:1rem;overflow:auto;display:flex;flex-direction:column;gap:.5rem;background:rgba(4,13,24,.35)}
.cba-new{padding:.8rem;border-radius:14px;background:linear-gradient(135deg,var(--orange),var(--orange-hot));color:#fff;font-weight:700;box-shadow:0 8px 24px rgba(243,112,33,.3)}.cba-new span{font-size:1.2rem;margin-right:.3rem}
.cba-lbl{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--dim);margin:.8rem 0 .2rem}
.cba-tools{display:flex;flex-direction:column;gap:.3rem}
.cba-tools button,.cba-tgrid button{text-align:left;padding:.55rem .75rem;border-radius:12px;border:1px solid transparent;transition:.2s}
.cba-tools button b,.cba-tgrid button b{display:block;font-size:.88rem}.cba-tools button small,.cba-tgrid button small{color:var(--muted);font-size:.74rem}
.cba-tools button:hover,.cba-tools button.on{background:var(--glass-strong);border-color:var(--line)}.cba-tools button.on b{color:var(--orange-hot)}
.cba-hist{display:flex;flex-direction:column;gap:.15rem}
.cba-h{display:flex;align-items:center;gap:.3rem;padding:.45rem .6rem;border-radius:10px;cursor:pointer;font-size:.84rem;color:var(--muted)}.cba-h span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cba-h:hover,.cba-h.on{background:var(--glass);color:#fff}
.cba-h button{opacity:0;color:var(--muted);padding:0 .3rem}.cba-h:hover button{opacity:1}
.cba-empty{font-size:.8rem;color:var(--dim)}
.cba-priv{margin-top:auto;font-size:.74rem;color:var(--muted);padding:.7rem;border-radius:12px;background:rgba(52,211,153,.07);border:1px solid rgba(52,211,153,.2)}
.cba-main{display:flex;flex-direction:column;min-width:0;min-height:0}
.cba-top{display:flex;align-items:center;gap:.6rem;padding:.6rem 1.2rem;border-bottom:1px solid var(--line);font-size:.85rem}
.cba-menu{display:none;font-size:1.2rem;padding:.2rem .5rem}
.cba-rolepill{padding:.35rem .8rem;border-radius:999px;border:1px solid var(--line-strong);background:var(--glass)}.cba-rolepill small{color:var(--orange-hot);margin-left:.3rem}
.cba-toolname{color:var(--muted)}.cba-left{margin-left:auto;color:var(--dim);font-size:.78rem}
.cba-log{flex:1;overflow:auto;padding:1.4rem clamp(1rem,4vw,3rem);scroll-behavior:smooth}
.cba-comp{padding:.7rem clamp(1rem,4vw,3rem) .8rem;border-top:1px solid var(--line);background:rgba(4,13,24,.5)}
.cba-row{display:flex;gap:.5rem;align-items:flex-end;background:var(--glass);border:1px solid var(--line-strong);border-radius:18px;padding:.4rem}
.cba-row:focus-within{border-color:var(--orange)}
.cba-row textarea{flex:1;resize:none;background:none;border:0;color:#fff;font:inherit;padding:.6rem .4rem;max-height:160px;min-width:0}.cba-row textarea:focus{outline:none}
.cba-ib{cursor:pointer;padding:.55rem .45rem;border-radius:10px;font-size:1.1rem;opacity:.85}.cba-ib:hover{background:var(--glass-strong)}
.cba-send{height:44px}.cba-send:disabled{opacity:.4}
.cba-fine{font-size:.7rem;color:var(--dim);text-align:center;margin-top:.4rem}
.cba-att{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.4rem}.cba-att:empty{display:none}
.cba-chip{font-size:.78rem;padding:.3rem .6rem;border-radius:999px;background:rgba(243,112,33,.15);border:1px solid rgba(243,112,33,.4)}.cba-chip.dim{background:var(--glass);border-color:var(--line)}.cba-chip button{margin-left:.4rem;color:var(--muted)}
/* welcome */
.cba-wel{max-width:920px;margin:0 auto}
.cba-hero h1{font-family:var(--display);font-weight:400;font-size:clamp(2.4rem,5vw,3.8rem);line-height:1;letter-spacing:.02em}.cba-hero h1 span{color:var(--orange)}
.cba-hero p{color:var(--muted);max-width:680px;margin-top:.5rem}.cba-hero .cba-kick{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--orange-hot)}
.cba-wel h3{font-family:var(--display);font-weight:400;font-size:1.5rem;letter-spacing:.04em;margin:1.4rem 0 .6rem}
.cba-roles,.cba-tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.6rem}
.cba-roles button,.cba-tgrid button{text-align:left;padding:.8rem .9rem;border-radius:14px;background:var(--glass);border:1px solid var(--line);transition:.2s}
.cba-roles button b{display:block;font-size:.92rem}.cba-roles button small{color:var(--muted);font-size:.76rem;line-height:1.35;display:block;margin-top:.15rem}
.cba-roles button:hover,.cba-tgrid button:hover{border-color:rgba(243,112,33,.5)}.cba-roles button.on{border-color:var(--orange);background:rgba(243,112,33,.12);box-shadow:0 0 0 1px var(--orange) inset}
.cba-explain{margin-top:.7rem;font-size:.85rem;color:var(--muted);background:var(--glass);border:1px solid var(--line);border-radius:12px;padding:.6rem .9rem}.cba-explain summary{cursor:pointer;color:var(--text);font-weight:600}.cba-explain p{margin-top:.4rem}.cba-explain b{color:var(--orange-hot)}
.cba-chips{display:flex;flex-wrap:wrap;gap:.4rem}.cba-chips button{padding:.4rem .85rem;border-radius:999px;border:1px solid var(--line-strong);font-size:.82rem}.cba-chips button.on{background:var(--orange);border-color:var(--orange);color:#fff}
.cba-ex{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.5rem;margin-top:.7rem}
.cba-ex button{text-align:left;padding:.75rem .9rem;border-radius:12px;background:var(--glass-strong);border:1px solid var(--line);font-size:.88rem;display:flex;justify-content:space-between;gap:.5rem}.cba-ex button span{color:var(--orange)}.cba-ex button:hover{border-color:var(--orange)}
/* messages */
.cbm{display:flex;gap:.7rem;margin:0 auto 1.1rem;max-width:920px}
.cbm.u{justify-content:flex-end}.cbm.u .cbm-b{background:linear-gradient(135deg,rgba(243,112,33,.9),rgba(255,138,61,.85));color:#fff;border-radius:18px 18px 4px 18px;max-width:80%}
.cbm-av{flex:none;width:34px;height:34px;border-radius:10px;background:var(--navy-mid);border:1px solid var(--orange);display:grid;place-items:center;font-family:var(--display);color:var(--orange);font-size:1rem}
.cbm-b{padding:.8rem 1.05rem;border-radius:4px 18px 18px 18px;background:var(--glass);border:1px solid var(--line);min-width:0;overflow-wrap:anywhere}
.cbm.a .cbm-b{flex:1}.cbm.t .cbm-b{flex:1;background:rgba(18,38,58,.7);border-color:rgba(243,112,33,.35)}
.cbm-file{display:block;font-size:.78rem;opacity:.9;margin-bottom:.3rem}
.cbm-b p{margin:.45rem 0}.cbm-b h3,.cbm-b h4,.cbm-b h5,.cbm-b h6{font-family:var(--display);font-weight:400;letter-spacing:.03em;color:var(--orange-hot);margin:1rem 0 .35rem;font-size:1.3rem}.cbm-b h5,.cbm-b h6{font-size:1.1rem}
.cbm-b ul,.cbm-b ol{padding-left:1.35rem;margin:.4rem 0}.cbm-b ul{list-style:disc}.cbm-b ol{list-style:decimal}.cbm-b li{margin:.22rem 0}.cbm-b li.task{list-style:none;margin-left:-1.2rem}.cbm-b li::marker{color:var(--orange)}
.cbm-b strong{color:#fff}.cbm-b code{background:rgba(0,0,0,.35);padding:.08rem .35rem;border-radius:5px;font-size:.86em;font-family:ui-monospace,Consolas,monospace;color:#ffd0b0}
.cbm-b a{color:var(--orange-hot);text-decoration:underline}.cbm-b blockquote{border-left:3px solid var(--orange);padding-left:.8rem;color:var(--muted)}.cbm-b hr{border:0;border-top:1px solid var(--line);margin:.8rem 0}
.cb-code{margin:.6rem 0;border-radius:12px;overflow:hidden;border:1px solid var(--line)}.cb-code-h{display:flex;justify-content:space-between;padding:.3rem .7rem;background:rgba(0,0,0,.45);font-size:.72rem;color:var(--muted)}.cb-code-h button{color:var(--orange-hot)}
.cb-code pre{margin:0;padding:.8rem;background:rgba(0,0,0,.3);overflow:auto;font-size:.82rem;line-height:1.5}.cb-code pre code{background:none;padding:0;color:#e6edf3}
.cb-tw,.cbt-res{overflow-x:auto}
.cbm-b table,.cbt-t{border-collapse:collapse;width:100%;margin:.6rem 0;font-size:.84rem}
.cbm-b th,.cbt-t th{background:rgba(243,112,33,.16);text-align:left;color:#fff}.cbm-b th,.cbm-b td,.cbt-t th,.cbt-t td{border:1px solid var(--line);padding:.45rem .55rem;vertical-align:top}
.cbm-act{display:flex;gap:.5rem;margin-top:.5rem}.cbm-act:empty{display:none}.cbm-act button{font-size:.75rem;color:var(--muted);padding:.25rem .6rem;border:1px solid var(--line);border-radius:8px}.cbm-act button:hover{color:#fff;border-color:var(--orange)}
.cbm-kb{font-size:.72rem;color:var(--dim);margin-top:.6rem!important}
.cbm-tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--orange-hot);margin:0 0 .4rem!important}
.cbm-cta{margin-top:.8rem;padding:.75rem .9rem;border-radius:12px;background:linear-gradient(135deg,rgba(243,112,33,.18),rgba(243,112,33,.06));border:1px solid rgba(243,112,33,.45);font-size:.88rem}.cbm-cta a{color:#fff;font-weight:700}
.cb-typing{display:inline-flex;gap:4px;padding:.3rem 0}.cb-typing i{width:8px;height:8px;border-radius:50%;background:var(--orange);animation:cbt 1.1s infinite}.cb-typing i:nth-child(2){animation-delay:.15s}.cb-typing i:nth-child(3){animation-delay:.3s}
@keyframes cbt{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}
/* tool panel + results */
.cbt-panel{max-width:920px;margin:0 auto 1.2rem;padding:1.2rem;border-radius:var(--radius);background:var(--glass);border:1px solid var(--line)}
.cbt-panel h3{font-family:var(--display);font-weight:400;font-size:1.9rem;letter-spacing:.03em}.cbt-panel p{color:var(--muted);font-size:.9rem;margin:.3rem 0 .8rem}
.cbt-drop{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:1.4rem;border:2px dashed rgba(243,112,33,.5);border-radius:16px;cursor:pointer;text-align:center;transition:.2s}.cbt-drop:hover{background:rgba(243,112,33,.07)}.cbt-drop small{color:var(--muted)}
.cbt-panel textarea,.cbt-panel select{width:100%;margin-top:.8rem;background:rgba(0,0,0,.3);border:1px solid var(--line-strong);border-radius:12px;padding:.7rem;color:#fff;font:inherit;font-size:.88rem}.cbt-panel select option{background:#0B1F33}
.cbt-btns{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.8rem}.cbt-run{padding:.6rem 1.1rem;border-radius:12px;background:linear-gradient(135deg,var(--orange),var(--orange-hot));color:#fff;font-weight:700}.cbt-sample{padding:.6rem 1rem;border-radius:12px;border:1px solid var(--line-strong)}
.cbt-priv{font-size:.76rem!important;color:var(--green)!important}
.cbt-score{display:flex;flex-wrap:wrap;gap:.3rem 1rem;align-items:baseline;padding:.6rem .9rem;border-left:4px solid var(--orange);background:rgba(243,112,33,.1);border-radius:8px}.cbt-score b{font-family:var(--display);font-weight:400;font-size:2.4rem;color:var(--orange)}.cbt-score em{color:var(--muted);font-style:normal;font-size:.82rem}
.st{display:inline-block;padding:.08rem .5rem;border-radius:999px;font-size:.72rem;font-weight:700;white-space:nowrap}
.st-present,.st-ok{background:rgba(52,211,153,.18);color:#6ee7b7}.st-weak,.st-medium{background:rgba(251,191,36,.18);color:#fcd34d}.st-missing,.st-high{background:rgba(255,77,79,.18);color:#fca5a5}.st-low{background:rgba(34,211,238,.15);color:#67e8f9}
.cbt-t .ev{color:var(--muted);font-size:.76rem}.cbt-d summary{cursor:pointer;color:var(--muted);font-size:.84rem;margin-top:.4rem}
/* mobile */
@media (max-width:860px){
  .cba{grid-template-columns:1fr;position:relative}
  .cba-side{position:absolute;inset:0 25% 0 0;z-index:20;background:#071522;transform:translateX(-105%);transition:transform .3s;box-shadow:20px 0 40px rgba(0,0,0,.5)}
  .cba.side-open .cba-side{transform:none}.cba-menu{display:block}
  .cba-left{font-size:.7rem}.cba-left small,.cba-dev{display:none}.cbm.u .cbm-b{max-width:90%}.cbm-av{display:none}
  .cba-roles{grid-template-columns:1fr 1fr}.cba-roles button small{display:none}
}
@media (max-width:860px){.cb-tw table,.cbt-res .cbt-t{min-width:600px}.cbm-b td,.cbm-b th{overflow-wrap:normal;word-break:normal}.cba-row textarea{font-size:16px}.cba-row textarea::placeholder{font-size:.9rem}}
/* ---------- credits / paywall ---------- */
.cba-left{display:flex;align-items:center;gap:.45rem}.cba-left small{color:var(--muted)}
.cba-dev,.cba-getcred{font:inherit;font-size:.72rem;padding:.2rem .55rem;border-radius:999px;border:1px solid var(--line-strong);background:transparent;color:var(--dim);cursor:pointer;letter-spacing:.04em}
.cba-getcred{border-color:var(--orange);color:var(--orange-hot);font-weight:700}
.cba-paywall{margin-top:.9rem;padding:1.1rem;border-radius:16px;background:linear-gradient(160deg,rgba(243,112,33,.16),rgba(255,255,255,.03));border:1px solid rgba(243,112,33,.5)}
.cba-paywall h3{margin:.2rem 0 .4rem}.cba-paywall>p{margin:0 0 .6rem;color:var(--text)}
.cba-packs{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.7rem;margin:.6rem 0}
.cba-pack{position:relative;padding:.9rem;border-radius:14px;background:var(--glass-strong);border:1px solid var(--line-strong);display:flex;flex-direction:column;gap:.35rem}
.cba-pack.hot{border-color:var(--orange);box-shadow:0 0 0 1px rgba(243,112,33,.35)}
.cba-pack.team{background:rgba(0,0,0,.18)}
.cba-rib{position:absolute;top:-.6rem;right:.7rem;background:var(--orange);color:#fff;font-size:.66rem;font-weight:700;padding:.15rem .5rem;border-radius:999px}
.cba-price{font-size:1.35rem;font-weight:800;color:#fff}.cba-price small{font-size:.75rem;font-weight:500;color:var(--muted)}
.cba-pack ul{margin:0;padding-left:1.1rem;font-size:.82rem;color:var(--dim)}
.cba-buy{margin-top:auto;display:block;text-align:center;padding:.55rem .7rem;border-radius:10px;border:0;background:linear-gradient(135deg,var(--orange),var(--orange-hot));color:#fff !important;font:inherit;font-weight:700;font-size:.85rem;cursor:pointer;text-decoration:none}
.cba-pack.team .cba-buy{background:transparent;border:1px solid var(--orange)}
.cba-paynote,.cba-sub{font-size:.8rem;color:var(--muted);margin:.3rem 0}.cba-paynote a{color:var(--orange-hot)}
