:root{--paper:#f6f3e9;--green:#244a3b;--ink:#26382e;--muted:#71786d;--line:#dcded0;--white:#fffef8;--accent:#c17850}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 system-ui,-apple-system,sans-serif}a{color:inherit}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible,summary:focus-visible{outline:3px solid #b87545;outline-offset:4px}header,main,footer{max-width:1440px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;padding:28px 5%;border-bottom:1px solid var(--line);gap:24px}.brand{font-family:Georgia,serif;font-size:26px;text-decoration:none;line-height:1.1}.brand span{display:block;font:8px system-ui;letter-spacing:2px;margin:10px 0 0 25px}nav{display:flex;gap:28px}nav a{text-decoration:none;font-size:13px}.header-cta{font-size:12px;text-decoration:none;border-bottom:1px solid;padding-bottom:5px}.hero{padding:72px 5% 64px;display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:center}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;margin:0 0 22px;color:var(--green)}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.12;margin:0}h1{font-size:clamp(42px,4.8vw,70px);letter-spacing:-2px}em{font-weight:400;color:#5e7857}h2{font-size:42px;letter-spacing:-1px}h3{font-size:27px}.intro{max-width:470px;color:var(--muted);font-size:16px;margin:25px 0 28px}.button{display:inline-flex;gap:36px;align-items:center;background:var(--green);color:#fff;padding:14px 23px;text-decoration:none;font-size:13px;border-radius:3px}.hero-facts{display:flex;gap:30px;margin-top:38px;font-size:10px;color:var(--muted)}.hero-facts strong{display:block;color:var(--green);font:29px Georgia;margin-bottom:4px}.hero-art{height:360px;position:relative;background:radial-gradient(ellipse,#e4e8d7 0,transparent 65%);display:flex;align-items:center;justify-content:center}.hero-art svg{height:100%;width:100%;color:var(--green)}.art-caption{position:absolute;bottom:18px;font-size:8px;letter-spacing:2px}.art-note{position:absolute;right:0;top:40px;transform:rotate(8deg);font:italic 15px Georgia;color:#75806b}.atlas-section,#zahlen,.about{padding:55px 5%;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}.section-heading .eyebrow{margin-bottom:13px}.section-heading>p{color:var(--muted);font-size:12px}.filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:20px}label{display:flex;flex-direction:column;font-size:10px;gap:6px;color:var(--muted)}input[type=search],select{border:1px solid var(--line);border-radius:4px;color:var(--ink);background:var(--white);padding:11px 10px;font-size:12px;max-width:100%;min-height:41px}.search{flex:1;min-width:240px}.check{display:flex;flex-direction:row;align-items:center;gap:5px;min-height:41px;font-size:11px}.text-button{border:0;background:transparent;font-size:11px;color:var(--green);padding:10px 4px;text-decoration:underline;text-underline-offset:4px}.workspace{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(280px,1fr);gap:20px;align-items:start}.map-panel,aside{background:var(--white);border:1px solid var(--line);border-radius:7px;overflow:hidden}.map-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line)}.tabs{display:flex;gap:3px;flex-wrap:wrap}.tabs button,.mode-tabs button{border:0;border-radius:4px;background:transparent;font-size:10px;padding:9px 10px;color:var(--muted)}.tabs button[aria-pressed=true],.mode-tabs button[aria-pressed=true]{background:var(--green);color:#fff}#map-wrap{height:480px;position:relative;background:radial-gradient(#dce0d3 .7px,transparent .7px);background-size:18px 18px}canvas{height:100%;width:100%;display:block;touch-action:none;cursor:crosshair}.map-stamp{position:absolute;top:22px;left:25px;font-size:8px;letter-spacing:3px;pointer-events:none;color:#8e9986}.map-stamp em{font:18px Georgia;letter-spacing:0}.zoom{position:absolute;right:16px;bottom:18px;display:flex;gap:4px}.zoom button{background:var(--white);border:1px solid var(--line);width:32px;height:32px;color:var(--green);font-size:18px}.map-footer{padding:13px 16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;font-size:9px;color:var(--muted);flex-wrap:wrap}.rum-dot{color:#bb8d49}.whiskey-dot{color:#b46b4c}.other-dot{color:#8c82a3}.map-help{font-size:10px;color:var(--muted);padding:0 16px 12px;margin:0}#tooltip{position:absolute;pointer-events:none;background:var(--green);color:white;padding:5px 9px;font-size:11px;border-radius:3px;display:none;max-width:220px}aside{padding:26px}aside h3{font-size:34px;margin:8px 0 12px}.tag,.chip{display:inline-block;border:1px solid var(--line);border-radius:3px;padding:3px 8px;font-size:10px;margin:0 5px 6px 0}.tag{color:var(--green);background:#eff2e8}.detail-meta{color:var(--muted);font-size:11px}.chips{margin:20px 0 12px}.source-link{font-size:11px;display:inline-block;margin:8px 14px 18px 0}.mode-tabs{display:flex;gap:3px;background:var(--paper);padding:4px;border-radius:5px;margin:10px 0 8px}.mode-tabs button{flex:1}.neighbor{display:flex;width:100%;text-align:left;justify-content:space-between;align-items:center;gap:10px;border:0;border-bottom:1px solid var(--line);background:transparent;padding:13px 0;color:var(--ink)}.neighbor strong{font-weight:500;font-size:12px}.neighbor small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.neighbor:hover strong{text-decoration:underline}.small{font-size:11px;color:var(--muted)}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.stat-card{padding:30px;background:var(--white);border:1px solid var(--line);border-radius:7px}.stat-card>p{font-size:12px;color:var(--muted)}.bar-row{display:grid;grid-template-columns:125px 1fr 28px;gap:12px;align-items:center;margin:15px 0;font-size:10px}.bar-track{height:7px;background:#edf0e6;border-radius:5px}.bar-fill{height:100%;background:#738c66;border-radius:5px}.pair-selects{display:flex;align-items:center;gap:12px;margin-top:30px}.pair-selects label{flex:1;min-width:0}.pair-number{font:62px Georgia;color:var(--green);display:block;margin-top:22px}.pair-list{font-size:11px;color:var(--muted)}.about{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;padding-top:65px;padding-bottom:70px}.about p{font-size:13px;color:var(--muted)}details{border-bottom:1px solid var(--line);padding:15px 0}summary{cursor:pointer;font-size:12px}details p{font-size:12px}code{overflow-wrap:anywhere}footer{border-top:1px solid var(--line);padding:30px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}footer span,footer>a:last-child{font-size:10px;color:var(--muted)}#drink-list{max-height:480px;overflow:auto;padding:10px 20px}#drink-list button{display:block;width:100%;padding:12px 0;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;font-size:12px;color:var(--ink)}#drink-list button[aria-pressed=true]{font-weight:700;color:var(--green)}[hidden]{display:none!important}#error{color:#8b3b28}.license-page{max-width:800px;margin:50px auto;padding:20px}.license-page pre{white-space:pre-wrap;font-size:12px}.license-page h1{font-size:40px}.license-page h2{font-size:25px;margin-top:30px}
@media(min-width:1450px){body{border-left:1px solid var(--line);border-right:1px solid var(--line);max-width:1440px;margin:auto}}@media(max-width:1000px){header{gap:15px}nav{gap:16px}.hero{gap:10px}h1{font-size:50px}.workspace{grid-template-columns:minmax(0,1.4fr) minmax(275px,1fr)}.map-toolbar{align-items:start;flex-direction:column}.hero-facts{gap:22px}.header-cta{display:none}.bar-row{grid-template-columns:100px 1fr 25px}}@media(max-width:760px){header{padding:22px 6%}.brand{font-size:23px}.brand span{font-size:6px}nav{gap:16px}nav a{font-size:11px}.hero{grid-template-columns:1fr;padding:45px 6% 35px}.hero-art{height:230px}.hero-art svg{height:250px}.art-note{right:8%;top:25px}h1{font-size:48px}.intro{font-size:14px}.hero-facts{margin-top:25px}.workspace{grid-template-columns:1fr}.section-heading{align-items:start;flex-direction:column;gap:6px}.section-heading>p{margin:0}h2{font-size:35px}.atlas-section,#zahlen,.about{padding:35px 6%}.filters>label:not(.search):not(.check){flex:1;min-width:120px}.search{flex-basis:100%}.check{min-height:30px}.map-toolbar{flex-direction:row;align-items:center}.tabs button{font-size:9px;padding:8px}.map-toolbar>.text-button{font-size:9px}#map-wrap{height:380px}.stats-grid,.about{grid-template-columns:1fr;gap:22px}.stat-card{padding:23px}.about h2{font-size:35px}footer{flex-wrap:wrap;padding:25px 6%}footer span{flex-basis:100%;order:3}aside h3{font-size:31px}.hero-facts span{font-size:9px}.hero-art{margin-top:0}.art-caption{bottom:4px}#drink-list{max-height:380px}.pair-selects{gap:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Ingredient explorer: bars share a fixed 0–100% scale. */
.stats-grid{align-items:start}.ingredient-controls{display:flex;gap:12px;align-items:end;margin:22px 0 12px}.ingredient-controls label:first-child{flex:1;min-width:0}.ingredient-controls label:last-child{max-width:48%}.ingredient-controls input{width:100%;min-width:0}.ingredient-columns{display:grid;grid-template-columns:minmax(100px,1.1fr) minmax(90px,1.3fr) 38px;gap:12px;font-size:9px;color:var(--muted);padding:10px 0;border-bottom:1px solid var(--line)}.ingredient-columns span:last-child{text-align:right}.ingredient-row{width:100%;display:grid;grid-template-columns:minmax(100px,1.1fr) minmax(90px,1.3fr) 38px;gap:12px;align-items:center;text-align:left;color:var(--ink);background:transparent;border:0;border-bottom:1px solid #e9ebdf;margin:0;padding:12px 0;font-size:11px}.ingredient-row:hover,.ingredient-row[aria-pressed=true]{background:#eff2e8}.ingredient-row[aria-pressed=true] .ingredient-name{font-weight:700}.ingredient-name{overflow-wrap:anywhere}.ingredient-chart{display:flex;align-items:center;gap:9px;min-width:0}.ingredient-track{display:block;flex:1;min-width:24px;height:7px;background:#edf0e6;border-radius:5px;overflow:hidden}.ingredient-track .bar-fill{display:block;min-width:1px}.ingredient-percent{font-size:9px;min-width:38px;text-align:right;color:var(--muted)}.ingredient-count{text-align:right;font-variant-numeric:tabular-nums}.ingredient-detail{border-top:1px solid var(--line);margin-top:14px;padding-top:22px}.ingredient-detail h4{font:25px Georgia;margin:0 0 8px}.ingredient-subtitle{font-size:12px;font-weight:600;margin:18px 0 8px}.ingredient-partners{padding:0;margin:0;list-style:none}.ingredient-partners li{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:10px;border-bottom:1px solid #e9ebdf}.ingredient-partners button{text-align:left;font-size:11px}.ingredient-partners li>span{white-space:nowrap;color:var(--muted)}.ingredient-examples{display:flex;flex-wrap:wrap;gap:7px}.ingredient-example{background:var(--paper);border:1px solid var(--line);padding:7px 10px;border-radius:4px;color:var(--green);font-size:11px;text-align:left}@media(max-width:420px){.ingredient-controls{flex-wrap:wrap}.ingredient-controls label:first-child{flex-basis:100%}.ingredient-controls label:last-child{max-width:100%;width:100%}.ingredient-columns,.ingredient-row{grid-template-columns:minmax(80px,1fr) minmax(85px,1.2fr) 30px;gap:8px}.ingredient-row{font-size:10px}.ingredient-percent{font-size:8px;min-width:35px}.ingredient-chart{gap:5px}}

.ingredient-example{display:inline-block;text-decoration:none}.ingredient-example:hover{text-decoration:underline;background:#e8eddf}.pair-examples{margin:15px 0 8px}.pair-ranking{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.pair-ranking h4{font:27px Georgia;margin:0 0 12px}.pair-ranking>label{margin:18px 0 12px}.pair-ranking select{width:100%;white-space:normal}.pair-ranking-list{padding-left:25px;margin:15px 0 4px}.pair-ranking-list li{padding-left:3px;border-bottom:1px solid #e9ebdf;color:var(--muted);font-size:11px}.pair-ranking-button{display:flex;flex-direction:column;gap:5px;width:100%;border:0;background:transparent;text-align:left;color:var(--ink);padding:12px 4px}.pair-ranking-button:hover{background:#eff2e8}.pair-ranking-name{font-size:12px}.pair-ranking-metrics{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}
/* Comfortable layout and gestures on touch screens. */
#map-wrap,canvas{touch-action:pan-y}
@media(max-width:760px){
 header{position:sticky;top:0;z-index:20;background:rgba(246,243,233,.97);backdrop-filter:blur(12px);padding:14px 5%;min-height:62px}
 .brand{font-size:21px;white-space:nowrap}.brand span{margin-top:7px;letter-spacing:1.3px}
 .hero{padding-top:38px}.hero-art{height:clamp(190px,55vw,260px)}
 #map-wrap{height:clamp(310px,96vw,390px)}
 .map-toolbar{gap:5px;padding:9px 10px}.tabs{max-width:100%;overflow-x:auto;scrollbar-width:thin}.tabs button{white-space:nowrap;min-height:40px}.map-toolbar>.text-button{white-space:nowrap;min-height:40px}
 .zoom{right:10px;bottom:12px}.zoom button{width:40px;height:40px;border-radius:4px}
 .filters{gap:8px}.filters input[type=search],.filters select{min-height:44px}.check{min-height:42px;padding:4px 0}.check input{width:18px;height:18px}
 .stat-card{padding:20px 17px}.ingredient-controls{gap:8px}.ingredient-controls input,.ingredient-controls select{min-height:44px}
 .pair-selects{display:grid;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);gap:8px;align-items:end}.pair-selects label{width:100%;min-width:0}.pair-selects select{width:100%;min-width:0;min-height:44px;padding:9px 6px}.pair-selects>span{align-self:center;text-align:center;padding-top:19px}
 .pair-ranking select{min-height:44px}.pair-ranking-button{min-height:48px}.pair-ranking-list{padding-left:22px}
 .ingredient-example,.neighbor,.source-link,.text-button,.ingredient-partners button{min-height:40px}
 .ingredient-example{display:inline-flex;align-items:center}.ingredient-example:hover{text-decoration:none}
 .about{gap:14px}details summary{min-height:42px;display:flex;align-items:center}
 #drink-list{max-height:55vh}#drink-list button{min-height:46px}
}
@media(max-width:540px){
 header{padding:12px 5%;gap:8px}header nav{gap:0;justify-content:flex-end}header nav a:not(:first-child){display:none}nav a{padding:8px 0 8px 14px}.brand{font-size:20px}.brand span{font-size:6px;margin-left:22px}
 h1{font-size:clamp(39px,11vw,48px);letter-spacing:-1.4px}h2{font-size:clamp(31px,8vw,36px)}.eyebrow{font-size:9px;letter-spacing:1.7px}
 .hero-facts{gap:16px}.hero-facts strong{font-size:25px}.hero-facts span{font-size:8px}
 .section-heading{margin-bottom:22px}.section-heading>p{font-size:11px}
 .atlas-section,#zahlen,.about{padding:30px 5%}.map-footer{font-size:8px;padding:11px 10px}.map-help{font-size:9px;padding:0 10px 11px}
 .tabs button{font-size:8px;padding:7px 8px}.map-toolbar>.text-button{font-size:8px;padding:7px 2px}
 .pair-number{font-size:53px}.pair-card>p{font-size:11px}
 .bar-row{grid-template-columns:minmax(80px,1fr) minmax(65px,1.2fr) 28px;gap:8px}.pair-ranking-metrics{font-size:9px}
 footer{gap:12px}.license-page{margin:20px auto;padding:18px}
}
@media(max-width:360px){
 .brand{font-size:18px}.brand span{font-size:5px}.hero-facts{gap:11px}.hero-facts strong{font-size:23px}
 .map-toolbar{align-items:flex-start;flex-direction:column}.map-toolbar .tabs{width:100%}.map-toolbar>.text-button{align-self:flex-end}
 .ingredient-columns,.ingredient-row{grid-template-columns:minmax(72px,1fr) minmax(78px,1.1fr) 27px;gap:6px}.ingredient-count{font-size:9px}
}
@media(max-width:760px){html{scroll-padding-top:72px}}
canvas{touch-action:none}

.favorite-filter{gap:7px}.favorite-filter input{width:17px;height:17px;accent-color:var(--green)}.favorite-filter span{display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:21px;padding:0 5px;border-radius:12px;background:#e9eddf;color:var(--green);font-size:10px;font-weight:700}.favorite-note{flex-basis:100%;margin:0 0 10px}.favorite-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:42px;margin:2px 8px 12px 0;padding:9px 13px;border:1px solid #c8d0bd;border-radius:4px;background:#eff2e8;color:var(--green);font-size:12px}.favorite-toggle:hover{background:#e5ebda}.favorite-toggle[aria-pressed=true]{background:var(--green);border-color:var(--green);color:white}
