@import url(https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,600;0,700;1,600&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap);
/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */@layer theme, base, components, utilities;@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:"JetBrains Mono","Fira Code",monospace;--spacing:0.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-title:"Playfair Display",Georgia,serif;--font-body:"Inter",system-ui,sans-serif;--radius-card:0.75rem;--radius-btn:0.5rem;--radius-input:0.375rem;--color-success:#4a9e6b;--color-error:#c0392b;--color-warning:#d4a017;--color-info:#3a7bd5}}@layer base{*,::backdrop,::file-selector-button,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:var(--default-font-feature-settings,normal);-webkit-tap-highlight-color:transparent;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-variation-settings:var(--default-font-variation-settings,normal);line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:var(--default-mono-font-feature-settings,normal);font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-size:1em;font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}::file-selector-button,button,input,optgroup,select,textarea{font-feature-settings:inherit;background-color:transparent;border-radius:0;color:inherit;font:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentcolor;@supports (color:color-mix(in lab,red,red)){color:color-mix(in oklab,currentcolor 50%,transparent)}}::placeholder{color:currentcolor;@supports (color:color-mix(in lab,red,red)){color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}::file-selector-button,button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.container{width:100%;@media (width >= 40rem){max-width:40rem}@media (width >= 48rem){max-width:48rem}@media (width >= 64rem){max-width:64rem}@media (width >= 80rem){max-width:80rem}@media (width >= 96rem){max-width:96rem}}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.grow{flex-grow:1}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.italic{font-style:italic}.underline{text-decoration-line:underline}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root,[data-theme=dark]{--color-background:#0f0e0d;--color-surface-1:#1c1a18;--color-surface-2:#272420;--color-surface-3:#332f2b;--color-text-primary:#f5f0e8;--color-text-secondary:#a89f94;--color-text-muted:#6b6560;--color-accent:#c8871a;--color-accent-hover:#e09a25;--color-accent-muted:#3d2a0a}[data-theme=light]{--color-background:#faf7f2;--color-surface-1:#f0ebe3;--color-surface-2:#e5ddd3;--color-surface-3:#d4c8bb;--color-text-primary:#1c1a18;--color-text-secondary:#5c5248;--color-text-muted:#9c9088;--color-accent:#b5720e;--color-accent-hover:#c8871a;--color-accent-muted:#fff3e0}@media (prefers-color-scheme:light){:root:not([data-theme]){--color-background:#faf7f2;--color-surface-1:#f0ebe3;--color-surface-2:#e5ddd3;--color-surface-3:#d4c8bb;--color-text-primary:#1c1a18;--color-text-secondary:#5c5248;--color-text-muted:#9c9088;--color-accent:#b5720e;--color-accent-hover:#c8871a;--color-accent-muted:#fff3e0}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;background-color:var(--color-background);color:var(--color-text-primary);display:flex;flex-direction:column;font-family:var(--font-body);font-size:1rem;font-weight:400;line-height:1.6;min-height:100dvh;transition:background-color .2s ease,color .2s ease}body>.page-content,body>main{flex:1}a{color:inherit;text-decoration:none}h1,h2{font-family:var(--font-title);font-weight:700;line-height:1.2}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary)}h3,h4,h5,h6{font-family:var(--font-body);font-weight:600;line-height:1.3}h1{font-size:clamp(1.75rem,5vw,2.25rem)}h2{font-size:clamp(1.375rem,4vw,1.75rem)}h3{font-size:1.25rem}h4{font-size:1.125rem}.value-mono{font-family:var(--font-mono);font-size:.9rem;font-weight:500;letter-spacing:.02em}.container{margin-inline:auto;max-width:1280px;padding-inline:1rem;width:100%}@media (min-width:640px){.container{padding-inline:1.5rem}}@media (min-width:1024px){.container{padding-inline:2rem}}.card{background-color:var(--color-surface-1);border:1px solid var(--color-surface-3);border-radius:var(--radius-card);overflow:hidden;transition:border-color .15s ease}.card:hover{border-color:var(--color-accent-muted)}.btn{align-items:center;border:1px solid transparent;border-radius:var(--radius-btn);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:.9375rem;font-weight:500;gap:.5rem;justify-content:center;line-height:1;padding:.625rem 1.25rem;text-decoration:none;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.btn-primary{background-color:var(--color-accent);border-color:var(--color-accent);color:#faf7f2}.btn-primary:hover{background-color:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-secondary{background-color:transparent;border-color:var(--color-surface-3);color:var(--color-text-primary)}.btn-secondary:hover{background-color:var(--color-surface-2);border-color:var(--color-accent)}.btn-danger{background-color:transparent;border-color:var(--color-error);color:var(--color-error)}.btn-danger:hover{background-color:var(--color-error);color:#faf7f2}.input,input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--color-surface-2);border:1px solid var(--color-surface-3);border-radius:var(--radius-input);color:var(--color-text-primary);font-family:var(--font-body);font-size:.9375rem;line-height:1.5;padding:.625rem .875rem;transition:border-color .15s ease;width:100%}select:not([multiple]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none'%3E%3Cpath stroke='%23A89F94' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m3 6 5 5 5-5'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;cursor:pointer;padding-right:2.25rem}.input:focus,input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=text]:focus,select:focus,textarea:focus{border-color:var(--color-accent);outline:none}.input::-moz-placeholder,input::-moz-placeholder,textarea::-moz-placeholder{color:var(--color-text-muted)}.input::placeholder,input::placeholder,textarea::placeholder{color:var(--color-text-muted)}label{color:var(--color-text-secondary);display:block;font-size:.875rem;font-weight:500;letter-spacing:.02em;margin-bottom:.375rem}.table-wrapper{border:1px solid var(--color-surface-3);border-radius:var(--radius-card);overflow-x:auto;width:100%}table{border-collapse:collapse;font-size:.9375rem;width:100%}thead tr{background-color:var(--color-surface-2);border-bottom:1px solid var(--color-surface-3)}thead th{color:var(--color-text-secondary);font-size:.875rem;font-weight:600;letter-spacing:.04em;padding:.75rem 1rem;text-align:left;text-transform:uppercase;white-space:nowrap}tbody tr{border-bottom:1px solid var(--color-surface-3);transition:background-color .1s ease}tbody tr:hover{background-color:var(--color-surface-1)}tbody tr:last-child{border-bottom:none}tbody td{color:var(--color-text-primary);padding:.75rem 1rem}.flash{border:1px solid transparent;border-radius:var(--radius-btn);font-size:.9375rem;font-weight:500;padding:.875rem 1.25rem}.flash-success{background-color:color-mix(in srgb,#4a9e6b 15%,transparent);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in srgb,var(--color-success) 15%,transparent)}border-color:color-mix(in srgb,#4a9e6b 30%,transparent);color:var(--color-success);@supports (color:color-mix(in lab,red,red)){border-color:color-mix(in srgb,var(--color-success) 30%,transparent)}}.flash-error{background-color:color-mix(in srgb,#c0392b 15%,transparent);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in srgb,var(--color-error) 15%,transparent)}border-color:color-mix(in srgb,#c0392b 30%,transparent);color:var(--color-error);@supports (color:color-mix(in lab,red,red)){border-color:color-mix(in srgb,var(--color-error) 30%,transparent)}}.flash-warning{background-color:color-mix(in srgb,#d4a017 15%,transparent);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in srgb,var(--color-warning) 15%,transparent)}border-color:color-mix(in srgb,#d4a017 30%,transparent);color:var(--color-warning);@supports (color:color-mix(in lab,red,red)){border-color:color-mix(in srgb,var(--color-warning) 30%,transparent)}}.flash-info{background-color:color-mix(in srgb,#3a7bd5 15%,transparent);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in srgb,var(--color-info) 15%,transparent)}border-color:color-mix(in srgb,#3a7bd5 30%,transparent);color:var(--color-info);@supports (color:color-mix(in lab,red,red)){border-color:color-mix(in srgb,var(--color-info) 30%,transparent)}}.badge{align-items:center;border-radius:.25rem;display:inline-flex;font-size:.8125rem;font-weight:500;padding:.125rem .5rem}.page{display:flex;flex-direction:column;min-height:100dvh}.page-content{flex:1;padding-block:1.5rem}.section-title{color:var(--color-text-primary);font-family:var(--font-title);font-size:clamp(1.375rem,3vw,1.75rem);font-weight:700;padding-block:1rem}.divider{background-color:var(--color-surface-3);border:none;height:1px;margin-block:1.5rem}.admin-layout{margin-inline:auto;max-width:1100px;padding:1.5rem 1rem 2rem;width:100%}.admin-header{align-items:center;border-bottom:1px solid var(--color-surface-3);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.admin-header h1{font-family:var(--font-title);font-size:1.5rem;font-weight:700;margin:0}.admin-table-wrapper{border:1px solid var(--color-surface-3);border-radius:var(--radius-card);margin-bottom:1.5rem;overflow-x:auto;width:100%}.admin-table{border-collapse:collapse;font-size:.9rem;width:100%}.admin-table thead tr{background-color:var(--color-surface-2);border-bottom:2px solid var(--color-surface-3)}.admin-table thead th{color:var(--color-text-secondary);font-size:.8rem;font-weight:600;letter-spacing:.05em;padding:.75rem 1rem;text-align:left;text-transform:uppercase;white-space:nowrap}.admin-table tbody tr{border-bottom:1px solid var(--color-surface-3);transition:background-color .1s ease}.admin-table tbody tr:last-child{border-bottom:none}.admin-table tbody tr:hover{background-color:var(--color-surface-1)}.admin-table tbody td{color:var(--color-text-primary);padding:.75rem 1rem;vertical-align:middle}.admin-table .col-id{color:var(--color-text-muted);font-family:var(--font-mono);font-size:.8rem;width:3rem}.admin-table .col-actions{text-align:right;white-space:nowrap;width:1%}.admin-table .cell-truncate{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-table .cell-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-text-secondary);display:-webkit-box;font-size:.875rem;max-width:260px;overflow:hidden}.admin-table .empty-row td{color:var(--color-text-muted);font-style:italic;padding:2rem;text-align:center}.admin-actions{align-items:center;display:flex;gap:.375rem;justify-content:flex-end}.btn-icon{align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-input);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:.875rem;height:2rem;justify-content:center;text-decoration:none;transition:background-color .1s ease,color .1s ease,border-color .1s ease;width:2rem}.btn-icon:hover{background-color:var(--color-surface-2);border-color:var(--color-surface-3);color:var(--color-text-primary)}.btn-icon--edit:hover{border-color:var(--color-accent);color:var(--color-accent)}.btn-icon--delete:hover{border-color:var(--color-error);color:var(--color-error)}.btn-icon--view:hover{border-color:var(--color-info);color:var(--color-info)}.admin-detail{background-color:var(--color-surface-1);border:1px solid var(--color-surface-3);border-radius:var(--radius-card);margin-bottom:1.5rem;overflow:hidden}.admin-detail__row{border-bottom:1px solid var(--color-surface-3);display:flex}.admin-detail__row:last-child{border-bottom:none}.admin-detail__label{background-color:var(--color-surface-2);border-right:1px solid var(--color-surface-3);color:var(--color-text-muted);flex-shrink:0;font-size:.8rem;font-weight:600;letter-spacing:.04em;padding:.75rem 1rem;text-transform:uppercase;width:200px}.admin-detail__value{color:var(--color-text-primary);flex:1;font-size:.9375rem;padding:.75rem 1rem}.admin-form-card{border-radius:var(--radius-card);margin-bottom:1.5rem}.admin-form-card,.beer-form-section{background-color:var(--color-surface-1);border:1px solid var(--color-surface-3);padding:1.5rem}.beer-form-section{border-radius:var(--radius-card);margin-bottom:1.25rem}.beer-form-section__title{border-bottom:1px solid var(--color-surface-3);color:var(--color-accent);font-family:var(--font-body);font-size:.75rem;font-weight:700;letter-spacing:.08em;margin-bottom:1.25rem;padding-bottom:.625rem;text-transform:uppercase}.beer-form-grid{display:grid;gap:1rem}.beer-form-grid--2,.beer-form-grid--3{grid-template-columns:1fr}@media (min-width:640px){.beer-form-grid--2,.beer-form-grid--3{grid-template-columns:repeat(2,1fr)}}@media (min-width:900px){.beer-form-grid--3{grid-template-columns:repeat(3,1fr)}}.ingredient-picker{background-color:var(--color-surface-2);border:1px solid var(--color-surface-3);border-radius:var(--radius-card);overflow:hidden}.ingredient-picker__header{align-items:center;background-color:var(--color-surface-3);border-bottom:1px solid var(--color-surface-3);display:flex;gap:.5rem;padding:.75rem 1rem}.ingredient-picker__icon{font-size:1rem}.ingredient-picker__label{color:var(--color-text-primary);flex:1;font-size:.875rem;font-weight:600}.ingredient-picker__count{color:var(--color-accent);font-size:.75rem;font-weight:600}.ingredient-picker__search{border:none!important;border-bottom:1px solid var(--color-surface-3)!important;border-radius:0!important;font-size:.8125rem!important}.ingredient-picker__list{max-height:220px;overflow-y:auto;padding:.375rem 0}.ingredient-picker__list::-webkit-scrollbar{width:4px}.ingredient-picker__list::-webkit-scrollbar-track{background:transparent}.ingredient-picker__list::-webkit-scrollbar-thumb{background:var(--color-surface-3);border-radius:2px}.ingredient-picker__item{align-items:center;color:var(--color-text-primary);cursor:pointer;display:flex;font-size:.875rem;font-weight:400;gap:.625rem;margin-bottom:0;padding:.4rem 1rem;transition:background-color .1s ease}.ingredient-picker__item:hover{background-color:var(--color-surface-3)}.ingredient-picker__item input[type=checkbox]{accent-color:var(--color-accent);cursor:pointer;height:15px;margin:0;min-width:15px;width:15px}.media-upload-block{background-color:var(--color-surface-2);border:1px solid var(--color-surface-3);border-radius:var(--radius-card);display:flex;flex-direction:column;gap:.75rem;padding:1.25rem}.media-upload-block__label{color:var(--color-text-secondary);font-size:.75rem;font-weight:700;letter-spacing:.06em;margin:0;text-transform:uppercase}.media-upload-block__preview{align-items:center;background-color:var(--color-surface-3);border-radius:var(--radius-input);display:flex;justify-content:center;min-height:120px;overflow:hidden;position:relative}.media-upload-block__preview img{border-radius:var(--radius-input);max-height:160px;max-width:100%;-o-object-fit:contain;object-fit:contain}.media-upload-block__preview--empty{color:var(--color-text-muted);font-size:.875rem}.media-upload-block__badge{background-color:rgba(0,0,0,.55);border-radius:.25rem;bottom:.5rem;color:#fff;font-size:.7rem;font-weight:600;padding:.2rem .5rem;position:absolute;right:.5rem}.media-upload-block__btn{align-items:center;cursor:pointer;display:inline-flex;gap:.375rem;justify-content:center;text-align:center}.media-upload-block__url{color:var(--color-text-muted);font-size:.75rem;margin:0;word-break:break-all}.media-upload-block__url code{color:var(--color-text-secondary);font-family:var(--font-mono)}.admin-action-bar{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.color-swatch{border:1px solid hsla(0,0%,100%,.15);border-radius:4px;display:inline-block;height:18px;vertical-align:middle;width:32px}.dashboard-grid{display:grid;gap:1rem;grid-template-columns:1fr;margin-bottom:2rem}@media (min-width:480px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){.dashboard-grid{grid-template-columns:repeat(3,1fr)}}.dashboard-card{background-color:var(--color-surface-1);border:1px solid var(--color-surface-3);border-radius:var(--radius-card);color:inherit;display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;text-decoration:none;transition:border-color .15s ease,transform .15s ease}.dashboard-card:hover{border-color:var(--color-accent);transform:translateY(-2px)}.dashboard-card__icon{font-size:1.75rem;line-height:1}.dashboard-card__title{color:var(--color-text-primary);font-size:.9375rem;font-weight:600}.dashboard-card__desc{color:var(--color-text-muted);flex:1;font-size:.8125rem}.dashboard-card__arrow{color:var(--color-accent);font-size:.8125rem;font-weight:600}.dashboard-section-title{color:var(--color-text-secondary);font-family:var(--font-title);font-size:1.125rem;font-size:.8125rem;font-weight:600;letter-spacing:.06em;margin-bottom:.75rem;margin-top:.5rem;text-transform:uppercase}.auth-wrapper{align-items:flex-start;display:flex;justify-content:center;min-height:calc(100dvh - 120px);padding:2rem 1rem}@media (min-width:640px){.auth-wrapper{align-items:center;padding:3rem 1rem}}.auth-card{background-color:var(--color-surface-1);border:1px solid var(--color-surface-3);border-radius:var(--radius-card);display:flex;flex-direction:column;gap:1.25rem;max-width:420px;padding:2rem 1.5rem;width:100%}@media (min-width:1024px){.auth-card{max-width:50%;padding:2.5rem 3rem}}.auth-header{text-align:center}.auth-title{font-family:var(--font-title);font-size:1.75rem;font-weight:700;margin-bottom:.375rem}.auth-subtitle{color:var(--color-text-secondary);font-size:.9375rem}.btn-google{align-items:center;background-color:var(--color-surface-2);border:1px solid var(--color-surface-3);border-radius:var(--radius-btn);color:var(--color-text-primary);cursor:pointer;display:flex;font-size:.9375rem;font-weight:500;gap:.75rem;justify-content:center;padding:.75rem 1.25rem;text-decoration:none;transition:background-color .15s ease,border-color .15s ease;width:100%}.btn-google:hover{background-color:var(--color-surface-3);border-color:var(--color-accent)}.btn-google__icon{flex-shrink:0;height:20px;width:20px}.auth-divider{align-items:center;color:var(--color-text-muted);display:flex;font-size:.8125rem;gap:.75rem}.auth-divider:after,.auth-divider:before{background-color:var(--color-surface-3);content:"";flex:1;height:1px}.auth-form{gap:1rem}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.375rem}.form-group--checkbox{align-items:center;flex-direction:row;gap:.625rem}.form-group--checkbox label{color:var(--color-text-secondary);font-size:.875rem;margin-bottom:0}.form-group--checkbox input[type=checkbox]{accent-color:var(--color-accent);cursor:pointer;flex-shrink:0;height:1.125rem;width:1.125rem}.auth-submit{font-size:1rem;margin-top:.25rem;padding:.75rem;width:100%}.auth-footer{align-items:center;color:var(--color-text-secondary);display:flex;flex-wrap:wrap;font-size:.875rem;gap:.375rem;justify-content:center;text-align:center}.auth-footer-sep{color:var(--color-text-muted)}.auth-link{color:var(--color-accent);font-weight:500;text-decoration:none;transition:color .15s ease}.auth-link:hover{color:var(--color-accent-hover)}.hero{background:linear-gradient(180deg,var(--color-accent) 0,var(--color-background) 100%);padding-block:3rem 2rem;@supports (color:color-mix(in lab,red,red)){background:linear-gradient(180deg,color-mix(in srgb,var(--color-accent) 8%,var(--color-background)) 0,var(--color-background) 100%)}}.hero__inner{gap:2rem}.hero__inner,.hero__text{display:flex;flex-direction:column}.hero__text{gap:1rem}.hero__title{font-size:clamp(2rem,6vw,3rem);font-weight:700;line-height:1.15}.hero__subtitle{color:var(--color-text-secondary);font-size:clamp(1rem,2.5vw,1.125rem);line-height:1.6;max-width:520px}.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;padding-top:.5rem}.features{padding-block:2rem}.features__grid{display:grid;gap:1rem;grid-template-columns:1fr}@media (min-width:640px){.features__grid{grid-template-columns:repeat(3,1fr)}}.features__card{display:flex;flex-direction:column;gap:.625rem;padding:1.5rem;transition:border-color .15s ease,transform .15s ease}.features__card:hover{border-color:var(--color-accent);transform:translateY(-2px)}.features__card-icon{font-size:2rem;line-height:1}.features__card-title{color:var(--color-text-primary);font-size:1.0625rem;font-weight:600}.features__card-text{color:var(--color-text-secondary);flex:1;font-size:.9rem;line-height:1.6}.features__card-link{color:var(--color-accent);display:inline-block;font-size:.875rem;font-weight:600;margin-top:.5rem;transition:color .15s ease}.features__card-link:hover{color:var(--color-accent-hover)}.features__card-link--soon{color:var(--color-text-muted);cursor:default}.glossary-cta{background-color:var(--color-surface-1);border:1px solid var(--color-surface-3);border-radius:var(--radius-card);display:flex;flex-direction:column;gap:1rem;margin-block:1rem 2rem;padding:1.5rem}@media (min-width:640px){.glossary-cta{align-items:center;flex-direction:row;justify-content:space-between}}.glossary-cta__title{font-family:var(--font-body);font-size:1rem;font-weight:600;margin-bottom:.25rem}.glossary-cta__text{color:var(--color-text-secondary);font-size:.875rem}.footer{background-color:var(--color-surface-1);border-top:1px solid var(--color-surface-3);margin-top:auto;padding-block:1.25rem}.footer__inner{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.footer__brand{color:var(--color-text-primary);font-family:var(--font-title);font-size:.9375rem;font-weight:600}.footer__copy{color:var(--color-text-muted);font-size:.8125rem}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.nav{background-color:var(--color-surface-1);border-bottom:1px solid var(--color-surface-3);gap:1rem;height:56px;justify-content:space-between;padding:0 1rem;position:sticky;top:0;width:100%;z-index:100}.nav,.nav__brand{align-items:center;display:flex}.nav__brand{flex-shrink:0;gap:.5rem;text-decoration:none}.nav__brand-icon{font-size:1.375rem;line-height:1}.nav__brand-name{color:var(--color-text-primary);font-family:var(--font-title);font-size:1.0625rem;font-weight:700;white-space:nowrap}.nav__actions{gap:.5rem}.nav__actions,.theme-toggle{align-items:center;display:flex;flex-shrink:0}.theme-toggle{background:transparent;border:1px solid var(--color-surface-3);border-radius:50%;cursor:pointer;font-size:1rem;height:2rem;justify-content:center;line-height:1;transition:border-color .15s ease,background-color .15s ease;width:2rem}.theme-toggle:hover{background-color:var(--color-surface-2);border-color:var(--color-accent)}.nav__burger{background:transparent;border:1px solid var(--color-surface-3);border-radius:var(--radius-input);cursor:pointer;display:flex;flex-direction:column;gap:5px;height:2rem;justify-content:center;padding:4px;transition:border-color .15s ease;width:2rem}.nav__burger:hover{border-color:var(--color-accent)}.nav__burger-bar{background-color:var(--color-text-primary);border-radius:2px;display:block;height:2px;transition:transform .2s ease,opacity .2s ease;width:100%}.nav[data-open] .nav__burger-bar:first-child{transform:translateY(7px) rotate(45deg)}.nav[data-open] .nav__burger-bar:nth-child(2){opacity:0}.nav[data-open] .nav__burger-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav__menu{background-color:var(--color-surface-1);border-bottom:1px solid var(--color-surface-3);box-shadow:0 8px 24px rgba(0,0,0,.3);display:none;flex-direction:column;left:0;max-height:calc(100dvh - 56px);overflow-y:auto;padding:.5rem 0 1rem;position:absolute;right:0;top:56px;z-index:99}.nav__menu--open{display:flex}.nav__link{color:var(--color-text-primary);display:block;font-size:.9375rem;font-weight:500;padding:.75rem 1.25rem;text-decoration:none;transition:background-color .1s ease,color .1s ease}.nav__link.active,.nav__link:hover{background-color:var(--color-surface-2);color:var(--color-accent)}.nav__dropdown-trigger{align-items:center;background:transparent;border:none;color:var(--color-text-primary);cursor:pointer;display:flex;font-family:var(--font-body);font-size:.9375rem;font-weight:500;justify-content:space-between;padding:.75rem 1.25rem;text-align:left;transition:background-color .1s ease,color .1s ease;width:100%}.nav__dropdown-trigger:hover{background-color:var(--color-surface-2);color:var(--color-accent)}.nav__dropdown-icon{flex-shrink:0;transition:transform .2s ease}.nav__dropdown--open .nav__dropdown-icon{transform:rotate(180deg)}.nav__dropdown-menu{background-color:var(--color-surface-2);border-left:2px solid var(--color-accent);display:none;flex-direction:column;margin-left:1.25rem}.nav__dropdown--open .nav__dropdown-menu{display:flex}.nav__dropdown-link{color:var(--color-text-secondary);display:block;font-size:.875rem;font-weight:400;padding:.625rem 1rem;text-decoration:none;transition:color .1s ease,background-color .1s ease}.nav__dropdown-link:hover{background-color:var(--color-surface-3);color:var(--color-accent)}.nav__separator{background-color:var(--color-surface-3);height:1px;margin:.5rem 1.25rem}.nav__auth,.nav__user{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;padding:.75rem 1.25rem}.nav__username{color:var(--color-text-secondary);font-size:.875rem;font-style:italic}.nav__logout{font-size:.875rem;padding:.4rem .875rem}@media (min-width:1024px){.nav__burger{display:none}.nav__menu{align-items:center;background:transparent;border:none;box-shadow:none;display:flex!important;flex:1;flex-direction:row;gap:.25rem;max-height:none;overflow:visible;padding:0;position:static}.nav__link{border-radius:var(--radius-input);padding:.5rem .75rem;white-space:nowrap}.nav__link:hover{background-color:var(--color-surface-2)}.nav__dropdown{position:relative}.nav__dropdown-trigger{border-radius:var(--radius-input);padding:.5rem .75rem;white-space:nowrap;width:auto}.nav__dropdown-trigger:hover{background-color:var(--color-surface-2)}.nav__dropdown-menu{background-color:var(--color-surface-1);border:1px solid var(--color-surface-3);border-left:2px solid var(--color-accent);border-radius:var(--radius-card);box-shadow:0 8px 24px rgba(0,0,0,.3);left:0;margin-left:0;min-width:180px;padding:.25rem 0;position:absolute;top:calc(100% + 4px);z-index:200}.nav__dropdown--open .nav__dropdown-menu,.nav__dropdown:hover .nav__dropdown-menu{display:flex}.nav__dropdown-link{padding:.625rem 1rem;white-space:nowrap}.nav__separator{display:none}.nav__auth,.nav__user{flex-wrap:nowrap;margin-left:auto;padding:0}.nav__logout{margin-left:0}}.clf-page{padding:2rem 0 4rem}.clf-page__title{color:var(--color-text-primary);font-family:var(--font-title);font-size:clamp(1.5rem,4vw,2.25rem);font-weight:700;margin-bottom:2.5rem;text-align:center}.reading-guide{background-color:var(--color-surface-1);border:1px solid var(--color-surface-3);border-radius:var(--radius-card);list-style:none;margin-bottom:2rem}.reading-guide__summary{align-items:center;cursor:pointer;display:flex;gap:.75rem;justify-content:space-between;list-style:none;padding:1rem 1.25rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.reading-guide__summary::-webkit-details-marker{display:none}.reading-guide__summary::marker{display:none}.reading-guide__summary-text{color:var(--color-accent);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.reading-guide__summary-chevron{color:var(--color-text-muted);flex-shrink:0;transition:transform .25s ease}.reading-guide[open] .reading-guide__summary-chevron{transform:rotate(180deg)}.reading-guide__content{border-top:1px solid var(--color-surface-3);gap:1.25rem;padding:0 1.25rem 1.25rem}.reading-guide__card-wrap,.reading-guide__content{align-items:center;display:flex;flex-direction:column}.reading-guide__card-wrap{gap:.5rem;padding-top:1rem}.reading-guide__card-wrap p{color:var(--color-text-muted);font-size:.68rem;letter-spacing:.06em;margin:0;text-transform:uppercase}.reading-guide__demo{background:linear-gradient(135deg,#b06a10,#c8871a);border:2px solid rgba(200,135,26,.4);border-radius:.875rem;box-shadow:0 4px 20px rgba(0,0,0,.35);color:#fff;flex-direction:column;height:152px;padding:.4rem;width:152px}.reading-guide__demo,.reading-guide__demo-row{display:flex;justify-content:space-between}.reading-guide__demo-cell{align-items:center;border-radius:.25rem;display:flex;flex-direction:column;font-size:.62rem;font-weight:600;gap:2px;opacity:.85;padding:2px 3px;text-align:center;transition:opacity .2s ease,transform .2s ease}.reading-guide__demo-cell.highlight{background-color:hsla(0,0%,100%,.2);opacity:1;transform:scale(1.08)}.reading-guide__demo-cell img{filter:brightness(0) invert(1);width:15px}.reading-guide__demo-name{align-items:center;display:flex;font-family:var(--font-title);font-size:.85rem;font-weight:700;justify-content:center;line-height:1.2;padding:0 .2rem;text-align:center}.reading-guide__legend{display:grid;gap:.625rem;grid-template-columns:1fr 1fr;width:100%}.reading-guide__legend-item{align-items:center;background-color:var(--color-surface-2);border:1px solid var(--color-surface-3);border-radius:.5rem;cursor:default;display:flex;flex-direction:column;gap:.375rem;padding:.75rem .5rem;text-align:center;transition:border-color .15s ease}.reading-guide__legend-item:hover{border-color:var(--color-accent)}.reading-guide__legend-item:hover .reading-guide__legend-icon{transform:scale(1.15)}.reading-guide__legend-icon{align-items:center;display:flex;justify-content:center;transition:transform .2s ease}.reading-guide__legend-icon img{opacity:.8;width:22px}:root .reading-guide__legend-icon img,[data-theme=dark] .reading-guide__legend-icon img{filter:brightness(0) invert(.7) sepia(1) hue-rotate(10deg) saturate(2)}.reading-guide__legend-body strong{color:var(--color-text-primary);display:block;font-size:.8rem;font-weight:700}.reading-guide__legend-body p{color:var(--color-text-muted);display:none;font-size:.75rem;line-height:1.4;margin:.25rem 0 0;text-align:left}@media (min-width:640px){.reading-guide__content{align-items:flex-start;flex-direction:row;gap:2rem}.reading-guide__card-wrap{flex-shrink:0;padding-top:1rem}.reading-guide__demo{height:180px;width:180px}.reading-guide__demo-cell img{width:18px}.reading-guide__demo-name{font-size:.95rem}.reading-guide__legend{flex:1;min-width:0}.reading-guide__legend-item{align-items:flex-start;flex-direction:row;gap:.625rem;padding:.75rem;text-align:left}.reading-guide__legend-body p{display:block}}.clf-filters{background-color:var(--color-surface-1);border:1px solid var(--color-surface-3);border-radius:var(--radius-card);margin-bottom:2rem;overflow:hidden}.clf-filters__header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.25rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.clf-filters__header-left{align-items:center;display:flex;gap:.625rem}.clf-filters__title{color:var(--color-text-primary);font-size:.875rem;font-weight:600;margin:0}.clf-filters__badge{background-color:var(--color-accent);border-radius:1rem;color:#fff;display:none;font-size:.7rem;font-weight:700;line-height:1.6;padding:.1em .5em}.clf-filters__badge.visible{display:inline-block}.clf-filters__toggle-btn{align-items:center;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:.8125rem;gap:.375rem;padding:0;transition:color .15s ease}.clf-filters__toggle-btn:hover{color:var(--color-accent)}.clf-filters__chevron{transition:transform .25s ease}.clf-filters__chevron.open{transform:rotate(180deg)}.clf-filters__body{border-top:1px solid var(--color-surface-3);padding:0 1.25rem 1.25rem}.clf-filters__body[hidden]{display:none}.clf-filters__grid{display:grid;gap:.875rem;grid-template-columns:1fr;margin-top:1rem}@media (min-width:600px){.clf-filters__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:900px){.clf-filters__grid{grid-template-columns:repeat(4,1fr)}}.clf-filters__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.clf-results-bar{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem;min-height:1.75rem}.clf-results-count{color:var(--color-text-muted);font-size:.8125rem}#beer-list.loading{opacity:.4;pointer-events:none;transition:opacity .2s ease}.clf-family{margin-bottom:3rem}.clf-family__title{border-bottom:2px solid var(--color-accent);color:var(--color-text-primary);display:inline-block;font-family:var(--font-title);font-size:clamp(1.1rem,3vw,1.5rem);font-weight:700;left:50%;letter-spacing:.05em;margin-bottom:1.5rem;padding-bottom:.5rem;position:relative;text-align:center;text-transform:uppercase;transform:translateX(-50%)}.clf-family__categories{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.clf-category{align-items:center;display:flex;flex-direction:column;min-width:180px}.clf-category__title{align-items:center;color:var(--color-text-secondary);display:flex;font-size:.75rem;font-weight:700;height:2.5em;letter-spacing:.08em;margin-bottom:.75rem;text-align:center;text-transform:uppercase}.clf-category__styles{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.style-card{border:1px solid rgba(0,0,0,.15);border-radius:.875rem;box-shadow:0 2px 8px rgba(0,0,0,.2);cursor:pointer;display:flex;flex-direction:column;font-style:italic;height:170px;justify-content:space-between;overflow:hidden;padding:.5rem;position:relative;transition:transform .2s ease,box-shadow .2s ease;width:170px}.style-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.35);transform:translateY(-4px) scale(1.03);z-index:2}.style-card__row{align-items:flex-start;display:flex;justify-content:space-between}.style-card__stat{align-items:center;display:flex;flex-direction:column;font-size:.62rem;font-weight:600;gap:2px;line-height:1.2;text-align:center}.style-card__stat img{height:16px;width:16px}.style-card__name{font-family:var(--font-title);font-size:clamp(.8rem,2vw,1rem);font-style:normal;font-weight:700;line-height:1.2;padding:0 .125rem;text-align:center}.style-modal{align-items:flex-end;background-color:transparent;display:flex;inset:0;justify-content:center;padding:0;position:fixed;transition:background-color .25s ease,visibility .25s;visibility:hidden;z-index:1000}@media (min-width:640px){.style-modal{align-items:center;padding:1rem}}.style-modal.active{background-color:rgba(0,0,0,.7);visibility:visible}.style-modal__inner{background-color:var(--color-surface-1);border:1px solid var(--color-surface-3);border-radius:var(--radius-card) var(--radius-card) 0 0;max-height:85vh;max-width:560px;overflow-y:auto;position:relative;transform:translateY(100%);transition:transform .3s cubic-bezier(.32,.72,0,1);width:100%}@media (min-width:640px){.style-modal__inner{border-radius:var(--radius-card);opacity:0;transform:translateY(24px);transition:transform .25s ease,opacity .25s ease}}.style-modal.active .style-modal__inner{opacity:1;transform:translateY(0)}.style-modal__color-bar{border-radius:var(--radius-card) var(--radius-card) 0 0;height:5px}.style-modal__head{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;padding:1.25rem 1.25rem 0}.style-modal__title{color:var(--color-text-primary);font-family:var(--font-title);font-size:1.375rem;font-weight:700;margin:0}.style-modal__close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;flex-shrink:0;font-size:1.5rem;line-height:1;padding:.125rem .25rem;transition:color .15s ease}.style-modal__close:hover{color:var(--color-text-primary)}.style-modal__body{padding:1rem 1.25rem 1.5rem}.style-modal__stats{display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr);margin-bottom:1.25rem}.style-modal__stat{background-color:var(--color-surface-2);border:1px solid var(--color-surface-3);border-radius:.5rem;padding:.5rem .375rem;text-align:center}.style-modal__stat-label{color:var(--color-text-muted);display:block;font-size:.65rem;font-weight:600;letter-spacing:.06em;margin-bottom:.25rem;text-transform:uppercase}.style-modal__stat-val{color:var(--color-text-primary);display:block;font-family:var(--font-mono);font-size:.8125rem;font-weight:600}.style-modal__meta{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:1rem}.style-modal__desc{border-top:1px solid var(--color-surface-3);color:var(--color-text-secondary);font-size:.9rem;line-height:1.65;margin-top:.5rem;padding-top:1rem}.style-modal__desc p{margin:0 0 .75em}.style-modal__desc p:last-child{margin-bottom:0}.glossary-word{border-bottom:1px dashed var(--color-accent);color:var(--color-accent);cursor:help;transition:background-color .1s ease}.glossary-word:hover{background-color:var(--color-accent-muted);border-radius:2px}.clf-empty{color:var(--color-text-muted);font-size:.9375rem;padding:3rem 1rem;text-align:center}.beers-grid{display:grid;gap:1rem;grid-template-columns:1fr;padding-block:1rem}@media (min-width:480px){.beers-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){.beers-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.beers-grid{grid-template-columns:repeat(4,1fr)}}.beer-card{background-color:var(--color-surface-1);border:1px solid var(--color-surface-3);border-radius:var(--radius-card);color:inherit;display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:border-color .15s ease,transform .15s ease}.beer-card:hover{border-color:var(--color-accent);transform:translateY(-2px)}.beer-card__img-wrapper{aspect-ratio:3/4;background-color:var(--color-surface-2);overflow:hidden}.beer-card__img{height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease;width:100%}.beer-card:hover .beer-card__img{transform:scale(1.03)}.beer-card__body{display:flex;flex:1;flex-direction:column;gap:.25rem;padding:.875rem}.beer-card__name{color:var(--color-text-primary);font-family:var(--font-title);font-size:1rem;font-weight:700;line-height:1.3}.beer-card__slogan{color:var(--color-text-secondary);font-size:.8125rem;font-style:italic;line-height:1.4}.beer-card__meta{align-items:center;display:flex;justify-content:space-between;margin-top:auto;padding-top:.5rem}.beer-card__style{color:var(--color-text-muted);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}.beer-card__abv{color:var(--color-accent);font-size:.875rem}.empty-state{padding:3rem 1rem;text-align:center}.empty-state__text{color:var(--color-text-muted);font-size:1rem}.back-link{align-items:center;color:var(--color-text-secondary);display:inline-flex;font-size:.875rem;font-weight:500;gap:.375rem;padding-block:.75rem;text-decoration:none;transition:color .15s ease}.back-link:hover{color:var(--color-accent)}.beer-detail{margin-inline:auto;max-width:720px}.beer-detail__header{background-color:var(--color-surface-1);border:1px solid var(--color-surface-3);border-radius:var(--radius-card);display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1rem;padding:1.25rem}@media (min-width:640px){.beer-detail__header{align-items:flex-start;flex-direction:row}}.beer-detail__img-wrapper{align-self:center;border-radius:var(--radius-input);flex-shrink:0;overflow:hidden;width:140px}@media (min-width:640px){.beer-detail__img-wrapper{align-self:flex-start}}.beer-detail__img{display:block;height:auto;width:100%}.beer-detail__intro{display:flex;flex-direction:column;gap:.5rem}.beer-detail__name{font-family:var(--font-title);font-size:clamp(1.5rem,4vw,2rem);font-weight:700;line-height:1.2}.beer-detail__slogan{color:var(--color-text-secondary);font-size:.9375rem;font-style:italic}.beer-detail__badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.beer-detail__badge-style{background-color:var(--color-accent-muted);border:1px solid color-mix(in srgb,var(--color-accent) 30%,transparent);color:var(--color-accent)}.beer-detail__badge-available{background-color:color-mix(in srgb,var(--color-success) 15%,transparent);color:var(--color-success)}.beer-detail__badge-unavailable{background-color:color-mix(in srgb,var(--color-text-muted) 15%,transparent);color:var(--color-text-muted)}.beer-stats{background-color:var(--color-surface-1);border:1px solid var(--color-surface-3);border-radius:var(--radius-card);display:flex;margin-bottom:1rem;overflow:hidden}.beer-stat{align-items:center;border-right:1px solid var(--color-surface-3);display:flex;flex:1;flex-direction:column;min-width:0;padding:.875rem .5rem}.beer-stat:last-child{border-right:none}.beer-stat__label{color:var(--color-text-muted);font-size:.6875rem;font-weight:600;letter-spacing:.05em;margin-bottom:.25rem;text-transform:uppercase}.beer-stat__value{align-items:center;color:var(--color-text-primary);display:flex;font-family:var(--font-mono);font-size:.9375rem;font-weight:500;gap:.375rem}.beer-stat__srm-dot{border:1px solid hsla(0,0%,100%,.2);border-radius:50%;display:inline-block;flex-shrink:0;height:14px;width:14px}.accordion{border:1px solid var(--color-surface-3);border-radius:var(--radius-card);display:flex;flex-direction:column;overflow:hidden}.accordion__item{border-bottom:1px solid var(--color-surface-3)}.accordion__item:last-child{border-bottom:none}.accordion__trigger{align-items:center;background-color:var(--color-surface-1);border:none;color:var(--color-text-primary);cursor:pointer;display:flex;font-family:var(--font-body);font-size:.9375rem;font-weight:500;justify-content:space-between;padding:1rem 1.25rem;text-align:left;transition:background-color .1s ease;width:100%}.accordion__trigger:hover{background-color:var(--color-surface-2)}.accordion__trigger[aria-expanded=true]{background-color:var(--color-surface-2);color:var(--color-accent)}.accordion__icon{color:var(--color-text-muted);flex-shrink:0;transition:transform .2s ease}.accordion__trigger[aria-expanded=true] .accordion__icon{color:var(--color-accent);transform:rotate(180deg)}.accordion__panel{background-color:var(--color-surface-2);display:none}.accordion__panel--open{display:block}.accordion__content{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.7;padding:1rem 1.25rem}.ingredient-group{margin-bottom:1rem}.ingredient-group:last-child{margin-bottom:0}.ingredient-group__title{color:var(--color-text-primary);font-size:.875rem;font-weight:600;margin-bottom:.5rem}.ingredient-tags{display:flex;flex-wrap:wrap;gap:.375rem}.ingredient-tag{background-color:var(--color-surface-3);border-radius:2rem;color:var(--color-text-primary);display:inline-block;font-size:.8125rem;font-weight:500;padding:.25rem .625rem}.beer-details__page-container{margin:0 auto;width:100%}.beer-details__container{margin:0 auto;max-width:1200px;padding:2em;text-align:center;width:95%}.beer-details__title{padding:2em}.beer-details__title h2{font-family:var(--font-title);font-size:2.5em;font-weight:700;text-transform:uppercase}.beer-details__picture img{height:auto;-o-object-fit:cover;object-fit:cover;width:100%}.beer-details__slogan{padding:2em}.beer-details__slogan p{font-size:1.5rem;font-style:italic;font-weight:700}.beer-details__tabs .tab span{font-weight:700}.beer-details__tabs{display:flex;flex-direction:column;width:100%}.tab{border:1px solid #ccc;cursor:pointer;display:flex;font-size:1.25em;justify-content:space-between;margin-right:10px;padding:20px}.tab-left,.tab-middle,.tab-right{font-weight:700;width:30%}.tab-left{padding-left:10px;text-align:start}.tab-right{padding-right:10px;text-align:end}.tab-middle{font-weight:500}.tab-content{border:1px solid #ccc;display:none;padding:10px}.tab-content.active{display:block}@media only screen and (max-width:400px){.beer-details__container{padding:0;width:100%}.tab{font-size:1em}}.style-details__container{margin:0 auto;min-height:95%;width:95%}.modal__inner-container{height:100%;position:relative;width:100%}.modal-content{background-color:#fff;border-radius:12px;height:100%;min-height:80vh;overflow-y:scroll;padding:5%;width:100%}.close-modal{font-size:5rem;position:absolute;right:1rem;top:-1rem}.style-details__name{font-family:var(--font-title);font-size:1.5em;font-weight:700;padding-bottom:.5em;padding-top:1.75em;text-align:center;text-transform:uppercase}.style-details__text{margin-top:1em}.style-details__span{font-weight:700}.toast{align-items:center;border:1px solid transparent;border-radius:var(--radius-btn);bottom:1.5rem;box-shadow:0 4px 16px rgba(0,0,0,.25);display:flex;font-size:.9375rem;font-weight:500;gap:.75rem;justify-content:space-between;left:1rem;opacity:0;padding:.875rem 1rem;position:fixed;right:1rem;transform:translateY(.5rem);transition:opacity .2s ease,transform .2s ease;z-index:9999}.toast--visible{opacity:1;transform:translateY(0)}@media (min-width:480px){.toast{left:auto;max-width:420px;width:auto}}.toast--success{background-color:color-mix(in srgb,var(--color-success) 15%,var(--color-surface-1));border-color:color-mix(in srgb,var(--color-success) 40%,transparent);color:var(--color-success)}.toast--error{background-color:color-mix(in srgb,var(--color-error) 15%,var(--color-surface-1));border-color:color-mix(in srgb,var(--color-error) 40%,transparent);color:var(--color-error)}.toast--warning{background-color:color-mix(in srgb,var(--color-warning) 15%,var(--color-surface-1));border-color:color-mix(in srgb,var(--color-warning) 40%,transparent);color:var(--color-warning)}.toast--info{background-color:color-mix(in srgb,var(--color-info) 15%,var(--color-surface-1));border-color:color-mix(in srgb,var(--color-info) 40%,transparent);color:var(--color-info)}.toast__content{align-items:center;display:flex;gap:.625rem}.toast__icon{flex-shrink:0;font-size:1rem}.toast__close{background:transparent;border:none;color:currentColor;cursor:pointer;flex-shrink:0;font-size:.875rem;line-height:1;opacity:.6;padding:.125rem;transition:opacity .15s ease}.toast__close:hover{opacity:1}.messages__container{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:600px;width:100%}.messages__title{padding:3em;text-transform:uppercase}.messages__style{background-color:#f2f0e1;border-radius:0 0 1em 1em;margin:0 auto;min-height:50vh;width:100%}.messages__form{display:flex;justify-content:space-between;margin-top:.5em;width:50%}.messages__input{padding:1em;width:90%}.messages__recipient-pseudo{background-color:#f5ce59;border-radius:1em 1em 0 0;font-weight:700;padding:1em}.messages__send-btn{background-color:#f2f0e1;border:none;border-radius:1em;font-weight:700;padding:1em}.messages__send-btn:hover{background-color:#f5ce59}.recipient__style,.sender__style{width:100%}.recipient__style{display:flex;justify-content:end}.recipient__message,.sender__message{border-radius:1em;margin:.5em;padding:.5em;width:-moz-fit-content;width:fit-content}.sender__message{background-color:#f5ce59;text-align:left}.recipient__message{background-color:#f59d59;text-align:end}@media only screen and (min-width:350px){.messages__form,.messages__style{width:98%}}h1{padding:1rem;text-align:center;text-transform:uppercase}