.cmp-wrap{max-width:980px;}

/* Hero */
.cmp-hero{text-align:center;padding:20px 0 32px;}
.cmp-hero__kicker{display:inline-block;font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--accent);background:rgba(0,212,170,0.12);border:1px solid var(--border-accent);border-radius:999px;padding:5px 14px;margin-bottom:14px;}
.cmp-hero h1{font-family:var(--font-display);font-size:clamp(2rem,5vw,2.8rem);font-weight:800;color:var(--text-primary);margin:0 0 12px;}
.cmp-hero__sub{max-width:600px;margin:0 auto;color:var(--text-secondary);font-size:1rem;line-height:1.6;}

/* Picker */
.cmp-picker{position:relative;margin-bottom:20px;}
.cmp-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.cmp-slot{min-height:64px;}
.cmp-slot__add{width:100%;height:64px;background:var(--bg-card);border:1.5px dashed var(--border);border-radius:14px;color:var(--text-secondary);font-family:var(--font-display);font-weight:600;font-size:0.92rem;cursor:pointer;transition:border-color .15s,color .15s,background .15s;}
.cmp-slot__add:hover,.cmp-slot__add:focus-visible{border-color:var(--accent);color:var(--accent);background:rgba(0,212,170,0.06);}
.cmp-slot--optional .cmp-slot__add{border-style:dashed;opacity:0.85;}

.cmp-chip{position:relative;height:64px;display:flex;flex-direction:column;justify-content:center;padding:8px 34px 8px 16px;background:var(--bg-card);border:1.5px solid var(--border-accent);border-radius:14px;}
.cmp-chip__ticker{font-family:var(--font-display);font-weight:800;font-size:1rem;color:var(--accent);}
.cmp-chip__name{font-size:0.8rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cmp-chip__remove{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;background:transparent;border:1px solid var(--border);color:var(--text-muted);font-size:0.7rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s,color .15s;}
.cmp-chip__remove:hover{border-color:var(--accent);color:var(--accent);}

.cmp-search{position:absolute;top:calc(100% + 10px);left:0;right:0;z-index:50;background:#0f1628;border:1px solid rgba(255,255,255,0.12);border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,0.6);padding:12px;}
.cmp-search input{width:100%;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:11px 40px 11px 14px;color:var(--text-primary);font-size:0.95rem;font-family:var(--font-body);}
.cmp-search input:focus{outline:none;border-color:var(--accent);}
.cmp-search__close{position:absolute;top:20px;right:20px;background:none;border:none;color:var(--text-muted);font-size:0.9rem;cursor:pointer;padding:4px;}
.cmp-search__close:hover{color:var(--text-primary);}
.cmp-search__results{margin-top:10px;max-height:none;overflow:visible;display:flex;flex-direction:column;gap:2px;}
.cmp-search__item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:none;border-radius:9px;padding:10px 12px;cursor:pointer;color:var(--text-primary);transition:background .12s;}
.cmp-search__item:hover,.cmp-search__item:focus-visible{background:rgba(0,212,170,0.1);}
.cmp-search__ticker{font-family:var(--font-display);font-weight:700;font-size:0.82rem;color:var(--accent);min-width:52px;}
.cmp-search__name{flex:1;font-size:0.92rem;}
.cmp-search__cat{font-size:0.75rem;color:var(--text-muted);}
.cmp-search__empty{padding:14px;color:var(--text-muted);font-size:0.88rem;text-align:center;}

/* Status */
.cmp-status{text-align:center;color:var(--text-secondary);font-size:0.95rem;padding:32px 0;}

/* Table */
.cmp-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:16px;margin-bottom:20px;-webkit-overflow-scrolling:touch;}
.cmp-table{width:100%;border-collapse:collapse;min-width:520px;background:var(--bg-card);}
.cmp-table thead th{background:var(--bg-surface);padding:16px 18px;text-align:left;border-bottom:1px solid var(--border);}
.cmp-table thead th a{font-family:var(--font-display);font-weight:800;font-size:1.05rem;color:var(--text-primary);text-decoration:none;}
.cmp-table thead th a:hover{color:var(--accent);}
.cmp-th-ticker{font-size:0.75rem;font-weight:600;color:var(--text-muted);}
.cmp-th-label{width:150px;}
.cmp-table tbody th{text-align:left;padding:14px 18px;font-size:0.82rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.04em;white-space:nowrap;border-top:1px solid var(--border);vertical-align:top;}
.cmp-table tbody td{padding:14px 18px;font-size:0.92rem;color:var(--text-secondary);border-top:1px solid var(--border);vertical-align:top;line-height:1.55;}
.cmp-row--price td,.cmp-row--market_cap td{font-family:var(--font-display);font-weight:700;color:var(--text-primary);font-size:1.05rem;}
.cmp-row--strength td{color:var(--accent);}
.cmp-row--risk td{color:var(--amber);}
.cmp-up{color:var(--accent);font-weight:600;font-size:0.82rem;}
.cmp-down{color:#f87171;font-weight:600;font-size:0.82rem;}
.cmp-loading{color:var(--text-muted);font-style:italic;font-size:0.85rem;}
.cmp-unavailable{color:var(--text-muted);font-size:0.85rem;}

.cmp-disclaimer{font-size:0.78rem;color:var(--text-muted);line-height:1.6;margin-bottom:36px;}
.cmp-disclaimer a{color:var(--accent);}

.cmp-more{border-top:1px solid var(--border);padding-top:24px;margin-bottom:40px;}
.cmp-more h2{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0 0 8px;}
.cmp-more p{color:var(--text-secondary);font-size:0.92rem;line-height:1.6;}
.cmp-more a{color:var(--accent);}

@media (max-width:640px){
  .cmp-slots{grid-template-columns:1fr;}
  .cmp-table thead th a{font-size:0.95rem;}
  .cmp-th-label{width:110px;}
  .cmp-table tbody th,.cmp-table tbody td{padding:12px;font-size:0.85rem;}
}
