diff --git a/web/app/[code]/page.tsx b/web/app/[code]/page.tsx
index beedecb..5e410de 100644
--- a/web/app/[code]/page.tsx
+++ b/web/app/[code]/page.tsx
@@ -213,8 +213,16 @@ export default function CodePage({ params }: { params: { code: string } }) {
-
-
setPeriod(id)} />
+ {/*
+ PeriodTabs 가 좁은 폭에서 컨테이너보다 넓어질 때:
+ 부모에 `justify-end` 를 직접 걸면 음수 방향으로 첫 탭이 잘려서 스크롤로도 접근이 어려움.
+ wrapper-of-wrapper 패턴 — 바깥은 overflow-x-auto 스크롤만, 안쪽 inline flex 가 폭에 맞춰
+ 넓으면 좌측 정렬(스크롤 노출), 좁으면 우측 정렬(공간 차지 안 함). w-max + min-w-full 이 핵심.
+ */}
+
{err && 차트 로딩 실패: {err}
}
diff --git a/web/components/StockChart.tsx b/web/components/StockChart.tsx
index 0770e80..984cfc6 100644
--- a/web/components/StockChart.tsx
+++ b/web/components/StockChart.tsx
@@ -930,6 +930,18 @@ export function StockChart({ chart, prediction, targets }: Props) {
return (
+ {/*
+ 전체화면 모드 한정 종목 라벨 — 일반 모드는 위에 PriceHero 가 종목명/코드를 크게 보여주지만
+ fullscreen 은 fixed inset 으로 PriceHero 가 가려져서 무슨 종목 차트인지 식별이 어려워짐.
+ 툴바 leading 자리에 작은 라벨을 끼워 시각적 노이즈 최소로 보완.
+ (캔버스 위의 CrosshairLabel 과 위치 겹치지 않도록 캔버스가 아닌 툴바에 둠.)
+ */}
+ {fullscreen && (
+
+ {chart.name}
+ {chart.code}
+
+ )}
{showSma && (
<>
{SMA_PRESETS.map((p) => {