.caution{margin:30px 0 0;padding:18px 22px;border-left:3px solid var(--ember);background:rgba(255,155,74,.07);border-radius:0 12px 12px 0;font-size:.9rem;color:var(--caution-text);max-width:920px}
.caution strong{color:var(--ember)}
.controls{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:18px;margin-top:34px}
.field{display:flex;flex-direction:column;gap:8px;font:500 .7rem var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--dim)}
.field select,.money{font:500 1rem var(--body);text-transform:none;letter-spacing:0;color:var(--text);min-height:46px;padding:0 12px;border:1px solid var(--line-2);border-radius:10px;background:var(--surface)}
.field select option{background:var(--surface)}
.money{display:flex;align-items:center;gap:6px;color:var(--muted)}.money input{font:inherit;width:100%;border:0;outline:0;background:none;color:var(--text);font-variant-numeric:tabular-nums}
.money:focus-within,.field select:focus-visible{outline:2px solid var(--ember);outline-offset:2px}
input[type=range]{accent-color:var(--ember);width:100%}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 14px}
.filters button{font:500 .8rem var(--body);min-height:40px;padding:8px 14px;border-radius:999px;border:1px solid var(--line-2);background:var(--tint);color:var(--text);cursor:pointer}
.filters button:hover{border-color:var(--ember)}
.filters button[aria-pressed=true]{background:linear-gradient(135deg,var(--ember),var(--ember-2));border-color:transparent;color:#160b04;font-weight:600}
#rows tr:focus-visible{outline:2px solid var(--ember);outline-offset:-2px}
.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line-2);border-radius:16px}
table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:760px}
caption{text-align:left;padding:16px 18px 6px;font-size:.8rem;color:var(--dim)}
th,td{padding:12px 14px;text-align:left;border-top:1px solid var(--line);vertical-align:middle}
thead th{font:600 .66rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--dim);border-top:0}
thead th span,tbody th span{display:block;text-transform:none;letter-spacing:0;font:400 .72rem var(--body);color:var(--dim)}
.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.strong{font-weight:650}
tbody tr{cursor:pointer}tbody tr:hover{background:var(--tint)}tbody tr.selected{background:rgba(255,155,74,.08)}
tbody tr.reference th{font-style:italic}
tbody th{font-weight:600}
.bar-col{width:22%}.track{position:relative;height:10px;border-radius:5px;background:var(--tint-2)}
.track div{position:absolute;left:0;top:0;bottom:0;border-radius:5px}.typ{background:rgba(255,155,74,.35)}.bad{background:var(--ember)}
td.low{color:var(--green)}td.mid{color:#f2c46d}td.high{color:var(--red);font-weight:650}
.detail{margin-top:30px;padding:26px;background:var(--surface);border:1px solid var(--line-2);border-radius:16px}
.detail h2{font-size:1.7rem}.detail-lead{margin-top:10px;color:var(--muted);max-width:820px}
.detail-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:30px;margin-top:24px}
.detail h3{font:500 .7rem var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--dim);margin-bottom:12px}
.stack{display:flex;height:14px;border-radius:7px;overflow:hidden;margin-bottom:12px}
.fund-list,.plain{list-style:none;margin:0;padding:0;font-size:.86rem;color:var(--text-2)}.fund-list li,.plain li{padding:7px 0;border-top:1px solid var(--line)}
.fund-list em{font:500 .66rem var(--mono);font-style:normal;color:var(--red);border:1px solid rgba(255,107,107,.4);border-radius:4px;padding:1px 5px}
.swatch{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:8px}
.c0{background:#ff9b4a}.c1{background:#5fd4e8}.c2{background:#a78bfa}.c3{background:#59d499}.c4{background:#f2c46d}.c5{background:#ff6b6b}.c6{background:#7aa2ff}.c7{background:#94a0b4}
.decades{display:grid;gap:8px;margin:0}.decades div{display:flex;justify-content:space-between;padding:9px 12px;background:var(--tint);border:1px solid var(--line);border-radius:10px}
.decades dt{color:var(--muted);font-size:.86rem}.decades dd{margin:0;font-weight:650;font-variant-numeric:tabular-nums}
.detail .small{margin-top:12px}
@media(max-width:900px){.controls{grid-template-columns:1fr 1fr}.controls .field:first-child{grid-column:1/-1}.detail-grid{grid-template-columns:1fr}}
@media(max-width:520px){.controls{grid-template-columns:1fr}.detail{padding:18px}}
