.itools{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.sim-tag{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--acc-ink);padding:.3rem .6rem;border-radius:2rem;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent) 40%,transparent);white-space:nowrap}
.conf{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--muted);white-space:nowrap}
.conf-bars{display:inline-flex;gap:2px;align-items:flex-end}.conf-bars i{width:4px;border-radius:1px;background:color-mix(in srgb,var(--color-text) 16%,transparent)}.conf-bars i:nth-child(1){height:6px}.conf-bars i:nth-child(2){height:9px}.conf-bars i:nth-child(3){height:12px}
.conf-high .conf-bars i.on{background:var(--pos)}.conf-med .conf-bars i.on{background:var(--warn)}.conf-low .conf-bars i.on{background:var(--neg)}
.chip{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;flex:none}.chip b{font-weight:500;color:var(--acc-ink)}
/* leaks */
.leak-hero{overflow:hidden;background:radial-gradient(700px 300px at 0% 0%,color-mix(in srgb,var(--color-accent) 16%,transparent),transparent 70%),var(--color-surface);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-accent) 30%,transparent)}
.leak-hero-top{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;align-items:flex-end}
.leak-hero-top>div:first-child{display:flex;flex-direction:column;gap:.5rem;max-width:60ch}
.leak-hero-big{display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap}.leak-hero-big b{font-size:3rem;font-weight:500;letter-spacing:-.03em;line-height:1}.leak-hero-big span{color:var(--muted);font-size:1.05rem}
.leak-hero-stats{display:flex;gap:1.5rem}
.leak-stack{display:flex;gap:3px;height:12px;border-radius:6px;overflow:hidden}
.leak-seg{border:0;padding:0;cursor:pointer;background:color-mix(in srgb,var(--color-accent) 70%,var(--color-surface));transition:opacity .15s}
.leak-seg:nth-child(2n){background:color-mix(in srgb,var(--color-accent) 45%,var(--color-surface))}.leak-seg:nth-child(3n){background:color-mix(in srgb,var(--color-accent) 28%,var(--color-surface))}
.leak-stack:has(.on) .leak-seg:not(.on){opacity:.3}.leak-seg:hover{opacity:1!important;filter:brightness(1.15)}
.leak-legend{display:flex;flex-wrap:wrap;gap:.5rem}
.leaks{display:flex;flex-direction:column;gap:.6rem}
.leak{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow .15s}
.leak.open{box-shadow:0 0 0 1px color-mix(in srgb,var(--color-accent) 40%,transparent),var(--shadow-md)}.leak.done{opacity:.7}
.leak-row{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto auto;gap:1rem;align-items:center;padding:1rem 1.25rem;background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:var(--radius-lg)}
.leak-row:hover .leak-title{color:var(--acc-ink)}
.leak-ic{width:2.4rem;height:2.4rem;border-radius:var(--radius-md);display:grid;place-items:center;background:color-mix(in srgb,var(--color-accent) 14%,transparent);color:var(--acc-ink);font-size:1.2rem}
.leak-main{display:flex;flex-direction:column;gap:.15rem;min-width:0}.leak-cat{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.leak-title{font-weight:500;font-size:1rem;text-wrap:pretty}
.leak-meta{display:flex;flex-direction:column;gap:.3rem;align-items:flex-start}
.leak-amt{display:flex;flex-direction:column;align-items:flex-end;min-width:6.5rem}.leak-amt b{font-size:1.3rem;font-weight:500;color:var(--pos);letter-spacing:-.02em}.leak-amt .muted{font-size:.8rem}.leak-once{font-size:.8rem;color:var(--warn)}
.leak-caret{color:var(--muted);transition:transform .2s}.leak.open .leak-caret{transform:rotate(180deg)}
.leak-body{padding:0 1.25rem 1.25rem;display:flex;flex-direction:column;gap:1rem}
.leak-desc{margin:0;max-width:75ch;line-height:1.55}
.leak-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:1.25rem}
.leak-side{display:flex;flex-direction:column;gap:.9rem}.leak-q{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap}
.leak-rec{display:flex;gap:.5rem;align-items:flex-start;color:var(--acc-ink)}.leak-rec i{margin-top:.2rem}
/* recommendations */
.recs{list-style:none;margin:0;padding:0 .6rem .6rem;display:flex;flex-direction:column;gap:2px}
.rec{border-radius:var(--radius-md)}.rec.on{background:color-mix(in srgb,var(--color-accent) 7%,transparent)}
.rec-row{width:100%;display:grid;grid-template-columns:2rem minmax(0,1fr) auto;gap:.8rem;align-items:center;padding:.8rem;background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:var(--radius-md)}
.rec-row:hover{background:color-mix(in srgb,var(--color-text) 4%,transparent)}
.rec-n{width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;font-size:.85rem;box-shadow:inset 0 0 0 1px var(--line);color:var(--muted)}
.rec:nth-child(-n+3) .rec-n{box-shadow:inset 0 0 0 1px var(--color-accent);color:var(--acc-ink)}
.rec-main{display:flex;flex-direction:column;gap:.35rem;min-width:0}.rec-title{font-weight:500;text-wrap:pretty}
.rec-sub{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center;font-size:.8rem}
.rec-kind{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;padding:.15rem .45rem;border-radius:4px;background:color-mix(in srgb,var(--color-accent) 14%,transparent);color:var(--acc-ink)}.rec-kind.grow{background:color-mix(in srgb,var(--pos) 14%,transparent);color:var(--pos)}
.rec-amt{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;min-width:6.5rem}.rec-amt b{font-weight:500;color:var(--pos)}.rec-amt .muted{font-size:.78rem}
.rec-bar{width:6rem;height:4px;border-radius:2px;background:color-mix(in srgb,var(--color-text) 8%,transparent)}.rec-bar i{display:block;height:100%;border-radius:2px;background:var(--color-accent)}
.rec-body{padding:0 .8rem 1rem 3.6rem;display:flex;flex-direction:column;gap:.7rem}
.matrix{position:relative;height:260px;border-radius:var(--radius-md);background:linear-gradient(to right,transparent 49.8%,var(--line) 50%,transparent 50.2%),linear-gradient(to bottom,transparent 49.6%,var(--line) 50%,transparent 50.4%),color-mix(in srgb,var(--color-text) 3%,transparent)}
.mx-y{position:absolute;left:.5rem;top:.4rem;font-size:.72rem;color:var(--muted)}.mx-x{position:absolute;right:.5rem;bottom:.4rem;font-size:.72rem;color:var(--muted)}.mx-q{position:absolute;right:.6rem;top:.4rem;font-size:.72rem;color:var(--acc-ink);text-transform:uppercase;letter-spacing:.06em}
.mx-dot{position:absolute;width:var(--s);height:var(--s);transform:translate(-50%,50%);border-radius:50%;border:0;padding:0;cursor:pointer;background:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 22%,transparent);transition:transform .15s}
.mx-dot.grow{background:var(--color-neutral-500,#8a8fa3);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-text) 10%,transparent)}
.mx-dot:hover,.mx-dot.on{transform:translate(-50%,50%) scale(1.35);box-shadow:0 0 0 2px var(--color-bg),0 0 0 4px var(--color-accent)}
/* health */
.health-hero{align-items:flex-start;overflow:hidden}
.gauge{position:relative;width:180px;height:180px;align-self:center}.gauge svg{width:100%;height:100%}
.g-track{fill:none;stroke:color-mix(in srgb,var(--color-text) 8%,transparent);stroke-width:10}
.g-fill{fill:none;stroke-width:10;stroke-linecap:round;stroke:var(--color-accent);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--color-accent) 50%,transparent));transition:stroke-dashoffset .6s ease}
.g-fill.warn{stroke:var(--warn)}.g-fill.neg{stroke:var(--neg)}
.gauge-v{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.gauge-v b{font-size:3.2rem;font-weight:500;letter-spacing:-.03em;line-height:1}.gauge-v span{color:var(--muted);font-size:.85rem}
.health-band{display:flex;gap:.7rem;align-items:center;align-self:center}
.health-hist{display:flex;gap:.6rem;width:100%;justify-content:space-between}.health-hist>div{display:flex;flex-direction:column;align-items:center;gap:.3rem;flex:1}
.hh-bar{width:100%;max-width:28px;height:56px;border-radius:4px;background:color-mix(in srgb,var(--color-text) 5%,transparent);display:flex;align-items:flex-end;overflow:hidden}.hh-bar i{display:block;width:100%;background:color-mix(in srgb,var(--color-accent) 45%,var(--color-surface))}.hh-bar i.last{background:var(--color-accent)}
.health-lift{display:flex;align-items:center;gap:.8rem;text-align:left;width:100%;padding:.75rem;border-radius:var(--radius-md);background:none;border:0;color:inherit;font:inherit;cursor:pointer}.health-lift:hover{background:color-mix(in srgb,var(--color-accent) 8%,transparent)}.health-lift>span:nth-child(2){flex:1}
.h-in{width:5.2rem;text-align:right;padding:.35rem .5rem;min-height:2.2rem}
.h-score{display:flex;align-items:center;gap:.6rem}.h-score .budbar{min-width:90px;flex:1}.h-score b{min-width:2rem;text-align:right;font-weight:500}
.budbar-fill.h-warn{background:var(--warn)}.budbar-fill.h-neg{background:var(--neg)}.budbar-fill.h-pos{background:color-mix(in srgb,var(--pos) 75%,var(--color-surface))}
.row-off td{opacity:.45}
/* simulator */
.sim-levers{gap:1.1rem}
.sim-sl{display:flex;flex-direction:column;gap:.35rem}.sim-sl-top{display:flex;justify-content:space-between;gap:1rem}.sim-sl-top label{font-size:.92rem}.sim-sl-top b{font-weight:500;color:var(--acc-ink)}
.sim-sl input[type=range]{width:100%;accent-color:var(--color-accent)}
.sim-hero{display:flex;flex-direction:column;gap:.3rem;padding:1rem 1.1rem;border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-accent) 8%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent) 25%,transparent)}
.sim-hero>div{display:flex;align-items:baseline;gap:.8rem}.sim-hero b{font-size:2.3rem;font-weight:500;letter-spacing:-.03em}
.sim-out{display:flex;flex-direction:column;gap:.55rem}.sim-cmp{display:flex;align-items:center;gap:.5rem}.sim-d{min-width:5rem;text-align:right;font-size:.85rem}
.sim-ratios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.sim-ratios>div{display:flex;flex-direction:column;gap:.15rem}.sim-ratios b{font-size:1.2rem;font-weight:500}
.sim-eff{display:flex;flex-direction:column;gap:.5rem}
.sim-eff-row{display:grid;grid-template-columns:minmax(8rem,1fr) minmax(0,1.4fr) 5.5rem;gap:.8rem;align-items:center;font-size:.9rem}.sim-eff-row b{text-align:right;font-weight:500}
.sim-eff-track{position:relative;height:10px;border-radius:5px;background:linear-gradient(to right,transparent calc(50% - .5px),var(--line) calc(50% - .5px),var(--line) calc(50% + .5px),transparent calc(50% + .5px)),color-mix(in srgb,var(--color-text) 4%,transparent)}
.sim-eff-track i{position:absolute;top:0;bottom:0;border-radius:5px}.sim-eff-track i.pos{background:color-mix(in srgb,var(--pos) 70%,transparent)}.sim-eff-track i.neg{background:color-mix(in srgb,var(--neg) 70%,transparent)}
.warn-s{background:color-mix(in srgb,var(--warn) 9%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--warn) 30%,transparent)}.warn-s i{color:var(--warn)}
.assume{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.45rem;color:var(--muted);font-size:.92rem;line-height:1.5;max-width:90ch}
/* briefings */
.brief-wrap{align-items:start}
.brief-list{gap:.4rem}
.brief-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem .8rem;border-radius:var(--radius-md);background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer}
.brief-item>span:first-child{display:flex;flex-direction:column;gap:.1rem}.brief-item b{font-weight:500}
.brief-item:hover{background:color-mix(in srgb,var(--color-text) 4%,transparent)}.brief-item.on{background:color-mix(in srgb,var(--color-accent) 12%,transparent);box-shadow:inset 2px 0 0 var(--color-accent)}
.brief{overflow:hidden;gap:1.2rem}
.brief-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.brief-title{margin:0;font-size:1.6rem;font-weight:500;letter-spacing:-.01em}
.brief-lede{margin:0;font-size:1.15rem;line-height:1.5;max-width:62ch;text-wrap:pretty}
.brief-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;padding:1rem 0;background:linear-gradient(to right,transparent,var(--line) 48px,var(--line) calc(100% - 48px),transparent) no-repeat top/100% 1px,linear-gradient(to right,transparent,var(--line) 48px,var(--line) calc(100% - 48px),transparent) no-repeat bottom/100% 1px}
.brief-kpis>div{display:flex;flex-direction:column;gap:.2rem}.brief-kpis b{font-size:1.3rem;font-weight:500}
.brief-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.brief-ul{margin:.4rem 0 0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.4rem;font-size:.94rem;line-height:1.45}
/* assistant */
.ia{min-height:560px}
.ia-chat{display:flex;flex-direction:column;gap:.8rem;max-height:620px;overflow:auto;padding-right:.3rem;flex:1}
.ia-ans{max-width:100%;width:100%;display:flex;flex-direction:column;gap:.7rem;white-space:normal}.ia-ans p{margin:0}
.ia-viz{padding:.8rem;border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-bg) 45%,transparent)}
.ia-acts{display:flex;gap:.5rem;flex-wrap:wrap}
.ia-foot{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap;font-size:.78rem;color:var(--muted);padding-top:.5rem;background:linear-gradient(to right,var(--line),transparent) no-repeat top/100% 1px}
.ia-sim{margin-left:auto;color:var(--acc-ink);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}
.ia-side{display:flex;flex-direction:column;gap:1.25rem;min-width:0}
.ia-qs{display:flex;flex-direction:column;gap:.2rem}
.ia-q{display:flex;gap:.6rem;align-items:flex-start;text-align:left;padding:.6rem .7rem;border-radius:var(--radius-md);background:none;border:0;color:inherit;font:inherit;font-size:.92rem;cursor:pointer}.ia-q i{color:var(--acc-ink);margin-top:.15rem}
.ia-q:hover{background:color-mix(in srgb,var(--color-accent) 9%,transparent)}
@media (max-width:1000px){.leak-row{grid-template-columns:auto minmax(0,1fr) auto auto auto}.leak-st{display:none}.leak-grid,.brief-cols{grid-template-columns:1fr}.brief-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.leak-hero-big b{font-size:2.3rem}}
@media (max-width:640px){.leak-row{grid-template-columns:auto minmax(0,1fr) auto}.leak-caret{display:none}.rec-body{padding-left:.8rem}.sim-eff-row{grid-template-columns:1fr 5rem}.sim-eff-track{display:none}.leak-hero-stats{flex-direction:column;gap:.6rem}}
