:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#24322e;background:#f6f6f0;line-height:1.55;font-synthesis:none;--muted:#677169;--line:#dce0d5;--green:#294d3e;--gold:#816231}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:6px;padding:10px 15px;background:white;color:inherit;font-size:13px;line-height:1.4;min-height:40px}button:hover{border-color:#809580;background:#f0f3eb}button:disabled{opacity:.45;cursor:default}.primary{background:var(--green);border-color:var(--green);color:white;font-weight:600}.primary:hover{background:#1b3d2e;color:white}.quiet{background:transparent}.danger{color:#9d3434;border-color:#d9b8b8;background:#fff}.danger:hover{background:#fff0ed;border-color:#9d3434}button:focus-visible,a:focus-visible{outline:3px solid #a38751;outline-offset:3px}input,select,textarea{display:block;width:100%;padding:10px 11px;border:1px solid #cbd2c6;border-radius:5px;color:inherit;background:#fff;font-size:14px;min-height:42px}input:focus,select:focus,textarea:focus{outline:2px solid #88a48d;outline-offset:1px}textarea{resize:vertical}label{display:block;font-size:12px;font-weight:550;color:#465349}label input,label select{margin-top:6px}header{display:flex;align-items:center;gap:28px;max-width:1240px;margin:auto;padding:22px 28px;border-bottom:1px solid var(--line)}.brand{font-size:25px;letter-spacing:-1px;font-weight:750;color:inherit;text-decoration:none}.brand span{color:var(--gold)}.header-label{font-size:13px;color:var(--muted)}#system-toggle{margin-left:auto}.system{border-bottom:1px solid var(--line);background:#eef0e7}.system-inner{max-width:1184px;margin:auto;padding:20px 28px;font-size:13px}.system dl{display:flex;gap:38px;flex-wrap:wrap}.system dl div{display:flex;gap:12px}.system dt{color:var(--muted)}.system dd{margin:0;font-weight:600}.system-actions{display:flex;justify-content:space-between;align-items:center}main{max-width:1240px;margin:auto;padding:38px 28px 64px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;color:var(--gold);margin:0 0 8px}h1{font-size:38px;line-height:1.15;letter-spacing:-1.3px;margin:0 0 9px;font-weight:650}h2,h3,p{margin-top:0}.muted{color:var(--muted)}.small{font-size:12px}.page-heading p:last-child{font-size:14px;margin-bottom:0}.workspace{display:grid;grid-template-columns:260px minmax(0,1fr);gap:32px;align-items:start}.library{position:sticky;top:24px}.search-label{font-size:11px;color:var(--muted);margin-bottom:8px}#list-info{margin:14px 0 12px;overflow-wrap:anywhere}.recipe-list{display:flex;flex-direction:column;gap:8px}.recipe-item{display:block;text-align:left;padding:16px;width:100%;border-radius:8px}.recipe-item[aria-current]{border-color:var(--green);box-shadow:inset 3px 0 var(--green);background:#eef3e9}.recipe-item strong{display:block;font-weight:650;font-size:15px;overflow-wrap:anywhere}.recipe-style{display:block;color:var(--muted);font-size:12px;margin-top:3px;overflow-wrap:anywhere}.recipe-meta{display:block;font-size:11px;color:#6c725e;margin-top:12px}#reload-list{margin-top:14px;font-size:11px}.welcome{background:#ebeee3;border:1px solid var(--line);border-radius:12px;padding:52px 40px;min-height:380px}.welcome h2{font-size:32px;line-height:1.18;letter-spacing:-.8px;font-weight:600;margin:16px 0}.welcome p{color:var(--muted);font-size:14px;max-width:430px;margin-bottom:28px}.content{min-width:0}.editor-fields{padding:0;border:0;margin:0;min-width:0}.editor-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}.editor-heading h2{font-size:24px;line-height:1.25;letter-spacing:-.5px;margin:6px 0 8px;overflow-wrap:anywhere}.editor-heading p{margin-bottom:0}.status-tag{white-space:nowrap;border-radius:30px;padding:5px 10px;color:#666b53;background:#e9eddf;font-size:10px}.card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:24px;margin-bottom:16px}.card h3{font-size:16px;font-weight:650;letter-spacing:-.2px;margin:0 0 18px}.section-heading{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.section-note{font-size:12px;color:var(--muted);margin:-8px 0 18px}.card>label.notes-label{font-size:16px;font-weight:650;margin-bottom:14px}.card textarea+.section-note{margin:12px 0 0}.grid{display:grid;gap:18px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.required{color:var(--gold)}.ingredient-row{border:1px solid #e0e4d9;border-radius:7px;padding:16px;margin:0 0 16px;background:#fbfcf8;min-width:0}.ingredient-row legend{font-size:10px;color:var(--muted);padding:0 5px;font-weight:600}.row-grid{display:grid;gap:12px;grid-template-columns:2fr 1fr 1fr}.row-grid.hops{grid-template-columns:repeat(3,minmax(0,1fr))}.row-grid.hops label:first-child{grid-column:span 2}.row-actions{display:flex;align-items:center;gap:6px;margin-top:14px}.row-actions .icon{padding:6px 10px;min-height:32px}.row-actions .remove{margin-left:auto;font-size:11px;min-height:32px;padding:6px 8px}.malt-share{font-size:10px;margin-left:5px}.rows:empty{margin-bottom:4px}.form-actions{display:flex;flex-wrap:wrap;gap:10px;padding:12px 0 8px}.form-actions .danger{margin-left:auto}.notice{padding:14px 18px;margin-bottom:20px;border:1px solid #b6cdb4;border-radius:7px;background:#edf4e9;color:#2e5637;font-size:13px;overflow-wrap:anywhere}.notice.error{background:#fff1eb;border-color:#dbb3a6;color:#8b3a29}footer{max-width:1184px;margin:auto;padding:24px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}@media(max-width:1000px){.workspace{grid-template-columns:220px minmax(0,1fr);gap:22px}.card{padding:20px}.three{grid-template-columns:repeat(2,minmax(0,1fr))}.row-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.row-grid label:first-child{grid-column:1/-1}.row-grid.hops{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){header{padding:16px 20px;gap:12px}.header-label{display:none}main{padding:26px 16px 40px}.page-heading{margin-bottom:24px;gap:12px}h1{font-size:31px}.page-heading>button{padding:10px;white-space:nowrap}.page-heading .muted{max-width:180px;font-size:12px}.workspace{grid-template-columns:1fr;gap:24px}.library{position:static;border-bottom:1px solid var(--line);padding-bottom:20px}.recipe-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:245px;overflow-y:auto;padding:2px}.recipe-item{padding:12px}.recipe-item strong{font-size:13px}.recipe-meta{margin-top:8px}.welcome{padding:30px 24px;min-height:300px}.welcome h2{font-size:27px}.editor-heading h2{font-size:22px}.card{padding:18px}.form-actions .danger{margin-left:0}footer{margin:0 20px}.system-inner{padding:16px 20px}.system dl{gap:10px 24px}.editor-heading{gap:8px}.status-tag{font-size:9px}.row-grid.hops label:first-child{grid-column:1/-1}}@media(max-width:390px){.two,.three,.row-grid,.row-grid.hops{grid-template-columns:1fr}.malt-share{font-size:9px}.card{padding:15px}.row-grid.hops label:first-child{grid-column:auto}}

