:root{--color-brand:#245b50;--color-text:#18201e;--color-muted:#65716d;--color-border:#e2e8e5;--color-surface:#f4f7f6;color:var(--color-text);background:#fff;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*,:before,:after{box-sizing:border-box}body{min-width:320px;margin:0}#root{min-height:100svh}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--color-brand);outline-offset:4px}.container{width:min(1200px,100% - 40px);margin-inline:auto}.home-hero{background:var(--color-surface);padding-block:56px}.home-hero__layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:40px;display:grid}.home-hero__title{letter-spacing:-.04em;margin:0 0 16px;font-size:clamp(40px,5vw,72px);line-height:1.15}.home-hero__title span{color:var(--color-brand)}.home-hero__description{color:var(--color-muted);margin:0;font-size:18px}.home-hero__filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:36px;display:grid}.home-hero__pick:disabled{opacity:.5;cursor:not-allowed}.home-hero__summary{color:var(--color-muted);margin:12px 0 0;font-size:14px}.filter-field{gap:8px;min-width:0;display:grid}.filter-field>span{color:var(--color-muted);font-size:14px;font-weight:600}.filter-field select{border:1px solid var(--color-border);width:100%;min-width:0;color:var(--color-text);background:#fff;border-radius:24px;padding:12px}.home-hero__pick{color:#fff;background:var(--color-brand);cursor:pointer;border:0;border-radius:999px;width:100%;margin-top:20px;padding:18px 24px;font-size:20px;font-weight:700}.home-hero__pick:hover{background:#1b463d}@media (width<=900px){.home-hero__layout{grid-template-columns:minmax(0,1fr)}}@media (width<=560px){.home-hero{padding-block:32px}.home-hero__filters{grid-template-columns:minmax(0,1fr)}}.restaurant-card{border:1px solid var(--color-border);background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 12px 32px #18201e14}.restaurant-card__image{aspect-ratio:16/9;object-fit:cover;background:#dce8e3;width:100%;height:auto}.restaurant-card__body{padding:24px}.restaurant-card__eyebrow{color:var(--color-brand);margin:0 0 8px;font-size:14px;font-weight:700}.restaurant-card h2{margin:0 0 8px;font-size:28px}.restaurant-card__description{color:var(--color-muted);margin:0}.restaurant-card__tags{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.restaurant-card__tags span{background:var(--color-surface);border-radius:999px;padding:6px 14px;font-size:14px}.restaurant-card__favorite{border:1px solid var(--color-brand);color:var(--color-brand);cursor:pointer;background:#fff;border-radius:10px;margin-top:20px;padding:10px 16px}.restaurant-card__favorite[aria-pressed=true]{background:var(--color-brand);color:#fff}.restaurant-list{padding-block:48px}.restaurant-list__header{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px;display:flex}.restaurant-list__header h2{margin:0 0 8px;font-size:28px}.restaurant-list__header p{color:var(--color-muted);margin:0}.restaurant-list__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none;display:grid}.restaurant-list__grid .restaurant-card{height:100%}.restaurant-list__empty{color:var(--color-muted);background:var(--color-surface);text-align:center;border-radius:16px;padding:40px 24px}.restaurant-list__search{gap:8px;width:min(100%,320px);display:grid}.restaurant-list__search span{color:var(--color-muted);font-size:14px}.restaurant-list__search input{border:1px solid var(--color-border);width:100%;min-width:0;color:var(--color-text);background:#fff;border-radius:12px;padding:12px 16px}@media (width<=900px){.restaurant-list__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.restaurant-list__grid{grid-template-columns:minmax(0,1fr)}}.favorites-page{padding-block:48px}.favorites-page__header{margin-bottom:24px}.favorites-page__header h1{margin:0 0 8px;font-size:32px}.favorites-page__header p{color:var(--color-muted);margin:0}.favorites-page__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none;display:grid}.favorites-page__grid .restaurant-card{height:100%}.favorites-page__empty{background:var(--color-surface);text-align:center;border-radius:16px;padding:40px 24px}.favorites-page__empty p{color:var(--color-muted);margin:0 0 16px}.favorites-page__empty a{color:var(--color-brand);text-underline-offset:4px;text-decoration:underline}@media (width<=900px){.favorites-page__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.favorites-page__grid{grid-template-columns:minmax(0,1fr)}}.site-header{border-bottom:1px solid var(--color-border);background:#fff}.site-header__inner{align-items:center;gap:48px;min-height:76px;display:flex}.site-header__brand{white-space:nowrap;font-size:24px;font-weight:800}.site-header__nav{align-self:stretch;gap:28px;display:flex}.site-header__link{color:var(--color-muted);border-bottom:3px solid #0000;align-items:center;padding-block:22px;font-weight:600;display:flex}.site-header__link:hover{color:var(--color-brand)}.site-header__link.active{border-bottom-color:var(--color-brand);color:var(--color-brand)}@media (width<=600px){.site-header__inner{flex-wrap:wrap;gap:8px 24px;padding-block:12px}.site-header__brand{font-size:22px}.site-header__link{padding-block:10px}}.restaurant-detail{padding-block:48px}.restaurant-detail__back{color:var(--color-brand);text-underline-offset:4px;margin-bottom:24px;text-decoration:underline;display:inline-block}.restaurant-detail__layout{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:40px;display:grid}.restaurant-detail__image{aspect-ratio:16/9;object-fit:cover;background:var(--color-surface);border-radius:20px;width:100%;height:auto}.restaurant-detail__content h1{margin:0;font-size:clamp(32px,4vw,48px);line-height:1.2}.restaurant-detail__meta{color:var(--color-muted);margin:16px 0}.restaurant-detail__description{margin:0;line-height:1.8}.restaurant-detail__favorite{border:1px solid var(--color-brand);color:var(--color-brand);cursor:pointer;background:#fff;border-radius:12px;margin-top:24px;padding:12px 24px}.restaurant-detail__favorite[aria-pressed=true]{background:var(--color-brand);color:#fff}@media (width<=760px){.restaurant-detail__layout{grid-template-columns:minmax(0,1fr);gap:24px}}.performance-page{padding-block:48px}.performance-page__header{max-width:760px;margin-bottom:40px}.performance-page__header h1{margin:0 0 16px;font-size:clamp(32px,4vw,48px)}.performance-page__header p{color:var(--color-muted);margin:0;font-size:18px}.performance-page h2{margin:0 0 16px;font-size:24px}.performance-page__table-wrap{margin-top:24px;overflow-x:auto}.performance-page__table{border-collapse:collapse;width:100%;min-width:640px}.performance-page__table caption{color:var(--color-muted);text-align:left;padding-bottom:12px;font-size:14px}.performance-page__table th,.performance-page__table td{border-bottom:1px solid var(--color-border);text-align:left;padding:16px}.performance-page__table thead{background:var(--color-surface)}.performance-page__table td:nth-child(3){color:var(--color-brand);font-weight:700}.performance-page__note{color:var(--color-muted);font-size:14px;line-height:1.8}.performance-page__method{background:var(--color-surface);border-radius:16px;margin-top:40px;padding:24px}.performance-page__method ul{margin:0;padding-left:24px;line-height:1.8}.image-comparison{margin-top:32px}.image-comparison h3{margin:0 0 16px;font-size:20px}.image-comparison__controls{flex-wrap:wrap;gap:12px;display:flex}.image-comparison__controls button{border:1px solid var(--color-brand);color:var(--color-brand);cursor:pointer;background:#fff;border-radius:10px;padding:10px 16px}.image-comparison__controls button[aria-pressed=true]{background:var(--color-brand);color:#fff}.image-comparison__info{color:var(--color-muted);margin-block:16px;font-size:14px}.image-comparison__preview{max-width:800px;margin:0}.image-comparison__preview img{aspect-ratio:16/9;object-fit:cover;background:var(--color-surface);border-radius:16px;width:100%;height:auto}.image-comparison__preview figcaption{color:var(--color-muted);margin-top:12px;font-size:14px}.performance-page__reports{margin-top:40px}.performance-page__report-groups{flex-wrap:wrap;gap:24px;display:flex}.performance-page__report-group{border:1px solid var(--color-border);border-radius:16px;flex:260px;min-width:0;padding:24px}.performance-page__report-group h3{margin:0 0 16px;font-size:20px}.performance-page__report-group ul{margin:0;padding:0;list-style:none}.performance-page__report-group li+li{margin-top:12px}.performance-page__report-group a{color:var(--color-brand);text-underline-offset:4px;text-decoration:underline}
