/* Shared widgets keep their compact layout; details use the available final pane. */
.whale-map{min-width:0;text-align:left}
.whale-legend{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:11px;color:var(--ink2);line-height:1.6;padding-top:8px}
.whale-legend .short{color:var(--sell)}.whale-legend .long{color:var(--buy)}
.whale-legend .short::before,.whale-legend .long::before{content:"●";margin-right:5px}
.whale-map-open{display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;text-align:left;color:inherit}
.whale-map .whale-scatter{display:block;width:100%;height:auto;max-width:760px;margin:12px auto 0;overflow:visible}
.whale-map-open:focus-visible,.whale-positions button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r8)}
.whale-caption,.whale-cached,.whale-source{margin:8px 0 0;font-size:11px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}
.whale-source{color:var(--ink2)}
.whale-cached{color:var(--warn)}
.whale-dot[role=button]{cursor:pointer;outline:none}
.whale-dot[role=button]:focus-visible circle,.whale-dot[aria-pressed=true] circle{stroke:var(--ink);stroke-width:3}
.whale-dot text{pointer-events:none}
.whale-asset-icon{display:inline-block;vertical-align:middle;flex:none;margin-right:6px;pointer-events:none}
.whale-scatter .whale-asset-icon{margin:0}
.whale-selection{margin:16px 0;padding:14px;border:1px solid var(--ring);border-radius:var(--r12);font-size:13px;color:var(--ink2);line-height:1.7;overflow-wrap:anywhere}
.whale-selection button{display:block;margin-top:10px;min-height:40px}
.whale-positions{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}
.whale-positions button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;border:1px solid var(--ring);border-radius:var(--r10);padding:12px;background:var(--bg);color:var(--ink);text-align:left;cursor:pointer;font:inherit;min-width:0}
.whale-positions button[aria-pressed=true]{border-color:var(--accent)}
.whale-positions b{overflow-wrap:anywhere;font-size:13px}.whale-positions span{grid-column:1/-1;grid-row:2;font-size:11px;color:var(--ink2)}.whale-positions strong{font-size:12px}
.wg .widget-open{display:inline-flex;align-items:center;gap:7px;min-width:0;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere}
.wg .widget-open:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--r4)}
.wg .widget-open .mi{flex-shrink:0}
.widget-detail{min-width:0;padding:0 16px 28px;text-align:left}
.widget-detail .stock-detail-head{padding:16px 0 10px;gap:12px}
.widget-detail .stock-detail-head h2{font-size:20px;overflow-wrap:anywhere;min-width:0}
.widget-detail .stock-detail-head button{flex-shrink:0;min-height:40px}
.widget-detail-intro{margin:0 0 20px;color:var(--ink2);font-size:13px;line-height:1.65;overflow-wrap:anywhere}
.widget-detail .wg{margin:0;width:100%;box-sizing:border-box;cursor:default;padding:18px;border-radius:var(--r16)}
.widget-detail .wg .wt{align-items:flex-start;gap:12px;flex-wrap:wrap}
.widget-detail .wg .whint{display:none}
.widget-detail .wg .wide{min-height:150px;max-height:260px}
.widget-detail .wg .tmap{height:clamp(480px,65vh,800px);min-height:480px;margin-top:12px}
.widget-detail .wg .tmfoot{gap:12px;flex-wrap:wrap;line-height:1.6}
.widget-detail .wg .fgrid,.widget-detail .wg .heat{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.widget-detail .wg .ftile{min-width:0}
.widget-detail .wg .ftile svg{height:90px}
.widget-detail .wg .art{margin:0;max-width:100%}
.widget-detail .wg .rw{gap:8px;min-width:0}
.widget-detail .wg .wy{min-width:0;overflow-wrap:anywhere}
.widget-guide{margin:20px 0 0;padding:18px;border:1px solid var(--ring);border-radius:var(--r16);color:var(--ink2);font-size:13px;line-height:1.75;overflow-wrap:anywhere}
.tmap[data-tmap="full"] .tm-sl{height:38px;box-sizing:border-box;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:1px;padding:5px 8px;line-height:13px}
.tmap[data-tmap="full"] .tm-sl span{width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis}
.tmap[data-tmap="full"] .tm-sl b{font-size:10px;font-weight:600}
.tmap[data-tmap="full"] .tm-tile{box-sizing:border-box;align-items:flex-start;justify-content:flex-start;padding:7px;gap:4px;text-align:left;border-radius:var(--r5)}
.tmap[data-tmap="full"] .tm-tile:empty{padding:0}
.tmap[data-tmap="full"] .tm-tile .ms,.tmap[data-tmap="full"] .tm-tile .tm-change{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:none;line-height:1.15}
.widget-guide h3{color:var(--ink);font-size:14px;margin:0 0 8px}
.widget-guide p{margin:0 0 10px}
.widget-guide small{display:block;color:var(--muted);font-size:11px}
@media(max-width:480px){.widget-detail{padding:0 12px 20px}.widget-detail .wg{padding:12px}.widget-detail .wg .tmap{height:560px}.widget-detail .wg .gauge-hero-label{font-size:12px}.widget-detail .wg .hero{font-size:24px}}