.button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--line);border-radius:6px;padding:10px 15px;font-size:13px;line-height:1.4;min-height:40px}
.button-link.primary{border-color:var(--green)}
a[aria-disabled="true"]{pointer-events:none;opacity:.45}
.main-nav{margin-left:auto;display:flex;align-items:center;gap:4px}
.main-nav a{color:var(--muted);text-decoration:none;font-size:13px;padding:8px 10px;border-radius:6px}
.main-nav a:hover{background:#eef0e7;color:inherit}
.main-nav a[aria-current="page"]{background:#e8eee5;color:var(--green);font-weight:650}
.system-page-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:28px;max-width:760px}
.system-page-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:26px 0}
.system-page-card dl div{padding:16px;border:1px solid var(--line);border-radius:7px;background:#fbfcf8}
.system-page-card dt{font-size:11px;color:var(--muted);margin-bottom:5px}
.system-page-card dd{margin:0;font-weight:650}
.recipe-item{text-decoration:none;color:inherit}
@media(max-width:720px){.main-nav{margin-left:auto}.main-nav a{font-size:12px;padding:7px}.system-page-card dl{grid-template-columns:1fr}}

.brewday-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}.brewday-item{display:flex;flex-direction:column;gap:10px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:8px;color:inherit;text-decoration:none;overflow-wrap:anywhere}.brewday-item:hover{border-color:var(--green)}.brew-heading{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:16px}.brew-heading h2{font-size:28px;margin-bottom:8px;overflow-wrap:anywhere}.brew-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:30px;margin-top:24px}.brew-timeline{margin:0;padding:0 0 0 25px}.brew-timeline li{font-size:13px;color:var(--muted);padding:10px 5px 15px 7px;border-bottom:1px solid var(--line)}.brew-timeline .current{color:var(--green);font-weight:750}.brew-timeline .done{color:#607859;text-decoration:line-through}.brew-timer{font-size:clamp(35px,6vw,58px);font-variant-numeric:tabular-nums;font-weight:650;letter-spacing:1px;line-height:1.2;margin:24px 0 10px}.timer-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.temperature-target{font-size:22px;font-weight:600;color:var(--green)}.brew-hop{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);padding:15px;border-radius:7px;margin:12px 0}.brew-hop p{margin:4px 0}.brew-hop.due{border-color:#b19047;background:#fff8e3}.brew-hop strong{overflow-wrap:anywhere}.hop-heading{margin-top:24px!important}.step-complete{margin:24px 0 12px}.step-complete+p{margin:0}.brew-alert:empty{display:none}.brew-alert{background:#edf2e6;border-radius:6px;padding:12px 18px;font-size:13px}.measurement-note{margin:18px 0}.measurement-entry{padding:18px 0;border-top:1px solid var(--line)}.measurement-entry p{margin:7px 0 0}.measurement-entry:first-child{margin-top:24px}.measurement-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.span-all{grid-column:1/-1}#brew-recipe{font-size:14px;padding-top:14px}#brew-recipe h4{margin:20px 0 5px}details>summary{cursor:pointer;font-weight:650;font-size:15px}#brew-current h2{font-size:27px;line-height:1.25}#brew-current>p:not(.eyebrow){font-size:14px}.main-nav{flex-wrap:wrap}.main-nav a{white-space:nowrap}@media(max-width:850px){.brewday-list{grid-template-columns:repeat(2,minmax(0,1fr))}.brew-layout{grid-template-columns:180px minmax(0,1fr);gap:20px}}@media(max-width:720px){.brewday-list{grid-template-columns:1fr}.brew-layout{grid-template-columns:1fr}.brew-timeline{display:flex;gap:8px;overflow-x:auto;list-style:none;padding:0 0 8px}.brew-timeline li{flex:0 0 150px;border:1px solid var(--line);border-radius:5px;padding:10px}.brew-timeline .current{border-color:var(--green)}.brew-heading h2{font-size:24px}.brew-heading{flex-wrap:wrap}.brew-hop{flex-direction:column;align-items:stretch}.brew-hop button{align-self:start}header{flex-wrap:wrap}.main-nav{margin-left:auto;gap:5px}.main-nav a{padding:7px;font-size:11px}#brew-current h2{font-size:23px}}

/* Grid children must shrink so the mobile timeline scrolls inside its own area. */
.brew-layout,.brew-layout>aside,.brew-layout>div{min-width:0}.brew-timeline{max-width:100%}@media(max-width:720px){.brew-layout{grid-template-columns:minmax(0,1fr)}}
