.idc-page { min-height:100vh; padding:46px 0 72px; }
.idc-page-head { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:24px; }
.idc-page-head h1 { margin:7px 0 5px; font-size:34px; letter-spacing:-.035em; }
.idc-page-head p { max-width:700px; margin:0; color:var(--muted); font-size:12px; line-height:1.65; }
.idc-period { display:flex; flex:0 0 auto; padding:3px; border:1px solid var(--border); border-radius:7px; background:var(--surface); }
.idc-period button { min-height:34px; padding:0 13px; border:0; border-radius:5px; background:transparent; color:var(--muted); cursor:pointer; }
.idc-period button.active { background:var(--surface-2); color:var(--text); }
.idc-period button:disabled { cursor:wait; opacity:.55; }

.idc-dashboard { border:1px solid var(--border); border-radius:12px; background:var(--surface); overflow:hidden; }
.idc-loading { min-height:620px; display:grid; place-items:center; color:var(--muted); }
.idc-loading.error { color:var(--red); }
.idc-dashboard-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:19px 22px 15px; border-bottom:1px solid var(--border-soft); }
.idc-dashboard-head h2 { margin:4px 0 0; font-size:19px; }
.idc-dashboard-head p { margin:5px 0 0; color:var(--muted); font-size:11px; }
.idc-period-meta { flex:0 0 auto; text-align:right; }
.idc-period-meta strong { display:block; color:#e3b341; font:14px 'SF Mono',Menlo,monospace; }
.idc-period-meta span { color:var(--muted-2); font-size:10px; }

.idc-compass-wrap { position:relative; background:
  radial-gradient(circle at 50% 50%,rgba(56,139,253,.045),transparent 28%),
  linear-gradient(90deg,rgba(248,81,73,.018),transparent 45%,transparent 55%,rgba(63,185,80,.018));
}
.idc-compass { display:block; width:100%; height:auto; aspect-ratio:11/7.3; }
.idc-guide { fill:none; stroke:var(--border-soft); stroke-width:1; }
.idc-guide-axis { stroke:var(--border); stroke-width:1; }
.idc-side-title { fill:var(--muted); font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.idc-side-count { fill:var(--muted-2); font:10px 'SF Mono',Menlo,monospace; }
.idc-track { stroke:var(--border-soft); stroke-width:10; stroke-linecap:round; }
.idc-spoke { stroke-width:11; stroke-linecap:round; transition:stroke-width .16s ease,opacity .16s ease; }
.idc-spoke.accumulation { stroke:var(--green); }
.idc-spoke.distribution { stroke:var(--red); }
.idc-spoke-hit { stroke:transparent; stroke-width:25; cursor:pointer; }
.idc-spoke-group { color:var(--muted); outline:none; }
.idc-spoke-group:hover .idc-spoke,.idc-spoke-group:focus .idc-spoke,.idc-spoke-group.selected .idc-spoke { stroke-width:17; opacity:1; }
.idc-spoke-group:not(.selected) .idc-spoke { opacity:.64; }
.idc-spoke-group:hover .idc-bar-label,.idc-spoke-group:focus .idc-bar-label,.idc-spoke-group.selected .idc-bar-label { fill:var(--text); }
.idc-bar-label { fill:var(--muted); font:11px 'SF Mono',Menlo,monospace; pointer-events:none; }
.idc-bar-rank { fill:var(--muted-2); font:9px 'SF Mono',Menlo,monospace; pointer-events:none; }
.idc-center-ring { fill:var(--surface); stroke:var(--border); stroke-width:1.5; }
.idc-center-kicker { fill:var(--muted-2); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.idc-center-ticker { fill:var(--text); font:700 29px 'SF Mono',Menlo,monospace; }
.idc-center-score { fill:var(--accent); font:18px 'SF Mono',Menlo,monospace; }
.idc-center-direction { font-size:11px; }
.idc-center-direction.accumulation { fill:var(--green); }
.idc-center-direction.distribution { fill:var(--red); }

.idc-selection { display:grid; grid-template-columns:minmax(240px,1.8fr) repeat(3,minmax(120px,1fr)) auto; align-items:center; gap:1px; border-top:1px solid var(--border-soft); background:var(--border-soft); }
.idc-selection > div,.idc-selection > a { min-height:92px; display:flex; flex-direction:column; justify-content:center; padding:14px 19px; background:var(--surface); }
.idc-selection span { color:var(--muted-2); font-size:9px; text-transform:uppercase; letter-spacing:.04em; }
.idc-selection strong { margin-top:6px; color:var(--text); font:16px 'SF Mono',Menlo,monospace; }
.idc-selection small { margin-top:4px; color:var(--muted); font-size:10px; }
.idc-selected-company strong { font:17px/1.3 inherit; }
.idc-selected-company code { color:var(--accent); }
.idc-selection .positive { color:var(--green); }
.idc-selection .negative { color:var(--red); }
.idc-trend-link { min-width:132px; align-items:flex-end; color:var(--accent); font-size:11px; font-weight:650; text-align:right; }
.idc-method { display:flex; flex-wrap:wrap; gap:7px 18px; padding:11px 20px; border-top:1px solid var(--border-soft); color:var(--muted-2); font-size:9px; }
.idc-method strong { color:var(--accent); text-transform:uppercase; }
.idc-caveat { margin:13px 3px 0; color:var(--muted-2); font-size:10px; }

@media (max-width:980px) {
  .idc-selection { grid-template-columns:1.5fr repeat(2,1fr); }
  .idc-selection > div:nth-child(4) { border-top:1px solid var(--border-soft); }
  .idc-trend-link { min-width:0; align-items:flex-start; text-align:left; }
}

@media (max-width:760px) {
  .idc-page { padding-top:28px; }
  .idc-page-head,.idc-dashboard-head { align-items:flex-start; flex-direction:column; }
  .idc-period { width:100%; }
  .idc-period button { flex:1; }
  .idc-period-meta { text-align:left; }
  .idc-bar-label:not(.top-five),.idc-bar-rank { display:none; }
  .idc-selection { grid-template-columns:1fr 1fr; }
  .idc-selected-company { grid-column:1/-1; }
  .idc-trend-link { grid-column:1/-1; }
}

@media (prefers-reduced-motion:reduce) {
  .idc-spoke { transition:none; }
}
