:root{--ink:#171d20;--muted:#5a6369;--paper:#f1f3f5;--line:#dce1e5;--yellow:#f4c542;--white:#fff;--radius:14px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.5}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button,select{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #296bc7;outline-offset:4px}button{touch-action:manipulation}.wrap{width:min(1200px,calc(100% - 48px));margin:auto}.masthead{background:var(--yellow)}.topline{display:flex;align-items:center;justify-content:space-between;padding-top:22px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:14px;line-height:1.15;font-weight:900;letter-spacing:.07em}.brandmark{font-size:32px;background:var(--ink);color:var(--yellow);width:46px;height:46px;display:grid;place-items:center;letter-spacing:-.08em;border-radius:9px}.help{background:transparent;border:0;padding:10px 0 10px 10px;font-size:14px;font-weight:700}.help span{display:inline-grid;place-items:center;border:1px solid var(--ink);width:22px;height:22px;border-radius:50%;margin-left:5px}.event{display:flex;justify-content:space-between;align-items:center;padding:24px 0 27px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.11em;margin:0 0 4px}h1{font-size:clamp(32px,4.8vw,58px);line-height:1.05;margin:0;font-weight:900;letter-spacing:-.05em}h1 span{font-style:italic}.eventname{margin:8px 0 0;font-size:16px}.eventstamp{display:flex;align-items:center;gap:14px;padding-left:26px;border-left:1px solid #171d2045}.eventstamp strong{font-size:66px;letter-spacing:-.06em;line-height:1}.eventstamp span{font-size:14px;line-height:1.3}.ticker{background:var(--ink);color:var(--yellow);padding:8px 0;font-size:12px;letter-spacing:.14em;font-weight:700}.ticker span{padding:0 18px}.filters{padding:25px 0 15px}.filterrow{display:grid;grid-template-columns:1fr 260px;gap:12px}.search{display:flex;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:10px;min-width:0}.search>span{font-size:32px;padding:0 12px;line-height:1}.search input{width:100%;border:0;background:transparent;padding:14px 12px 14px 0;min-width:0;outline-offset:0}.barfilter select{width:100%;height:100%;min-height:52px;border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--white);color:var(--ink)}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.chips button{border:1px solid #d4dade;background:transparent;border-radius:30px;padding:8px 15px;font-size:14px;color:var(--muted);min-height:40px}.chips button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.resultsbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:5px 0 15px;font-size:14px;color:var(--muted)}.resultsbar p{margin:0}h2{margin:0;font-size:23px;letter-spacing:-.035em;line-height:1.2}.venuehead{display:flex;align-items:center;gap:12px;margin:28px 0 14px}.venuehead .venueindex{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--ink);border-radius:50%;font-family:monospace;font-size:14px}.venuehead .venueno{margin-left:auto;color:var(--muted);font-size:14px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.beer{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;min-width:0}.visual{position:relative;background:#f9fafb;height:184px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #edf0f2;overflow:hidden}.visual img{height:146px;width:146px;object-fit:contain;border-radius:8px}.visual.brandimage img{height:112px;width:112px}.imagecaption{position:absolute;bottom:8px;left:0;right:0;text-align:center;color:var(--muted);font-size:12px}.category{position:absolute;top:12px;left:12px;font-size:12px;line-height:1;border-radius:4px;border:1px solid var(--line);padding:6px 8px;background:white;font-weight:700}.abv{position:absolute;top:11px;right:12px;font-size:14px;font-weight:700}.beerbody{padding:18px;display:flex;flex:1;flex-direction:column}.brewery{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}.beer h3{font-size:22px;line-height:1.15;letter-spacing:-.035em;margin:0 0 9px;overflow-wrap:anywhere}.style{font-size:14px;color:var(--muted);margin:0 0 14px;line-height:1.5}.ratingrow{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;margin-bottom:14px}.rating{font-size:21px;font-weight:800;white-space:nowrap}.rating .star{color:#a77500;margin-right:5px}.rating small{font-size:12px;color:var(--muted);font-weight:400}.rating.unrated{font-size:14px;color:var(--muted);font-weight:400}.badge{font-size:12px;color:#795016;background:#fff3d6;border-radius:4px;padding:4px 6px}.cta{display:flex;align-items:center;justify-content:space-between;text-decoration:none;border:0;background:var(--yellow);color:var(--ink);border-radius:8px;padding:12px 14px;min-height:47px;width:100%;font-size:14px;font-weight:800;text-align:left}.cta:hover{background:#e9ba32}.cta.secondary{background:#edf0f2}.cta.secondary:hover{background:#e2e6e9}.cta span:last-child{font-size:20px;line-height:1}.missingimage{font-weight:900;letter-spacing:.02em;font-size:23px;padding:35px;text-align:center;color:var(--muted)}footer{border-top:1px solid var(--line);margin-top:42px;padding:27px 0 90px;color:var(--muted);font-size:13px;max-width:780px}footer strong{color:var(--ink);font-size:14px;letter-spacing:.08em}footer p{margin:10px 0}#empty{padding:35px 0 60px}#empty button{padding:12px 18px;border:0;border-radius:8px;background:var(--yellow);font-weight:700}dialog{border:0;border-radius:20px;padding:24px;width:min(460px,calc(100% - 28px));color:var(--ink);max-height:85vh;overflow:auto;box-shadow:0 20px 100px #0005}dialog::backdrop{background:#101a22a6;backdrop-filter:blur(3px)}.dialogtop{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;font-size:12px;letter-spacing:.08em;font-weight:700;color:var(--muted)}.dialogtop button{border:0;background:#edf0f2;border-radius:50%;width:38px;height:38px;font-size:25px;color:var(--ink)}#dialogbody h2{font-size:28px}#dialogbody p{line-height:1.6}#dialogbody .cta{margin-top:12px}.dialogmeta{font-size:14px;color:var(--muted)}.webalternative{display:block;text-align:center;padding:14px;font-size:14px}.fallback{position:fixed;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(500px,calc(100% - 24px));background:var(--ink);color:#fff;padding:14px 16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-radius:12px;box-shadow:0 6px 30px #0004;font-size:14px;z-index:10}.fallback a{color:var(--yellow);font-weight:700}.fallback button{margin-left:auto;background:none;color:white;border:0;font-size:24px;min-width:36px;min-height:36px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(min-width:1000px){.beer:hover{box-shadow:0 8px 20px #171d200b}}@media(max-width:850px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.eventstamp strong{font-size:50px}}@media(max-width:540px){.wrap{width:calc(100% - 32px)}.topline{padding-top:16px}.brandmark{height:38px;width:38px;font-size:27px}.brand{font-size:12px}.event{padding:20px 0}.eyebrow{font-size:12px}h1{font-size:36px;max-width:250px}.eventname{font-size:14px}.eventstamp{padding-left:10px;display:block;text-align:center}.eventstamp strong{font-size:38px;display:block}.eventstamp span{font-size:12px;display:block;margin-top:4px}.ticker{font-size:12px;letter-spacing:.08em}.ticker span{padding:0 8px}.filters{padding-top:18px}.filterrow{grid-template-columns:1fr;gap:9px}.search input{padding-top:12px;padding-bottom:12px}.barfilter select{min-height:46px;padding:9px 12px}.chips{gap:6px;margin-top:12px}.chips button{padding:7px 12px;font-size:14px;min-height:38px}.resultsbar{font-size:13px;margin-bottom:12px}.venuehead{margin-top:22px}.venuehead h2{font-size:23px}.grid{grid-template-columns:1fr;gap:14px}.beer{display:grid;grid-template-columns:116px minmax(0,1fr)}.visual{height:auto;min-height:210px;border-bottom:0;border-right:1px solid #edf0f2;flex-direction:column;justify-content:center;padding-top:32px;padding-bottom:30px}.visual img{width:98px;height:98px;border-radius:6px}.visual.brandimage img{width:88px;height:88px}.category{top:12px;left:10px;font-size:12px;padding:5px 6px}.abv{top:auto;bottom:12px;right:0;left:0;text-align:center}.imagecaption{bottom:34px;font-size:12px}.beerbody{padding:15px 13px}.beer h3{font-size:21px}.brewery{font-size:12px;letter-spacing:.03em}.style{font-size:14px;margin-bottom:10px}.ratingrow{margin-bottom:10px;align-items:flex-start;flex-wrap:wrap}.rating{font-size:20px}.cta{padding:11px 10px;font-size:14px;gap:7px}.badge{font-size:12px}.missingimage{padding:10px;font-size:17px}.venueno{font-size:13px!important}footer{font-size:13px}}@media(prefers-reduced-motion:no-preference){.beer{transition:box-shadow .2s}.cta{transition:background .15s}}@media(max-width:350px){.beer{grid-template-columns:92px 1fr}.visual img{width:76px;height:76px}.beerbody{padding:12px 10px}.beer h3{font-size:20px}.eventstamp{display:none}}

.medalpanel{margin-top:24px;padding:22px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}.medalheading{display:flex;align-items:center;justify-content:space-between;gap:14px}.medalheading>strong{font-size:24px;white-space:nowrap}.medalpanel .eyebrow{color:var(--muted)}#progresstext{margin:12px 0 8px;font-size:16px}#medalprogress{appearance:none;width:100%;height:10px;display:block;border:0;border-radius:20px;overflow:hidden;background:#e4e8eb}#medalprogress::-webkit-progress-bar{background:#e4e8eb}#medalprogress::-webkit-progress-value{background:var(--yellow)}#medalprogress::-moz-progress-bar{background:var(--yellow)}.medalgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}.medal{display:flex;flex-direction:column;align-items:center;text-align:center;padding:14px 8px;border:1px dashed #cbd1d5;border-radius:10px;gap:3px;background:#f6f7f8}.medalicon{font-size:34px;line-height:1.2}.medal.locked .medalicon{filter:grayscale(1);opacity:.55}.medal strong{font-size:16px;line-height:1.3}.medal>span:not(.medalicon){font-size:14px;color:var(--muted)}.medal.earned{border-style:solid}.medal.bronze.earned{background:#fae9d9;border-color:#aa6431}.medal.silver.earned{background:#e8edf3;border-color:#7b8897}.medal.gold.earned{background:#fff2b5;border-color:#ab7c00}.medal.earned .medalstatus{color:var(--ink);font-weight:700}.collectionnote{font-size:14px;color:var(--muted);margin:14px 0 0}.storagewarning{font-size:14px;color:#8a320c}.completedbutton{width:100%;min-height:44px;margin-top:9px;padding:10px 8px;border:1px solid #cbd1d5;border-radius:8px;color:var(--ink);background:white;font-size:14px;font-weight:700}.completedbutton[aria-pressed=true]{background:var(--ink);color:var(--yellow);border-color:var(--ink)}.beer.is-completed{border-color:#8c792e}@media(max-width:540px){.medalpanel{padding:16px;margin-top:18px}.medalgrid{gap:6px}.medal{padding:12px 5px}.medal strong{font-size:14px}.medalheading>strong{font-size:21px}}

.sideheading{font-size:16px;margin:20px 0 10px}.sidebadges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sidebadge{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px dashed #cbd1d5;border-radius:10px}.sideicon{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:50%;background:#edf0f2;color:var(--muted);font-size:22px}.sidebadge strong{font-size:16px}.sidebadge p{font-size:14px;color:var(--muted);margin:4px 0}.sidebadge div>span{font-size:14px;font-weight:700}.sidebadge.earned{border:1px solid #c9a027;background:#fffae6}.sidebadge.earned .sideicon{background:var(--yellow);color:var(--ink)}@media(max-width:850px){.sidebadges{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.sidebadges{grid-template-columns:1fr}}

.achievements>summary{cursor:pointer;list-style:none;border-radius:6px}.achievements>summary::-webkit-details-marker{display:none}.achievements>summary:focus-visible{outline:3px solid #296bc7;outline-offset:6px}.achievementcontrols{display:flex;align-items:center;gap:20px}.achievementcontrols>strong{font-size:22px;white-space:nowrap}.achievementtoggle{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700}.achievementchevron{font-size:24px;line-height:1}.achievements:not([open]) .whenopen,.achievements[open] .whenclosed{display:none}.achievements[open] .achievementchevron{transform:rotate(180deg)}.achievements>summary #medalprogress{margin-top:12px;height:6px}.medalpanel{padding:16px 20px}.medalheading h2{font-size:20px}.medalheading .eyebrow{font-size:12px}.achievementbody{padding-top:2px}@media(max-width:540px){.medalpanel{padding:13px 15px}.achievementcontrols{gap:12px}.achievementcontrols>strong{font-size:18px}.achievementtoggle{gap:5px}.medalheading{gap:8px}.medalheading h2{font-size:18px}}@media(max-width:350px){.achievementcontrols{gap:5px;flex-direction:column;align-items:flex-end}}

.beerheading{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;margin-bottom:5px}.beerheading .brewery{padding-top:8px;margin:0}.favoritebutton{flex:0 0 44px;width:44px;height:44px;margin:-7px -5px 0 0;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:29px;line-height:1}.favoritebutton[aria-pressed=true]{color:#a5294b;background:#fff0f4}.favoritebutton:hover{background:#f5e5ea}.favoritesrow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}#favoritesfilter{display:flex;align-items:center;gap:8px;min-height:44px;border:1px solid #cbd1d5;border-radius:24px;padding:8px 14px;background:white;color:var(--ink);font-size:14px;font-weight:700}#favoritesfilter[aria-pressed=true]{background:var(--ink);color:var(--yellow);border-color:var(--ink)}#favoritescount{min-width:24px;padding:0 5px;text-align:center;border-radius:20px;background:#edf0f2;color:var(--ink)}.favoriteshint{font-size:14px;color:var(--muted)}@media(max-width:540px){.favoritesrow{gap:8px}.favoriteshint{font-size:12px}}

.venuedirections{display:flex;justify-content:space-between;align-items:center;gap:8px 16px;flex-wrap:wrap;margin:-5px 0 14px;font-size:14px;color:var(--muted)}.mapsroute{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 12px;border:1px solid #cbd1d5;background:white;border-radius:8px;color:var(--ink);font-weight:700;text-decoration:none}.mapsroute:hover{background:var(--yellow);border-color:var(--yellow)}@media(max-width:540px){.venuedirections{margin-top:-4px}.mapsroute{font-size:14px}}

.allbarsmap{margin-top:14px;background:white;border:1px solid var(--line);border-radius:14px;padding:14px 16px}.allbarsmap>summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:32px;list-style:none}.allbarsmap>summary::-webkit-details-marker{display:none}.allbarsmap>summary:focus-visible{outline:3px solid #296bc7;outline-offset:4px}.maptoggle,.mapintro{font-size:14px}.mapintro{color:var(--muted);margin:12px 0}#venuesmap{height:380px;border-radius:10px;background:#e7ecef;z-index:0}.mapvenues{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.mapvenues button{min-height:44px;border:1px solid var(--line);border-radius:8px;background:white;padding:8px 12px;font-size:14px;color:var(--ink)}.barpin{background:var(--yellow);border:2px solid var(--ink);border-radius:50%;color:var(--ink);display:grid;place-items:center;font-size:15px;font-weight:800;box-shadow:0 2px 5px #0003}.leaflet-popup-content{font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.5}.leaflet-popup-content strong{font-size:16px}.leaflet-popup-content .mapsroute{color:var(--ink);margin-top:8px}#maperror{font-size:14px;color:#8a320c}@media(max-width:540px){#venuesmap{height:340px}.allbarsmap>summary{flex-wrap:wrap}.maptoggle{font-size:14px}}

.ratingblock{display:flex;flex-direction:column;gap:2px;min-width:0}.ratingcount{font-size:12px;line-height:1.4;color:var(--muted)}
