@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700;800&display=swap');

:root { --bg:#f3f6f4; --surface:#fff; --ink:#14201d; --muted:#71807b; --line:#dce6e1; --accent:#0c9273; --accent-dark:#08705a; --accent-soft:#e1f4ed; --warm:#f08a4b; --warm-soft:#fff2e9; --shadow:0 18px 42px rgba(35,83,69,.08); }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
html { scroll-behavior:smooth; background:var(--bg); }
body { margin:0; color:var(--ink); background:var(--bg); font-family:'Noto Sans SC',system-ui,sans-serif; font-size:14px; }
button,input,select { font:inherit; } button { cursor:pointer; } a { color:inherit; text-decoration:none; }
.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; }
.shell { max-width:1400px; min-height:100vh; margin:0 auto; padding:0 40px; }
.topbar { height:78px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line); }
.brand { display:inline-flex; align-items:center; gap:12px; min-width:180px; }
.brand-mark { width:38px; height:38px; display:grid; place-items:center; border-radius:10px; color:#fff; background:var(--accent); font-size:20px; font-weight:800; box-shadow:0 8px 16px rgba(12,146,115,.2); }
.brand-copy strong { display:block; font-size:18px; letter-spacing:.04em; }.brand-copy small { display:block; color:var(--muted); font-size:10px; letter-spacing:.08em; margin-top:2px; }
.nav { display:flex; align-items:center; gap:4px; }.nav a { padding:10px 14px; border-radius:8px; color:var(--muted); font-size:13px; }.nav a:hover,.nav a.active { color:var(--accent-dark); background:var(--accent-soft); }.nav b { display:inline-grid; min-width:17px; height:17px; place-items:center; margin-left:4px; border-radius:9px; color:var(--accent-dark); background:#c8ebdf; font-size:10px; }
.top-actions { display:flex; align-items:center; gap:14px; min-width:180px; justify-content:flex-end; }.source-state { display:inline-flex; align-items:center; gap:7px; color:var(--muted); font-size:12px; opacity:.72; }.source-state i { width:7px; height:7px; border-radius:50%; background:var(--accent); }.icon-button { width:35px; height:35px; border:1px solid var(--line); border-radius:9px; color:var(--accent-dark); background:var(--surface); font-size:20px; }.icon-button:hover { border-color:var(--accent); background:var(--accent-soft); }
.source-state.ready i { background:#1c9c67; }
.source-state.ready { color:var(--accent-dark); opacity:.76; }
.announcement { display:flex; align-items:center; gap:10px; min-height:40px; margin:0 auto 22px; padding:0 14px; max-width:920px; border:1px solid #b9ded4; border-radius:8px; color:var(--accent-dark); background:#f4fbf8; font-size:12px; }.notice-dot { width:7px; height:7px; flex:none; border-radius:50%; background:var(--accent); }.notice-marquee { min-width:0; flex:1; overflow:hidden; white-space:nowrap; }.notice-marquee span { display:block; overflow:hidden; text-overflow:ellipsis; }.catalog-state { color:var(--muted); white-space:nowrap; }
.status-message { margin:-8px 0 16px; padding:11px 14px; border:1px solid #f3d2b5; border-radius:8px; color:#8d5a31; background:#fff8f1; font-size:12px; }
.offer-count { color:var(--muted); font-size:11px; }
.results-grid { display:flex; flex-direction:column; gap:0; }
.hero { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; padding:78px 0 57px; }.eyebrow { margin:0 0 12px; color:var(--accent); font-size:11px; font-weight:800; letter-spacing:.18em; }.hero h1 { margin:0; font-size:clamp(42px,5.4vw,72px); line-height:1.1; letter-spacing:-.02em; font-weight:700; }.hero h1 em { color:var(--accent); font-style:normal; }.hero-note { margin:19px 0 0; color:var(--muted); font-size:14px; }
.hero-stats { display:grid; grid-template-columns:repeat(3,minmax(120px,1fr)); min-width:450px; gap:1px; border:1px solid var(--line); background:var(--line); }.stat { min-height:95px; display:flex; flex-direction:column; justify-content:space-between; padding:17px 18px; background:rgba(255,255,255,.76); }.stat span { color:var(--muted); font-size:11px; }.stat strong { font-size:24px; font-weight:700; }
.search-panel { padding:23px; border:1px solid var(--line); border-radius:14px; background:var(--surface); box-shadow:var(--shadow); }.search-row { display:flex; gap:10px; }.search-input { min-width:0; flex:1; height:53px; display:flex; align-items:center; gap:10px; padding:0 14px; border:1px solid var(--line); border-radius:10px; background:var(--bg); }.search-input:focus-within { border-color:var(--accent); box-shadow:0 0 0 3px rgba(12,146,115,.1); }.search-icon { color:var(--accent); font-size:25px; line-height:1; transform:rotate(-20deg); }.search-input input { min-width:0; flex:1; border:0; outline:0; color:var(--ink); background:transparent; font-size:15px; }.search-input input::placeholder { color:#98a7a2; }.clear-button { width:25px; height:25px; border:0; border-radius:50%; color:var(--muted); background:transparent; font-size:21px; line-height:1; }.clear-button:hover { color:var(--ink); background:var(--line); }.primary-button { min-width:111px; height:53px; display:inline-flex; align-items:center; justify-content:center; gap:12px; border:0; border-radius:10px; color:#fff; background:var(--accent); font-weight:700; }.primary-button:hover { background:var(--accent-dark); }.primary-button:disabled { opacity:.62; cursor:wait; }.primary-button b { opacity:.65; font-size:16px; }
.search-modes-panel { padding:0; border:0; background:transparent; box-shadow:none; }
.unified-search-panel { padding:24px; }
.unified-search-panel .search-panel-heading { margin-bottom:0; }
.unified-search-row { align-items:stretch; margin-top:20px; }
.search-mode-select { flex:none; display:flex; }
.search-mode-select select { min-width:132px; height:53px; padding:0 30px 0 13px; border:1px solid var(--line); border-radius:10px; outline:0; color:var(--ink); background:var(--surface); font-size:12px; font-weight:700; }
.search-mode-select select:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(12,146,115,.1); }
.system-tools,.realtime-tools { margin-top:16px; }
.system-tools { padding-top:14px; border-top:1px solid #edf2f0; }
.system-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.system-toolbar-main { min-width:0; display:flex; align-items:center; flex-wrap:wrap; gap:10px 14px; }
.system-toolbar .filter-row { flex:none; padding-top:0; }
.system-toolbar .hot-row { min-height:37px; padding-top:0; }
.system-summary { flex:none; display:flex; align-items:baseline; gap:5px; color:var(--muted); font-size:11px; white-space:nowrap; }
.system-summary strong { color:var(--ink); font-size:14px; }
.system-summary i { width:3px; height:3px; margin:0 4px; border-radius:50%; background:#b9c9c2; }
.system-tools .mode-foot,.realtime-tools .mode-foot { margin-top:13px; }
.search-panel-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:18px; }
.search-panel-heading h2 { margin:0; font-size:27px; letter-spacing:-.02em; }
.search-panel-note { color:var(--muted); font-size:12px; }
.search-modes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.search-mode { min-width:0; padding:22px; border:1px solid var(--line); border-radius:12px; background:var(--surface); box-shadow:var(--shadow); }
.realtime-mode { border-top:3px solid var(--accent); }
.local-mode { border-top:3px solid var(--warm); }
.mode-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.mode-name { display:flex; align-items:center; gap:9px; }
.mode-index { width:27px; height:27px; display:grid; place-items:center; border-radius:7px; color:var(--accent-dark); background:var(--accent-soft); font-size:11px; font-weight:800; }
.mode-kicker { color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.12em; }
.mode-badge { padding:5px 9px; border-radius:999px; font-size:10px; font-weight:700; }
.realtime-badge { color:var(--accent-dark); background:var(--accent-soft); }
.local-badge { color:#9b5d32; background:var(--warm-soft); }
.search-mode h3 { margin:0 0 5px; font-size:22px; letter-spacing:-.02em; }
.mode-note { min-height:21px; margin:0 0 17px; color:var(--muted); font-size:12px; line-height:1.7; }
.search-mode .search-row { margin-top:3px; }
.search-mode .primary-button { flex:none; }
.local-primary-button { background:#d9773f; }
.local-primary-button:hover { background:#b96131; }
.mode-foot { display:flex; justify-content:space-between; gap:12px; margin-top:15px; padding-top:13px; border-top:1px solid #edf2f0; color:var(--muted); font-size:10px; }
.mode-foot strong { color:var(--accent-dark); font-size:11px; }
.mode-foot strong.busy { color:#b45f35; }
.local-filter-row { padding-top:16px; }
.local-mode .hot-row { padding-top:12px; }
.filter-row { display:flex; flex-wrap:wrap; gap:9px; padding-top:15px; }.filter-control { min-height:37px; display:inline-flex; align-items:center; gap:10px; padding:0 11px; border:1px solid var(--line); border-radius:8px; color:var(--muted); font-size:12px; }.filter-control select { max-width:170px; border:0; outline:0; color:var(--ink); background:transparent; font-size:12px; font-weight:600; }.hot-row { display:flex; align-items:center; flex-wrap:wrap; gap:8px; min-height:31px; padding-top:14px; color:var(--muted); font-size:12px; }.hot-row>span { margin-right:2px; color:var(--accent); font-weight:700; }.hot-chip { padding:5px 10px; border:1px solid transparent; border-radius:999px; color:var(--muted); background:var(--bg); font-size:11px; }.hot-chip:hover { border-color:var(--accent); color:var(--accent-dark); background:var(--accent-soft); }.notice-line { display:flex; align-items:center; gap:8px; margin-top:16px; padding-top:14px; border-top:1px solid #edf2f0; color:var(--muted); font-size:11px; }.notice-dot { width:7px; height:7px; border-radius:50%; background:var(--warm); }
.results-section { padding:72px 0 58px; }.section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:22px; }.section-head h2 { margin:0; font-size:29px; letter-spacing:-.02em; }.muted,.result-tools { color:var(--muted); font-size:12px; }.result-tools { display:flex; align-items:center; gap:13px; }.ghost-button { padding:7px 11px; border:1px solid var(--line); border-radius:7px; color:var(--muted); background:transparent; font-size:11px; }.ghost-button:hover,.ghost-button.active { color:var(--accent-dark); border-color:#acd9cd; background:var(--accent-soft); }
.icon-button:disabled { opacity:.48; cursor:wait; }
.results-grid { display:flex; flex-direction:column; gap:0; border-top:1px solid var(--line); }
.compare-card { display:grid; grid-template-columns:minmax(230px,1.05fr) minmax(0,2fr); column-gap:28px; min-width:0; padding:21px 4px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; box-shadow:none; transition:background .16s ease; }
.compare-card:hover { transform:none; border-color:var(--line); background:rgba(255,255,255,.48); box-shadow:none; }
.card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.category-tag { color:var(--accent); font-size:11px; font-weight:700; }
.offer-count { white-space:nowrap; }
.product-title { margin:11px 0 5px; font-size:17px; line-height:1.45; }
.product-meta { display:flex; align-items:center; gap:9px; color:var(--muted); font-size:11px; }
.product-meta .saving { color:var(--warm); font-weight:700; }
.price-strip { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin:0 0 14px; padding:12px 14px; border-radius:8px; background:var(--surface); }
.lowest-label { display:block; color:var(--muted); font-size:10px; }
.lowest-price { display:block; margin-top:3px; color:var(--accent-dark); font-size:25px; font-weight:800; line-height:1; }
.lowest-price small { margin-right:2px; font-size:12px; }
.spread { color:var(--muted); text-align:right; font-size:11px; }
.spread strong { display:block; margin-top:4px; color:var(--ink); font-size:14px; }
.offer-list { display:grid; gap:7px; }
.offer { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:10px; padding:9px 10px; border:1px solid #e5eeea; border-radius:7px; background:var(--surface); }
.offer.best { border-color:#b9e2d5; background:#f4fbf8; }
.offer-source { min-width:0; overflow:hidden; color:var(--ink); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.offer-stock { color:var(--accent-dark); font-size:10px; }
.offer-price { color:var(--ink); font-size:14px; font-weight:800; }
.offer-price small { color:var(--accent); font-size:10px; }
.compact .compare-card { padding:14px 4px; }
.compact .price-strip { margin:0 0 10px; padding:10px 12px; }
.compact .offer { padding:7px 8px; }
.empty-state { display:flex; flex-direction:column; align-items:center; gap:7px; padding:65px 20px; border:1px dashed var(--line); color:var(--muted); }
.empty-state strong { color:var(--ink); font-size:15px; }
.footer { padding:24px 0 30px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; }
.footer-line { display:flex; justify-content:space-between; gap:20px; }
.disclaimer { margin-top:12px; color:var(--muted); }
.disclaimer summary { width:max-content; cursor:pointer; color:var(--accent-dark); font-weight:700; }
.disclaimer p { max-width:980px; margin:8px 0 0; color:var(--muted); font-size:11px; line-height:1.8; }
.results-grid { border-top:1px solid var(--line); }
.offer-row { display:grid; grid-template-columns:minmax(260px,2fr) minmax(150px,1.15fr) minmax(110px,.8fr) minmax(82px,.65fr) 108px; gap:18px; align-items:center; padding:16px 12px; border-bottom:1px solid var(--line); }
.offer-row:hover { background:rgba(255,255,255,.7); }
.offer-product,.offer-shop,.offer-price-cell,.offer-updated,.offer-action-cell { min-width:0; }
.offer-product h3 { overflow:hidden; margin:0 0 5px; color:var(--ink); font-size:14px; line-height:1.45; text-overflow:ellipsis; white-space:nowrap; }
.offer-product > span { color:var(--accent); font-size:10px; font-weight:700; }
.offer-shop { overflow:hidden; color:var(--ink); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.offer-shop small,.offer-updated small { display:block; margin-bottom:4px; color:var(--muted); font-size:10px; }
.offer-shop a { color:var(--accent-dark); font-weight:600; }
.offer-shop a:hover { text-decoration:underline; }
.offer-price-cell strong { display:block; color:#d64b3f; font-size:17px; line-height:1.1; }
.offer-price-cell span,.offer-updated span { color:var(--muted); font-size:10px; }
.offer-action-cell { display:flex; justify-content:flex-end; }
.offer-action { display:inline-flex; align-items:center; justify-content:center; gap:5px; min-width:92px; padding:8px 10px; border:1px solid #a8d8ca; border-radius:7px; color:var(--accent-dark); background:var(--accent-soft); font-size:11px; font-weight:700; white-space:nowrap; }
.offer-action:hover { border-color:var(--accent); background:#ccefe2; }
.offer-action b { font-size:13px; }
.offer-action.disabled { border-color:var(--line); color:var(--muted); background:transparent; }
@media (max-width:900px) { .shell { padding:0 22px; }.nav { display:none; }.hero { display:block; padding:57px 0 38px; }.hero-stats { min-width:0; margin-top:36px; }.search-modes { grid-template-columns:1fr; }.compare-card { grid-template-columns:1fr; row-gap:14px; }.offer-row { grid-template-columns:minmax(0,1fr) auto; gap:12px 18px; align-items:start; }.offer-product,.offer-shop { grid-column:1; }.offer-price-cell,.offer-updated { grid-column:2; justify-self:end; text-align:right; }.offer-action-cell { grid-column:1 / -1; justify-content:flex-start; }.source-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:900px) { .system-toolbar { align-items:flex-start; flex-direction:column; gap:10px; }.system-summary { width:100%; justify-content:flex-start; } }
@media (max-width:580px) { .shell { padding:0 15px; }.topbar { height:68px; }.brand { min-width:0; }.top-actions { min-width:0; gap:9px; }.source-state { font-size:10px; gap:5px; opacity:.68; }.source-state i { width:6px; height:6px; }.hero h1 { font-size:42px; }.hero-note { font-size:13px; }.hero-stats { grid-template-columns:repeat(3,1fr); }.stat { min-height:74px; padding:11px 9px; }.stat strong { font-size:17px; }.stat span { font-size:10px; }.search-panel { padding:14px; }.unified-search-panel { padding:16px; }.search-panel-heading { display:block; margin-bottom:14px; }.search-panel-heading h2 { font-size:24px; }.search-panel-note { display:block; margin-top:6px; }.unified-search-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }.unified-search-row .search-input { grid-column:1 / -1; }.search-mode-select select { min-width:0; width:100%; height:48px; }.unified-search-row .primary-button { min-width:82px; height:48px; }.search-mode h3 { font-size:20px; }.mode-note { margin-bottom:13px; }.primary-button b { display:none; }.filter-row { display:grid; grid-template-columns:1fr 1fr; }.filter-control { min-width:0; justify-content:space-between; gap:3px; padding-inline:8px; }.filter-control select { min-width:0; max-width:88px; width:88px; }.system-toolbar { display:block; }.system-toolbar-main { gap:8px; }.system-toolbar .filter-row { display:grid; grid-template-columns:1fr 1fr; }.system-toolbar .filter-control { min-width:0; }.system-toolbar .hot-row { margin-top:8px; }.system-summary { margin-top:11px; }.results-section { padding-top:52px; }.section-head h2 { font-size:25px; }.result-tools { gap:6px; }.offer-row { grid-template-columns:minmax(0,1fr) auto; padding:15px 4px; gap:10px 12px; }.offer-product { grid-column:1 / -1; }.offer-shop { grid-column:1; align-self:center; }.offer-price-cell { grid-column:2; }.offer-updated { grid-column:1; justify-self:start; text-align:left; }.offer-action-cell { grid-column:2; justify-content:flex-end; align-self:end; }.offer-action { min-width:82px; padding:7px 8px; font-size:10px; }.offer-product h3 { font-size:13px; white-space:normal; }.source-list { grid-template-columns:1fr; }.footer-line { display:block; line-height:2; }.disclaimer p { font-size:11px; line-height:1.75; } }

/* Increase secondary text so search controls and offer rows stay readable at normal zoom. */
body { font-size:15px; }
.source-state { font-size:13px; }
.announcement { font-size:13px; }
.offer-count { font-size:12px; }
.hero-note { font-size:15px; }
.stat span { font-size:13px; }
.stat strong { font-size:26px; }
.search-input input { font-size:17px; }
.search-mode-select select { font-size:14px; }
.system-summary { font-size:13px; }
.system-summary strong { font-size:16px; }
.search-panel-heading h2 { font-size:30px; }
.search-panel-note { font-size:14px; }
.filter-control { min-height:39px; font-size:14px; }
.filter-control select { font-size:14px; }
.hot-row { font-size:14px; }
.hot-chip { font-size:13px; }
.offer-product h3 { font-size:16px; }
.offer-product > span { font-size:12px; }
.offer-shop { font-size:14px; }
.offer-shop small, .offer-updated small { font-size:12px; }
.offer-price-cell strong { font-size:20px; }
.offer-price-cell span, .offer-updated span { font-size:12px; }
.offer-action { font-size:13px; }

@media (max-width:580px) {
  .source-state { font-size:11px; }
  .stat span { font-size:11px; }
  .stat strong { font-size:19px; }
  .search-panel-note { font-size:13px; }
  .search-input input { font-size:16px; }
  .filter-control, .filter-control select { font-size:13px; }
  .hot-row { font-size:13px; }
  .hot-chip { font-size:12px; }
  .offer-product h3 { font-size:15px; }
  .offer-product > span { font-size:11px; }
  .offer-shop { font-size:13px; }
  .offer-shop small, .offer-updated small { font-size:11px; }
  .offer-price-cell strong { font-size:18px; }
  .offer-price-cell span, .offer-updated span { font-size:11px; }
  .offer-action { font-size:12px; }
}

/* Blue visual system for the public search page. */
.public-page { --bg:#f4f7fb; --surface:#ffffff; --ink:#172033; --muted:#64748b; --line:#dbe4f0; --accent:#2563eb; --accent-dark:#1d4ed8; --accent-soft:#e8f0ff; --shadow:0 18px 42px rgba(37,99,235,.09); background:var(--bg); }
.public-page .nav a:hover, .public-page .nav a.active { color:var(--accent-dark); background:var(--accent-soft); }
.public-page .source-state i { background:var(--accent); }
.public-page .source-state.ready i, .public-page .source-state.ready { color:var(--accent-dark); }
.public-page .icon-button { color:var(--accent-dark); }
.public-page .icon-button:hover { border-color:var(--accent); background:var(--accent-soft); }
.public-page .announcement { border-color:#bfd3f4; color:var(--accent-dark); background:#f4f8ff; }
.public-page .notice-dot { background:var(--warm); }
.public-page .hero .eyebrow { color:var(--accent-dark); }
.public-page .hero h1 em { color:var(--accent); }
.public-page .search-input:focus-within, .public-page .search-mode-select select:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(37,99,235,.12); }
.public-page .search-icon { color:var(--accent); }
.public-page .primary-button { background:var(--accent); }
.public-page .primary-button:hover { background:var(--accent-dark); }
.public-page .system-summary strong { color:var(--accent-dark); }
.public-page .hot-row>span, .public-page .category-tag, .public-page .offer-product > span { color:var(--accent); }
.public-page .hot-chip:hover { border-color:var(--accent); color:var(--accent-dark); background:var(--accent-soft); }
.public-page .mode-index { color:var(--accent-dark); background:var(--accent-soft); }
.public-page .realtime-mode { border-top-color:var(--accent); }
.public-page .realtime-badge, .public-page .local-badge { color:var(--accent-dark); background:var(--accent-soft); }
.public-page .mode-foot strong, .public-page .offer-stock, .public-page .offer-price small { color:var(--accent-dark); }
.public-page .offer.best { border-color:#bfd6fb; background:#f4f8ff; }
.public-page .offer-action { border-color:#b5cdf4; color:var(--accent-dark); background:var(--accent-soft); }
.public-page .offer-action:hover { border-color:var(--accent); background:#dce9ff; }
.public-page .offer-shop a { color:var(--accent-dark); }
.public-page .hero-stats .stat strong { color:#172033; }
.public-page .nav a[href="#results"],
.public-page #refreshButton,
.public-page .announcement { display: none !important; }
.public-page .stats-inline { width: min(100%, 980px); margin: 27px auto 0; text-align: center; }
.public-page .stats-line { display: flex; align-items: baseline; justify-content: center; flex-wrap: wrap; gap: 8px; color: #64748b; font-size: 14px; line-height: 1.8; }
.public-page .stats-line strong { color: #1d4ed8; font-size: 19px; font-weight: 800; }
.public-page .stats-line i { color: #aebbc9; font-style: normal; }
.public-page .stats-line-secondary { margin-top: 2px; color: #718096; font-size: 13px; }
.public-page .stats-line-secondary strong { font-size: 17px; }

/* Centered discovery layout: keep the search action in the first viewport. */
.shell > main { display: flex; flex-direction: column; }
.hero { order: 1; display: block; padding: 54px 0 24px; text-align: center; }
.hero-copy { max-width: 980px; margin: 0 auto; }
.hero .eyebrow { margin-bottom: 14px; font-size: 12px; color: var(--accent-dark); }
.hero h1 { font-size: clamp(48px, 6vw, 76px); letter-spacing: 0; }
.hero-note { margin-top: 16px; color: #5f716b; font-size: 15px; }
.hero-stats { order: 1; min-width: 0; width: min(100%, 640px); margin: 30px auto 0; }
.public-page .hero-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.stat { min-height: 86px; padding: 15px 18px; text-align: left; }
.stat span { color: #60716b; font-size: 13px; }
.stat strong { color: #16231f; font-size: 27px; }
.search-panel { order: 2; width: min(100%, 980px); margin: 0 auto; }
.unified-search-panel { padding: 22px 24px 18px; }
.search-panel-heading { align-items: center; }
.search-panel-heading h2 { font-size: 28px; }
.announcement { order: 3; margin-top: 12px; margin-bottom: 0; width: min(100%, 980px); font-size: 13px; }
.results-section { order: 4; padding-top: 52px; }
.system-tools { margin-top: 14px; }
.system-summary strong { color: var(--accent-dark); }
.primary-button { background: var(--accent); }
.primary-button:hover { background: var(--accent-dark); }
.offer-price-cell strong { color: #c24135; }
.home-monitor-section { order: 5; margin: 20px 0 54px; padding: 28px 30px 24px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: var(--shadow); }
.home-monitor-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:18px; }
.home-monitor-head h2 { margin:0; font-size:30px; }
.monitor-status-badge { padding:7px 11px; border-radius:6px; color:var(--muted); background:var(--bg); font-size:13px; white-space:nowrap; }
.monitor-status-badge.ok { color:var(--accent-dark); background:var(--accent-soft); }
.home-monitor-events { display:grid; gap:0; }
.home-monitor-events .monitor-event-row { display:grid; grid-template-columns:140px minmax(0,1fr) 150px; align-items:center; gap:18px; min-height:92px; padding:14px 6px; border-bottom:1px solid var(--line); }
.home-monitor-events .event-shop-name { display:grid; place-items:center; color:var(--ink); font-size:14px; text-align:center; }
.home-monitor-events .event-detail { min-width:0; display:grid; gap:4px; }
.home-monitor-events .event-detail strong { color:var(--ink); font-size:15px; line-height:1.45; }
.home-monitor-events .event-detail span { color:#334155; font-size:14px; line-height:1.5; }
.home-monitor-events .event-detail small { color:var(--muted); font-size:12px; }
.home-monitor-events .event-action { display:grid; justify-items:end; gap:8px; text-align:right; }
.home-monitor-events .event-action a { padding:7px 9px; border:1px solid #b8cff4; border-radius:6px; color:#1d4ed8; background:#edf4ff; font-size:12px; font-weight:700; white-space:nowrap; }
.home-monitor-events .event-action time { color:var(--muted); font-size:11px; white-space:nowrap; }
.home-monitor-events .priority-event { background:#fff8ed; border-left:3px solid #d97706; padding-left:9px; }
.home-monitor-section .event-pagination { display:flex; align-items:center; justify-content:center; gap:14px; padding-top:18px; color:var(--muted); font-size:13px; }
@media (max-width:900px) { .home-monitor-events .monitor-event-row { grid-template-columns:88px minmax(0,1fr); gap:12px; } .home-monitor-events .event-action { grid-column:2; justify-items:start; display:flex; flex-wrap:wrap; align-items:center; gap:8px; text-align:left; } }
@media (max-width:580px) { .home-monitor-section { padding:22px 16px 20px; } .home-monitor-head { align-items:flex-start; } .home-monitor-head h2 { font-size:25px; } .home-monitor-events .event-detail strong { font-size:14px; } .home-monitor-events .event-detail span { font-size:13px; } }

@media (max-width: 900px) {
  .hero { padding-top: 42px; }
  .hero-stats { margin-top: 24px; }
  .public-page .stats-inline { margin-top: 21px; }
  .search-panel { width: 100%; }
  .announcement { width: 100%; }
}
@media (max-width: 580px) {
  .hero h1 { font-size: 42px; }
  .hero-note { font-size: 14px; }
  .hero-stats { width: 100%; }
  .public-page .stats-line { gap: 5px; font-size: 12px; }
  .public-page .stats-line strong { font-size: 16px; }
  .public-page .stats-line-secondary { font-size: 11px; }
  .public-page .stats-line-secondary strong { font-size: 14px; }
  .public-page .hero-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stat { min-height: 76px; padding: 12px 10px; }
  .stat span { font-size: 11px; }
  .stat strong { font-size: 20px; }
}
