.hp-page { text-align: right; }
.hp-page-shell { max-width: 1480px; }
.hp-showcase-header { display:grid;grid-template-columns:minmax(310px,.78fr) minmax(470px,1.22fr);gap:clamp(1rem,3vw,2.4rem);align-items:center;margin-bottom:1.25rem;padding:clamp(1.1rem,2.4vw,1.75rem);border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border-color));border-radius:1.2rem;background:radial-gradient(circle at 8% 12%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 34%),linear-gradient(135deg,color-mix(in srgb,var(--accent) 6%,var(--bg-card)),var(--bg-card));box-shadow:var(--shadow-card);overflow:hidden; }
.hp-showcase-copy { max-width:850px; }
.hp-showcase-kicker { display:inline-flex;margin-bottom:.55rem;color:var(--accent);font-size:.75rem;font-weight:800; }
.hp-showcase-header h1 { margin:0;color:var(--text-primary);font-size:clamp(1.45rem,3vw,2.15rem);font-weight:900;line-height:1.5; }
.hp-showcase-header p { max-width:820px;margin:.65rem 0 0;color:var(--text-secondary);font-size:.9rem;line-height:2; }
.hp-showcase-actions { display:flex;gap:.65rem;align-items:center;flex-wrap:wrap;margin-top:1rem; }
.hp-showcase-actions .btn { min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding-inline:1rem;font-size:.82rem;font-weight:750; }
.hp-showcase-primary { color:#fff; }
.hp-showcase-points { display:grid;gap:.65rem; }
.hp-showcase-points > div { display:flex;gap:.7rem;align-items:center;padding:.75rem;border:1px solid var(--border-color);border-radius:.8rem;background:color-mix(in srgb,var(--bg-card) 88%,transparent); }
.hp-showcase-points > div > i { display:inline-flex;width:2.15rem;height:2.15rem;align-items:center;justify-content:center;flex:0 0 2.15rem;border-radius:.65rem;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent); }
.hp-showcase-points strong,.hp-showcase-points small { display:block; }
.hp-showcase-points strong { color:var(--text-primary);font-size:.82rem; }
.hp-showcase-points small { margin-top:.12rem;color:var(--text-muted);font-size:.7rem;line-height:1.5; }
.hp-showcase-feature-chips { display:flex;flex-wrap:wrap;gap:.42rem;margin-top:.85rem; }
.hp-showcase-feature-chips span { display:inline-flex;gap:.35rem;align-items:center;padding:.3rem .55rem;border:1px solid var(--border-color);border-radius:999px;color:var(--text-secondary);background:color-mix(in srgb,var(--bg-card) 88%,transparent);font-size:.7rem;font-weight:700; }
.hp-showcase-feature-chips i { color:var(--accent); }
.hp-showcase-preview { min-width:0;margin:0;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border-color));border-radius:1rem;background:color-mix(in srgb,var(--bg-card) 94%,transparent);box-shadow:0 18px 48px rgba(15,23,42,.16);overflow:hidden;transform:perspective(1000px) rotateY(1.5deg);transform-origin:left center; }
.hp-preview-bar { display:grid;grid-template-columns:auto 1fr auto;gap:.65rem;align-items:center;padding:.65rem .8rem;border-bottom:1px solid var(--border-color);background:var(--bg-card-hover); }
.hp-preview-bar > strong { color:var(--text-primary);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.hp-preview-dots { display:flex;gap:.23rem;direction:ltr; }
.hp-preview-dots i { display:block;width:.48rem;height:.48rem;border-radius:50%;background:#ef4444; }
.hp-preview-dots i:nth-child(2) { background:#f59e0b; }
.hp-preview-dots i:nth-child(3) { background:#10b981; }
.hp-preview-badge { padding:.25rem .48rem;border-radius:999px;color:#b45309;background:rgba(245,158,11,.12);font-size:.62rem;font-weight:800;white-space:nowrap; }
.hp-preview-body { padding:.8rem .9rem .7rem; }
.hp-preview-toolbar { display:flex;justify-content:space-between;gap:.75rem;align-items:center;margin-bottom:.55rem; }
.hp-preview-toolbar > div:first-child { display:flex;gap:.45rem;align-items:center;flex-wrap:wrap; }
.hp-preview-toolbar small { color:var(--text-muted);font-size:.62rem; }
.hp-preview-live { display:inline-flex;gap:.32rem;align-items:center;padding:.22rem .45rem;border-radius:999px;color:#047857;background:rgba(16,185,129,.12);font-size:.62rem;font-weight:800; }
.hp-preview-live i { width:.42rem;height:.42rem;border-radius:50%;background:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.13); }
.hp-preview-switch { display:inline-flex;gap:.12rem;padding:.15rem;border:1px solid var(--border-color);border-radius:.52rem;background:var(--bg-card-hover);direction:rtl; }
.hp-preview-switch span { padding:.24rem .48rem;border-radius:.38rem;color:var(--text-muted);font-size:.62rem;font-weight:750; }
.hp-preview-switch .is-active { color:#fff;background:#1d4ed8;box-shadow:0 3px 9px rgba(29,78,216,.22); }
.hp-preview-kpis { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-bottom:.55rem; }
.hp-preview-kpis > span { min-width:0;padding:.45rem .55rem;border:1px solid var(--border-color);border-radius:.62rem;color:var(--text-muted);background:var(--bg-body);font-size:.62rem;line-height:1.6; }
.hp-preview-kpis strong,.hp-preview-kpis bdi { display:block;color:var(--text-primary);font-size:.76rem;font-weight:800;white-space:nowrap; }
.hp-preview-chart { display:block;width:100%;height:210px;border-radius:.65rem;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 5%,var(--bg-card)),var(--bg-card));overflow:visible; }
.hp-preview-grid line { stroke:color-mix(in srgb,var(--text-muted) 16%,transparent);stroke-width:.45; }
.hp-preview-line { fill:none;stroke:#1d4ed8;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round; }
.hp-preview-fallback-area { fill:color-mix(in srgb,#14b8a6 20%,transparent); }
.hp-preview-dates { display:flex;align-items:center;gap:.55rem;margin-top:.35rem;color:var(--text-muted);font-size:.6rem;direction:ltr; }
.hp-preview-dates i { flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--border-color),transparent); }
.hp-showcase-preview figcaption { margin-top:.5rem;color:var(--text-muted);font-size:.63rem;line-height:1.65; }
.hp-calculator-anchor { scroll-margin-top:78px; }
#hp-explainer,
#hypothetical-attribution { scroll-margin-top:82px; }
.hp-implicit-submit { position:absolute;width:1px;height:1px;overflow:hidden;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap; }
.hp-page h1 { color: var(--text-primary); }
.hp-page h1 > i,
.hp-card .card-header i { color: var(--accent); margin-left: .35rem; }
.hp-subtitle { color: var(--text-secondary); font-size: .9rem; }
.hp-back,
.hp-preset,
.hp-add { color: var(--accent); border: 1px solid color-mix(in srgb, var(--accent) 32%, transparent); background: color-mix(in srgb, var(--accent) 9%, transparent); }
.hp-back:hover,
.hp-preset:hover,
.hp-add:hover { color: var(--text-primary); background: color-mix(in srgb, var(--accent) 16%, transparent); }
.hp-preset.is-active { color: #fff; border-color: var(--accent); background: var(--accent); }
.hp-card { border: 1px solid var(--border-color); background: var(--bg-card); }
.hp-card .card-header { background: var(--bg-card-hover); color: var(--text-primary); border-bottom-color: var(--border-color); }
.hp-form-card { position:relative;overflow:visible;border-radius:1rem; }
.hp-form-card > .hp-form-header { border-radius:1rem 1rem 0 0; }
.hp-form-card > .hp-form-body { border-radius:0 0 1rem 1rem; }
.hp-form-header { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: .72rem .9rem; border-bottom: 1px solid var(--border-color); background: linear-gradient(120deg, color-mix(in srgb, var(--accent) 9%, var(--bg-card-hover)), var(--bg-card-hover)); }
.hp-form-title { display: flex; gap: .75rem; align-items: flex-start; }
.hp-form-title-icon { display: inline-flex; flex: 0 0 2.35rem; width: 2.35rem; height: 2.35rem; align-items: center; justify-content: center; border-radius: .72rem; color: var(--accent); background: color-mix(in srgb, var(--accent) 13%, transparent); }
.hp-form-title strong { display: block; color: var(--text-primary); font-size: 1rem; }
.hp-form-title p { margin: .22rem 0 0; color: var(--text-secondary); font-size: .82rem; line-height: 1.65; }
.hp-form-steps { display: inline-flex; gap: .45rem; align-items: center; flex-wrap: wrap; justify-content: flex-end; color: var(--text-muted); font-size: .75rem; white-space: nowrap; }
.hp-form-steps span { display: inline-flex; gap: .3rem; align-items: center; padding: .32rem .55rem; border: 1px solid var(--border-color); border-radius: 999px; background: var(--bg-card); }
.hp-form-steps b { display: inline-flex; width: 1.1rem; height: 1.1rem; align-items: center; justify-content: center; border-radius: 50%; color: var(--accent); background: color-mix(in srgb, var(--accent) 11%, transparent); }
.hp-form-steps i { color: var(--accent); font-size: .65rem; }
.hp-form-body { overflow:visible;padding: .8rem; }
.hp-form-panel { padding: .75rem; border: 1px solid var(--border-color); border-radius: .75rem; background: color-mix(in srgb, var(--accent) 3%, var(--bg-card)); }
.hp-form-fields { display: grid; grid-template-columns: minmax(220px, 1.15fr) repeat(2, minmax(190px, 1fr)); gap: .85rem; align-items: start; }
.hp-form-field { min-width: 0; }
.hp-input-shell { position: relative; }
.hp-input-shell > i { position: absolute; z-index: 1; top: 50%; right: .85rem; transform: translateY(-50%); color: var(--text-muted); font-size: .82rem; pointer-events: none; }
.hp-input-shell .form-control { min-height: 44px; padding-right: 2.35rem; border-color: var(--border-color); color: var(--text-primary); background: var(--bg-card); }
.hp-input-shell .form-control:focus { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 13%, transparent); }
.hp-quick-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; margin-top: .55rem; }
.hp-quick-heading { display:flex;gap:.4rem;align-items:center;margin-top:.1rem;color:var(--text-primary);font-size:.78rem; }
.hp-quick-heading i { color:#f59e0b; }
.hp-quick-control { padding: .75rem; border: 1px solid var(--border-color); border-radius: .7rem; background: var(--bg-card-hover); }
.hp-quick-label { display: flex; gap: .38rem; align-items: center; margin-bottom: .55rem; color: var(--text-secondary); font-size: .78rem; font-weight: 700; }
.hp-quick-label i { color: var(--accent); }
.hp-preset-list { display: flex; flex-wrap: wrap; gap: .45rem; }
.hp-preset-list .hp-preset { min-height: 34px; padding-inline: .7rem; font-size: .76rem; }
.hp-custom-details { margin-top:.55rem;border-top:1px dashed var(--border-color); }
.hp-custom-details > summary { display:flex;gap:.45rem;align-items:center;width:max-content;max-width:100%;padding:.55rem .15rem .1rem;color:var(--accent);font-size:.74rem;font-weight:750;cursor:pointer;list-style:none; }
.hp-custom-details > summary::-webkit-details-marker { display:none; }
.hp-custom-details > summary > i:last-child { font-size:.6rem;transition:transform .18s ease; }
.hp-custom-details[open] > summary > i:last-child { transform:rotate(180deg); }
.hp-custom-details .hp-form-fields { margin-top:.65rem; }
.hp-form-stage { display: flex; gap: .55rem; align-items: center; margin: 1.2rem 0 .75rem; color: var(--text-muted); font-size: .78rem; font-weight: 700; }
.hp-form-stage span { display: inline-flex; width: 1.45rem; height: 1.45rem; align-items: center; justify-content: center; border-radius: 50%; color: var(--accent); background: color-mix(in srgb, var(--accent) 12%, transparent); }
.hp-form-stage i { display: block; flex: 1; height: 1px; background: var(--border-color); }
.hp-form-actions { display: flex; justify-content: space-between; gap: 1rem; align-items: center; margin-top: 1rem; padding: .9rem 1rem; border: 1px solid var(--border-color); border-radius: .8rem; background: var(--bg-card-hover); }
.hp-form-actions p { margin: 0; color: var(--text-muted); font-size: .77rem; line-height: 1.6; }
.hp-form-actions p i { margin-left: .35rem; color: var(--accent); }
.hp-form-submit-group { display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;justify-content:flex-end; }
.hp-submit--primary { display: inline-flex; min-height: 44px; gap: .45rem; align-items: center; justify-content: center; padding-inline: 1.25rem; font-weight: 700; white-space: nowrap; }
.hp-compare-link { display:inline-flex;min-height:44px;gap:.45rem;align-items:center;justify-content:center;padding-inline:1rem;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border-color));border-radius:.62rem;color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--bg-card));font-size:.76rem;font-weight:650;line-height:1.55; }
.hp-compare-link:hover,.hp-compare-link:focus-visible { color:#fff;border-color:var(--accent);background:var(--accent); }
.hp-submit--primary.is-busy { pointer-events: none; opacity: .76; }
.hp-submit--primary.is-busy i { animation: hp-spin .8s linear infinite; }
.hp-submit--primary.is-unchanged { color:#7c2d12;background:linear-gradient(135deg,#fef3c7,#fde68a);box-shadow:0 0 0 3px rgba(245,158,11,.12); }
.hp-submit--primary.is-unchanged i { color:#b45309; }
@keyframes hp-spin { to { transform: rotate(360deg); } }
.hp-frictionless { display: flex; gap: .8rem; align-items: flex-start; padding: .9rem 1rem; border-radius: .75rem; border: 1px solid rgba(251, 191, 36, .3); background: rgba(251, 191, 36, .08); color: var(--text-secondary); }
.hp-frictionless i { color: #fbbf24; margin-top: .2rem; }
.hp-frictionless strong,
.hp-frictionless span { display: block; }
.hp-frictionless span { margin-top: .2rem; font-size: .82rem; line-height: 1.7; }
.hp-label { display: block; margin-bottom: .35rem; color: var(--text-secondary); font-size: .84rem; font-weight: 600; }
.hp-help { position:relative;display:inline-flex;width:1.15rem;height:1.15rem;margin-right:.22rem;padding:0;align-items:center;justify-content:center;vertical-align:middle;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:50%;color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--bg-card));font-size:.58rem;cursor:help; }
.hp-help::after { content:attr(data-hp-tooltip);position:absolute;z-index:1200;right:50%;bottom:calc(100% + .55rem);width:min(260px,75vw);padding:.55rem .65rem;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border-color));border-radius:.55rem;color:var(--text-primary);background:var(--bg-card);box-shadow:0 10px 25px rgba(0,0,0,.2);font-size:.7rem;font-weight:500;line-height:1.7;text-align:right;white-space:normal;opacity:0;visibility:hidden;transform:translateX(15%) translateY(4px);transition:opacity .15s ease,transform .15s ease,visibility .15s ease;pointer-events:none; }
.hp-help:hover::after,.hp-help:focus-visible::after,.hp-help.is-tooltip-open::after { opacity:1;visibility:visible;transform:translateX(15%) translateY(0); }
.hp-help:focus-visible { outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px; }
.hp-page input[type="number"] { appearance:textfield;-moz-appearance:textfield; }
.hp-page input[type="number"]::-webkit-inner-spin-button,
.hp-page input[type="number"]::-webkit-outer-spin-button { margin:0;-webkit-appearance:none; }
.hp-builder { display: grid; gap: .65rem; overflow:visible; }
.hp-scenario-presets { display:flex;justify-content:space-between;gap:.65rem;align-items:center;padding:.58rem .7rem;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border-color));border-radius:.72rem;background:color-mix(in srgb,var(--accent) 6%,var(--bg-card)); }
.hp-scenario-presets > div:first-child { min-width:190px; }
.hp-scenario-presets strong,.hp-scenario-presets small { display:block; }
.hp-scenario-presets strong { color:var(--text-primary);font-size:.83rem; }
.hp-scenario-presets strong i { margin-left:.3rem;color:#f59e0b; }
.hp-scenario-presets small { margin-top:.16rem;color:var(--text-muted);font-size:.7rem;line-height:1.5; }
.hp-scenario-list { display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end; }
.hp-scenario-button { min-height:34px;padding:.35rem .7rem;border:1px solid color-mix(in srgb,var(--accent) 27%,transparent);border-radius:999px;color:var(--accent);background:var(--bg-card);font-size:.73rem;font-weight:700; }
.hp-scenario-button:hover,.hp-scenario-button:focus-visible,.hp-scenario-button.is-active { color:#fff;border-color:var(--accent);background:var(--accent); }
.hp-builder-panel { border: 1px solid var(--border-color); border-radius: .85rem; background: color-mix(in srgb, var(--accent) 3%, var(--bg-card)); }
.hp-builder-options { padding: 1rem; }
.hp-section-heading,
.hp-builder-title { display: flex; align-items: flex-start; gap: .65rem; }
.hp-section-heading { margin-bottom: .9rem; }
.hp-section-heading strong,
.hp-builder-title strong { display: block; color: var(--text-primary); font-size: .93rem; }
.hp-section-heading small,
.hp-builder-title small { display: block; max-width: 720px; margin-top: .18rem; color: var(--text-muted); font-size: .78rem; line-height: 1.65; }
.hp-section-icon { display: inline-flex; flex: 0 0 2rem; width: 2rem; height: 2rem; align-items: center; justify-content: center; border-radius: .55rem; color: var(--accent); background: color-mix(in srgb, var(--accent) 11%, transparent); }
.hp-builder-options .form-select,
.hp-allocation-row .form-select,
.hp-allocation-row .form-control { min-height: 40px; }
.hp-check-option { display:flex;min-height:66px;align-items:flex-start;gap:.65rem;padding:.72rem .8rem;border:1px solid var(--border-color);border-radius:.65rem;background:var(--bg-card-hover);cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease; }
.hp-check-option:hover { border-color: color-mix(in srgb, var(--accent) 45%, transparent); background: color-mix(in srgb, var(--accent) 7%, transparent); }
.hp-check-option:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent); }
.hp-check-option input { flex: 0 0 auto; width: 1.05rem; height: 1.05rem; margin-top:.18rem;accent-color:var(--accent); }
.hp-check-option strong,.hp-check-option small { display:block; }
.hp-check-option strong { color:var(--text-primary);font-size:.84rem; }
.hp-check-option small { color:var(--text-muted);font-size:.75rem;margin-top:.16rem;line-height:1.55; }
.hp-option-column { position:relative; }
.hp-option-help { position:absolute;z-index:4;top:.5rem;left:.75rem;margin:0; }
.hp-capital-formatted { display:block;min-height:1.2rem;color:var(--accent);font-size:.78rem;margin-top:.25rem; }
.hp-composition-panel { position:relative;overflow:visible;padding:1rem; }
.hp-composition-panel:focus-within { z-index:40; }
.hp-builder-head { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding-bottom: .9rem; border-bottom: 1px solid var(--border-color); }
.hp-builder-title-cluster { display:flex;min-width:0;gap:.7rem;align-items:center;flex-wrap:wrap; }
.hp-mini-settings { display:flex;gap:.38rem;align-items:center;flex-wrap:wrap;padding:.25rem .32rem;border:1px solid var(--border-color);border-radius:.6rem;background:var(--bg-card-hover); }
.hp-mini-settings-label { display:inline-flex;gap:.2rem;align-items:center;padding-inline:.28rem;color:var(--text-muted);font-size:.67rem;font-weight:750;white-space:nowrap; }
.hp-mini-settings-label .hp-help { transform:scale(.88); }
.hp-mini-select { display:flex;gap:.3rem;align-items:center;margin:0;color:var(--text-muted);font-size:.66rem;white-space:nowrap; }
.hp-mini-select .form-select { width:auto;min-width:104px;min-height:31px;padding-top:.2rem;padding-bottom:.2rem;border-color:var(--border-color);color:var(--text-primary);background-color:var(--bg-card);font-size:.67rem; }
.hp-mini-check { display:inline-flex;gap:.3rem;align-items:center;min-height:31px;margin:0;padding:.25rem .48rem;border:1px solid var(--border-color);border-radius:.45rem;color:var(--text-secondary);background:var(--bg-card);font-size:.66rem;font-weight:650;white-space:nowrap;cursor:pointer; }
.hp-mini-check:hover { border-color:color-mix(in srgb,var(--accent) 35%,var(--border-color)); }
.hp-mini-check input { width:.9rem;height:.9rem;margin:0;accent-color:var(--accent); }
.hp-commission-options { display:flex;flex-wrap:wrap;gap:.3rem; }
.hp-inline-settings { border-bottom:1px solid var(--border-color); }
.hp-inline-settings > summary { display:grid;grid-template-columns:auto 1fr auto;gap:.6rem;align-items:center;padding:.58rem .1rem;color:var(--text-primary);font-size:.78rem;font-weight:750;cursor:pointer;list-style:none; }
.hp-inline-settings > summary::-webkit-details-marker { display:none; }
.hp-inline-settings > summary span { display:inline-flex;gap:.4rem;align-items:center; }
.hp-inline-settings > summary span i { color:var(--accent); }
.hp-inline-settings > summary small { color:var(--text-muted);font-size:.68rem;font-weight:500; }
.hp-inline-settings > summary > i { color:var(--text-muted);font-size:.62rem;transition:transform .18s ease; }
.hp-inline-settings[open] > summary > i { transform:rotate(180deg); }
.hp-inline-settings-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;padding:.15rem 0 .65rem; }
.hp-inline-settings-grid .hp-check-option { min-height:58px;padding:.58rem .65rem; }
.hp-settings-note { margin:0 0 .65rem;padding:.45rem .58rem;border-radius:.5rem;color:var(--text-muted);background:var(--bg-card-hover);font-size:.68rem;line-height:1.65; }
.hp-settings-note i { margin-left:.28rem;color:#f59e0b; }
.hp-total-controls { display:flex;align-items:center;gap:.45rem; }
.hp-total-wrap { display: grid; grid-template-columns: auto auto; column-gap: .5rem; align-items: center; min-width: 180px; padding: .55rem .7rem; border: 1px solid rgba(239,68,68,.25); border-radius: .65rem; color: var(--text-secondary); background: rgba(239,68,68,.055); }
.hp-total-label { font-size: .76rem; }
.hp-total-wrap strong { color: var(--danger); font-size: 1.08rem; text-align: left; }
.hp-total-wrap small { grid-column: 1 / -1; display: block; margin-top: .12rem; color: var(--danger); font-size: .7rem; line-height: 1.45; }
.hp-equal-button { flex:0 0 auto;padding:.3rem .55rem;border:1px solid var(--accent);color:var(--accent);background:var(--bg-card);font-size:.7rem;font-weight:700; }
.hp-equal-button:hover,.hp-equal-button:focus-visible { color:#fff;background:var(--accent); }
.hp-total-wrap.hp-total-valid { border-color: rgba(16,185,129,.3); background: rgba(16,185,129,.07); }
.hp-total-wrap.hp-total-valid strong,
.hp-total-wrap.hp-total-valid small { color: var(--success); }
.hp-allocation-list { display:grid;gap:.65rem;margin-top:.85rem;overflow:visible; }
.hp-allocation-row { position:relative;display:grid;grid-template-columns:2rem minmax(220px,1fr) minmax(125px,.28fr) 44px;gap:.7rem;align-items:end;padding:.75rem;border:1px solid var(--border-color);border-radius:.7rem;background:var(--bg-card);overflow:visible;transition:border-color .15s ease,box-shadow .15s ease; }
.hp-allocation-row:focus-within { z-index:30;border-color:color-mix(in srgb,var(--accent) 45%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 9%,transparent); }
.hp-row-number { display: inline-flex; width: 1.8rem; height: 1.8rem; margin-bottom: .3rem; align-items: center; justify-content: center; justify-self: center; border-radius: 50%; color: var(--accent); background: color-mix(in srgb, var(--accent) 11%, transparent); font-size: .78rem; font-weight: 700; }
.hp-allocation-field { min-width:0;overflow:visible; }
.hp-asset-combobox { position:relative;overflow:visible; }
.hp-asset-search { padding-left:2.25rem; }
.hp-asset-search[readonly] { cursor:pointer;caret-color:transparent; }
.hp-combobox-toggle { position:absolute;z-index:3;top:1px;left:1px;width:2.15rem;height:calc(100% - 2px);padding:0;border:0;border-right:1px solid var(--border-color);border-radius:.45rem 0 0 .45rem;color:var(--text-muted);background:var(--bg-card-hover); }
.hp-combobox-toggle:hover,.hp-combobox-toggle:focus-visible { color:var(--accent); }
.hp-asset-results { position:absolute;z-index:1100;top:calc(100% + 5px);right:0;left:0;display:none;max-height:270px;overflow:auto;border:1px solid var(--border-color);border-radius:.62rem;background:var(--bg-card);box-shadow:0 14px 32px rgba(0,0,0,.25); }
.hp-asset-results.is-open { display:block; }
.hp-asset-option { display:block;width:100%;padding:.55rem .7rem;border:0;border-bottom:1px solid var(--border-color);color:var(--text-primary);background:transparent;text-align:right;cursor:pointer; }
.hp-asset-option:last-child { border-bottom:0; }
.hp-asset-option:hover,.hp-asset-option:focus { outline:0;background:color-mix(in srgb,var(--accent) 9%,var(--bg-card)); }
.hp-asset-option strong,.hp-asset-option small { display:block; }
.hp-asset-option strong { font-size:.8rem; }
.hp-asset-option small { margin-top:.1rem;color:var(--text-muted);font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:ltr;text-align:right; }
.hp-asset-empty { padding:.7rem;color:var(--text-muted);font-size:.76rem; }
.hp-asset-loading { display:flex;gap:.4rem;align-items:center;color:var(--text-secondary); }
.hp-asset-catalog-hint { position:sticky;bottom:0;padding:.65rem .72rem;border-top:1px solid color-mix(in srgb,var(--accent) 25%,var(--border-color));color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--bg-card));font-size:.7rem;font-weight:650;line-height:1.65; }
.hp-allocation-action { display: flex; align-items: flex-end; }
.hp-remove { display: inline-flex; width: 42px; min-width: 42px; height: 42px; align-items: center; justify-content: center; color: var(--danger); border: 1px solid rgba(239, 68, 68, .25); border-radius: .55rem; background: rgba(239, 68, 68, .07); }
.hp-remove:hover { color: #fff; background: var(--danger); }
.hp-remove:disabled { opacity: .35; }
.hp-builder-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: .85rem; }
.hp-builder-actions .hp-add { min-height: 40px; padding-inline: .85rem; }
.hp-catalog-toggle { position:relative;background:transparent; }
.hp-catalog-toggle::after { content:attr(data-hp-tooltip);position:absolute;z-index:1200;right:0;bottom:calc(100% + .55rem);width:min(330px,82vw);padding:.55rem .65rem;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border-color));border-radius:.55rem;color:var(--text-primary);background:var(--bg-card);box-shadow:0 10px 25px rgba(0,0,0,.2);font-size:.72rem;font-weight:500;line-height:1.8;text-align:right;white-space:normal;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease,visibility .15s ease;pointer-events:none; }
.hp-catalog-toggle:hover::after,.hp-catalog-toggle:focus-visible::after,.hp-catalog-toggle.is-tooltip-open::after { opacity:1;visibility:visible;transform:translateY(0); }
.hp-add:disabled { opacity: .45; }
.hp-add:focus-visible,
.hp-remove:focus-visible,
.hp-submit:focus-visible,
.hp-preset:focus-visible,
.hp-back:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 42%, transparent); outline-offset: 2px; }
.hp-submit { color: #fff; background: linear-gradient(135deg, var(--accent), var(--accent-hover)); border: 0; padding-inline: 1.2rem; }
.hp-submit:hover { color: #fff; filter: brightness(1.08); }
.hp-alert { display: flex; gap: .5rem; align-items: flex-start; }
.hp-kpi { height: 100%; padding: 1rem .65rem; text-align: center; border: 1px solid var(--border-color); border-top: 3px solid color-mix(in srgb, var(--accent) 70%, transparent); background: var(--bg-card); }
.hp-kpi span { color: var(--text-muted); font-size: .78rem; margin-bottom: .35rem; }
.hp-kpi strong { color: var(--text-primary); font-size: 1.12rem; min-height: 1.8rem; }
.hp-kpi small { color: var(--text-muted); font-size: .68rem; line-height: 1.5; margin-top: .2rem; }
.hp-positive { color: var(--success) !important; }
.hp-negative { color: var(--danger) !important; }
.hp-number { display:inline-block;direction:ltr;unicode-bidi:isolate; }
.hp-chart-wrap { position: relative; height: 390px; }
#hypothetical-result-chart { scroll-margin-top:82px; }
.hp-result-toolbar { display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.7rem .85rem;border:1px solid var(--border-color);border-radius:.8rem;background:var(--bg-card); }
#hypothetical-results { scroll-margin-top:82px; }
.hp-result-toolbar strong,.hp-result-toolbar small { display:block; }
.hp-result-toolbar strong { color:var(--text-primary);font-size:.9rem; }
.hp-result-toolbar small { margin-top:.12rem;color:var(--text-muted);font-size:.7rem; }
.hp-currency-switch { display:inline-flex;gap:.2rem;padding:.2rem;border:1px solid var(--border-color);border-radius:.65rem;background:var(--bg-card-hover); }
.hp-currency-switch button { min-height:34px;padding:.3rem .72rem;border:0;border-radius:.48rem;color:var(--text-secondary);background:transparent;font-size:.73rem;font-weight:750; }
.hp-currency-switch button.active { color:#fff;background:var(--accent);box-shadow:0 5px 14px color-mix(in srgb,var(--accent) 25%,transparent); }
.hp-currency-switch button:disabled { opacity:.42;cursor:not-allowed; }
.hp-chart-header,.hp-attribution-header { display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.75rem .9rem!important; }
.hp-chart-header strong,.hp-chart-header small,.hp-attribution-header strong,.hp-attribution-header small { display:block; }
.hp-chart-header small,.hp-attribution-header small { margin-top:.18rem;color:var(--text-muted);font-size:.7rem;line-height:1.6; }
.hp-chart-actions { display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;justify-content:flex-end; }
.hp-result-period { display:inline-flex;gap:.3rem;align-items:center;min-height:34px;padding:.3rem .6rem;border:1px solid var(--border-color);border-radius:.55rem;color:var(--text-secondary);background:var(--bg-card);font-size:.68rem;white-space:nowrap; }
.hp-result-period i { color:var(--accent); }
.hp-chart-meta { display:flex;justify-content:space-between;gap:.75rem;align-items:center;flex-wrap:wrap;margin-bottom:.55rem; }
.hp-chart-legend { display:flex;flex-wrap:wrap;gap:.4rem; }
.hp-legend-item { display:inline-flex;gap:.35rem;align-items:center;min-height:31px;padding:.28rem .55rem;border:1px solid var(--border-color);border-radius:999px;color:var(--text-muted);background:var(--bg-card);font-size:.69rem;cursor:pointer;opacity:.58; }
.hp-legend-item i { width:.55rem;height:.55rem;border-radius:50%; }
.hp-legend-item.is-selected { color:var(--text-primary);opacity:1; }
.hp-rebalance-key { display:inline-flex;gap:.35rem;align-items:center;color:var(--text-muted);font-size:.68rem; }
.hp-rebalance-key i { display:inline-flex;width:1.45rem;height:1.45rem;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.9);border-radius:50%;color:#fff;background:linear-gradient(135deg,#3b82f6,#1d4ed8);box-shadow:0 3px 9px rgba(30,64,175,.28);font-size:.58rem; }
.hp-chart-focus { display:flex;gap:.4rem;align-items:center;min-height:32px;margin-bottom:.35rem;padding:.35rem .55rem;border-radius:.55rem;color:var(--text-muted);background:var(--bg-card-hover);font-size:.69rem; }
.hp-chart-focus strong { color:var(--text-primary); }
.hp-chart-focus.is-active { background:color-mix(in srgb,var(--accent) 9%,var(--bg-card)); }
.hp-rebalance-ledger { margin-top:1.15rem;padding-top:1rem;border-top:1px solid var(--border-color); }
.hp-rebalance-ledger-heading { display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.7rem; }
.hp-rebalance-ledger-heading strong,.hp-rebalance-ledger-heading small { display:block; }
.hp-rebalance-ledger-heading strong { color:var(--text-primary);font-size:.84rem; }
.hp-rebalance-ledger-heading strong i { margin-left:.3rem;color:#2563eb; }
.hp-rebalance-ledger-heading small { margin-top:.18rem;color:var(--text-muted);font-size:.67rem; }
.hp-rebalance-ledger-heading > span { padding:.3rem .55rem;border:1px solid color-mix(in srgb,#2563eb 24%,var(--border-color));border-radius:999px;color:#2563eb;background:color-mix(in srgb,#2563eb 7%,var(--bg-card));font-size:.66rem;font-weight:750;white-space:nowrap; }
.hp-rebalance-table-wrap { border:1px solid var(--border-color);border-radius:.7rem; }
.hp-rebalance-table { min-width:880px;margin:0;--bs-table-color:var(--text-primary);--bs-table-bg:transparent;--bs-table-border-color:var(--border-color);--bs-table-hover-color:var(--text-primary);--bs-table-hover-bg:color-mix(in srgb,var(--accent) 6%,transparent); }
.hp-rebalance-table th,.hp-rebalance-table td { padding:.65rem;white-space:normal; }
.hp-rebalance-table thead th { color:var(--text-secondary); }
.hp-rebalance-table tbody th { color:var(--text-primary);font-size:.72rem;white-space:nowrap; }
.hp-rebalance-table td { color:var(--text-secondary);font-size:.71rem; }
.hp-rebalance-table td > small { color:var(--text-muted); }
.hp-rebalance-table > tbody > tr > .hp-rebalance-date,
.hp-rebalance-table > tbody > tr > .hp-rebalance-metric,
.hp-rebalance-metric [data-hp-currency-panel] { color:var(--text-primary); }
.hp-rebalance-metric small { color:var(--text-secondary); }
.hp-rebalance-orders { display:grid;gap:.3rem;min-width:220px; }
.hp-rebalance-order { display:grid;grid-template-columns:minmax(68px,1fr) auto;gap:.12rem .45rem;align-items:center;padding:.38rem .48rem;border:1px solid var(--border-color);border-radius:.5rem;background:var(--bg-card); }
.hp-rebalance-order strong { color:var(--text-primary);font-size:.69rem; }
.hp-rebalance-order > bdi { font-size:.68rem;font-weight:750; }
.hp-rebalance-order small { grid-column:1 / -1;color:var(--text-muted);font-size:.6rem; }
.hp-rebalance-order.is-buy { border-right:3px solid var(--success); }
.hp-rebalance-order.is-buy > bdi { color:var(--success); }
.hp-rebalance-order.is-sell { border-right:3px solid var(--danger); }
.hp-rebalance-order.is-sell > bdi { color:var(--danger); }
.hp-rebalance-none { color:var(--text-muted);font-size:.67rem; }
.hp-attribution-formula { margin:0 0 .75rem;padding:.65rem .75rem;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border-color));border-radius:.65rem;color:var(--text-secondary);background:color-mix(in srgb,var(--accent) 6%,var(--bg-card));font-size:.73rem;line-height:1.8; }
.hp-attribution-formula i { margin-left:.3rem;color:var(--accent); }
.hp-attribution-total { display:flex;justify-content:space-between;gap:.75rem;align-items:center;margin-bottom:.6rem;padding:.6rem .7rem;border-radius:.65rem;background:var(--bg-card-hover); }
.hp-attribution-total span { color:var(--text-secondary);font-size:.76rem;font-weight:650; }
.hp-attribution-total strong { font-size:.92rem; }
.hp-attribution-list { display:grid;gap:.45rem; }
.hp-attribution-row { position:relative;display:grid;grid-template-columns:12px minmax(180px,1fr) minmax(150px,.36fr);gap:.55rem .7rem;align-items:center;padding:.62rem .7rem;border:1px solid var(--border-color);border-radius:.68rem;background:var(--bg-card);overflow:hidden; }
.hp-attribution-dot { width:.62rem;height:.62rem;border-radius:50%;background:var(--hp-row-color); }
.hp-attribution-copy strong,.hp-attribution-copy small,.hp-attribution-value small { display:block; }
.hp-attribution-copy strong { color:var(--text-primary);font-size:.77rem; }
.hp-attribution-copy small { margin-top:.12rem;color:var(--text-muted);font-size:.65rem;line-height:1.55; }
.hp-attribution-value { text-align:left;font-size:.8rem;font-weight:800; }
.hp-attribution-value small { margin-top:.1rem;color:var(--text-muted);font-size:.62rem;font-weight:500; }
.hp-attribution-vector { grid-column:2 / -1;position:relative;height:4px;border-radius:2px;background:var(--bg-card-hover);overflow:hidden;direction:ltr; }
.hp-attribution-vector i { display:block;height:100%;max-width:100%;border-radius:2px;background:var(--hp-row-color); }
.hp-attribution-vector i.is-negative { margin-left:auto; }
.hp-usd-unavailable { padding:.85rem;border:1px dashed var(--border-color);border-radius:.7rem;color:var(--text-muted);font-size:.75rem; }
.hp-window-navigator { margin-top:.7rem;padding:.7rem;border:1px solid var(--border-color);border-radius:.7rem;background:var(--bg-card-hover); }
.hp-navigator-track { position:relative;height:78px;overflow:hidden;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-card);touch-action:none;user-select:none; }
.hp-navigator-track canvas { position:absolute;inset:5px 0;width:100%!important;height:68px!important; }
.hp-navigator-mask { position:absolute;z-index:2;top:0;bottom:0;background:rgba(100,116,139,.24);pointer-events:none; }
.hp-navigator-mask-start { left:0; }
.hp-navigator-mask-end { right:0; }
.hp-navigator-selection { position:absolute;z-index:3;top:0;bottom:0;min-width:22px;border-block:1px solid rgba(37,99,235,.75);background:rgba(37,99,235,.08);box-shadow:inset 0 0 0 1px rgba(37,99,235,.14); }
.hp-navigator-handle { position:absolute;z-index:5;top:0;bottom:0;width:13px;padding:0;border:1px solid rgba(37,99,235,.85);border-radius:4px;background:#fff;box-shadow:0 1px 7px rgba(15,23,42,.2);cursor:ew-resize;touch-action:none; }
.hp-navigator-handle::after { content:"";position:absolute;top:50%;left:50%;width:3px;height:24px;transform:translate(-50%,-50%);border-inline:1px solid #2563eb; }
.hp-navigator-handle-start { left:-6px; }
.hp-navigator-handle-end { right:-6px; }
.hp-navigator-drag { position:absolute;z-index:4;inset:0 8px;display:grid;place-items:center;color:#2563eb;cursor:grab;touch-action:none; }
.hp-navigator-drag:active { cursor:grabbing; }
.hp-navigator-drag i { padding:3px 9px;border-radius:999px;background:rgba(255,255,255,.82);box-shadow:0 1px 4px rgba(15,23,42,.14); }
.hp-navigator-dates { display:grid;grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr);align-items:end;gap:12px;margin-top:9px;direction:ltr; }
.hp-navigator-dates label { display:grid;gap:4px;min-width:0;margin:0; }
.hp-navigator-dates label > span { color:var(--text-secondary);font-size:.65rem;font-weight:750;direction:rtl; }
.hp-navigator-dates label small { color:var(--text-muted);font-weight:500; }
.hp-navigator-dates input { width:100%;min-height:34px;padding:5px 8px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:.72rem;text-align:center; }
.hp-navigator-dates input:focus { outline:0;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12); }
.hp-navigator-extent { text-align:center;direction:rtl;line-height:1.45; }
.hp-navigator-extent span { display:block;color:var(--text-muted);font-size:.58rem; }
.hp-navigator-extent b { display:block;color:var(--text-secondary);font-size:.64rem;font-weight:700;white-space:nowrap; }
.hp-navigator-actions { display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;margin-top:.6rem;color:var(--text-muted);font-size:.68rem; }
.hp-navigator-actions > span { flex:1;line-height:1.7; }
.hp-navigator-calendar { display:inline-flex;gap:2px;padding:2px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-card); }
.hp-navigator-calendar button { padding:3px 9px;border:0;border-radius:6px;background:transparent;color:var(--text-secondary);font:inherit;cursor:pointer; }
.hp-navigator-calendar button.active { background:#2563eb;color:#fff; }
.hp-navigator-actions [data-hp-apply-window]:disabled { opacity:.6;cursor:default; }
.hp-navigator-error { margin:7px 0 0;padding:6px 8px;border-radius:7px;background:rgba(220,38,38,.08);color:#dc2626;font-size:.68rem;text-align:center; }
[data-theme="dark"] .hp-navigator-handle { background:#e2e8f0; }
.hp-table { color:var(--text-primary);text-align:right;font-size:.82rem;--bs-table-color:var(--text-primary);--bs-table-bg:transparent;--bs-table-border-color:var(--border-color); }
.hp-table th,
.hp-table td { white-space: nowrap; border-color: var(--border-color); vertical-align: middle; }
.hp-table thead { background: var(--bg-card-hover); }
.hp-empty { display: flex; flex-direction: column; align-items: center; gap: .55rem; text-align: center; padding: 2.5rem 1rem; border: 1px dashed var(--border-color); border-radius: .8rem; color: var(--text-secondary); }
.hp-empty i { color: var(--accent); font-size: 2rem; }
.hp-empty strong { color: var(--text-primary); }
.hp-empty span { max-width: 620px; font-size: .85rem; line-height: 1.7; }
.hp-attribution-layout { display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,330px);gap:1rem;align-items:start;margin-bottom:1.5rem; }
.hp-attribution-layout.is-solo { grid-template-columns:1fr; }
.hp-attribution-layout > .hp-attribution { min-width:0;margin-bottom:0!important; }
.hp-result-cta { position:sticky;top:18px;overflow:hidden;padding:1.1rem 1rem;border:1px solid rgba(37,99,235,.35);border-radius:1rem;color:#172554;background:linear-gradient(145deg,rgba(239,246,255,.98),rgba(219,234,254,.78));box-shadow:0 10px 28px rgba(37,99,235,.12);animation:hpCtaGlow 3.2s ease-in-out infinite; }
.hp-result-cta::before { content:"";position:absolute;inset:-45% auto auto -18%;width:150px;height:150px;border-radius:50%;background:rgba(96,165,250,.14);pointer-events:none; }
.hp-result-cta span,.hp-result-cta strong,.hp-result-cta p { position:relative;display:block; }
.hp-result-cta-kicker { width:max-content;margin-bottom:.65rem;padding:.25rem .55rem;border-radius:999px;color:#1d4ed8;background:rgba(37,99,235,.1);font-size:.68rem;font-weight:800; }
.hp-result-cta-kicker i { margin-left:.25rem; }
.hp-result-cta strong { color:#172554;font-size:.98rem;line-height:1.75; }
.hp-result-cta p { margin:.45rem 0 0;color:#334155;font-size:.76rem;line-height:1.85; }
.hp-result-cta ul { position:relative;display:grid;gap:.35rem;margin:.7rem 0;padding:0;list-style:none;color:#1e3a8a;font-size:.7rem; }
.hp-result-cta li { display:flex;gap:.35rem;align-items:flex-start; }
.hp-result-cta li i { margin-top:.25rem;color:#2563eb;font-size:.58rem; }
.hp-result-cta .btn { position:relative;display:flex;width:100%;min-height:42px;align-items:center;justify-content:center;gap:.4rem;white-space:nowrap; }
@keyframes hpCtaGlow { 0%,100% { box-shadow:0 10px 28px rgba(37,99,235,.1),0 0 0 0 rgba(59,130,246,.08); } 50% { box-shadow:0 13px 34px rgba(37,99,235,.2),0 0 0 6px rgba(59,130,246,.06); } }
[data-theme="dark"] .hp-result-cta { border-color:rgba(96,165,250,.42);color:#dbeafe;background:linear-gradient(145deg,rgba(30,58,138,.42),rgba(15,23,42,.96)); }
[data-theme="dark"] .hp-result-cta strong { color:#dbeafe; }
[data-theme="dark"] .hp-result-cta p { color:#bfdbfe; }
[data-theme="dark"] .hp-result-cta ul { color:#bfdbfe; }
.hp-seo-content { content-visibility:auto;contain-intrinsic-size:950px; }
.hp-methodology { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1rem; }
.hp-methodology > div { display:flex;gap:.75rem;padding:1rem;border:1px solid var(--border-color);border-radius:.85rem;background:var(--bg-body); }
.hp-methodology > div > span { display:inline-flex;width:2.25rem;height:2.25rem;align-items:center;justify-content:center;flex:0 0 2.25rem;border-radius:.65rem;color:var(--accent);background:color-mix(in srgb,var(--accent) 11%,transparent); }
.hp-methodology h2 { margin:0 0 .3rem;font-size:.9rem; }
.hp-methodology p { margin:0;color:var(--text-secondary);font-size:.77rem;line-height:1.95; }
.hp-seo-content .public-tool-faq summary { display:flex;justify-content:space-between;gap:.75rem;align-items:center; }
.hp-seo-content .public-tool-faq summary i { color:var(--accent);font-size:.7rem;transition:transform .2s ease; }
.hp-seo-content .public-tool-faq details[open] summary i { transform:rotate(180deg); }

@media (max-width: 767.98px) {
  .hp-showcase-header { grid-template-columns:1fr;padding:1.05rem; }
  .hp-showcase-preview { transform:none; }
  .hp-showcase-points { grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem; }
  .hp-showcase-points > div { align-items:flex-start;padding:.62rem; }
  .hp-showcase-points > div > i { width:1.8rem;height:1.8rem;flex-basis:1.8rem; }
  .hp-showcase-points small { display:none; }
  .hp-scenario-presets { align-items:stretch;flex-direction:column; }
  .hp-scenario-list { justify-content:flex-start; }
  .hp-attribution-layout { grid-template-columns:1fr; }
  .hp-result-cta { position:static; }
  .hp-methodology { grid-template-columns:1fr; }
  .hp-form-header,
  .hp-form-actions { flex-direction: column; align-items: stretch; }
  .hp-form-steps { justify-content: flex-start; }
  .hp-form-fields,
  .hp-quick-controls { grid-template-columns: 1fr; }
  .hp-form-actions .hp-submit { width: 100%; }
  .hp-builder-options,
  .hp-composition-panel { padding: .8rem; }
  .hp-builder-head { flex-direction: column; align-items: stretch; }
  .hp-builder-title-cluster { align-items:stretch;flex-direction:column; }
  .hp-mini-settings { align-self:stretch; }
  .hp-inline-settings-grid { grid-template-columns:1fr; }
  .hp-total-wrap { width: 100%; }
  .hp-total-controls .hp-total-wrap { min-width:0; }
  .hp-allocation-row { grid-template-columns: minmax(0, 1fr) 46px; gap: .65rem; padding: .7rem; }
  .hp-row-number { grid-column: 1 / -1; justify-self: start; margin-bottom: 0; }
  .hp-allocation-asset { grid-column: 1 / -1; }
  .hp-allocation-weight { grid-column: 1 / 2; }
  .hp-allocation-action { grid-column: 2 / 3; }
  .hp-chart-wrap { height: 300px; }
  .hp-result-toolbar,.hp-chart-header,.hp-attribution-header { align-items:stretch;flex-direction:column; }
  .hp-chart-actions { width:100%;justify-content:flex-start; }
  .hp-result-period { width:100%;justify-content:center; }
  .hp-currency-switch { align-self:flex-start; }
  .hp-rebalance-ledger-heading { align-items:flex-start; }
  .hp-attribution-row { grid-template-columns:12px minmax(0,1fr); }
  .hp-attribution-value { grid-column:2;text-align:right; }
  .hp-attribution-vector { grid-column:2; }
  .hp-frictionless { font-size: .86rem; }
  .hp-navigator-track { height:68px; }
  .hp-navigator-track canvas { height:58px!important; }
  .hp-navigator-dates { grid-template-columns:1fr 1fr;gap:8px; }
  .hp-navigator-extent { grid-column:1 / -1;grid-row:2; }
  .hp-navigator-dates input { font-size:.66rem;padding-inline:4px; }
}

@media (max-width: 575.98px) {
  .hp-showcase-header h1 { font-size:1.35rem; }
  .hp-showcase-header p { font-size:.82rem;line-height:1.85; }
  .hp-showcase-actions .btn { width:100%; }
  .hp-showcase-points { grid-template-columns:1fr; }
  .hp-preview-kpis { grid-template-columns:1fr 1fr; }
  .hp-preview-kpis > span:first-child { grid-column:1 / -1; }
  .hp-preview-chart { height:185px; }
  .hp-showcase-points small { display:block; }
  .hp-scenario-button { flex:1 1 calc(50% - .25rem); }
  .hp-form-header,
  .hp-form-body,
  .hp-form-panel { padding: .8rem; }
  .hp-form-title p { font-size: .77rem; }
  .hp-form-steps { font-size: .7rem; }
  .hp-preset-list .hp-preset { flex: 1 1 calc(50% - .25rem); }
  .hp-section-heading small,
  .hp-builder-title small { font-size: .75rem; }
  .hp-mini-settings-label { width:100%; }
  .hp-mini-select { flex:1 1 100%; }
  .hp-mini-select .form-select { flex:1; }
  .hp-mini-check { flex:1 1 calc(50% - .25rem);justify-content:center; }
  .hp-builder-actions .btn { flex: 1 1 100%; min-height: 44px; }
  .hp-remove { width: 44px; height: 44px; }
}
