:root{--paper:#f4efe3;--card:#fbf7ec;--raised:#fffdf6;--ink:#221d15;--muted:#6b6353;--faint:#6d6558;--border:#d8cfba;--dotted:#b3a78e;--amber:#c88a2e;--amber-deep:#8a5a2b;--amber-soft:#f3e2bf;--rosewood:#6b0504;--rosewood-soft:#f0d4cb;--rosewood-text:#6b0504;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans:-apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--paper:#171310;--card:#221c15;--raised:#2b231a;--ink:#f0e9da;--muted:#b8ac97;--faint:#a89d89;--amber-deep:#d9a860;--border:#453b2d;--dotted:#5c503d;--amber-soft:#3d2f17;--rosewood-soft:#3d1712;--rosewood-text:#e39189;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:15px;line-height:1.5}.page{max-width:1080px;margin:0 auto;padding:20px 20px 64px}.masthead{align-items:baseline;gap:10px;padding:6px 0 22px;display:flex}.masthead .mark{color:var(--amber);font-size:14px}.masthead .name{font-family:var(--serif);letter-spacing:.02em;font-size:20px}h1{font-family:var(--serif);margin:0 0 4px;font-size:34px;font-weight:400}.sub{color:var(--muted);margin:0 0 24px;font-size:14px}.sub a{color:var(--amber)}.brief-card{background:var(--card);border:1px solid var(--border);border-radius:14px;max-width:560px;padding:28px}.field{margin-bottom:22px}.field label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:12px;display:block}.field .readout{float:right;font-family:var(--serif);color:var(--ink);text-transform:none;letter-spacing:0;font-size:14px}select{width:100%;font-family:var(--serif);color:var(--ink);background:var(--raised);border:1px solid var(--dotted);appearance:auto;border-radius:8px;padding:10px 12px;font-size:16px}input[type=range]{width:100%;accent-color:var(--amber)}.srm-wrap{height:26px;position:relative}.srm-track{border:1px solid var(--dotted);border-radius:6px;position:absolute;inset:8px 0}.srm-range{appearance:none;background:0 0;width:100%;margin:0;position:absolute;inset:0}.srm-range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--raised);border:2px solid var(--ink);cursor:pointer;border-radius:50%;width:20px;height:20px;margin-top:0}.srm-range::-moz-range-thumb{background:var(--raised);border:2px solid var(--ink);cursor:pointer;border-radius:50%;width:18px;height:18px}.srm-range::-moz-range-track{background:0 0}.flavor-row{border-top:1px dotted var(--dotted);align-items:center;gap:10px;padding:7px 0;display:flex}.flavor-row:first-child{border-top:0}.flavor-name{font-family:var(--serif);flex:1;font-size:16px}.flavor-name .reach{font-family:var(--sans);color:var(--faint);font-size:11px;font-style:italic;display:block}.steps{border:1px solid var(--dotted);border-radius:8px;display:inline-flex;overflow:hidden}.step{font-family:var(--sans);background:var(--raised);color:var(--muted);cursor:pointer;border:0;border-left:1px solid var(--border);padding:6px 11px;font-size:12px}.step:first-child{border-left:0}.step.on{background:var(--ink);color:var(--paper)}.step.on-none{background:var(--rosewood);color:#f5ecd8}.step.unreachable{opacity:.4;text-decoration:line-through}.remove{color:var(--faint);cursor:pointer;background:0 0;border:0;padding:4px;font-size:12px}.add-wrap{padding-top:10px;position:relative}.flavor-search{width:180px;font-family:var(--serif);border:0;border-bottom:2px dashed var(--dotted);color:var(--ink);background:0 0;outline:none;padding:4px 2px;font-size:14px}.flavor-search::placeholder{color:var(--faint);font-style:italic}.flavor-suggestions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.sugg{border:1px solid var(--dotted);background:var(--raised);color:var(--ink);cursor:pointer;border-radius:99px;padding:4px 12px;font-size:13px}.sugg:hover{border-color:var(--amber)}.max-note{color:var(--faint);margin:10px 0 0;font-size:12px;font-style:italic}details.advanced{margin:4px 0 18px}details.advanced summary{color:var(--muted);cursor:pointer;font-size:13px}details.advanced p{color:var(--muted);margin:8px 0 0;font-size:13px}.generate{font-family:var(--serif);background:var(--ink);color:var(--paper);cursor:pointer;letter-spacing:.02em;border:0;border-radius:8px;padding:12px 26px;font-size:16px}.generate:hover{background:#000}.generate:disabled{opacity:.45;cursor:not-allowed}.form-foot{justify-content:space-between;align-items:center;gap:14px;display:flex}.feas{font-size:13px;font-family:var(--serif);min-height:1.2em;font-style:italic}.feas.ok{color:var(--amber-deep)}.feas.no{color:var(--rosewood-text)}.feas.checking{color:var(--faint)}.notice{background:var(--card);border:1px solid var(--border);border-radius:12px;max-width:560px;margin:0 0 18px;padding:20px 22px}.notice-msg{font-family:var(--serif);margin:0;font-size:17px}.brief-line{font-family:var(--serif);max-width:720px;margin:0;font-size:21px;line-height:1.6}.u{border-bottom:2px solid var(--amber)}.ur{border-bottom-color:var(--rosewood)}.edit-brief{color:var(--amber-deep);cursor:pointer;font-size:13px;font-family:var(--sans);background:0 0;border:0;margin:10px 0 0;padding:0;text-decoration:none;display:inline-block}.result-head{align-items:baseline;gap:14px;margin:34px 0 16px;display:flex}.result-head h2{font-family:var(--serif);margin:0;font-size:30px;font-weight:400}.result-note{color:var(--muted);font-size:13px}.result-note a{color:var(--amber-deep)}.shelf{align-items:stretch;gap:14px;display:flex}.shelf.focused{justify-content:flex-start}.card{background:var(--raised);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:12px;flex:1;min-width:0;padding:20px 18px;transition:border-color .15s}.card:hover{border-color:var(--dotted)}.card.open{border:1.5px solid var(--ink);cursor:default;flex:2.6;max-width:640px}.open-body{gap:20px;display:flex}.open-left{flex:0 0 44%}.open-right{flex:1;min-width:0}.open-right .grains{margin-top:0}.card header{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.letter{font-family:var(--serif);font-size:30px;line-height:1}.aside{font-family:var(--serif);color:var(--amber-deep);white-space:nowrap;font-size:13px;font-style:italic}.stack{border:1px solid var(--dotted);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.layer{min-height:4px}.layer+.layer{border-top:1px solid #211d152e}.chev{text-align:center;color:var(--dotted);margin:1px 0;font-size:14px;line-height:1}.pour{border:1px solid var(--dotted);text-align:center;font-family:var(--serif);border-radius:8px;padding:8px 12px;font-size:14px}.grains{margin-top:12px}.grain-row{border-top:1px dotted var(--dotted);justify-content:space-between;align-items:baseline;gap:8px;padding:6px 0;font-size:13px;display:flex}.grain-name{align-items:baseline;gap:8px;min-width:0;display:flex}.grain-name small{color:var(--faint);font-size:11px;display:block}.swatch{border:1px solid var(--dotted);border-radius:2px;flex:none;align-self:center;width:10px;height:10px}.grain-nums{flex:none;align-items:baseline;gap:10px;display:flex}.grain-nums small{color:var(--muted);font-size:12px}.grain-nums b{font-family:var(--serif);font-size:16px;font-weight:400}.batch-note{color:var(--faint);margin:12px 0 0;font-size:12px;font-style:italic}.tastes{font-family:var(--serif);color:var(--muted);margin:14px 0 0;font-size:13.5px;font-style:italic}.scope-note{color:var(--faint);margin:20px 0 0;font-size:13px}.spine{background:var(--raised);border:1px solid var(--border);cursor:pointer;border-radius:8px;flex-direction:column;flex:none;align-items:center;gap:6px;width:34px;padding:8px 0 10px;display:flex}.spine:hover{border-color:var(--dotted)}.spine-letter{font-family:var(--serif);color:var(--muted);font-size:14px}.spine .stack{border-radius:3px;flex:1;width:12px}.notice-title{font-family:var(--serif);margin:0 0 8px;font-size:21px}.results-screen .notice{max-width:520px;margin:24px 0 0;padding:24px 26px}.results-screen .notice-msg{color:var(--muted);font-size:16px}.notice .generate{margin-top:18px}.notice-loading .notice-msg{color:var(--faint);font-style:italic}@media (width<=640px){h1{font-size:26px}.page{max-width:100%;padding:14px 12px 48px}.brief-card{padding:20px 16px}.steps{flex:none}.step{padding:11px 8px;font-size:11px}.flavor-row{flex-wrap:wrap}.brief-line{font-size:17px}.result-head{margin:22px 0 12px}.result-head h2{font-size:24px}.shelf{gap:6px;min-width:0}.card{min-width:0}.card,.card.open{padding:14px 12px}.card.open{flex:auto;min-width:0}.letter{font-size:22px}.spine{width:28px}.open-body{flex-direction:column;gap:12px}.open-left{flex:none}.card.open .stack{height:130px!important}}
