/* Crypto shares the Stocks board's stage/list rhythm and site tokens. */
.cb { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 380px); gap: var(--s5); align-items: start; padding-bottom: var(--s5); }
.cb > .sb-empty, .cb > .cb-alert, .cb > .cb-summary { grid-column: 1 / -1; }
.cb-stage { min-width: 0; padding: var(--s5); border: 1px solid var(--hairline); border-radius: 12px; background: radial-gradient(120% 80% at 0 0, rgba(39,184,79,.07), transparent 55%), var(--surface-1); }
.cb-stage .sb-ident { display: block; }
.cb-stage .sb-ident h2 { font-size: 34px; }
.cb-stage .sb-ident-name { display: block; }
.cb-stage .sb-stage-head { align-items: start; }
.cb-stage .sb-quote small { text-align: right; }
.cb-chart { margin-top: var(--s4); min-height: 320px; }
.cb-chart.pm-chart { border: 0; background: transparent; padding: 0; }
.cb-chart .pm-toolbar:first-child h3 { display: none; }
.cb-chart .pm-summary { display: none; }
.cb-chart .pm-note { margin-bottom: 0; }
.cb-chart .pm-stage { min-height: 270px; }
.cb-stage-note { margin: var(--s3) 0 0; color: var(--fg-3); font-size: 12px; line-height: 1.5; }
.cb-stage-note strong { color: var(--fg-2); font-weight: 500; }
.cb-list { min-width: 0; }
.cb-list [role="list"] { display: grid; gap: 2px; }
.cb-list .sb-list-head { padding-left: var(--s2); }
.cb-list .sb-list-head span { text-align: right; }
.cb-list .sb-pick-trend { text-align: right; }
.cb-list .sb-pick-trend small { line-height: 1.2; }
.cb-list .sb-pick.cash { cursor: default; }
.cb-list .sb-pick.cash:hover { background: transparent; }
.cb-call { margin-top: var(--s4); padding: var(--s4); border: 1px solid var(--hairline-strong); border-radius: 10px; background: var(--surface-1); }
.cb-call-label { display: block; color: var(--fg-3); font-size: var(--t-micro); letter-spacing: .1em; text-transform: uppercase; }
.cb-call strong { display: block; margin: 6px 0; color: var(--fg-1); font-family: var(--font-display); font-size: 28px; font-weight: 400; line-height: 1.1; }
.cb-call p { margin: 0; color: var(--fg-2); font-size: 13px; line-height: 1.5; }
.cb-call small { display: block; margin-top: var(--s3); padding-top: var(--s3); border-top: 1px solid var(--hairline); color: var(--fg-3); font-size: 12px; line-height: 1.5; }
.cb-alert { padding: var(--s3) var(--s4); border: 1px solid rgba(224,129,58,.35); border-radius: 8px; background: rgba(224,129,58,.08); color: #f0b98c; font-size: 13px; }
.cb-summary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--s5); padding-top: var(--s3); border-top: 1px solid var(--hairline); }
.cb-summary section { min-width: 0; }
.cb-summary h2 { margin: 0 0 var(--s3); color: var(--fg-1); font-size: var(--t-h2); font-weight: 500; }
.cb-summary .cb-value { display: block; color: var(--fg-1); font-family: var(--font-data); font-size: 30px; font-weight: 500; line-height: 1.1; }
.cb-summary p { margin: var(--s2) 0 0; color: var(--fg-3); font-size: 13px; line-height: 1.55; }
.cb-summary b { color: var(--fg-2); font-weight: 500; }
.cb-summary .cb-links { display: flex; gap: var(--s4); flex-wrap: wrap; margin-top: var(--s3); }
.cb-summary a { color: var(--fg-2); font-size: 12px; }
.cb-dialog { width: min(640px,calc(100vw - 32px)); max-height: 80vh; padding: var(--s5); border: 1px solid var(--hairline-strong); border-radius: 12px; color: var(--fg-2); background: var(--surface-1); }
.cb-dialog::backdrop { background: rgba(0,0,0,.65); }
.cb-dialog header { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); }
.cb-dialog h2 { margin: 0; color: var(--fg-1); font-size: 20px; font-weight: 500; }
.cb-dialog header button { width: 32px; height: 32px; border: 1px solid var(--hairline-strong); border-radius: 50%; color: var(--fg-2); background: transparent; cursor: pointer; }
.cb-dialog p, .cb-dialog li { font-size: 13px; line-height: 1.6; }
.cb-dialog h3 { margin: var(--s4) 0 var(--s2); color: var(--fg-3); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
@media (max-width: 1080px) { .cb { grid-template-columns: 1fr; } .cb > .cb-alert, .cb > .cb-summary { grid-column: 1; } }
@media (max-width: 680px) { .cb-stage { padding: var(--s4); } .cb-stage .sb-quote { justify-items: start; } .cb-stage .sb-quote small { text-align: left; } .cb-summary { grid-template-columns: 1fr; } .cb-chart { min-height: 270px; } }
