.category-tabs { overflow-x: auto; align-items: stretch; }
.category-tabs .stock-tab { align-content: center; white-space: nowrap; color: var(--yellow); font-size: 17px; padding: 15px 0 22px; }
.stock-page { max-width: 632px; margin: auto; padding: 32px 22px 72px; }
.stock-back, .stock-date { color: #aaa; font-size: 13px; }
.stock-page .eyebrow { margin: 56px 0 12px; }
.stock-lead, .stock-page article p { line-height: 1.85; color: #ceced1; word-break: keep-all; }
.market-status { display: grid; gap: 5px; margin: 18px 0 26px; padding: 16px 18px; border-left: 3px solid var(--yellow); background: #19191b; }
.market-status strong { color: var(--yellow); }
.market-status span { color: #d5d5d5; font-size: 13px; line-height: 1.6; }
.market-status a { color: #aaa; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.stock-index { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0; }
.stock-index a { border: 1px solid #494949; padding: 8px 14px; border-radius: 24px; font-size: 13px; }
.stock-page article { background: #19191b; padding: 24px; border-radius: 18px; margin-bottom: 16px; scroll-margin-top: 16px; }
.stock-page article small, .stock-page article a { color: var(--yellow); font-size: 13px; }
.stock-page h2 span { display: inline-block; font-size: 12px; color: #aaa; font-weight: 500; }
.stock-page details { border-top: 1px solid #444; margin: 20px 0; padding-top: 16px; }
.stock-page summary { cursor: pointer; }
.stock-page article p b { color: #f4f1dc; }
.source-links { display: grid; gap: 10px; }
@media(max-width:420px) { .category-tabs .stock-tab { font-size: 16px; padding: 15px 0 18px; } }
.daily-label { color: var(--yellow); letter-spacing: 1px; margin-bottom: 18px; }
.market-next { display: block; padding: 17px 10px; margin-top: 6px; font-size: 14px; color: #eee6ab; text-decoration: underline; text-underline-offset: 4px; }
.market-banner { display: grid; gap: 8px; margin-top: 24px; padding: 22px; border: 1px solid #494639; border-radius: 16px; background: #201f19; }
.market-banner small { color: var(--yellow); }
.market-banner span { color: #bcb9ae; font-size: 13px; }
.stock-page .daily-pick { background: #222219; border: 1px solid #6a6335; margin-top: 22px; }
.kr-markets { border: 0; padding: 0; margin: 28px 0; min-width: 0; }
.kr-markets legend { color: #aaa; font-size: 13px; margin-bottom: 12px; }
.kr-markets input { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); }
.kr-markets label { display: inline-block; padding: 10px 24px; border-radius: 24px; border: 1px solid #555; cursor: pointer; }
.kr-markets input:checked + label { color: #222; background: var(--yellow); border-color: var(--yellow); }
.kr-markets input:focus-visible + label { outline: 2px solid white; outline-offset: 3px; }
#kospi:checked ~ .kosdaq-pick, #kosdaq:checked ~ .kospi-pick { display: none; }
#coin:not(:checked) ~ .coin-pick,
#coin:checked ~ .kospi-pick,
#coin:checked ~ .kosdaq-pick { display: none; }
#refresh-coins { background: #ffe65b; color: #222; padding: 9px 16px; border-radius: 20px; }
#refresh-coins:disabled { opacity: .6; }
.return-line {display:grid; grid-template-columns:4em minmax(50px,1fr) 5em; gap:8px; align-items:center; margin:9px 0; font-size:13px; font-variant-numeric:tabular-nums}
.return-line strong {text-align:right}
.return-track {position:relative; height:8px; border-radius:4px; background:#303033}
.return-track::before {content:''; position:absolute; left:50%; top:-3px; bottom:-3px; width:1px; background:#aaa}
.return-track i {position:absolute; height:100%; border-radius:4px}
.return-track .up {left:50%; background:#ff9c85}
.return-track .down {right:50%; background:#80bafa}
