:root{--ink:#153f36;--sub:#596961;--paper:#f5f4ed;--line:#d9dfd7;--amber:#94621b;--green:#256448}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,'Noto Sans JP','Yu Gothic',Meiryo,sans-serif;line-height:1.65}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}a{color:var(--ink);text-underline-offset:3px}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #c58725;outline-offset:3px}[hidden]{display:none!important}.skip{position:absolute;top:-80px;left:20px;background:white;padding:10px;z-index:99}.skip:focus{top:10px}header{background:var(--ink);color:#fff;min-height:82px;padding:18px max(5vw,20px);display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{color:#fff;text-decoration:none;display:flex;align-items:center;gap:14px;font-weight:700;letter-spacing:2px;font-size:16px;line-height:1.3}.brand small{display:block;font-size:9px;letter-spacing:3px;font-weight:400;margin-top:7px}.brand-icon{border:1px solid #9da997;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font-family:Georgia,serif;font-size:28px}.header-tag{font-size:10px;letter-spacing:3px;color:#ccd6c7}main{max-width:1600px;margin:auto;padding:36px max(4vw,20px) 30px}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;margin:0 0 10px;color:var(--sub)}h1{margin:0;font-size:clamp(25px,2.6vw,38px);letter-spacing:.03em;font-weight:700;line-height:1.4}h1 span{display:block;font-size:13px;font-weight:400;letter-spacing:.08em;margin-top:10px;color:var(--sub)}.source-date{font-size:11px;color:var(--sub);text-align:right;white-space:nowrap}.source-date strong{display:block;font-size:16px;color:var(--ink);font-weight:500}.source-date span{display:block;font-size:10px;margin-top:3px}.stats{display:grid;grid-template-columns:repeat(4,1fr);margin:30px 0 20px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stats div{padding:0 24px;border-left:1px solid var(--line)}.stats div:first-child{border:0;padding-left:0}.stats strong{font-size:31px;line-height:1.2;font-family:Georgia,serif;letter-spacing:1px}.stats span{display:block;font-size:11px;color:var(--sub);margin-top:7px}.notice{display:flex;gap:12px;padding:13px 17px;background:#e9eddf;border-left:3px solid #809676;font-size:11px;color:#405448}.notice>span{font-size:20px}.notice p{margin:0}.filters{display:flex;gap:14px;align-items:flex-end;margin:24px 0 12px}.filters label{display:flex;flex-direction:column;gap:6px;font-size:11px;color:var(--sub);font-weight:600}.search-label{flex:1;min-width:160px}input,select{height:45px;border:1px solid #ccd5cb;border-radius:4px;background:#fff;padding:10px 12px;color:var(--ink);font-size:13px}select{min-width:160px}.secondary{border:1px solid #ccd5cb;background:transparent;color:var(--ink);border-radius:4px;font-size:12px;min-height:40px;padding:8px 14px}.filters .secondary{height:45px;white-space:nowrap}.view-bar{display:flex;justify-content:space-between;align-items:center;gap:10px}.view-bar p{font-size:12px}.segmented{display:flex;border:1px solid #c8d3c7;border-radius:4px;overflow:hidden}.segmented button{border:0;background:transparent;color:var(--sub);padding:8px 16px;font-size:11px}.segmented button.active{background:var(--ink);color:#fff}.workspace{display:grid;grid-template-columns:minmax(310px,37%) minmax(0,1fr);border:1px solid #d2d9cf;border-radius:7px;overflow:hidden;background:white;min-height:680px}.list-panel{display:flex;flex-direction:column;border-right:1px solid var(--line)}#results{height:650px;overflow:auto;scrollbar-width:thin;scrollbar-color:#b3c0b1 transparent}.brewery-card{padding:18px 20px;border-bottom:1px solid #e6eae3;position:relative;cursor:pointer}.brewery-card:hover{background:#f5f7f1}.brewery-card.selected{background:#edf2e5;border-left:4px solid #557746;padding-left:16px}.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.card-name{font-size:15px;line-height:1.5;text-align:left;color:var(--ink);font-weight:700;border:0;background:none;padding:0}.pref-tag{display:inline-block;color:#617758;font-size:10px;letter-spacing:1px;margin-bottom:5px}.badge{font-size:9px;padding:3px 7px;border-radius:3px;white-space:nowrap;border:1px solid #d7c9a9;background:#f8f2e5;color:#7f5b22}.badge.operating{background:#e7f0e6;border-color:#c1d5be;color:#376c3a}.badge.closed{background:#f1e9e6;border-color:#dec9c0;color:#785549}.badge.suspended{background:#ebedf2;border-color:#ccd1de;color:#546380}.card-address{font-size:11px;color:var(--sub);margin:8px 0}.card-meta{display:flex;justify-content:space-between;font-size:10px;color:#6d776e;gap:8px}.text-link{font-size:11px}.pagination{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fafbf7;border-top:1px solid var(--line);margin-top:auto;font-size:11px}.map-panel{min-width:0;display:flex;flex-direction:column}.map-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;border-bottom:1px solid var(--line);font-size:12px}.map-badge{font-size:10px;color:var(--sub);white-space:nowrap}#map-area{position:relative;min-height:340px;height:380px;background:#e4e9df}#map-frame,#google-map{width:100%;height:100%;border:0}.map-message{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center;background:radial-gradient(ellipse at 50% 50%,#f8f9f0 0%,#e1e8d9 100%)}.map-message>span{font-size:56px;line-height:1;color:#768e6c}.map-message h2{font-size:19px;font-weight:500;margin:14px 0 5px}.map-message p{max-width:440px;font-size:12px;color:var(--sub)}.map-note{font-size:10px;color:#786644;background:#fbf7e9;padding:9px 16px;margin:0;border-bottom:1px solid #e9e3cf}.detail{padding:20px 22px;min-height:220px;font-size:12px}.detail h2{font-size:20px;line-height:1.4;margin:0 0 8px}.detail .pub{color:var(--sub);font-size:11px;margin:0 0 16px}.detail dl{display:grid;grid-template-columns:100px 1fr;gap:8px 12px;margin:12px 0}.detail dt{color:var(--sub);font-size:10px}.detail dd{margin:0;overflow-wrap:anywhere}.detail .links{display:flex;gap:10px;flex-wrap:wrap;margin-top:17px}.primary-link{display:inline-block;padding:10px 15px;background:var(--ink);color:white;border-radius:4px;text-decoration:none;font-size:11px}.detail .evidence{margin-top:16px;border-top:1px solid var(--line);padding-top:10px;font-size:10px}.evidence a{display:block;margin-top:5px}.fresh-note{color:#94621b;font-size:10px}.method{margin-top:20px;border-top:1px solid var(--line);padding:16px 0;font-size:11px;color:var(--sub)}.method summary{cursor:pointer;font-weight:700;color:var(--ink)}.method p{max-width:1000px}.empty{padding:35px 25px;font-size:12px;color:var(--sub)}footer{display:flex;justify-content:space-between;gap:20px;max-width:1600px;margin:auto;padding:20px max(4vw,20px);border-top:1px solid var(--line);font-size:9px;color:var(--sub);letter-spacing:1px}
@media(min-width:1600px){#results{height:720px}#map-area{height:430px}}@media(max-width:900px){main{padding:26px 20px}.header-tag{display:none}.filters{flex-wrap:wrap;gap:10px}.search-label{flex-basis:100%}.filters label:not(.search-label){flex:1}select{width:100%;min-width:130px}.workspace{grid-template-columns:340px minmax(0,1fr)}.card-top{flex-direction:column;gap:5px}.stats div{padding:0 14px}.detail dl{grid-template-columns:75px 1fr;gap:8px}.source-date{display:none}}
@media(max-width:680px){header{min-height:72px}.brand{font-size:13px}main{padding:24px 16px}h1{font-size:25px}.stats{margin-top:24px}.stats div{padding:0 8px}.stats strong{font-size:25px}.stats span{font-size:9px}.notice{font-size:10px}.filters .secondary{flex-basis:100%;height:36px;min-height:36px}.view-bar{flex-wrap:wrap;margin-bottom:12px}.view-bar p{margin:5px 0}.segmented{margin-left:auto}.segmented button{padding:7px 11px}.workspace{display:flex;flex-direction:column}.map-panel{order:0}.list-panel{order:1;border-right:0;border-top:1px solid var(--line)}#map-area{height:280px;min-height:280px}.detail{padding:16px;min-height:0}.detail h2{font-size:18px}.detail dl{font-size:11px}.card-top{flex-direction:row}.brewery-card{padding:15px 16px}#results{height:460px}.map-heading{padding:11px 15px;font-size:11px}footer{flex-direction:column;gap:5px}.method{line-height:1.9}}

/* Map first, results underneath on every screen. */
.workspace{display:flex;flex-direction:column;min-height:0}
.map-panel{order:0;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);grid-template-rows:auto 420px auto}
.map-heading{grid-column:1/-1}
#map-area{grid-column:1;grid-row:2;height:420px;min-height:420px}
.map-note{grid-column:1;grid-row:3}
.detail{grid-column:2;grid-row:2/4;max-height:475px;overflow:auto;border-left:1px solid var(--line);padding:20px}
.list-panel{order:1;border-right:0;border-top:1px solid var(--line)}
#results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:auto;max-height:650px}
.brewery-card{border-right:1px solid #e6eae3;min-width:0}
.card-top{flex-direction:column;gap:7px}
.empty{grid-column:1/-1}
@media(max-width:900px){.map-panel{grid-template-columns:minmax(0,1.2fr) minmax(270px,1fr)}#results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.map-panel{display:flex;flex-direction:column}#map-area{height:300px;min-height:300px}.detail{border-left:0;max-height:300px;border-top:1px solid var(--line)}#results{grid-template-columns:1fr;max-height:520px}.card-top{flex-direction:row}}

.stats{grid-template-columns:1fr;padding:12px 0;margin:22px 0 16px}.stats div{display:flex;align-items:baseline;gap:12px}.stats span{margin:0}

.awards{margin:22px 0;padding-top:18px;border-top:1px solid var(--line)}.awards h3{margin:0 0 8px;font-size:18px}.awards h3 small{font-size:12px;color:#647568}.award-list{list-style:none;padding:0;margin:12px 0}.award-list li{padding:14px 0;border-bottom:1px solid var(--line)}.award-top{display:flex;flex-direction:column;gap:4px;font-size:12px}.award-top strong{color:#735217;font-size:14px}.award-beer{font-weight:700;margin:8px 0 4px!important}.award-category,.award-producer{font-size:11px;line-height:1.6;margin:5px 0!important;color:#607066}.award-list a{font-size:12px}.awards summary{cursor:pointer;color:#245447;font-size:13px;padding:10px 0}.award-count{color:#735217;font-weight:700}
