/* Extracted from inline <style> blocks of 808 popular-picks detail pages
   to dedupe ~7.7 MB of repeated CSS. Per CSS dedup audit 2026-05-01. */


      :root {
        --indigo:#2D3A5C; --indigo-light:#3D4E7A; --warm-cream:#F5F0E8; --sand:#E8DFD0;
        --earth:#7A6343; --terracotta:#A85A37; --white:#FEFCF9; --text:#2C2419; --text-muted:#6B5D4F;
      }
      * { margin:0; padding:0; box-sizing:border-box; }
      body { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif; color:var(--text); background:var(--white); line-height:1.6; -webkit-font-smoothing:antialiased; }
      a { color:var(--terracotta); text-decoration:none; }
      .skip-link { position:absolute; left:-9999px; top:0; padding:.6rem 1rem; background:var(--indigo); color:#fff; z-index:200; }
      .skip-link:focus { left:1rem; top:1rem; }
      .hero { padding:0.5rem 1.5rem 2rem; max-width:840px; margin:0 auto; }
      .hero-badge { display:inline-block; background:var(--sand); color:var(--earth); padding:.35rem 1rem; border-radius:999px; font-size:.9rem; margin-bottom:1rem; }
      .hero h1 { font-size:clamp(2rem,4.7vw,3rem); line-height:1.12; color:var(--indigo); margin:0 0 1rem; letter-spacing:-.03em; }
      .subtitle { font-size:1.08rem; color:var(--text-muted); max-width:680px; }
      .page-layout { max-width:1260px; margin:0 auto; padding:0 1.5rem 4rem; display:grid; grid-template-columns:320px minmax(0,1fr); gap:2rem; }
      .content { min-width:0; }
      .map-sidebar { position:sticky; top:92px; align-self:start; background:var(--warm-cream); border:1px solid var(--sand); border-radius:18px; padding:1rem; }
      .popular-picks-map { width:100%; height:360px; border-radius:12px; background:var(--sand); overflow:hidden; }
      .map-sidebar h2, .map-inline h2 { margin:.2rem 0 .35rem; color:var(--indigo); font-size:1.05rem; }
      .map-active-pick { color:var(--earth); font-size:.92rem; font-weight:700; margin:0 0 .8rem; }
      .map-legend ul { margin:.75rem 0; padding-left:1.2rem; }
      .map-inline { display:none; background:var(--warm-cream); border:1px solid var(--sand); border-radius:18px; padding:1rem; margin-bottom:1.4rem; }
      .restaurant-section { scroll-margin-top:100px; transition:background-color .18s ease, box-shadow .18s ease, border-radius .18s ease; border-bottom:1px solid var(--sand); padding:2.5rem 0; }
      .restaurant-section:first-of-type { padding-top:0; }
      .restaurant-section:last-of-type { border-bottom:none; }
      .restaurant-section.active { background:#fffaf4; border-radius:14px; box-shadow:0 0 0 1px var(--sand) inset; padding-left:1rem; padding-right:1rem; }
      .restaurant-section.filtered-out { display:none !important; }
      .quick-answer-section { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:1rem; margin-bottom:1.4rem; }
      .quick-answer-card, .intro-section, .methodology-section, .faq-section, .related-section, .comparison-table-section { background:white; border:1px solid var(--sand); border-radius:18px; padding:1.35rem 1.4rem; }
      .quick-answer-section, .intro-section, .methodology-section, .faq-section, .related-section, .comparison-table-section { margin-bottom:1.4rem; }
      .eyebrow { text-transform:uppercase; letter-spacing:.08em; font-size:.78rem; font-weight:700; color:var(--earth); margin-bottom:.55rem; }
      .quick-answer-lead { margin-bottom:1rem; }
      .quick-answer-grid, .comparison-grid { display:grid; gap:.7rem; }
      .comparison-row { display:grid; grid-template-columns:150px minmax(0, 1fr); gap:.5rem 1rem; align-items:start; }
      .comparison-row dt { font-weight:700; color:var(--indigo); }
      .comparison-row dd { color:var(--text); }
      .top-verdicts-list { padding-left:1.1rem; display:grid; gap:.75rem; }
      .restaurant-header { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:.75rem; flex-wrap:wrap; gap:.5rem; }
      .restaurant-header h2 { font-size:1.35rem; font-weight:700; color:var(--indigo); }
      .restaurant-number { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; background:var(--terracotta); color:white; font-size:.8rem; font-weight:700; margin-right:.5rem; flex-shrink:0; }
      .cuisine-tag { display:inline-block; padding:.2rem .6rem; border-radius:6px; font-size:.78rem; font-weight:600; white-space:nowrap; }
      .tag-ramen{background:#FFF3E0;color:#E65100}.tag-tonkatsu{background:#FBE9E7;color:#BF360C}.tag-gyudon{background:#EFEBE9;color:#4E342E}.tag-udon{background:#E8EAF6;color:#283593}.tag-tempura{background:#E0F2F1;color:#00695C}.tag-sushi{background:#E3F2FD;color:#1565C0}.tag-yakitori{background:#FCE4EC;color:#AD1457}.tag-tsukemen{background:#FFF8E1;color:#FF8F00}.tag-gyukatsu{background:#F1F8E9;color:#558B2F}.tag-kushikatsu{background:#F3E5F5;color:#7B1FA2}.tag-shabu{background:#EDE7F6;color:#512DA8}.tag-omurice{background:#FFFDE7;color:#F9A825}.tag-hamburg{background:#EFEBE9;color:#6D4C41}.tag-snack{background:#FCE4EC;color:#C2185B}.tag-pizza{background:#FFE0B2;color:#BF360C}.tag-steak{background:#EFEBE9;color:#3E2723}.tag-bbq{background:#FFCCBC;color:#BF360C}.tag-classic{background:#E8DFD0;color:#5D4037}.tag-historic{background:#D7CCC8;color:#3E2723}.tag-modern{background:#E1F5FE;color:#01579B}.tag-korean{background:#FCE4EC;color:#880E4F}.tag-regional{background:#ECEFF1;color:#455A64}
      .google-rating { color:var(--earth); font-size:.95rem; }
      .star { color:#FFB400; }
      .restaurant-details, .shop-contact { display:flex; flex-wrap:wrap; gap:.75rem 1rem; font-size:.95rem; color:var(--earth); margin-bottom:.9rem; }
      .pick-quick-take { margin:0 0 1rem; padding:1rem; background:#fffaf4; border:1px solid var(--sand); border-radius:12px; }
      .pick-tag-list { display:flex; flex-wrap:wrap; gap:.45rem; margin:0 0 .85rem; }
      .pick-tag-list span { display:inline-flex; align-items:center; padding:.28rem .65rem; border-radius:999px; background:#faf7f3; border:1px solid var(--sand); color:var(--earth); font-size:.8rem; }
      .pick-provenance { margin:0 0 1rem; color:var(--text-muted); font-size:.88rem; }
      .comparison-card { margin:0 0 1rem; padding:1rem; background:var(--warm-cream); border:1px solid var(--sand); border-radius:14px; }
      .comparison-card h3 { color:var(--indigo); margin:0 0 .75rem; font-size:1rem; }
      .shop-hours { margin-bottom:.9rem; }
      .shop-hours summary { cursor:pointer; color:var(--indigo); font-weight:700; }
      .hours-grid { display:grid; grid-template-columns:auto 1fr; gap:.4rem 1rem; margin-top:.75rem; color:var(--text-muted); font-size:.94rem; }
      .reddit-quote { margin:1rem 0 0; padding:1rem; background:#faf7f3; border-left:3px solid var(--terracotta); }
      .source { display:block; margin-top:.4rem; color:var(--earth); font-size:.92rem; }
      .faq-item + .faq-item { border-top:1px solid var(--sand); padding-top:1rem; margin-top:1rem; }
      .faq-item h3 { color:var(--indigo); margin:.2rem 0 .45rem; }
      .related-intro { color:var(--text-muted); margin:.25rem 0 1rem; }
      .intent-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:.9rem; }
      .intent-card { display:block; background:var(--warm-cream); border:1px solid var(--sand); border-radius:14px; padding:1rem; color:var(--text); }
      .intent-card:hover { border-color:var(--terracotta); transform:translateY(-1px); }
      .intent-type { display:block; text-transform:uppercase; letter-spacing:.08em; font-size:.72rem; font-weight:700; color:var(--earth); margin-bottom:.45rem; }
      .comparison-table-wrapper { overflow-x:auto; }
      .comparison-table { width:100%; border-collapse:collapse; font-size:.92rem; }
      .comparison-table th { text-align:left; padding:.55rem .6rem; background:var(--warm-cream); color:var(--indigo); border-bottom:1px solid var(--sand); }
      .comparison-table td { padding:.55rem .6rem; border-bottom:1px solid var(--sand); color:var(--text); }
      .comparison-table tr:last-child td { border-bottom:none; }
      .filter-bar { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.4rem; padding:1rem; background:white; border:1px solid var(--sand); border-radius:18px; align-items:center; }
      .filter-bar .filter-label { font-weight:700; color:var(--indigo); font-size:.85rem; margin-right:.5rem; }
      .filter-chip { display:inline-flex; align-items:center; padding:.35rem .8rem; border-radius:999px; border:1px solid var(--sand); background:white; color:var(--text-muted); font-size:.82rem; cursor:pointer; transition:all .15s; user-select:none; }
      .filter-chip:hover { border-color:var(--terracotta); color:var(--terracotta); }
      .filter-chip.active { background:var(--terracotta); color:white; border-color:var(--terracotta); }
      .cta-section { max-width:900px; margin:1.5rem auto; padding:2rem 1.5rem; background:var(--warm-cream); border:1px solid var(--sand); border-radius:18px; text-align:center; }
      .cta-section h2 { color:var(--indigo); margin-bottom:.5rem; }
      .cta-section p { color:var(--text-muted); margin-bottom:1rem; }
      .cta-btn { display:inline-block; background:var(--terracotta); color:#fff; padding:.65rem 1.2rem; border-radius:8px; font-weight:600; }
      .cta-btn:hover { background:var(--indigo); }
      @media (max-width:980px) { .page-layout { grid-template-columns:1fr; } .map-sidebar { display:none; } .map-inline { display:block; } .quick-answer-section { grid-template-columns:1fr; } .comparison-row { grid-template-columns:1fr; } .restaurant-section { padding:2rem 0; } .restaurant-section.active { padding-left:.85rem; padding-right:.85rem; } }
    
