:root {
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic UI", "Yu Gothic", sans-serif;
  color: #171b20;
  background: #d7d9dc;
  --fav-green: #078d40;
  --fav-green-bright: #12b85b;
  --fav-red: #ed2f3b;
  --fav-orange: #f39800;
  --fav-surface: #fff;
  --fav-surface-soft: #f5f8f6;
  --fav-line: #dbe2de;
  --fav-muted: #687078;
  --fav-grid: #b8e5ec;
}

* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at 50% -20%, #f7fff9 0, #e4e8e6 36%, #d7d9dc 74%); }
button, select { font: inherit; }
button { -webkit-tap-highlight-color: transparent; }

.favorites-page { width: min(1180px, calc(100% - 28px)); margin: 24px auto 44px; }
.favorites-heading { display: flex; align-items: end; justify-content: space-between; gap: 22px; margin-bottom: 18px; padding: 4px 5px; }
.favorites-kicker { margin: 0 0 5px; color: var(--fav-green); font-size: .78rem; font-weight: 950; letter-spacing: .14em; }
.favorites-heading h1 { margin: 0; font-size: clamp(1.8rem, 4vw, 2.7rem); letter-spacing: -.04em; }
.favorites-heading p:not(.favorites-kicker) { margin: 8px 0 0; color: #555e65; font-size: 1rem; line-height: 1.7; }
.favorites-currency { display: inline-grid; grid-template-columns: 1fr 1fr; flex: 0 0 auto; overflow: hidden; border: 1px solid #9ed4b4; border-radius: 12px; background: #fff; box-shadow: 0 5px 16px rgba(18,80,47,.09); }
.favorites-currency button { min-width: 62px; min-height: 45px; padding: 8px 13px; border: 0; background: transparent; color: #5a626a; font-weight: 950; cursor: pointer; }
.favorites-currency button[aria-pressed="true"] { background: linear-gradient(145deg,#0aac53,#07873e); color: #fff; }

.favorite-picker { padding: clamp(18px,3vw,28px); border: 1px solid rgba(8,150,69,.28); border-radius: 20px; background: linear-gradient(110deg,rgba(9,170,79,.12),rgba(255,255,255,.97) 36%,#fff); box-shadow: 0 10px 28px rgba(33,49,41,.12); }
.favorite-picker-title { display: flex; align-items: center; gap: 13px; }
.favorite-picker-star { display: grid; width: 48px; aspect-ratio: 1; place-items: center; border-radius: 50%; background: linear-gradient(145deg,#ffb20e,#f18400); color: #fff; font-size: 1.55rem; box-shadow: 0 5px 14px rgba(243,152,0,.25); }
.favorite-picker-title small { display: block; color: var(--fav-green); font-size: .75rem; font-weight: 950; letter-spacing: .08em; }
.favorite-picker-title h2 { margin: 2px 0 0; font-size: 1.28rem; }
.favorite-picker-controls { display: grid; grid-template-columns: auto minmax(180px,1fr) auto; align-items: center; gap: 11px; margin-top: 18px; }
.favorite-picker-controls label { font-weight: 900; }
.favorite-picker-controls select { width: 100%; min-height: 50px; padding: 10px 42px 10px 14px; border: 1px solid #bdc8c1; border-radius: 12px; background: #fff; color: #171b20; font-size: 1rem; font-weight: 800; }
.favorite-picker-controls button { min-height: 50px; padding: 10px 23px; border: 0; border-radius: 12px; background: linear-gradient(145deg,#10ad55,#07883e); color: #fff; font-weight: 950; box-shadow: 0 6px 16px rgba(7,139,59,.2); cursor: pointer; }
.favorite-picker-controls button:disabled { opacity: .45; cursor: default; box-shadow: none; }
.favorite-picker-notice { min-height: 1.35em; margin: 9px 0 -5px; color: var(--fav-green); font-size: .86rem; font-weight: 850; text-align: right; }

.favorites-board { margin-top: 24px; }
.favorites-board-heading { display: flex; align-items: center; justify-content: space-between; padding: 0 5px 10px; }
.favorites-board-heading h2 { margin: 0; font-size: 1.16rem; }
.favorites-board-heading span { color: var(--fav-muted); font-size: .88rem; font-weight: 850; }
.favorites-empty { display: grid; justify-items: center; padding: 45px 20px; border: 1px dashed #aebbb4; border-radius: 18px; background: rgba(255,255,255,.65); color: #66716a; text-align: center; }
.favorites-empty[hidden] { display: none; }
.favorites-empty > span { color: #f2a000; font-size: 3rem; line-height: 1; }
.favorites-empty strong { margin-top: 8px; color: #30373b; font-size: 1.08rem; }
.favorites-empty p { margin: 7px 0 0; font-size: .92rem; }
.favorites-list { display: grid; gap: 14px; }

.favorite-card { overflow: hidden; border: 1px solid #d1d9d5; border-radius: 18px; background: var(--fav-surface); box-shadow: 7px 10px 18px rgba(25,34,42,.17); transition: transform .16s ease,box-shadow .16s ease,border-color .16s ease,opacity .16s ease; }
.favorite-card.is-open { border-color: rgba(8,158,71,.55); box-shadow: 0 0 0 2px rgba(19,185,90,.08),7px 12px 24px rgba(15,58,34,.18); }
.favorite-card.is-pressed { transform: translateY(-3px) scale(1.003); border-color: rgba(7,151,67,.5); box-shadow: 9px 15px 25px rgba(14,54,32,.25); }
.favorite-card-bar { display: grid; grid-template-columns: minmax(0,1fr) 54px; min-height: 92px; }
.favorite-summary { display: grid; grid-template-columns: 62px minmax(110px,1fr) minmax(120px,auto) 34px; align-items: center; gap: 13px; width: 100%; padding: 12px 8px 12px 16px; border: 0; background: linear-gradient(90deg,#fff 60%,rgba(215,255,69,.2)); color: inherit; text-align: left; cursor: pointer; }
.favorite-icon-wrap { display: grid; width: 58px; aspect-ratio: 1; place-items: center; overflow: hidden; border: 1px solid #e0e4e2; border-radius: 50%; background: #f5f7f6; }
.favorite-icon { display: block; width: 100%; height: 100%; object-fit: contain; }
.favorite-icon.is-fallback { padding: 12px; }
.favorite-icon-wrap.letter-icon::after { content: attr(data-letter); color: var(--fav-green); font-size: 1.05rem; font-weight: 1000; }
.favorite-identity { min-width: 0; }
.favorite-symbol { display: block; overflow: hidden; color: #15191d; font-size: 1.45rem; font-weight: 1000; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
.favorite-name { display: block; overflow: hidden; margin-top: 5px; color: var(--fav-muted); font-size: .82rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.favorite-market { min-width: 0; text-align: right; }
.favorite-price { display: block; color: #161b20; font-size: clamp(1.05rem,2.8vw,1.45rem); font-weight: 1000; white-space: nowrap; }
.favorite-change { display: block; margin-top: 4px; font-size: .94rem; font-weight: 950; }
.favorite-change.is-up { color: var(--fav-green); }
.favorite-change.is-down { color: var(--fav-red); }
.favorite-chevron { color: var(--fav-green); font-size: 2rem; font-weight: 900; line-height: 1; text-align: center; transition: transform .22s ease; }
.favorite-card.is-open .favorite-chevron { transform: rotate(180deg); }
.favorite-handle { display: grid; place-items: center; border: 0; border-left: 1px solid #e1e6e3; background: #fbfcfb; color: var(--fav-green); cursor: grab; touch-action: none; user-select: none; }
.favorite-handle:hover { background: #effaf3; }
.favorite-handle:active, .favorite-handle.is-pressing { cursor: grabbing; background: #e6f7ec; }
.favorite-grip { width: 24px; height: 32px; fill: currentColor; filter: drop-shadow(0 2px 5px rgba(7,141,64,.18)); }
.favorite-handle.is-hinting .favorite-grip { animation: favorite-grip-hint 1.45s .55s ease-in-out 1; }
.favorites-list.is-reordering { user-select: none; }
.favorite-card.is-drag-placeholder { opacity: .28; box-shadow: 0 0 0 2px rgba(7,141,64,.28); }
.favorite-drag-ghost { position: fixed; z-index: 10010; overflow: hidden; border: 2px solid rgba(7,151,67,.62); border-radius: 18px; background: var(--fav-surface); box-shadow: 10px 16px 32px rgba(14,54,32,.28); pointer-events: none; transform: scale(1.012); }
.favorite-drag-ghost .favorite-card-bar { height: 100%; }

.favorite-delete-dialog { width: min(440px,calc(100% - 32px)); padding: 0; border: 1px solid rgba(7,141,64,.3); border-radius: 20px; background: #fff; color: #171b20; box-shadow: 0 22px 70px rgba(10,22,16,.32); }
.favorite-delete-dialog::backdrop { background: rgba(7,13,10,.5); backdrop-filter: blur(3px); }
.favorite-delete-dialog form { padding: 27px; }
.favorite-dialog-kicker { margin: 0 0 5px; color: var(--fav-green); font-size: .72rem; font-weight: 950; letter-spacing: .14em; }
.favorite-delete-dialog h2 { margin: 0; font-size: 1.35rem; }
.favorite-dialog-text { margin: 13px 0 22px; color: #59625d; line-height: 1.7; }
.favorite-dialog-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.favorite-dialog-actions button { min-height: 48px; border-radius: 12px; font-weight: 950; cursor: pointer; }
.favorite-dialog-cancel { border: 1px solid #bfc9c3; background: #fff; color: #505a54; }
.favorite-dialog-delete { border: 0; background: linear-gradient(145deg,#ef4551,#d8202d); color: #fff; box-shadow: 0 6px 16px rgba(216,32,45,.2); }

.favorite-chart-panel { padding: 0 clamp(12px,2.4vw,25px) 22px; border-top: 1px solid #e4e9e6; background: linear-gradient(#fbfdfc,#fff); }
.favorite-timeframes { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 7px; padding: 16px 0 12px; }
.favorite-timeframes button { min-height: 42px; padding: 7px 5px; border: 1px solid #b9c9c0; border-radius: 10px; background: #fff; color: #4f5953; font-size: .88rem; font-weight: 900; cursor: pointer; }
.favorite-timeframes button[aria-pressed="true"] { border-color: #078b3b; background: linear-gradient(145deg,#12ad55,#07873e); color: #fff; box-shadow: 0 4px 12px rgba(7,139,59,.18); }
.favorite-indicators { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; padding: 0 0 12px; }
.favorite-indicators button { min-height: 42px; padding: 7px 5px; border: 1px solid #c3cdc7; border-radius: 10px; background: #fff; color: #4f5953; font-size: .86rem; font-weight: 900; cursor: pointer; }
.favorite-indicators button[aria-pressed="true"] { border-color: #078b3b; background: linear-gradient(145deg,#e9fff1,#d5f8e2); color: #067d38; box-shadow: inset 0 0 0 1px rgba(7,139,59,.08),0 4px 12px rgba(7,139,59,.12); }
.favorite-indicator-legend { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 0 11px; }
.favorite-indicator-legend[hidden] { display: none; }
.favorite-indicator-legend span { padding: 5px 9px; border: 1px solid #d5ddd8; border-radius: 999px; background: #f6f9f7; color: #5d6761; font-size: .72rem; font-weight: 850; }
.favorite-chart-meta { margin-top:14px; display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 30px; color: #4f5954; font-size: .78rem; font-weight: 800; }
.favorite-period-label { display:block; margin:10px 0 8px; color: var(--fav-green); font-size: .88rem; font-weight: 950; }
.favorite-ohlc { display:flex; align-items:center; justify-content:flex-end; gap:13px; min-width:0; }
.favorite-ohlc-item { display:inline-flex; align-items:baseline; gap:4px; min-width:0; white-space:nowrap; }
.favorite-ohlc-item small, .favorite-ohlc-item strong { color:inherit; font:inherit; }
.favorite-ohlc-item strong { font-weight:850; }
.ohlc-long { display:none; }
.favorite-chart-stage { position: relative; min-height: 0; overflow: hidden; border: 1px solid #d7dfdb; border-radius: 14px; background: #fff; }
.favorite-candle-chart, .favorite-volume-chart, .favorite-macd-chart, .favorite-rsi-chart { display: block; width: 100%; height: auto; }
.favorite-chart-loading { position: absolute; z-index: 2; inset: 0; display: grid; place-content: center; justify-items: center; gap: 11px; background: rgba(255,255,255,.88); color: #4e5852; font-size: .9rem; }
.favorite-chart-loading[hidden] { display: none; }
.favorite-spinner { width: 32px; height: 32px; border: 4px solid #d8e8df; border-top-color: var(--fav-green); border-radius: 50%; animation: favorite-spin .75s linear infinite; }
.favorite-volume-wrap { position: relative; margin-top: 8px; overflow: hidden; border: 1px solid #dce3df; border-radius: 12px; background: #fff; }
.favorite-volume-wrap > span { position: absolute; z-index: 1; top: 8px; left: 11px; color: #647069; font-size: .75rem; font-weight: 900; }
.favorite-study-wrap { margin-top: 8px; overflow: hidden; border: 1px solid #dce3df; border-radius: 12px; background: #fff; }
.favorite-study-wrap[hidden] { display: none; }
.favorite-study-heading { display: flex; align-items: center; justify-content: space-between; padding: 8px 12px 0; color: #5c6761; font-size: .72rem; }
.favorite-study-heading strong { color: var(--fav-green); font-size: .8rem; letter-spacing: .04em; }
.favorite-study-heading span { font-weight: 850; }
.favorite-chart-error { margin: 11px 0 0; padding: 13px 15px; border-radius: 10px; background: #fff1f1; color: #b6222d; font-size: .88rem; font-weight: 800; }
.favorites-footer { padding: 4px 18px 30px; color: #697078; font-size: .78rem; text-align: center; }
.favorites-footer p { margin: 0; }

.chart-grid-line { stroke: var(--fav-grid); stroke-width: 1.3; }
.chart-time-tick { vector-effect:non-scaling-stroke; stroke:#b7c1bb; stroke-width:1; }
.chart-time-label { fill:#7b8580; font-size:14px; font-weight:800; }
.chart-extreme-line { vector-effect:non-scaling-stroke; stroke-width:1.25; }
.chart-high-line { stroke:#2ee889; }
.chart-low-line { stroke:#ff35a4; }
.chart-extreme-label { font-size:14px; font-weight:800; letter-spacing:-.02em; paint-order:stroke fill; stroke:#fff; stroke-width:2.5px; stroke-linejoin:round; }
.chart-high-label { fill:#16b969; }
.chart-low-label { fill:#e72f91; }
.chart-up { fill: #10a94e; stroke: #07873e; }
.chart-down { fill: #ef3b46; stroke: #d91f2c; }
.chart-wick { stroke-width: 2; }
.chart-last-line { stroke: rgba(11,142,66,.55); stroke-width: 1.5; stroke-dasharray: 7 6; }
.chart-last-pill { fill: #078d40; }
.chart-last-text { fill: #fff; font-size: 18px; font-weight: 950; }
.volume-up { fill: rgba(16,169,78,.62); }
.volume-down { fill: rgba(239,59,70,.58); }
.indicator-ma-short, .indicator-ma-long, .indicator-tenkan, .indicator-kijun, .indicator-chikou, .indicator-span-a, .indicator-span-b, .macd-line, .macd-signal-line, .rsi-line { vector-effect:non-scaling-stroke; stroke-linecap:round; stroke-linejoin:round; }
.indicator-ma-short { fill:none; stroke:#006cff; stroke-width:1.5; }
.indicator-ma-long { fill:none; stroke:#ff00a8; stroke-width:1.5; }
.indicator-tenkan { fill:none; stroke:#00aef0; stroke-width:1.35; }
.indicator-kijun { fill:none; stroke:#ff2929; stroke-width:1.35; }
.indicator-chikou { fill:none; stroke:#7900ff; stroke-width:1.25; }
.indicator-span-a, .indicator-span-b { fill:none; stroke-width:1; opacity:.95; }
.indicator-span-a { stroke:#00b84a; }
.indicator-span-b { stroke:#ff6500; }
.ichimoku-cloud-up { fill:rgba(0,184,74,.075); }
.ichimoku-cloud-down { fill:rgba(255,41,41,.065); }
.study-grid-line { stroke:var(--fav-grid); stroke-width:1.2; }
.study-zero-line { stroke:#9ba7a0; stroke-width:1.3; stroke-dasharray:7 6; }
.study-axis-label { fill:#748078; font-size:17px; font-weight:800; }
.macd-line { fill:none; stroke:#006cff; stroke-width:1.5; }
.macd-signal-line { fill:none; stroke:#ff2929; stroke-width:1.5; }
.macd-hist-up { fill:rgba(0,184,74,.72); }
.macd-hist-down { fill:rgba(255,41,41,.68); }
.rsi-line { fill:none; stroke:#7900ff; stroke-width:1.5; }
.rsi-upper { stroke:#ff2929; stroke-width:1; stroke-dasharray:7 6; }
.rsi-lower { stroke:#00b84a; stroke-width:1; stroke-dasharray:7 6; }

@keyframes favorite-spin { to { transform: rotate(360deg); } }
@keyframes favorite-grip-hint {
  0%,18%,100% { transform: translateX(0); }
  38% { transform: translateX(-5px); }
  60% { transform: translateX(5px); }
  80% { transform: translateX(0); }
}

html[data-theme="dark"] { color: #edf2ef; background: #0b0f12; --fav-surface:#151b1f; --fav-surface-soft:#11171a; --fav-line:#2a3439; --fav-muted:#aab4b8; --fav-grid:#245965; }
html[data-theme="dark"] body { background: radial-gradient(circle at 50% -20%,#13231b 0,#0d1316 36%,#090d10 76%); }
html[data-theme="dark"] main.favorites-page { border:0; background:transparent; box-shadow:none; }
html[data-theme="dark"] .favorites-heading p:not(.favorites-kicker) { color:#b5bec1; }
html[data-theme="dark"] .favorites-currency { border-color:#315b46; background:#141b1e; }
html[data-theme="dark"] .favorites-currency button { color:#c3cbcf; }
html[data-theme="dark"] .favorite-picker { border-color:#274e39; background:linear-gradient(110deg,rgba(7,139,59,.22),rgba(20,27,30,.98) 38%,#141a1e); }
html[data-theme="dark"] .favorite-picker-controls select { border-color:#39464c; background:#101619; color:#eef2f0; }
html[data-theme="dark"] .favorites-empty { border-color:#39464b; background:rgba(20,27,31,.72); color:#aeb8bc; }
html[data-theme="dark"] .favorites-empty strong { color:#eef2f0; }
html[data-theme="dark"] .favorite-card { border-color:#303b40; background:#151b1f; box-shadow:7px 10px 20px rgba(0,0,0,.42); }
html[data-theme="dark"] .favorite-summary { background:linear-gradient(90deg,#151b1f 58%,rgba(127,170,18,.18)); }
html[data-theme="dark"] .favorite-icon-wrap { border-color:#344047; background:#101518; }
html[data-theme="dark"] .favorite-symbol, html[data-theme="dark"] .favorite-price { color:#f1f4f2; }
html[data-theme="dark"] .favorite-handle { border-color:#303a3f; background:#11171a; }
html[data-theme="dark"] .favorite-handle:hover, html[data-theme="dark"] .favorite-handle.is-pressing { background:#17251e; }
html[data-theme="dark"] .favorite-delete-dialog { border-color:#31503f; background:#151b1f; color:#edf2ef; }
html[data-theme="dark"] .favorite-dialog-text { color:#b5bec1; }
html[data-theme="dark"] .favorite-dialog-cancel { border-color:#3b484e; background:#101619; color:#d5ddda; }
html[data-theme="dark"] .favorite-chart-panel { border-color:#2a3439; background:linear-gradient(#12181b,#151b1f); }
html[data-theme="dark"] .favorite-timeframes button { border-color:#39474e; background:#101619; color:#c3cccf; }
html[data-theme="dark"] .favorite-indicators button { border-color:#39474e; background:#101619; color:#c3cccf; }
html[data-theme="dark"] .favorite-indicators button[aria-pressed="true"] { border-color:#2c8a55; background:linear-gradient(145deg,#183126,#15271f); color:#69dda0; }
html[data-theme="dark"] .favorite-indicator-legend span { border-color:#344149; background:#101619; color:#bbc5c1; }
html[data-theme="dark"] .favorite-chart-meta { color:#b4bdc0; }
html[data-theme="dark"] .favorite-chart-stage, html[data-theme="dark"] .favorite-volume-wrap, html[data-theme="dark"] .favorite-study-wrap { border-color:#344047; background:#101619; }
html[data-theme="dark"] .favorite-study-heading { color:#aeb9b5; }
html[data-theme="dark"] .favorite-chart-loading { background:rgba(16,22,25,.9); color:#c7d0cc; }
html[data-theme="dark"] .chart-extreme-label { stroke:#101619; }
html[data-theme="dark"] .chart-time-tick { stroke:#59676c; }
html[data-theme="dark"] .chart-time-label { fill:#aab5b8; }
html[data-theme="dark"] .favorite-chart-error { background:#35181c; color:#ff9098; }

@media (max-width: 700px) {
  .favorites-page { width:min(100% - 18px,1180px); margin:14px auto 32px; }
  .favorites-heading { align-items:flex-start; }
  .favorites-heading p:not(.favorites-kicker) { font-size:.9rem; }
  .favorites-currency button { min-width:54px; min-height:42px; padding-inline:10px; }
  .favorite-picker { border-radius:16px; }
  .favorite-picker-controls { grid-template-columns:1fr auto; }
  .favorite-picker-controls label { grid-column:1/-1; margin-bottom:-5px; font-size:.86rem; }
  .favorite-picker-controls button { padding-inline:16px; }
  .favorite-summary { grid-template-columns:52px minmax(88px,1fr) minmax(94px,auto) 25px; gap:9px; padding:10px 5px 10px 11px; }
  .favorite-icon-wrap { width:50px; }
  .favorite-symbol { font-size:1.2rem; }
  .favorite-name { font-size:.7rem; }
  .favorite-price { font-size:1rem; }
  .favorite-change { font-size:.82rem; }
  .favorite-card-bar { grid-template-columns:minmax(0,1fr) 45px; min-height:78px; }
  .favorite-timeframes { grid-template-columns:repeat(3,1fr); }
  .favorite-indicators { grid-template-columns:repeat(2,1fr); }
  .favorite-chart-stage { min-height:0; }
  .favorite-chart-meta { align-items:flex-start; flex-direction:column; gap:7px; padding-bottom:9px; }
  .favorite-ohlc { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 18px; width:100%; }
  .favorite-ohlc-item { display:grid; gap:1px; }
  .favorite-ohlc-item small { color:#7b8580; font-size:.65rem; font-weight:800; line-height:1.2; }
  .favorite-ohlc-item strong { color:#4f5954; font-size:clamp(.72rem,3.2vw,.82rem); font-weight:900; line-height:1.25; }
  .ohlc-short { display:none; }
  .ohlc-long { display:inline; }
  html[data-theme="dark"] .favorite-ohlc-item small { color:#929da1; }
  html[data-theme="dark"] .favorite-ohlc-item strong { color:#d4dcdf; }
}

@media (max-width: 390px) {
  .favorites-heading { display:block; }
  .favorites-currency { margin-top:12px; }
  .favorite-summary { grid-template-columns:46px minmax(70px,1fr) minmax(82px,auto) 20px; gap:7px; }
  .favorite-icon-wrap { width:44px; }
  .favorite-name { display:none; }
  .favorite-picker-controls select { min-width:0; }
}

@media (prefers-reduced-motion: reduce) {
  .favorite-spinner { animation-duration:1.5s; }
  .favorite-card { transition:none; }
  .favorite-handle.is-hinting .favorite-grip { animation:none; }
}

/* Registration stays open for multiple additions; Done only collapses it. */
.favorite-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}
.favorite-picker-heading .favorite-picker-title{flex:1;min-width:0}
.favorite-picker-star{flex:none}
.favorite-picker-heading h2{font-size:clamp(.95rem,3.5vw,1.28rem)}
.favorite-picker-toggle{flex:none;min-height:44px;padding:10px 17px;border:0;border-radius:12px;background:linear-gradient(145deg,#10ad55,#07883e);color:#fff;font:inherit;font-weight:950;box-shadow:0 6px 16px rgba(7,139,59,.2);cursor:pointer;white-space:nowrap}
.favorite-picker-toggle:focus-visible{outline:3px solid #f39800;outline-offset:3px}
#favoritePickerBody[hidden]{display:none}
@media(max-width:430px){.favorite-picker-heading{gap:9px}.favorite-picker-heading .favorite-picker-title{gap:9px}.favorite-picker-heading .favorite-picker-star{width:38px;font-size:1.3rem}.favorite-picker-heading small{font-size:.65rem}.favorite-picker-toggle{padding-inline:12px;font-size:.86rem}}

/* Price-chart guides follow the main board; study panels keep their own axes. */
.chart-percent-guide { stroke:#65cadc; stroke-width:1.3; }
.chart-period-baseline { stroke:#ee2d38; stroke-width:3; }
.chart-period-price { fill:#d52d2d; font-size:24px; font-weight:950; }
.chart-percent-label { fill:#388ca2; font-size:27px; font-weight:900; }
.chart-percent-negative { fill:#c52525; }
.chart-current-up { fill:#16d76a; }
.chart-current-down { fill:#ef3b46; }


/* Match the accepted StockBull detail height and physical label spacing. */
.favorite-chart-stage{box-sizing:border-box;height:clamp(300px,34vw,520px);padding:6px;min-height:0}
.favorite-chart-stage .favorite-candle-chart{width:100%;height:100%}
.favorite-candle-chart .chart-extreme-label{font-size:14px}
.favorite-candle-chart .chart-time-label{font-size:12px}
.favorite-candle-chart .chart-wick{stroke-width:1.4}
@media(max-width:640px){.favorite-chart-stage{height:clamp(250px,70vw,340px)}}

.favorite-chart-stage{padding:2px}

/* Match the TOP chart card symbol, including its 12-degree forward lean. */
.favorite-symbol{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic UI","Yu Gothic","Noto Sans JP",sans-serif;font-weight:1000;letter-spacing:-.035em;transform:skewX(-12deg);transform-origin:left center;padding-inline:.12em;line-height:1.2;white-space:normal;overflow-wrap:anywhere;text-overflow:clip}

/* Current quote follows the TOP chart card price typography. */
.favorite-price{font-weight:900;letter-spacing:-.045em}

/* Match StockBull detail type, then fit each quote to its own grid cell. */
.favorite-summary{grid-template-columns:62px minmax(0,1fr) minmax(0,1.45fr) 34px}
.favorite-symbol{font-size:1.5rem;white-space:nowrap;text-overflow:ellipsis}
.favorite-price{font-size:clamp(1.8rem,5vw,3rem);overflow:hidden;text-overflow:ellipsis;line-height:1.15}
@media(max-width:700px){.favorite-summary{grid-template-columns:52px minmax(0,1fr) minmax(0,1.45fr) 25px}}
@media(max-width:640px){.favorite-symbol{font-size:clamp(1.1rem,4.5vw,1.5rem)}}
@media(max-width:420px){.favorite-summary{grid-template-columns:46px minmax(0,1fr) minmax(0,1.45fr) 20px}}
