:root {
    color-scheme: light;
    --bg: #f4f6f9;
    --panel: #fff;
    --ink: #101828;
    --ink-soft: #344054;
    --muted: #667085;
    --line: #e4e7ec;
    --line-strong: #d0d5dd;
    --pink: #f52778;
    --pink-dark: #d91761;
    --pink-soft: #fff0f6;
    --navy: #101828;
    --blue: #2e6ce6;
    --green: #067647;
    --green-soft: #ecfdf3;
    --red: #b42318;
    --red-soft: #fef3f2;
    --shadow: 0 16px 42px rgba(16, 24, 40, .07);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 0; overflow-x: hidden; background: var(--bg); color: var(--ink); font-family: Inter, Pretendard, "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 14px; line-height: 1.55; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button { color: inherit; }
img { display: block; max-width: 100%; }

.topbar { position: sticky; z-index: 30; top: 0; display: flex; align-items: center; gap: 30px; min-height: 68px; padding: 0 max(28px, calc((100vw - 1440px) / 2)); border-bottom: 1px solid rgba(228, 231, 236, .9); background: rgba(255,255,255,.94); backdrop-filter: blur(16px); }
.brand { display: inline-flex; align-items: center; gap: 11px; flex: 0 0 auto; }
.brand-mark { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 11px 11px 11px 3px; background: var(--pink); color: #fff; font-size: 19px; font-weight: 900; box-shadow: 0 7px 18px rgba(245,39,120,.24); }
.brand-copy { display: grid; line-height: 1.08; }
.brand-copy strong { font-size: 15px; letter-spacing: -.02em; }
.brand-copy small { margin-top: 4px; color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .04em; }
.main-nav { display: flex; align-self: stretch; gap: 4px; }
.main-nav a { position: relative; display: inline-flex; align-items: center; padding: 0 14px; color: var(--muted); font-weight: 700; }
.main-nav a:hover, .main-nav a.is-active { color: var(--ink); }
.main-nav a.is-active::after { position: absolute; right: 14px; bottom: -1px; left: 14px; height: 2px; background: var(--pink); content: ""; }
.account-nav { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.account-nav form { margin: 0; }
.account-name { max-width: 190px; overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.favorite-nav.is-active { border-color: #f9a8c8; background: var(--pink-soft); color: var(--pink-dark); }
.page-shell { width: min(1380px, calc(100% - 48px)); min-height: calc(100vh - 190px); margin: 32px auto 68px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 0 17px; border: 1px solid transparent; border-radius: 9px; background: #fff; cursor: pointer; font-weight: 800; white-space: nowrap; transition: transform .15s ease, background .15s ease, border-color .15s ease; }
.button:hover { transform: translateY(-1px); }
.button-primary { background: var(--pink); color: #fff; box-shadow: 0 8px 18px rgba(245,39,120,.16); }
.button-primary:hover { background: var(--pink-dark); }
.button-dark { background: var(--navy); color: #fff; }
.button-quiet { border-color: var(--line); color: var(--ink-soft); }
.button-quiet:hover { background: #f9fafb; border-color: var(--line-strong); }
.button-small { min-height: 36px; padding: 0 12px; font-size: 12px; }
.button-full { width: 100%; }

.hero-panel { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 310px; min-height: 386px; overflow: hidden; border-radius: 18px; background: var(--navy); color: #fff; box-shadow: 0 26px 70px rgba(16,24,40,.16); }
.hero-panel::before { position: absolute; width: 440px; height: 440px; top: -260px; left: 38%; border-radius: 50%; background: rgba(245,39,120,.22); filter: blur(3px); content: ""; }
.hero-copy { position: relative; z-index: 1; align-self: center; padding: 50px 54px; }
.eyebrow { display: block; margin-bottom: 7px; color: var(--pink); font-size: 11px; font-weight: 900; letter-spacing: .11em; }
.hero-copy .eyebrow { color: #ff82b3; }
.hero-copy h1 { margin: 0; font-size: clamp(38px, 4vw, 58px); line-height: 1.08; letter-spacing: -.045em; }
.hero-copy h1 span { color: #ff75aa; }
.hero-copy > p { max-width: 670px; margin: 18px 0 24px; color: #cbd5e1; font-size: 16px; }
.unified-search { display: flex; gap: 9px; width: min(760px, 100%); }
.search-field { position: relative; flex: 1; min-width: 0; }
.search-field svg { position: absolute; top: 50%; left: 16px; width: 20px; height: 20px; fill: none; stroke: #98a2b3; stroke-linecap: round; stroke-width: 1.8; transform: translateY(-50%); }
.search-field input { width: 100%; height: 50px; padding: 0 16px 0 46px; border: 1px solid transparent; border-radius: 10px; outline: none; background: #fff; color: var(--ink); box-shadow: 0 8px 30px rgba(0,0,0,.13); }
.search-field input:focus { border-color: #ff75aa; box-shadow: 0 0 0 4px rgba(245,39,120,.14); }
.search-field input::placeholder { color: #98a2b3; }
.hero-copy .unified-search .button { min-height: 50px; padding: 0 24px; }
.search-hints { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; margin-top: 12px; color: #98a2b3; font-size: 11px; }
.search-hints a { padding: 3px 8px; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; color: #d0d5dd; }
.hero-signal { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center; overflow: hidden; background: linear-gradient(145deg, #1c2941, #182238); text-align: center; }
.hero-signal::after { position: absolute; inset: 18px; border: 1px solid rgba(255,255,255,.08); border-radius: 13px; content: ""; }
.hero-signal > * { position: relative; z-index: 1; }
.hero-signal strong { margin-top: 18px; font-size: 42px; letter-spacing: -.04em; }
.hero-signal small { color: #98a2b3; }
.event-pill { display: inline-flex; align-items: center; width: fit-content; min-height: 26px; padding: 0 10px; border-radius: 999px; background: var(--pink); color: #fff; font-size: 10px; font-weight: 900; letter-spacing: .05em; }
.event-pill.neutral { background: rgba(255,255,255,.12); color: #d0d5dd; }
.signal-bars { display: flex; align-items: end; gap: 6px; height: 62px; margin-top: 24px; }
.signal-bars i { display: block; width: 12px; border-radius: 3px 3px 0 0; background: #f52778; animation: pulsebar 2.4s ease-in-out infinite; }
.signal-bars i:nth-child(1) { height: 18px; }.signal-bars i:nth-child(2) { height: 34px; animation-delay: -.2s; }.signal-bars i:nth-child(3) { height: 26px; animation-delay: -.6s; }.signal-bars i:nth-child(4) { height: 50px; animation-delay: -.4s; }.signal-bars i:nth-child(5) { height: 42px; animation-delay: -.8s; }.signal-bars i:nth-child(6) { height: 57px; animation-delay: -.3s; }.signal-bars i:nth-child(7) { height: 48px; animation-delay: -.7s; }
.signal-bars.quiet i { background: #667085; }
@keyframes pulsebar { 50% { transform: scaleY(.7); opacity: .65; } }

.data-notice, .target-status { display: flex; align-items: center; gap: 13px; margin: 17px 0; padding: 14px 17px; border: 1px solid #fed7e6; border-radius: 11px; background: var(--pink-soft); }
.notice-icon { display: inline-grid; place-items: center; flex: 0 0 auto; width: 24px; height: 24px; border-radius: 50%; background: var(--pink); color: #fff; font-size: 12px; font-weight: 900; }
.data-notice div, .target-status div { flex: 1; }
.data-notice strong, .target-status strong { display: block; font-size: 13px; }
.data-notice p, .target-status p { margin: 1px 0 0; color: var(--muted); font-size: 12px; }
.data-notice > a { color: var(--pink-dark); font-size: 12px; font-weight: 800; }
.target-pending { border-color: #fef0c7; background: #fffaeb; }.target-pending .notice-icon { background: #f79009; }
.target-error { border-color: #fecdca; background: var(--red-soft); }.target-error .notice-icon { background: var(--red); }

.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 13px; margin: 18px 0 42px; }
.metric-grid.detail-metrics { grid-template-columns: repeat(5, minmax(0,1fr)); }
.metric-card { min-width: 0; padding: 20px 21px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
.metric-card.featured { border-color: #fecddf; background: linear-gradient(145deg, #fff, #fff4f8); }
.metric-card > span { display: block; color: var(--muted); font-size: 12px; font-weight: 700; }
.metric-card > strong { display: block; overflow: hidden; margin: 9px 0 5px; font-size: 29px; line-height: 1.1; letter-spacing: -.035em; text-overflow: ellipsis; white-space: nowrap; }
.metric-card > small { color: var(--muted); font-size: 11px; }
.metric-card .accent-good { color: var(--green); }

.content-section { margin-top: 42px; }.content-section.compact-top { margin-top: 28px; }
.section-heading, .panel-heading, .chart-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 15px; }
.section-heading h2, .panel-heading h2, .chart-toolbar h2 { margin: 0; font-size: 21px; letter-spacing: -.025em; }
.section-heading p, .panel-heading p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.heading-actions { display: flex; align-items: center; gap: 18px; }
.text-link { color: var(--ink-soft); font-size: 12px; font-weight: 800; }.text-link span { margin-left: 4px; color: var(--pink); }
select { min-height: 38px; padding: 0 34px 0 12px; border: 1px solid var(--line); border-radius: 8px; outline: 0; background: #fff; color: var(--ink-soft); font-size: 12px; }
select:focus { border-color: #98a2b3; box-shadow: 0 0 0 3px rgba(16,24,40,.05); }
.period-label { color: var(--muted); font-size: 11px; font-weight: 800; }

.table-card { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); box-shadow: 0 8px 30px rgba(16,24,40,.035); }
.table-scroll { overflow-x: auto; }
.product-table { width: 100%; min-width: 1020px; border-collapse: collapse; }
.product-table th { padding: 12px 16px; border-bottom: 1px solid var(--line); background: #f9fafb; color: var(--muted); font-size: 10px; font-weight: 900; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
.product-table td { padding: 13px 16px; border-bottom: 1px solid #eef0f3; vertical-align: middle; }
.product-table tbody tr:last-child td { border-bottom: 0; }.product-table tbody tr { transition: background .14s ease; }.product-table tbody tr:hover { background: #fcfcfd; }
.rank-column { width: 75px; }.rank-cell > strong { display: block; font-size: 17px; }
.delta { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; }.delta.up { color: var(--green); }.delta.down { color: var(--red); }
.product-identity { display: flex; align-items: center; gap: 12px; min-width: 330px; max-width: 520px; }
.product-cell { display: flex; align-items: center; gap: 10px; min-width: 380px; }
.product-cell .product-identity { flex: 1; min-width: 0; }
.product-thumb, .mini-thumb, .detail-image { display: grid; place-items: center; overflow: hidden; flex: 0 0 auto; border: 1px solid var(--line); background: #f9fafb; color: #c0c5ce; font-weight: 900; }
.product-thumb { width: 50px; height: 50px; border-radius: 9px; }
.product-thumb img, .mini-thumb img, .detail-image img { width: 100%; height: 100%; object-fit: cover; }
.product-identity > span:last-child { display: grid; min-width: 0; }
.product-identity strong { overflow: hidden; max-width: 440px; font-size: 13px; line-height: 1.38; text-overflow: ellipsis; white-space: nowrap; }
.product-identity small { overflow: hidden; max-width: 440px; margin-top: 3px; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.product-identity .brand-label, .brand-label { width: fit-content; margin: 0 0 3px; color: var(--pink-dark); font-size: 9px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.number-cell > strong, .number-cell > small { display: block; }.number-cell > strong { font-size: 14px; }
.promo-price { margin-top: 3px; color: var(--pink-dark); font-size: 10px; }
.metric-change { display: inline-flex; min-width: 54px; justify-content: center; padding: 4px 7px; border-radius: 999px; background: #f2f4f7; color: var(--muted); font-size: 11px; font-weight: 800; }
.metric-change.good { background: var(--green-soft); color: var(--green); }.metric-change.bad { background: var(--red-soft); color: var(--red); }
.rating { color: #f79009; font-size: 12px; font-weight: 800; }
.freshness { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 10px; white-space: nowrap; }
.status-dot { width: 6px; height: 6px; border-radius: 50%; background: #12b76a; box-shadow: 0 0 0 3px #d1fadf; }.freshness.is-stale .status-dot { background: #f79009; box-shadow: 0 0 0 3px #fef0c7; }
.muted { color: #98a2b3; }.empty-inline { padding: 24px 12px; color: var(--muted); text-align: center; }

.split-section { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 42px; }
.panel, .chart-card { padding: 22px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
.signal-list { display: grid; }.signal-list > a { display: flex; align-items: center; gap: 11px; min-height: 65px; border-top: 1px solid #eef0f3; }.signal-list > a:first-child { border-top: 0; }
.mini-thumb { width: 38px; height: 38px; border-radius: 8px; }.signal-name { display: grid; flex: 1; min-width: 0; }
.signal-name strong { overflow: hidden; max-width: 390px; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }.signal-name small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.signal-value { color: var(--blue); font-size: 14px; font-weight: 900; }.signal-value.good { color: var(--green); }

.page-header { display: grid; grid-template-columns: minmax(300px, .8fr) minmax(440px, 1.2fr); align-items: end; gap: 50px; padding: 25px 4px 28px; }
.page-header h1, .entity-header h1, .product-detail-header h1, .legal-header h1 { margin: 0; font-size: 34px; line-height: 1.2; letter-spacing: -.035em; }
.page-header p, .legal-header > p { margin: 7px 0 0; color: var(--muted); }.page-header .unified-search { width: 100%; }
.page-header .search-field input { height: 46px; border-color: var(--line); box-shadow: none; }.page-header .unified-search .button { min-height: 46px; }
.filter-bar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 12px; }.filter-bar form { display: flex; align-items: center; gap: 7px; }
.result-summary { color: var(--muted); font-size: 12px; }.result-summary strong { margin-right: 3px; color: var(--ink); font-size: 18px; }
.pagination { display: flex; justify-content: center; align-items: center; gap: 14px; margin-top: 22px; }.pagination a, .pagination span { display: inline-flex; min-height: 36px; align-items: center; padding: 0 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; font-size: 11px; font-weight: 800; }.pagination span { border-color: transparent; background: transparent; color: var(--muted); }

.seller-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.seller-card { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 11px; background: #fff; transition: border-color .15s, transform .15s, box-shadow .15s; }
.seller-card:hover { transform: translateY(-2px); border-color: #f9a8c8; box-shadow: var(--shadow); }
.seller-card-link { display: flex; align-items: center; flex: 1; gap: 13px; min-width: 0; padding: 7px; }
.seller-avatar { display: inline-grid; place-items: center; flex: 0 0 auto; width: 42px; height: 42px; border-radius: 12px; background: #182230; color: #fff; font-size: 17px; font-weight: 900; }
.seller-avatar.large { width: 72px; height: 72px; border-radius: 18px; font-size: 28px; }
.seller-main { display: grid; flex: 1; min-width: 0; }.seller-main strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.seller-main small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.seller-metric { display: grid; min-width: 74px; padding-left: 15px; border-left: 1px solid var(--line); text-align: right; }.seller-metric small { color: var(--muted); font-size: 9px; }.seller-metric strong { font-size: 15px; }
.seller-card .arrow { color: var(--pink); font-size: 18px; }
.empty-state { grid-column: 1/-1; padding: 70px 30px; border: 1px dashed var(--line-strong); border-radius: 12px; background: #fff; text-align: center; }.empty-state strong { display: block; font-size: 18px; }.empty-state p { margin: 7px 0 0; color: var(--muted); }.empty-state.standalone { max-width: 620px; margin: 90px auto; }.empty-state.standalone .button { margin-top: 20px; }
.empty-state.compact { padding: 36px 24px; }.empty-state.compact strong { font-size: 15px; }.empty-actions { display: flex; justify-content: center; gap: 8px; }

.favorite-form { flex: 0 0 auto; margin: 0; }
.favorite-button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 36px; padding: 0 12px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--ink-soft); cursor: pointer; font-size: 12px; font-weight: 800; white-space: nowrap; transition: color .15s ease, background .15s ease, border-color .15s ease, transform .15s ease; }
.favorite-button:hover { transform: translateY(-1px); border-color: #f9a8c8; background: var(--pink-soft); color: var(--pink-dark); }
.favorite-button:focus-visible { outline: 3px solid rgba(245,39,120,.22); outline-offset: 2px; }
.favorite-button.is-favorite { border-color: #f9a8c8; background: var(--pink-soft); color: var(--pink-dark); }
.favorite-button.is-compact { width: 38px; min-width: 38px; padding: 0; font-size: 17px; }
.favorite-summary { display: flex; justify-content: flex-end; gap: 10px; }
.favorite-summary > span { display: inline-flex; align-items: baseline; gap: 6px; min-width: 118px; padding: 14px 17px; border: 1px solid var(--line); border-radius: 11px; background: #fff; color: var(--muted); font-size: 12px; }
.favorite-summary strong { color: var(--ink); font-size: 22px; }

.breadcrumb { display: flex; gap: 8px; margin: 5px 0 16px; color: var(--muted); font-size: 11px; }.breadcrumb a:hover { color: var(--pink-dark); }
.entity-header, .product-detail-header { display: flex; align-items: center; gap: 20px; padding: 23px 0 28px; }.entity-copy, .detail-title { flex: 1; min-width: 0; }.entity-copy .breadcrumb { margin: 0 0 5px; }.entity-copy p, .detail-title p { margin: 6px 0 0; color: var(--muted); overflow-wrap: anywhere; }
.entity-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }.seller-metrics { margin-bottom: 16px; }.seller-chart-card { margin-bottom: 36px; }
.detail-image { width: 110px; height: 110px; border-radius: 14px; font-size: 32px; }.detail-title h1 { max-width: 900px; font-size: 27px; }.detail-title p a { color: var(--ink-soft); font-weight: 800; }.detail-meta { display: flex; gap: 15px; margin-top: 12px; color: var(--muted); font-size: 10px; }.product-detail-header > .button { align-self: flex-start; }
.product-detail-header > .entity-actions { align-self: flex-start; }

.promotion-summary { display: grid; grid-template-columns: 190px 1fr auto; align-items: center; gap: 24px; margin: 16px 0; padding: 18px 21px; border: 1px solid #fed7e6; border-radius: 12px; background: linear-gradient(120deg,#fff1f6,#fff); }
.promotion-summary > div { display: grid; gap: 8px; }.promotion-summary > div > strong { font-size: 16px; }.promotion-summary dl { display: flex; gap: 0; margin: 0; }.promotion-summary dl div { min-width: 110px; padding: 0 20px; border-left: 1px solid #fed7e6; }.promotion-summary dt { color: var(--muted); font-size: 10px; }.promotion-summary dd { margin: 3px 0 0; font-size: 17px; font-weight: 900; }.promotion-summary > p { max-width: 230px; margin: 0; color: var(--muted); font-size: 10px; }
.chart-card { margin-top: 18px; padding: 25px; }.chart-toolbar { align-items: center; }.range-tabs { display: flex; padding: 3px; border-radius: 8px; background: #f2f4f7; }.range-tabs button { min-width: 48px; height: 30px; border: 0; border-radius: 6px; background: transparent; color: var(--muted); cursor: pointer; font-size: 10px; font-weight: 800; }.range-tabs button.is-active { background: #fff; color: var(--ink); box-shadow: 0 1px 4px rgba(16,24,40,.1); }
.chart-legend { display: flex; flex-wrap: wrap; gap: 17px; margin: 5px 0 12px; color: var(--muted); font-size: 10px; }.chart-legend span { display: inline-flex; align-items: center; gap: 6px; }.chart-legend i { display: inline-block; width: 18px; height: 2px; }.legend-price { background: var(--pink); }.legend-promo { background: #7f56d9; }.legend-rank { background: var(--blue); }.legend-event { height: 9px !important; background: rgba(245,39,120,.1); border: 1px solid rgba(245,39,120,.3); }
.chart-wrap { position: relative; height: 380px; }.chart-wrap.short { height: 245px; }.chart-subsection { margin-top: 26px; padding-top: 24px; border-top: 1px solid var(--line); }.chart-subsection header { margin-bottom: 10px; }.chart-subsection h3 { margin: 0; font-size: 15px; }.chart-subsection p { margin: 3px 0 0; color: var(--muted); font-size: 10px; }.data-footnote { margin: 12px 0 0; color: var(--muted); font-size: 10px; text-align: right; }

.auth-layout { display: grid; grid-template-columns: minmax(0,1fr) 430px; gap: 80px; align-items: center; min-height: calc(100vh - 240px); max-width: 1120px; margin: 0 auto; }.auth-story h1 { margin: 0; font-size: 45px; line-height: 1.15; letter-spacing: -.045em; }.auth-story > p { max-width: 540px; margin: 18px 0; color: var(--muted); font-size: 16px; }.auth-story ul { display: grid; gap: 8px; margin: 25px 0 0; padding: 0; list-style: none; }.auth-story li::before { display: inline-grid; place-items: center; width: 20px; height: 20px; margin-right: 9px; border-radius: 50%; background: var(--green-soft); color: var(--green); content: "✓"; font-size: 11px; font-weight: 900; }
.auth-card { padding: 34px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: var(--shadow); }.auth-card > div:first-child { text-align: center; }.auth-card .brand-mark { margin: 0 auto 16px; }.auth-card h2 { margin: 0; font-size: 20px; }.auth-card > div > p { margin: 6px 0 24px; color: var(--muted); font-size: 11px; }.auth-card form { display: grid; gap: 14px; }.auth-card label { display: grid; gap: 6px; color: var(--ink-soft); font-size: 11px; font-weight: 800; }.auth-card input { width: 100%; height: 45px; padding: 0 13px; border: 1px solid var(--line-strong); border-radius: 8px; outline: 0; }.auth-card input:focus { border-color: var(--pink); box-shadow: 0 0 0 3px rgba(245,39,120,.1); }.form-error { padding: 10px; border-radius: 7px; background: var(--red-soft); color: var(--red); font-size: 11px; }.auth-divider { display: flex; align-items: center; gap: 10px; margin: 19px 0; color: var(--muted); font-size: 10px; }.auth-divider::before,.auth-divider::after { flex: 1; height: 1px; background: var(--line); content: ""; }.button-google { border-color: var(--line); }.auth-help { margin: 18px 0 0; color: var(--muted); font-size: 10px; text-align: center; }.auth-help a { color: var(--pink-dark); font-weight: 800; }

.legal-header { max-width: 760px; padding: 36px 0 32px; }.legal-header > p { font-size: 16px; }.legal-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }.legal-grid article { min-height: 225px; padding: 27px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; }.legal-grid article > span { color: var(--pink); font-size: 11px; font-weight: 900; }.legal-grid h2 { margin: 17px 0 10px; font-size: 17px; }.legal-grid p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.75; }.legal-note { display: flex; gap: 25px; margin-top: 18px; padding: 20px 24px; border-radius: 10px; background: #eaecf0; }.legal-note strong { flex: 0 0 auto; }.legal-note p { margin: 0; color: var(--muted); font-size: 11px; }

.toast-stack { position: fixed; z-index: 50; top: 80px; right: 20px; display: grid; gap: 8px; }.toast { min-width: 280px; padding: 13px 16px; border: 1px solid var(--line); border-radius: 9px; background: #fff; box-shadow: var(--shadow); font-size: 12px; }.toast-success { border-color: #abefc6; }.toast-error { border-color: #fecdca; }
.site-footer { display: grid; grid-template-columns: 210px minmax(0,1fr) auto; gap: 30px; align-items: start; padding: 28px max(28px, calc((100vw - 1380px) / 2)); border-top: 1px solid var(--line); background: #fff; color: var(--muted); font-size: 10px; }.site-footer > div { display: grid; }.site-footer strong { color: var(--ink); font-size: 12px; }.site-footer p { max-width: 800px; margin: 0; }.site-footer nav { display: flex; gap: 15px; color: var(--ink-soft); font-weight: 800; }

@media (max-width: 1100px) {
    .hero-panel { grid-template-columns: 1fr 250px; }.hero-copy { padding: 42px 36px; }.metric-grid.detail-metrics { grid-template-columns: repeat(3,1fr); }.page-header { grid-template-columns: 1fr; gap: 20px; }.promotion-summary { grid-template-columns: 170px 1fr; }.promotion-summary > p { grid-column: 1/-1; max-width: none; }.auth-layout { gap: 40px; }.legal-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 820px) {
    .topbar { gap: 12px; min-height: 62px; padding: 0 16px; }.brand-copy small { display: none; }.main-nav { margin-left: auto; }.main-nav a { padding: 0 8px; font-size: 11px; }.account-nav { margin-left: 0; }.account-name { display: none; }.favorite-nav-label { display: none; }.favorite-nav { width: 36px; padding: 0; }.page-shell { width: min(100% - 28px, 1380px); margin-top: 20px; }.hero-panel { grid-template-columns: 1fr; }.hero-signal { display: none; }.hero-copy { padding: 40px 28px; }.hero-copy h1 { font-size: 38px; }.metric-grid, .metric-grid.detail-metrics { grid-template-columns: repeat(2,1fr); }.split-section, .seller-card-grid { grid-template-columns: 1fr; }.entity-header,.product-detail-header { align-items: flex-start; flex-wrap: wrap; }.entity-actions { width: 100%; justify-content: space-between; }.filter-bar { align-items: flex-start; }.filter-bar form { flex-wrap: wrap; justify-content: flex-end; }.auth-layout { grid-template-columns: 1fr; min-height: 0; padding: 40px 0; }.auth-story { display: none; }.auth-card { width: min(430px,100%); margin: 0 auto; }.site-footer { grid-template-columns: 1fr; gap: 12px; }.legal-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
    .brand-copy { display: none; }.main-nav a { padding: 0 6px; }.account-nav .button { padding: 0 9px; }.favorite-nav { padding: 0; }.unified-search { display: grid; }.unified-search .button { width: 100%; }.hero-copy { padding: 32px 20px; }.hero-copy h1 { font-size: 32px; }.hero-copy > p { font-size: 14px; }.search-hints { display: none; }.metric-grid, .metric-grid.detail-metrics { grid-template-columns: 1fr 1fr; }.metric-card { padding: 16px; }.metric-card > strong { font-size: 22px; }.section-heading { align-items: flex-start; }.heading-actions { align-items: flex-end; flex-direction: column; gap: 8px; }.page-header h1,.entity-header h1,.legal-header h1 { font-size: 28px; }.favorites-page-header { grid-template-columns: 1fr; }.favorite-summary { justify-content: flex-start; }.favorite-summary > span { min-width: 0; flex: 1; }.filter-bar { display: grid; }.filter-bar form { justify-content: flex-start; }.seller-metric { display: none; }.detail-image { width: 80px; height: 80px; }.detail-title h1 { font-size: 20px; }.promotion-summary { grid-template-columns: 1fr; }.promotion-summary dl { flex-wrap: wrap; }.promotion-summary dl div { min-width: 33.333%; padding: 8px 10px; }.chart-card { padding: 17px; }.chart-toolbar { align-items: flex-start; flex-direction: column; }.chart-wrap { height: 310px; }.legal-note { display: grid; }.site-footer nav { flex-wrap: wrap; }
}
