:root{font-family:Segoe UI,system-ui,sans-serif;line-height:1.5;color:#e8eaed;background:#0f1419}*{box-sizing:border-box}body{margin:0;min-height:100vh}#root{min-height:100vh}h1{font-size:1.5rem;font-weight:600;margin:0 0 .25rem}.subtitle{color:#9aa0a6;font-size:.9rem;margin-bottom:1.5rem}.card{background:#1a2332;border:1px solid #2d3a4d;border-radius:10px;padding:1rem 1.25rem;margin-bottom:1rem}.card h2{font-size:1rem;margin:0 0 .75rem;color:#8ab4f8}.row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.5rem}label{font-size:.85rem;color:#9aa0a6;min-width:7rem}input{flex:1;min-width:140px;padding:.45rem .6rem;border-radius:6px;border:1px solid #3c4a5c;background:#0f1419;color:#e8eaed}button{padding:.45rem .9rem;border-radius:6px;border:none;background:#3b82f6;color:#fff;cursor:pointer;font-size:.875rem}button:hover:not(:disabled){background:#2563eb}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:#374151}button.danger{background:#dc2626}.status{font-size:.85rem;padding:.5rem .75rem;border-radius:6px;margin-bottom:.75rem}.status.ok{background:#14532d33;color:#86efac}.status.warn{background:#713f1233;color:#fcd34d}.status.err{background:#7f1d1d33;color:#fca5a5}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem;font-size:.85rem}.grid dt{color:#9aa0a6}.grid dd{margin:0;font-family:ui-monospace,monospace;word-break:break-all}.log{font-size:.8rem;font-family:ui-monospace,monospace;color:#9aa0a6;max-height:120px;overflow-y:auto}.setup{border-color:#f59e0b}.setup code{background:#0f1419;padding:.1rem .35rem;border-radius:4px}.app{min-height:100vh}.header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.account{font-family:ui-monospace,monospace;font-size:.85rem;color:#9aa0a6}button.ghost{background:transparent;border:1px solid #3c4a5c;color:#9aa0a6}button.ghost:hover:not(:disabled){background:#1a2332;color:#e8eaed}button.primary-lg{padding:.65rem 1.25rem;font-size:1rem}.hero{text-align:center;padding:2rem 1.25rem}.hero-text{color:#9aa0a6;max-width:28rem;margin:0 auto 1.25rem}.hint,.muted{font-size:.85rem;color:#9aa0a6}.muted{white-space:nowrap}.role-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1rem}.role-card{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding:1.25rem;text-align:left;background:#0f1419;border:1px solid #3c4a5c;border-radius:10px;color:#e8eaed}.role-card:hover:not(:disabled){border-color:#3b82f6;background:#141c28}.role-title{font-size:1.05rem;font-weight:600}.role-desc{font-size:.85rem;color:#9aa0a6}.role-badge{font-size:.75rem;padding:.2rem .5rem;border-radius:4px;margin-top:.25rem}.role-badge.ok{background:#14532d44;color:#86efac}.role-badge.warn{background:#713f1244;color:#fcd34d}.product-card h2{margin-bottom:.25rem}.product-meta{color:#9aa0a6;font-size:.9rem;margin:0 0 1rem}.diag-box{text-align:left;background:#0f1419;border:1px solid #2d3a4d;border-radius:8px;padding:.75rem 1rem;margin:1rem 0;font-size:.85rem}.diag-list{margin:.5rem 0 .75rem;padding-left:1.2rem;color:#9aa0a6}.hint-list{margin:.5rem 0 0;padding-left:1.2rem;font-size:.85rem}.error-pre{white-space:pre-wrap;text-align:left;font-size:.8rem}.product-picker{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.5rem}.product-picker select{min-width:220px;padding:.4rem .6rem;border-radius:6px;border:1px solid #2d3a4d;background:#0f1419;color:#e8eaed}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem 1rem;margin:1rem 0}.form-grid label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:#9aa0a6}.form-grid input{padding:.45rem .6rem;border-radius:6px;border:1px solid #2d3a4d;background:#0f1419;color:#e8eaed}.form-grid textarea{padding:.45rem .6rem;border-radius:6px;border:1px solid #2d3a4d;background:#0f1419;color:#e8eaed;font-family:inherit;resize:vertical}.form-span-2{grid-column:1 / -1}.fund-card-icon,.fund-detail-icon,.holding-icon{font-size:.85rem;font-weight:700;font-family:ui-monospace,monospace;background:#0f1419;border:1px solid #2d3a4d;border-radius:8px;padding:.35rem .5rem;display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem}.hint.warn{color:#f4b400}.platform{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#0a0e14,#0f1419 40%,#0f1419)}.platform-header{border-bottom:1px solid #1e293b;background:#0f1419ee;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:50}.platform-header-inner{max-width:1120px;margin:0 auto;padding:1rem 1.5rem;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:inherit}.brand-mark{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem}.brand-text{font-size:1.1rem;font-weight:600}.brand-text em{font-style:normal;color:#8ab4f8;font-weight:500}.platform-nav{display:flex;gap:.25rem;flex:1}.platform-nav a{padding:.5rem .85rem;border-radius:8px;text-decoration:none;color:#9aa0a6;font-size:.9rem}.platform-nav a:hover{color:#e8eaed;background:#1a2332}.platform-nav a.active{color:#e8eaed;background:#1e3a5f}.platform-header-actions{display:flex;align-items:center;gap:.5rem}.wallet-chip{font-family:ui-monospace,monospace;font-size:.8rem;padding:.35rem .65rem;background:#1a2332;border-radius:6px;color:#9aa0a6}.platform-demo-badge{text-align:center;font-size:.7rem;color:#6b7280;margin:0;padding-bottom:.35rem}.platform-main{flex:1;max-width:1120px;width:100%;margin:0 auto;padding:1.5rem}.platform-footer{border-top:1px solid #1e293b;padding:1.25rem 1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.8rem;color:#6b7280}.footer-admin-link{color:#4b5563;text-decoration:none}.footer-admin-link:hover{color:#9aa0a6}.toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);background:#1e3a5f;border:1px solid #3b82f6;color:#e8eaed;padding:.75rem 1.25rem;border-radius:10px;font-size:.9rem;z-index:100;max-width:90vw;box-shadow:0 8px 24px #0006}.btn{padding:.5rem 1rem;border-radius:8px;border:none;cursor:pointer;font-size:.875rem;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn.primary{background:#3b82f6;color:#fff}.btn.primary:hover:not(:disabled){background:#2563eb}.btn.primary-lg{padding:.75rem 1.5rem;font-size:1rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;cursor:pointer;text-decoration:none}.btn.ghost,.btn.ghost-lg{background:transparent;border:1px solid #3c4a5c;color:#e8eaed}.btn.ghost-lg{padding:.75rem 1.5rem;font-size:1rem;border-radius:8px;text-decoration:none}.btn.secondary{background:#374151;color:#fff}.btn.block{width:100%;margin-top:.75rem}.btn:disabled{opacity:.5;cursor:not-allowed}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.page-head h1{font-size:1.75rem;margin:0 0 .35rem}.page-sub{color:#9aa0a6;margin:0;font-size:.95rem}.hero-section{padding:2.5rem 0 3rem;text-align:center}.hero-eyebrow{color:#8ab4f8;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.75rem}.hero-section h1{font-size:clamp(2rem,5vw,2.75rem);line-height:1.2;margin:0 0 1rem;font-weight:700}.hero-lead{max-width:36rem;margin:0 auto 1.5rem;color:#9aa0a6;font-size:1.05rem}.hero-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.5rem}.hero-stats{color:#6b7280;font-size:.9rem}.section{margin:2.5rem 0}.section h2{font-size:1.25rem;margin-bottom:1rem}.feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.feature-card{background:#1a2332;border:1px solid #2d3a4d;border-radius:12px;padding:1.25rem}.feature-icon{font-size:1.5rem}.cta-section{text-align:center;padding:2rem;background:#1a233288;border-radius:16px;border:1px solid #2d3a4d}.filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.filter-chip{padding:.4rem .85rem;border-radius:999px;border:1px solid #2d3a4d;background:transparent;color:#9aa0a6;cursor:pointer;font-size:.85rem}.filter-chip.active{background:#1e3a5f;border-color:#3b82f6;color:#e8eaed}.fund-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.fund-card{display:flex;flex-direction:column;background:#1a2332;border:1px solid #2d3a4d;border-radius:14px;padding:1.25rem;text-decoration:none;color:inherit;transition:border-color .15s,transform .15s;border-left:3px solid var(--accent, #3b82f6)}.fund-card:hover{border-color:var(--accent, #3b82f6);transform:translateY(-2px)}.fund-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.fund-card-icon{font-size:1.75rem}.fund-card-class{font-size:.75rem;padding:.2rem .5rem;background:#0f1419;border-radius:4px;color:#9aa0a6}.fund-card-title{margin:0 0 .35rem;font-size:1.15rem}.fund-card-tagline{color:#9aa0a6;font-size:.85rem;margin:0 0 1rem;flex:1}.fund-card-metrics{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;font-size:.8rem;margin-bottom:.75rem}.metric-label{display:block;color:#6b7280}.metric-value{font-weight:600}.metric-value.accent{color:#86efac}.fund-card-holding{font-size:.8rem;color:#8ab4f8;margin:0 0 .5rem}.fund-card-cta{font-size:.85rem;color:#3b82f6}.empty-state{text-align:center;padding:2rem;color:#9aa0a6}.empty-state.card{background:#1a2332;border-radius:12px;border:1px solid #2d3a4d}.back-link{display:inline-block;color:#9aa0a6;text-decoration:none;font-size:.9rem;margin-bottom:1rem}.back-link:hover{color:#e8eaed}.fund-detail-hero{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.5rem}.fund-detail-icon{font-size:3rem}.fund-detail-class{font-size:.8rem;color:var(--accent, #8ab4f8)}.fund-detail-tagline{color:#9aa0a6;margin:.25rem 0 0}.fund-detail-layout{display:grid;grid-template-columns:1fr 300px;gap:1.25rem;align-items:start}@media(max-width:800px){.fund-detail-layout{grid-template-columns:1fr}}.tab-bar{display:flex;gap:.25rem;margin-bottom:1rem}.tab-bar button{padding:.5rem 1rem;border:none;background:transparent;color:#9aa0a6;border-radius:8px;cursor:pointer}.tab-bar button.active{background:#1e3a5f;color:#e8eaed}.detail-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;margin-top:1rem}.detail-stats dt{color:#6b7280;font-size:.8rem}.detail-stats dd{margin:.15rem 0 0;font-weight:600}.overview-holdings-card{border-color:color-mix(in srgb,var(--accent, #3b82f6) 45%,#2d3a4d);background:linear-gradient(135deg,color-mix(in srgb,var(--accent, #3b82f6) 12%,#1a2332),#1a2332)}.overview-holdings-card.muted{background:#1a2332;border-color:#2d3a4d}.overview-holdings-label{display:block;font-size:.8rem;color:#9aa0a6;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem}.overview-holdings-value{margin:0 0 .35rem;font-size:1.75rem;font-weight:700;line-height:1.2}.overview-holdings-value small{font-size:1rem;font-weight:600;color:#9aa0a6}.sticky-card{position:sticky;top:5rem}.aside-list{list-style:none;padding:0;margin:0 0 1rem}.aside-list li{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #2d3a4d;font-size:.9rem}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem}.field span{font-size:.85rem;color:#9aa0a6}.field input{width:100%;padding:.55rem .75rem;border-radius:8px;border:1px solid #2d3a4d;background:#0f1419;color:#e8eaed}.banner{padding:.65rem .85rem;border-radius:8px;font-size:.85rem;margin-bottom:.75rem}.banner.warn{background:#713f1233;color:#fcd34d}.invest-estimate{font-size:1rem;margin:.5rem 0}.portfolio-summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem}.summary-card{background:#1a2332;border:1px solid #2d3a4d;border-radius:12px;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.35rem}.summary-label{font-size:.8rem;color:#6b7280}.summary-value{font-size:1.35rem;font-weight:700}.holding-row{display:grid;grid-template-columns:1fr auto auto;gap:1rem;align-items:center;margin-bottom:.75rem}@media(max-width:700px){.holding-row{grid-template-columns:1fr}}.holding-main{display:flex;gap:.75rem;align-items:center}.holding-icon{font-size:1.5rem}.holding-name{font-weight:600;color:#e8eaed;text-decoration:none}.holding-name:hover{color:#8ab4f8}.holding-claim{display:flex;gap:.35rem;align-items:center}.holding-claim input{width:90px;padding:.35rem .5rem;border-radius:6px;border:1px solid #2d3a4d;background:#0f1419;color:#e8eaed}.mini-fund-link{display:inline-block;padding:.75rem 1rem;text-decoration:none;color:#e8eaed;margin:.25rem}.admin-page{max-width:960px;margin:0 auto;padding:1.5rem}.admin-page-head h1{margin:.5rem 0}.admin-subheading{margin:1.75rem 0 .75rem;font-size:1.05rem;font-weight:600}.center{text-align:center}.connect-prompt{text-align:center;padding:1.5rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000a6;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-card{width:min(480px,100%);max-height:90vh;overflow-y:auto;background:#1a2332;border:1px solid #2d3a4d;border-radius:14px;padding:1.25rem 1.5rem 1.5rem;box-shadow:0 20px 50px #00000073}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.modal-head h2{margin:0;font-size:1.15rem}.modal-close{background:transparent;border:none;color:#9aa0a6;font-size:1.5rem;line-height:1;cursor:pointer;padding:0 .25rem}.modal-close:hover{color:#e8eaed}.modal-disclaimer{font-size:.82rem;color:#9aa0a6;margin:0 0 1rem;line-height:1.45}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.modal-status{padding:1.5rem 0;text-align:center}.checkbox-field{flex-direction:row;align-items:flex-start;gap:.5rem}.checkbox-field input{width:auto;margin-top:.2rem}.checkbox-field span{color:#c4c7c5;line-height:1.4}.banner.ok{background:#14532d44;color:#86efac}.section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.section-head h2{margin:0}.activity-list{list-style:none;margin:0;padding:.5rem 1.15rem .85rem}.activity-row{display:flex;flex-direction:column;gap:.45rem;padding:.85rem 0;border-bottom:1px solid #2d3a4d}.activity-row:last-child{border-bottom:none;padding-bottom:.15rem}.activity-row-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.activity-badge{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.22rem .5rem;border-radius:4px;white-space:nowrap;flex-shrink:0}.activity-badge-subscribe{background:#1e3a5f;color:#93c5fd}.activity-badge-redeem{background:#3f2e1e;color:#fcd34d}.activity-badge-claim{background:#1e3f2e;color:#86efac}.activity-fund{flex:1;min-width:0;font-size:.9rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-detail{margin:0;font-size:.85rem;line-height:1.45;color:#c4c7c5;word-break:break-word}.activity-arrow{color:#9aa0a6}.activity-time{margin-left:auto;font-size:.78rem;white-space:nowrap;flex-shrink:0}.activity-row-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding-top:.1rem}.activity-time-compact{display:none}.activity-tx-link{color:#8ab4f8;text-decoration:none;font-size:.82rem;white-space:nowrap}.activity-tx-link:hover{text-decoration:underline}.activity-section-compact{margin-bottom:0;padding:1rem 1.15rem .85rem}.activity-section-compact .section-head{margin-bottom:.65rem}.activity-section-compact .section-head h2{font-size:1rem;color:#8ab4f8;font-weight:600}.activity-section-compact .activity-list{padding:0}.activity-section-compact .activity-row-header .activity-time{display:none}.activity-section-compact .activity-time-compact{display:inline;margin-right:auto;font-size:.78rem}.activity-section-compact .activity-row-footer{justify-content:space-between;width:100%}@media(max-width:700px){.activity-list{padding:.5rem 1rem .85rem}.activity-fund{flex-basis:100%;order:3}.activity-time{margin-left:auto}}
