@font-face {
	font-family: "Pretendard Variable";
	font-style: normal;
	font-weight: 45 920;
	font-display: swap;
	src: url("/fonts/PretendardVariable.woff2") format("woff2");
}
:root {
	color-scheme: light;
	--accent: #2455a6;
	--accent-soft: color-mix(in srgb, var(--accent) 6%, var(--surface));
	--accent-tint: color-mix(in srgb, var(--accent) 30%, var(--surface));
	--accent-border: color-mix(in srgb, var(--accent) 40%, var(--surface));
	--accent-strong: color-mix(in srgb, var(--accent) 55%, var(--ink));
	--surface: #fff;
	--surface-muted: #f7f8fa;
	--canvas: var(--surface);
	--ink: #20252b;
	--text-secondary: #515d6b;
	--notice-text: #996060;
	--muted: #626d79;
	--placeholder: #8c939d;
	--line: #e5e8ec;
	--line-soft: #edf0f3;
	--line-control: #d7dce2;
	--line-strong: #bbc4cf;
	--skeleton: #eceff3;
	--up: #c84444;
	--down: #326bc3;
	--chart-secondary: #4b948d;
	--chart-tertiary: #929eb0;
	--up-soft: color-mix(in srgb, var(--up) 30%, var(--surface));
	--down-soft: color-mix(in srgb, var(--down) 30%, var(--surface));
	--shadow: 0 5px 12px rgb(23 44 77 / 5%);
	--page-width: 1320px;
	--page-gutter: 32px;
	--rail-width: 330px;
	--layout-gap: 36px;
	--control-height: 38px;
	--search-height: 56px;
	--panel-radius: 12px;
	--space-1: 4px;
	--space-2: 8px;
	--space-3: 12px;
	--space-4: 16px;
	--space-5: 20px;
	--space-6: 24px;
	--space-7: 32px;
	--space-8: 48px;
	--font-family: ui-sans-serif, -apple-system, system-ui, "Segoe UI", "Noto Sans", "Helvetica", "Arial", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
	--logo-font-family: "Pretendard Variable", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif;
	--font-small: 13px;
	--font-ui: 14px;
	--font-body: 16px;
	--font-regular: 450;
	--investment-notice-height: 100px;
	font-family: var(--font-family);
	font-size: var(--font-body);
	font-synthesis: none;
}
* { box-sizing: border-box; font-family: var(--font-family); }
html { scrollbar-gutter: stable; scroll-padding-bottom: calc(var(--investment-notice-height) + var(--space-4)); }
body { margin: 0; padding-bottom: var(--investment-notice-height); background: var(--canvas); color: var(--ink); font-weight: var(--font-regular); line-height: 1.65; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; color: inherit; border-radius: 0; }
button, select { cursor: pointer; }
button { border: 0; background: transparent; }
input, textarea, select { border: 1px solid var(--line-control); background: var(--surface); }
input, select, .button { height: var(--control-height); }
input, select { padding: 0 var(--space-3); min-width: 0; }
textarea { padding: var(--space-3); resize: vertical; }
input::placeholder { color: var(--placeholder); }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
h1, h2, h3, h4, p { margin: 0; }
h1, h2, h3, h4 { word-break: keep-all; overflow-wrap: anywhere; }
h1 { font-size: 24px; line-height: 1.4; letter-spacing: -.7px; }
h2 { font-size: 18px; line-height: 1.5; letter-spacing: -.4px; }
h3 { font-size: 15px; }
svg { display: block; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.page-transition { position: fixed; inset: 0; z-index: 50; display: grid; place-items: center; background: var(--surface); pointer-events: none; }
.candle-progress { width: 128px; height: 72px; overflow: visible; }
.candle-progress-bar { color: var(--up); opacity: 0; animation: candle-progress 1.4s ease-out infinite; }
.candle-progress-bar:nth-child(2) { animation-delay: 90ms; }
.candle-progress-bar:nth-child(3) { animation-delay: 180ms; }
.candle-progress-bar:nth-child(4) { animation-delay: 270ms; }
.candle-progress-bar:nth-child(5) { animation-delay: 360ms; }
.candle-progress-down { color: var(--down); }
.candle-progress-bar path { stroke: currentColor; stroke-width: 1.5; }
.candle-progress-bar rect { fill: currentColor; }
@keyframes candle-progress {
	0% { opacity: 0; transform: translateY(5px); }
	16%, 72% { opacity: 1; transform: translateY(0); }
	100% { opacity: 0; transform: translateY(0); }
}
.site-header { border-bottom: 1px solid var(--line); }
.topbar, .site-nav, .workspace { max-width: var(--page-width); margin: 0 auto; }
.topbar { display: flex; align-items: center; gap: var(--space-8); min-height: 136px; padding: var(--space-7) var(--page-gutter); }
.brand { display: inline-flex; align-items: center; flex-shrink: 0; gap: 10px; width: 184px; height: 50px; font-family: var(--logo-font-family); font-size: 32px; font-weight: 800; color: var(--accent); letter-spacing: -1px; line-height: 1; white-space: nowrap; }
.brand img { display: block; flex-shrink: 0; width: 38px; height: 38px; }
.global-search { position: relative; display: flex; width: 640px; max-width: 100%; border: 2px solid var(--accent); border-radius: var(--search-height); }
.global-search input { flex: 1; width: 0; height: var(--search-height); border: 0; outline: none; padding: 0 var(--space-6); background: transparent; font-size: var(--font-body); }
.global-search button { width: 80px; flex-shrink: 0; font-weight: 600; color: var(--accent); border-radius: 0 var(--search-height) var(--search-height) 0; }
.search-results { position: absolute; top: calc(100% + 8px); left: 0; right: 0; z-index: 30; background: var(--surface); border: 1px solid var(--accent-border); border-radius: var(--panel-radius); box-shadow: var(--shadow); overflow: hidden; }
.search-results-list { max-height: min(418px, calc(60vh - 2px)); overflow-y: auto; overscroll-behavior: contain; }
.search-results a { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: var(--space-3); min-height: 52px; padding: 10px 14px; border-bottom: 1px solid var(--line-soft); }
.search-results a:last-child { border-bottom: 0; }
.search-results a:hover, .search-results a[aria-selected="true"] { background: var(--accent-soft); }
.search-results strong { font-size: var(--font-ui); min-width: 0; overflow-wrap: anywhere; }
.search-results small { font-size: var(--font-small); color: var(--muted); }
.search-code { font-size: var(--font-small); color: var(--text-secondary); font-variant-numeric: tabular-nums; }
.search-results mark { color: var(--accent); background: transparent; font-weight: 700; }
.search-results p { padding: 14px; }
.site-nav { display: flex; gap: var(--space-7); padding: 0 var(--page-gutter); }
.site-nav > a:not(.about-ai-button) { display: flex; align-items: center; gap: 6px; padding: var(--space-3) 0 var(--space-4); font-size: 15px; font-weight: 600; border-bottom: 3px solid transparent; margin-bottom: -1px; white-space: nowrap; }
.site-nav > a.active { color: var(--accent); border-bottom-color: var(--accent); }
.about-ai-button { display: inline-flex; align-items: center; align-self: center; flex-shrink: 0; gap: 6px; margin: 0 0 6px auto; padding: 7px 12px; border: 1px solid var(--accent-tint); border-radius: 20px; background: var(--accent-soft); color: var(--accent); font-size: var(--font-ui); font-weight: 650; white-space: nowrap; }
.about-ai-button:hover { border-color: var(--accent); }
.sample-notice { padding: 11px var(--page-gutter); font-size: var(--font-small); color: var(--muted); }
.document-heading { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: var(--space-3); margin: var(--space-6) 0; }
.document-heading h2 { font-size: 24px; }
.document-heading p, .document-heading-note { margin-top: 6px; color: var(--muted); font-size: var(--font-ui); }
.document-filters { width: fit-content; max-width: 100%; flex-wrap: wrap; margin-bottom: var(--space-6); }
.document-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.document-card { display: flex; flex-direction: column; min-width: 0; padding: var(--space-6); border: 1px solid var(--line); border-radius: var(--panel-radius); background: var(--surface); transition: border-color .15s, background-color .15s; }
.document-card:hover, .document-card:focus-visible { border-color: var(--accent-border); background: var(--accent-soft); }
.document-card-top { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-4); color: var(--accent); }
.document-kind { padding: 3px 8px; background: var(--accent-soft); border-radius: 4px; font-size: var(--font-small); font-weight: 650; }
.document-title { display: block; margin-bottom: var(--space-3); color: var(--ink); font-size: 18px; font-weight: 700; line-height: 1.55; word-break: keep-all; overflow-wrap: anywhere; }
.document-period, .document-publisher { display: block; color: var(--muted); font-size: var(--font-small); line-height: 1.8; overflow-wrap: anywhere; }
.document-open { display: flex; justify-content: space-between; gap: var(--space-3); margin-top: auto; padding-top: var(--space-5); color: var(--accent); font-size: var(--font-ui); font-weight: 650; }
.document-open > span { color: var(--muted); font-size: var(--font-small); font-weight: var(--font-regular); }
.document-section { margin: var(--space-7) 0; }
.document-section > h3 { margin-bottom: var(--space-4); font-size: 18px; }
.reference-list { list-style: decimal; padding-left: 24px; margin: 0; }
.reference-list li { padding: 10px 0 10px 4px; overflow-wrap: anywhere; }
.reference-list li::marker { color: var(--muted); font-size: var(--font-ui); font-variant-numeric: tabular-nums; }
.reference-list a { color: var(--accent); font-size: 15px; font-weight: 600; line-height: 1.7; }
.reference-list a:hover { text-decoration: underline; text-underline-offset: 3px; }
.reference-list small { display: block; margin-top: 3px; color: var(--muted); font-size: var(--font-small); line-height: 1.7; }
.document-footnote, .document-empty { margin-top: var(--space-5); color: var(--muted); font-size: var(--font-small); }
.document-empty { padding: var(--space-7); border: 1px dashed var(--line-control); text-align: center; }
main { padding: var(--space-5) var(--page-gutter) var(--space-8); min-height: calc(100vh - 260px); }
main:focus { outline: none; }
.server-content { display: contents; }
main[data-server-rendered] > .initial-skeleton { display: none; }
@media (scripting: enabled) {
	main[data-server-rendered] > .initial-skeleton { display: block; }
	main[data-server-rendered] > .server-content { display: none; }
}
.skeleton { display: block; height: 14px; background: var(--skeleton); animation: skeleton-pulse 1.8s ease-in-out infinite; }
.skeleton-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--space-6); min-height: 34px; }
.skeleton-title { width: 150px; height: 25px; }
.skeleton-date { width: 115px; height: 12px; }
.skeleton-layout { display: grid; grid-template-columns: minmax(0, 1fr) var(--rail-width); gap: var(--layout-gap); }
.skeleton-primary, .skeleton-articles { min-width: 0; }
.skeleton-toolbar { display: flex; align-items: center; gap: var(--space-6); height: 42px; border-bottom: 1px solid var(--line); }
.skeleton-toolbar > span { width: 70px; }
.skeleton-row { display: grid; grid-template-columns: 1.5fr 1fr .7fr .7fr; gap: var(--space-6); align-items: center; height: 68px; border-bottom: 1px solid var(--line-soft); padding: 0 var(--space-3); }
.skeleton-row > span { width: 75%; }
.skeleton-row > span:first-child { width: 85%; height: 18px; }
.skeleton-article { display: grid; gap: 13px; padding: var(--space-6) 0; border-bottom: 1px solid var(--line); }
.skeleton-article > span:nth-child(2) { width: 85%; height: 19px; }
.skeleton-article > span:last-child { width: 65%; }
main[data-loading-view="list"] .skeleton-layout, main[data-loading-view="financials"] .skeleton-layout, main[data-loading-view="analysis"] .skeleton-layout, main[data-loading-view="comments"] .skeleton-layout, main[data-loading-view="sources"] .skeleton-layout { grid-template-columns: minmax(0, 1fr); }
main[data-loading-view="list"] .skeleton-articles, main[data-loading-view="financials"] .skeleton-articles, main[data-loading-view="analysis"] .skeleton-primary, main[data-loading-view="comments"] .skeleton-primary, main[data-loading-view="sources"] .skeleton-primary { display: none; }
@keyframes skeleton-pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: .45; }
}
.detail-layout > *, .article-layout > *, .sources-layout > * { min-width: 0; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-4); }
.section-heading p { font-size: var(--font-small); color: var(--muted); margin-top: var(--space-1); }
.section-heading > span { color: var(--muted); font-size: var(--font-small); }
.text-link { font-size: var(--font-small); color: var(--accent); white-space: nowrap; }
.analysis-item { padding: var(--space-5) 0; border-bottom: 1px solid var(--line); }
.analysis-item-meta { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-small); color: var(--muted); margin-bottom: 7px; }
.analysis-item-meta a { font-weight: 600; color: var(--text-secondary); }
.analysis-item-meta time { margin-left: auto; font-variant-numeric: tabular-nums; }
.analysis-item h3 { font-size: var(--font-body); font-weight: 600; line-height: 1.6; }
.analysis-item p { font-size: var(--font-small); color: var(--text-secondary); line-height: 1.8; margin-top: 6px; }
.analysis-list-full { border-top: 2px solid var(--accent-strong); }
.analysis-list-full .analysis-item { padding: var(--space-6) var(--space-1); }
.analysis-list-full .analysis-item h3 { font-size: 19px; }
.analysis-list-full .analysis-item p { max-width: 1000px; font-size: var(--font-ui); }
.page-heading { margin-bottom: var(--space-6); }
.page-heading p { font-size: var(--font-small); color: var(--muted); margin-top: 6px; }
.heading-count { color: var(--muted); font-size: 15px; font-weight: var(--font-regular); margin-left: 6px; }
.panel { border: 1px solid var(--line); background: var(--surface); }
.table-scroll { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; }
.stock-table { width: 100%; }
.stock-table th { height: 40px; text-align: right; font-size: var(--font-small); font-weight: 500; color: var(--muted); background: var(--surface-muted); white-space: nowrap; padding: var(--space-2) var(--space-3); border-bottom: 1px solid var(--line); }
.stock-table td { padding: 14px var(--space-3); font-size: var(--font-small); text-align: right; border-bottom: 1px solid var(--line-soft); white-space: nowrap; }
.stock-table th:first-child, .stock-table td:first-child { text-align: left; }
.stock-table tbody tr:last-child td { border-bottom: 0; }
.company-small { display: flex; min-width: 0; }
.company-small strong { font-size: var(--font-ui); font-weight: 600; display: block; }
.company-small small { display: block; font-size: var(--font-small); color: var(--muted); margin-top: 2px; }
.numeric { font-variant-numeric: tabular-nums; }
.relative-time { display: inline-block; min-width: 8ch; white-space: nowrap; font-variant-numeric: tabular-nums; }
.unit { font-size: var(--font-small); font-weight: var(--font-regular); color: var(--muted); margin-left: 3px; }
.up { color: var(--up); }
.down { color: var(--down); }
.muted { color: var(--muted); }
.table-analysis { color: var(--muted); font-variant-numeric: tabular-nums; }
.filter-panel { background: var(--surface-muted); padding: 18px; border: 1px solid var(--line); }
.filter-panel form { display: flex; align-items: center; gap: var(--space-2); }
.search-field { flex: 1; max-width: 440px; }
.search-field input { width: 100%; }
.button { display: inline-flex; align-items: center; justify-content: center; padding: 0 18px; border: 1px solid var(--line-control); background: var(--surface); font-size: var(--font-small); white-space: nowrap; }
.button.primary { background: var(--accent); border-color: var(--accent); color: var(--surface); }
.results-heading { display: flex; align-items: center; justify-content: space-between; min-height: 32px; margin: 22px 0 var(--space-3); font-size: var(--font-small); color: var(--text-secondary); gap: var(--space-3); font-variant-numeric: tabular-nums; }
.sort-select { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-small); }
.sort-select select { height: 32px; font-size: var(--font-small); }
.pagination { display: flex; justify-content: center; gap: 6px; margin-top: var(--space-6); }
.pagination button { padding: 5px var(--space-3); min-height: 34px; border: 1px solid var(--line); }
.pagination .current { color: var(--accent); border-color: var(--accent-border); font-weight: 600; }
.disclosure-order { color: var(--muted); font-size: 13px; }
.analysis-history { margin-bottom: 20px; }
.analysis-history h3 > span { margin-left: 6px; color: var(--muted); font-size: 12px; font-weight: 500; }
.analysis-history ol { list-style: none; padding: 0; margin: 0; max-height: 360px; overflow-y: auto; }
.analysis-history li + li { margin-top: 8px; }
.analysis-history a { display: grid; gap: 6px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; }
.analysis-history a:hover, .analysis-history a[aria-current="page"] { border-color: var(--accent-tint); background: var(--accent-soft); }
.analysis-history-label { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px; font-size: 13px; font-weight: 600; }
.analysis-history-label > span { color: var(--accent); font-size: 11px; font-weight: 500; }
.analysis-history time { color: var(--muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.disclosure-list { overflow-x: auto; }
.disclosure-table { min-width: 1080px; table-layout: fixed; }
.disclosure-company-col { width: 380px; }
.disclosure-date-col { width: 120px; }
.disclosure-source-col { width: 140px; }
.disclosure-link-col { width: 148px; }
.disclosure-table th, .disclosure-table td { padding: 12px 16px; text-align: left; vertical-align: middle; }
.disclosure-table th:nth-child(n+3), .disclosure-table td:nth-child(n+3) { text-align: center; }
.disclosure-table th { background: var(--surface-muted); border-bottom: 1px solid var(--line); color: var(--muted); font-size: 13px; font-weight: var(--font-regular); white-space: nowrap; }
.disclosure-table td { height: 60px; font-size: 13px; }
.disclosure-row { transition: background-color .16s ease; }
.disclosure-row:focus-within { background: var(--accent-soft); }
@media (hover: hover) {
	.disclosure-row:hover { background: var(--accent-soft); }
}
@media (prefers-reduced-motion: reduce) {
	.disclosure-row { transition: none; }
}
.disclosure-row + .disclosure-row td { border-top: 1px solid var(--line); }
.disclosure-company { position: relative; display: flex; align-items: center; gap: 8px; min-width: 0; }
.disclosure-company > .disclosure-badge-help, .disclosure-symbol { flex-shrink: 0; }
.disclosure-company strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; font-size: 14px; }
.disclosure-company span, .disclosure-report span { color: var(--muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.disclosure-report { position: relative; min-width: 0; }
.disclosure-date time { white-space: nowrap; font-variant-numeric: tabular-nums; }
.disclosure-source { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.disclosure-title { display: flex; align-items: center; gap: 6px 8px; min-width: 0; }
.disclosure-report a { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; flex: 1; font-size: 14px; font-weight: 600; }
.disclosure-report a:hover { color: var(--accent); }
.disclosure-link { height: 32px; white-space: nowrap; padding-inline: 10px; color: var(--accent); font-size: 13px; }
.disclosure-badges { display: flex; flex-shrink: 0; gap: 6px; }
.disclosure-badge-help { display: inline-flex; }
.disclosure-badge { border: 1px solid currentColor; border-radius: 4px; padding: 2px 7px; font-size: 11px; font-weight: 600; line-height: 1.6; white-space: nowrap; cursor: pointer; background: transparent; }
.disclosure-badge--kospi { color: #a44d2c; }
.disclosure-badge--kosdaq { color: #7952b3; }
.disclosure-badge--konex { color: #087e94; }
.disclosure-badge--neutral { color: #607086; }
.disclosure-badge--correction { color: #96651c; }
.disclosure-badge--withdrawn { color: #b64b51; }
.disclosure-badge--consolidated { color: #417953; }
.disclosure-company .disclosure-badge-tip, .disclosure-report .disclosure-badge-tip { display: none; position: absolute; top: calc(100% + 6px); left: 0; z-index: 5; width: 240px; max-width: calc(100vw - 64px); padding: 12px 14px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); box-shadow: 0 6px 20px #182b4414; color: var(--text); font-size: 12px; line-height: 1.7; font-weight: 400; white-space: normal; }
.disclosure-badge-help:hover > .disclosure-badge-tip, .disclosure-badge-help:focus-within > .disclosure-badge-tip { display: block; }
.disclosure-legend { margin-top: 20px; border: 1px solid var(--line); border-radius: var(--panel-radius); background: var(--surface); }
.disclosure-legend-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 20px 24px; }
.disclosure-legend-row + .disclosure-legend-row { border-top: 1px solid var(--line); }
.disclosure-legend-row h2 { margin: 0; font-size: 13px; font-weight: 650; line-height: 24px; }
.disclosure-legend-row ul { margin: 0; padding: 0; list-style: none; }
.disclosure-legend-row li { display: flex; align-items: baseline; gap: 10px; min-width: 0; font-size: 12px; line-height: 1.75; color: var(--text-secondary); }
.disclosure-legend .disclosure-badge { flex-shrink: 0; cursor: default; }
.disclosure-legend-markets { display: flex; flex-wrap: wrap; gap: 12px 28px; }
.disclosure-legend-notices { table-layout: fixed; border: 1px solid var(--line); font-size: 13px; line-height: 1.8; color: var(--text-secondary); }
.disclosure-legend-notices th, .disclosure-legend-notices td { padding: 12px 16px; vertical-align: middle; text-align: left; border-bottom: 1px solid var(--line); }
.disclosure-legend-notices th { width: 120px; padding: 12px 15px; background: var(--surface-muted); border-right: 1px solid var(--line); font-weight: var(--font-regular); }
.disclosure-legend-notices td { word-break: keep-all; overflow-wrap: anywhere; }
.disclosure-legend-notices .disclosure-badge { display: flex; align-items: center; justify-content: center; min-height: 24px; padding: 2px 6px; }
@media (max-width: 700px) {
	.disclosure-legend-row { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 16px; }
	.disclosure-legend-markets { gap: 10px 20px; }
	.disclosure-legend-notices th { width: 104px; padding: 10px 8px; }
	.disclosure-legend-notices td { padding: 10px 12px; }
}
.empty-state { text-align: center; padding: 50px var(--space-5); color: var(--muted); }
.empty-state h2 { color: var(--text-secondary); font-size: var(--font-body); margin-bottom: var(--space-4); }
.breadcrumb { display: flex; gap: 10px; font-size: var(--font-small); color: var(--muted); margin-bottom: var(--space-5); }
.breadcrumb > span::before { content: '/'; margin-right: 10px; }
.company-heading { display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); margin-bottom: var(--space-7); }
.company-heading h1 { font-size: 32px; font-weight: 750; line-height: 1.3; }
.company-kicker { font-size: var(--font-small); color: var(--muted); margin-bottom: var(--space-1); }
.company-kicker > span { margin-left: var(--space-3); }
.detail-tabs { border-bottom: 1px solid var(--line-strong); margin-bottom: 28px; overflow-x: auto; }
.detail-tabs > div { display: flex; gap: var(--space-7); width: max-content; }
.detail-tabs button { padding: var(--space-3) 0; font-size: 15px; border-bottom: 3px solid transparent; color: var(--muted); }
.detail-tabs button.active { color: var(--accent); border-bottom-color: var(--accent); font-weight: 600; }
.detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 28px; align-items: start; }
.segmented { display: flex; }
.segmented button { font-size: var(--font-small); height: 32px; padding: 0 var(--space-3); border: 1px solid var(--line); }
.segmented button + button { border-left: 0; }
.segmented button.active { color: var(--accent); background: var(--accent-soft); }
.section { margin-top: 28px; }
.metric-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.metric-grid > div { padding: var(--space-5); background: var(--surface); min-width: 0; }
.metric-grid span { font-size: var(--font-small); color: var(--muted); }
.metric-grid em { font-style: normal; font-size: var(--font-small); }
.metric-grid strong { display: block; font-size: 24px; font-variant-numeric: tabular-nums; margin: 6px 0; overflow-wrap: anywhere; }
.metric-grid strong small { font-size: var(--font-small); font-weight: var(--font-regular); margin-left: 5px; }
.metric-grid p { font-size: var(--font-small); color: var(--muted); }
.financial-charts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-5); }
.financial-summary { min-width: 0; padding: var(--space-5); border: 1px solid var(--line); border-radius: var(--panel-radius); }
.financial-chart-heading { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); }
.financial-chart-heading h3 { font-size: var(--font-body); }
.financial-chart-heading > span { color: var(--muted); font-size: var(--font-small); white-space: nowrap; }
.financial-chart { width: 100%; height: auto; }
.chart-legend { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); margin-top: var(--space-3); font-size: var(--font-small); color: var(--text-secondary); }
.chart-legend span { display: inline-flex; gap: 5px; align-items: center; }
.chart-legend i { display: inline-block; width: 8px; height: 8px; background: currentColor; }
.chart-legend .chart-series-0, .financial-chart-tooltip .chart-series-0 { color: var(--accent); }
.chart-legend .chart-series-1, .financial-chart-tooltip .chart-series-1 { color: var(--chart-secondary); }
.chart-legend .chart-series-2, .financial-chart-tooltip .chart-series-2 { color: var(--chart-tertiary); }
.financial-chart-point { cursor: default; }
.financial-chart-tooltip { position: fixed; z-index: 40; width: 260px; max-width: calc(100vw - 24px); padding: var(--space-4); border: 1px solid var(--accent-tint); border-radius: var(--panel-radius); background: var(--surface); box-shadow: 0 8px 28px color-mix(in srgb, var(--accent) 16%, transparent); color: var(--ink); font-size: var(--font-small); line-height: 1.6; pointer-events: none; }
.financial-tooltip-heading { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); padding-bottom: var(--space-2); margin-bottom: var(--space-2); border-bottom: 1px solid var(--line-soft); }
.financial-tooltip-heading > strong { color: var(--accent); font-size: var(--font-ui); font-weight: 700; }
.financial-tooltip-heading > span { color: var(--muted); font-size: 12px; white-space: nowrap; }
.financial-tooltip-row { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-3); padding-block: 4px; }
.financial-tooltip-row > span { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--text-secondary); }
.financial-tooltip-row i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; flex-shrink: 0; }
.financial-tooltip-row > strong { font-weight: 650; font-variant-numeric: tabular-nums; text-align: right; }
.company-summary { padding: var(--space-5); }
.company-summary h3 { margin-top: 18px; font-size: var(--font-body); }
.company-summary p { font-size: var(--font-ui); line-height: 1.9; margin: 10px 0 18px; color: var(--text-secondary); }
.data-note { padding: 22px 0; }
.data-note h3 { margin-bottom: 14px; }
.data-note dl { margin: 0 0 14px; font-size: var(--font-small); }
.data-note dl > div { display: flex; justify-content: space-between; gap: var(--space-3); padding: var(--space-2) 0; border-bottom: 1px solid var(--line-soft); }
.data-note dt { color: var(--muted); }
.data-note dd { margin: 0; text-align: right; }
.article-layout, .sources-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: var(--space-8); align-items: start; }
.research-article { word-break: keep-all; overflow-wrap: anywhere; }
.research-article > h2 { font-size: 26px; }
.article-meta { display: flex; flex-wrap: wrap; gap: var(--space-4); font-size: var(--font-small); color: var(--muted); margin: var(--space-3) 0 var(--space-6); }
.article-deck { font-size: 18px; font-weight: 550; line-height: 1.85; padding: var(--space-5) var(--space-6); border-left: 3px solid var(--accent); border-radius: 0 8px 8px 0; background: var(--accent-soft); }
.analysis-summary { font-size: var(--font-body); font-weight: 500; line-height: 1.85; padding: var(--space-6); border: 1px solid var(--accent-tint); border-radius: var(--panel-radius); background: var(--surface); }
.research-article > h2 + .article-deck, .research-article > h2 + .analysis-summary { margin-top: var(--space-5); }
.analysis-verdict { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-3); margin-bottom: var(--space-4); }
.analysis-verdict h3 { display: flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 700; color: var(--accent-strong); }
.analysis-verdict h3 svg { box-sizing: content-box; flex-shrink: 0; padding: 8px; border-radius: 10px; color: var(--accent); background: var(--accent-soft); }
.analysis-verdict > span { padding: 3px 10px; border: 1px solid var(--line); border-radius: 6px; font-size: 12px; font-weight: 500; color: var(--muted); white-space: nowrap; }
.analysis-prices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: var(--space-5) 0 0; padding-top: var(--space-5); border-top: 1px solid var(--line); }
.analysis-prices > div { min-width: 0; padding-right: var(--space-4); }
.analysis-prices > div + div { border-left: 1px solid var(--line); padding-left: var(--space-4); }
.analysis-prices > div:last-child { padding-right: 0; }
.analysis-prices dt { display: flex; align-items: center; gap: 7px; font-size: var(--font-ui); font-weight: 700; }
.analysis-prices dd { margin: 4px 0 0; font-size: clamp(18px, 2vw, 24px); font-weight: 750; line-height: 1.4; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.analysis-price--recommended_price { color: var(--ink); }
.analysis-price--target_price { color: var(--up); }
.analysis-price--stop_loss_price { color: var(--down); }
.analysis-prices .price-missing { color: var(--muted); }
.research-article section { margin-top: var(--space-8); }
.research-article section h3 { color: var(--accent); font-size: 24px; font-weight: 750; line-height: 1.4; letter-spacing: -.5px; margin-bottom: var(--space-4); }
.research-article section p { font-size: var(--font-body); font-weight: var(--font-regular); line-height: 1.85; margin-top: var(--space-3); white-space: pre-line; }
.research-article .analysis-section { margin-top: var(--space-6); padding: var(--space-6); border: 1px solid var(--line); border-radius: var(--panel-radius); }
.research-article .analysis-section h3 { display: flex; align-items: center; gap: 12px; font-size: 20px; font-weight: 700; color: var(--accent); margin-bottom: var(--space-5); padding-bottom: var(--space-4); border-bottom: 1px solid var(--line-soft); }
.analysis-section-number { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; flex-shrink: 0; border-radius: 8px; background: var(--accent-soft); color: var(--accent); font-size: 12px; font-weight: 650; letter-spacing: .5px; font-variant-numeric: tabular-nums; }
.analysis-section-body { max-width: 78ch; }
.research-article .analysis-section-body p { font-size: 17px; line-height: 1.9; margin: 0; letter-spacing: -.15px; }
.research-article .analysis-section-body p + p { margin-top: 18px; }
.article-aside .data-note { padding: var(--space-5); border: 1px solid var(--line); border-radius: var(--panel-radius); }
.article-aside .data-note h3 { font-size: var(--font-body); margin-bottom: var(--space-3); }
.article-aside .data-note dl { font-size: var(--font-small); margin-bottom: var(--space-5); }
.article-aside .data-note dl > div { flex-wrap: wrap; gap: var(--space-1) var(--space-3); padding-block: 10px; }
.article-aside .data-note dd { margin-left: auto; }
.article-aside .data-note p { font-size: var(--font-ui); line-height: 1.85; color: var(--text-secondary); word-break: keep-all; overflow-wrap: anywhere; }
.article-aside .data-note p + p { margin-top: var(--space-4); padding-top: var(--space-4); border-top: 1px solid var(--line-soft); }
.fact-links { font-size: var(--font-small); color: var(--muted); margin-top: var(--space-3); }
.citation { color: var(--accent); font-size: var(--font-small); margin-left: 5px; }
.article-end { margin-top: 40px; padding-top: var(--space-5); display: flex; gap: var(--space-6); }
.financial-heading { flex-wrap: wrap; }
.financial-basis { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-4); }
.financial-basis > span { white-space: nowrap; }
.financial-controls { display: flex; align-items: center; gap: var(--space-3); }
.financial-table { min-width: 620px; }
.financial-table th, .financial-table td { padding: 17px var(--space-5); border-bottom: 1px solid var(--line); }
.financial-table th { font-weight: 500; text-align: left; font-size: var(--font-small); }
.financial-table thead th { text-align: right; font-size: var(--font-ui); background: var(--surface-muted); }
.financial-table thead th:first-child { text-align: left; width: 36%; }
.financial-table thead th span { display: block; font-size: var(--font-small); font-weight: var(--font-regular); color: var(--muted); margin-top: 3px; }
.financial-table td { text-align: right; font-size: var(--font-ui); font-variant-numeric: tabular-nums; white-space: nowrap; }
.financial-table .statement-row th { background: var(--surface-muted); font-size: var(--font-small); font-weight: 600; padding: 10px var(--space-5); }
.financial-table .evidence-row { background: var(--accent-soft); }
.evidence-tag { color: var(--accent); font-size: var(--font-small); margin-left: 6px; }
.financial-unit { font-size: var(--font-small); color: var(--muted); text-align: right; margin-bottom: var(--space-2); }
.all-accounts { margin-top: var(--space-5); min-width: 0; }
.all-accounts > summary { padding: var(--space-4) 0; cursor: pointer; font-weight: 600; }
.all-accounts > label { margin-bottom: var(--space-4); }
.all-accounts .financial-table { min-width: 1150px; }
.source-list, .reference-list { padding: 22px; margin-bottom: var(--space-5); }
.source-report { padding: var(--space-4) 0; border-bottom: 1px solid var(--line); font-size: var(--font-small); }
.source-report:last-child { border-bottom: 0; }
.source-report p, .source-report details { margin-top: var(--space-2); color: var(--muted); }
.source-report summary { cursor: pointer; }
.source-report small, .source-report code { display: block; overflow-wrap: anywhere; margin-top: var(--space-2); font-size: var(--font-small); }
.source-empty { color: var(--muted); font-size: var(--font-small); padding: var(--space-6) 0 var(--space-1); }
.reference-list a { display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--space-2); padding: var(--space-4) 0; border-bottom: 1px solid var(--line); }
.reference-list a:last-child { border: 0; padding-bottom: 0; }
.reference-list strong { color: var(--accent); font-weight: 500; font-size: var(--font-small); }
.reference-list small { color: var(--muted); font-size: var(--font-small); }
.comments-layout { max-width: 900px; }
.comment-compose { padding: 22px; }
.comment-compose label { display: block; font-size: var(--font-small); margin-bottom: 10px; }
.comment-compose textarea { width: 100%; min-height: 100px; display: block; font-size: var(--font-ui); line-height: 1.8; }
.compose-bottom { display: flex; justify-content: space-between; align-items: center; margin-top: var(--space-3); }
.compose-bottom > span, .comment-compose p { color: var(--muted); font-size: var(--font-small); }
.comment-compose p { margin-top: var(--space-3); }
.comment-list { margin-top: var(--space-5); }
.comment-item { border: 0; border-bottom: 1px solid var(--line); padding: var(--space-5) 0; }
.comment-author { display: flex; gap: var(--space-4); align-items: center; font-size: var(--font-small); }
.comment-author > span { color: var(--muted); }
.comment-item p { margin-top: 10px; white-space: pre-wrap; overflow-wrap: anywhere; }
.investment-notice { position: fixed; inset: auto 0 0; z-index: 30; padding: 10px 0 calc(10px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: var(--surface); color: var(--notice-text); font-size: var(--font-small); line-height: 1.6; }
.investment-notice p { max-width: var(--page-width); margin: 0 auto; padding-inline: var(--page-gutter); text-align: center; word-break: keep-all; overflow-wrap: anywhere; }
.footer { display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-6); align-items: center; padding: 22px 0; margin: 0 var(--page-gutter); border-top: 1px solid var(--line); font-size: var(--font-small); color: var(--muted); }
.footer-brand { font-family: var(--logo-font-family); color: var(--text-secondary); font-size: var(--font-body); font-weight: 700; }
.footer small { margin-left: auto; font-size: 12px; }
.back-to-top { position: fixed; right: max(20px, env(safe-area-inset-right)); bottom: calc(var(--investment-notice-height) + 20px); z-index: 25; display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 1px solid var(--accent-tint); border-radius: 50%; background: var(--surface); color: var(--accent); box-shadow: var(--shadow); transition: background-color .15s, border-color .15s; }
.back-to-top:hover { background: var(--accent-soft); border-color: var(--accent); }
@media (prefers-reduced-motion: reduce) {
	.back-to-top { transition: none; }
}
.information-page { max-width: 850px; margin: 0 auto; }
.information-page > h1 { margin-bottom: 28px; }
.information-page section { margin-top: 36px; }
.information-page section h2 { font-size: 21px; }
.noscript { padding: 30px; }
@media (min-width: 1400px) {
	.metric-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.metric-grid > div { padding: 18px 14px; }
	.metric-grid strong { font-size: 20px; }
}
@media (max-width: 1100px) {
	.skeleton-layout { grid-template-columns: minmax(0, 1fr); gap: 30px; }
	.skeleton-articles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; }
	.detail-layout { grid-template-columns: minmax(0, 1fr); }
	.detail-layout > aside { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }
	.article-layout, .sources-layout { grid-template-columns: minmax(0, 1fr) 240px; gap: 28px; }
}
@media (max-width: 900px) {
	.article-layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-7); }
}
@media (max-width: 700px) {
	:root { --page-gutter: 16px; }
	.document-grid { grid-template-columns: 1fr; }
	.document-card { padding: var(--space-5); }
	.topbar { min-height: 92px; gap: var(--space-5); padding: var(--space-5) var(--page-gutter); }
	.brand { gap: 6px; width: 124px; height: 34px; font-size: 22px; }
	.brand img { width: 26px; height: 26px; }
	.global-search { flex: 1; width: 0; }
	.global-search input { height: 44px; padding: 0 var(--space-4); font-size: var(--font-small); }
	.global-search button { width: 46px; font-size: var(--font-small); }
	.search-results { left: auto; width: min(480px, calc(100vw - 36px)); }
	.site-nav { flex-wrap: wrap; column-gap: 16px; row-gap: 0; }
	.site-nav > a:not(.about-ai-button) { font-size: var(--font-ui); padding: 10px 0; }
	.about-ai-button { padding: 6px 8px; font-size: var(--font-small); }
	.sample-notice { padding-top: 10px; padding-bottom: 10px; font-size: var(--font-small); }
	main { padding-bottom: 36px; }
	h1 { font-size: 22px; }
	.company-heading { margin-bottom: var(--space-6); }
	.company-heading h1 { font-size: 28px; }
	.skeleton-articles { display: block; }
	.skeleton-row { gap: 14px; padding: 0; }
	.stock-table th, .stock-table td { padding-left: 10px; padding-right: 10px; }
	.filter-panel { padding: var(--space-3); }
	.filter-panel form { flex-wrap: wrap; }
	.search-field { flex-basis: 100%; max-width: none; }
	.select-field { flex: 1; }
	.select-field select { width: 100%; }
	.detail-tabs > div { gap: 28px; }
	.detail-tabs button { font-size: var(--font-ui); }
	.metric-grid > div { padding: var(--space-4); }
	.metric-grid strong { font-size: 21px; }
	.detail-layout > aside, .article-layout, .sources-layout { display: block; }
	.financial-charts { grid-template-columns: 1fr; gap: var(--space-4); }
	.financial-summary { padding: var(--space-4); }
	.research-article > h2 { font-size: 23px; }
	.article-deck { font-size: 17px; padding: var(--space-4); }
	.analysis-summary { padding: var(--space-4); }
	.analysis-verdict h3 { font-size: 17px; }
	.analysis-prices > div { padding-right: 10px; }
	.analysis-prices > div + div { padding-left: 10px; }
	.analysis-prices > div:last-child { padding-right: 0; }
	.analysis-prices dt { gap: 5px; font-size: var(--font-small); }
	.research-article section { margin-top: var(--space-7); }
	.research-article section h3 { font-size: 21px; }
	.research-article .analysis-section { padding: var(--space-4); margin-top: var(--space-4); }
	.research-article .analysis-section h3 { font-size: 18px; gap: 10px; margin-bottom: var(--space-4); }
	.research-article .analysis-section-body p { font-size: var(--font-body); line-height: 1.9; }
	.article-aside { margin-top: 30px; }
	.financial-table th, .financial-table td { padding: 14px; }
	.financial-controls { width: 100%; justify-content: space-between; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; }
	.skeleton { animation: none; }
	.candle-progress-bar { animation: none; opacity: 1; }
}
