*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:oklch(97% .01 260);--color-surface:oklch(100% 0 0);--color-border:oklch(80% .01 260);--color-text:oklch(20% .01 260);--color-text-muted:oklch(50% .01 260);--color-primary:oklch(45% .15 260);--color-accent:oklch(55% .15 30);--color-focus:oklch(50% .2 300);--color-error:oklch(50% .2 25);--color-star-on:oklch(70% .15 80);--color-star-off:oklch(85% .03 80);--font-body:system-ui, sans-serif;--radius:.25rem}html{font-size:100%}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);flex-direction:column;min-height:100dvh;line-height:1.5;display:flex}.skip-link{background:var(--color-primary);color:var(--color-surface);border-radius:var(--radius);z-index:1000;padding:.5rem 1rem;font-weight:700;text-decoration:none;position:absolute;top:-10rem;left:1rem}.skip-link:focus{top:1rem}:focus-visible{outline:.1875rem solid var(--color-focus);outline-offset:.1875rem}.container{width:min(90%,70rem);margin-inline:auto;padding-block:1.5rem}.site-header{background:var(--color-primary);color:var(--color-surface);border-bottom:.125rem solid var(--color-border);padding-block:.75rem}.site-header .container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding-block:0;display:flex}.site-header a{color:var(--color-surface);font-size:1.1rem;font-weight:700;text-decoration:none}.site-nav a{color:var(--color-surface);border-radius:var(--radius);padding:.25rem .5rem;text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=page]{text-decoration:underline}.hero{background:var(--color-primary);color:var(--color-surface);text-align:center;padding-block:2rem}.hero h1{margin-bottom:.5rem;font-size:clamp(1.5rem,4vw,2.5rem)}.hero p{opacity:.9;max-width:40rem;margin-inline:auto;font-size:1rem}.cards-section{padding-block:1.5rem}.cards-section h2{margin-bottom:1rem;font-size:1.25rem}.card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:1rem;list-style:none;display:grid}.card{background:var(--color-surface);border:.0625rem solid var(--color-border);border-radius:var(--radius)}.card-body{padding:1rem}.card-body h3{margin-bottom:.5rem;font-size:1rem}.card-meta{flex-wrap:wrap;gap:.375rem;margin-top:.5rem;display:flex}.badge{border-radius:.2rem;padding:.2rem .5rem;font-size:.75rem;font-weight:600}.badge--study{color:var(--color-primary);background:oklch(88% .06 260)}.badge--alcohol{color:var(--color-accent);background:oklch(90% .06 30)}.card-link{text-align:center;background:var(--color-primary);color:var(--color-surface);border-radius:var(--radius);margin-top:.75rem;padding:.5rem;font-size:.9rem;font-weight:600;text-decoration:none;display:block}.card-link:hover{text-decoration:underline}.status-message{text-align:center;color:var(--color-text-muted);grid-column:1/-1;padding:2rem 1rem}.status-message--error{color:var(--color-error)}.filters{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.filter-group{flex-direction:column;gap:.25rem;display:flex}.filter-group label{font-size:.875rem;font-weight:600}.filter-group select{border:.0625rem solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);padding:.375rem .625rem;font-size:.875rem}.detail-hero{background:var(--color-primary);color:var(--color-surface);padding-block:1.5rem}.detail-hero h1{margin-bottom:.25rem;font-size:clamp(1.25rem,3vw,2rem)}.back-link{color:var(--color-surface);margin-bottom:.75rem;font-size:.875rem;text-decoration:underline;display:inline-block}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,12rem),1fr));gap:1rem;margin-block:1.25rem;display:grid}.stat-card{background:var(--color-surface);border:.0625rem solid var(--color-border);border-radius:var(--radius);text-align:center;padding:1rem}.stat-card .stat-value{color:var(--color-primary);font-size:1.75rem;font-weight:700;line-height:1.2}.stat-card .stat-label{color:var(--color-text-muted);margin-top:.2rem;font-size:.8rem}.chart-container{background:var(--color-surface);border:.0625rem solid var(--color-border);border-radius:var(--radius);margin-block:1.25rem;padding:1.25rem}.chart-container h2{margin-bottom:.75rem;font-size:1.1rem}.review-section{margin-block:1.5rem}.review-section h2{margin-bottom:1rem;font-size:1.25rem}.review-form{background:var(--color-surface);border:.0625rem solid var(--color-border);border-radius:var(--radius);max-width:36rem;padding:1.25rem}.form-group{margin-bottom:1rem}.form-group label,.form-group legend{margin-bottom:.3rem;font-size:.9rem;font-weight:600;display:block}.form-group input,.form-group textarea{border:.0625rem solid var(--color-border);border-radius:var(--radius);width:100%;font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);padding:.5rem .75rem;font-size:1rem}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-primary)}.form-group textarea{resize:vertical;min-height:5rem}.field-error{color:var(--color-error);min-height:1rem;margin-top:.25rem;font-size:.8rem;display:block}.form-group input[aria-invalid=true],.form-group textarea[aria-invalid=true]{border-color:var(--color-error)}.star-rating{flex-direction:row-reverse;justify-content:flex-end;gap:.2rem;display:flex}.star-rating input[type=radio]{opacity:0;width:0;height:0;position:absolute}.star-rating label{color:var(--color-star-off);cursor:pointer;font-size:1.75rem;line-height:1}.star-rating input[type=radio]:checked~label,.star-rating label:hover,.star-rating label:hover~label{color:var(--color-star-on)}.star-rating input[type=radio]:focus-visible+label{outline:.1875rem solid var(--color-focus);outline-offset:.125rem}.btn-submit{background:var(--color-primary);color:var(--color-surface);border-radius:var(--radius);cursor:pointer;border:none;width:100%;padding:.625rem 1.5rem;font-size:1rem;font-weight:700}.btn-submit:hover{text-decoration:underline}.reviews-list{flex-direction:column;gap:.75rem;max-width:36rem;margin-top:1.25rem;list-style:none;display:flex}.review-card{background:var(--color-surface);border:.0625rem solid var(--color-border);border-radius:var(--radius);padding:1rem}.review-card .review-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.375rem;margin-bottom:.375rem;display:flex}.review-card .review-name{font-weight:700}.review-card .review-stars{color:var(--color-star-on)}.review-card .review-date{color:var(--color-text-muted);margin-top:.375rem;font-size:.8rem;display:block}.sort-controls{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.sort-controls span{font-size:.875rem;font-weight:600}.btn-sort{background:var(--color-surface);border:.0625rem solid var(--color-border);border-radius:var(--radius);cursor:pointer;padding:.3rem .75rem;font-size:.875rem}.btn-sort:hover,.btn-sort[aria-pressed=true]{background:var(--color-primary);color:var(--color-surface);border-color:var(--color-primary)}@media (width>=48rem){.filters{flex-direction:row;align-items:flex-end}}
