/* Botanical Linen: shared tokens and explicit type rules for every workspace. */
@font-face{font-family:'Libre Baskerville';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/libre-baskerville-400.ttf') format('truetype')}
@font-face{font-family:'Libre Baskerville';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/libre-baskerville-700.ttf') format('truetype')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/playfair-display-700.ttf') format('truetype')}
:root{color-scheme:light;--linen:#F5F2E9;--porcelain:#FFFDFA;--charcoal:#293129;--secondary:#5D6358;--crimson:#B9152A;--forest:#174B32;--sage:#E0E8D7;--rule:#C9CEBF;--font-body:'Libre Baskerville',Baskerville,Georgia,serif;--font-heading:'Playfair Display',Georgia,serif;--bg:var(--linen);--panel:var(--porcelain);--ink:var(--charcoal);--muted:var(--secondary);--line:var(--rule);--border:var(--rule);--accent:var(--crimson);--accent2:var(--forest);--good:var(--forest);--bad:#9B2030;--warn:#795108;--shadow:0 4px 16px #29312908;font:400 16px/1.65 var(--font-body)}
/* Explicit descendant rules prevent legacy component font shorthands leaking through. */
body,body *{font-family:var(--font-body)!important;border-radius:0!important}
body *::before,body *::after{border-radius:0!important}
body :is(.ib-tile,.ib-categories button,.ib-directory button){background:var(--sage);border-color:var(--line);border-left-color:var(--forest);color:var(--ink)}
body :is(.recipe-category-heading,.ingredient-section){background:var(--sage);color:var(--ink);border-color:var(--line)}
body :is(.fg-finish,.fg-recipe-start){background:var(--forest);color:#fff;padding:28px}
body :is(.fg-finish,.fg-recipe-start) :is(h2,h3,p,small,strong,span){color:#fff!important}
body :is(.fg-finish,.fg-recipe-start) button{background:var(--crimson);color:#fff;border-color:var(--crimson)}
body{background:var(--bg);color:var(--ink)}
body :is(p,td,th,label,input,select,textarea,output,li,dd,dt,small,.hint,.mini,.small,.muted,.meta,.description,.note-text,.batch-note,.recipe-description){font-family:var(--font-body)!important;font-weight:400}
body :is(p,td,label,input,select,textarea,li,dd,dt,.description,.note-text){font-size:16px!important;line-height:1.65}
body :is(small,.hint,.mini,.small,.meta){font-size:14px;line-height:1.6}
body :is(h1,h2,h3,h4,h5,h6),body :is(h1,h2,h3,h4,h5,h6) *,body :is(.recipe-title,.recipe-name,.recipe-iteration-title,.rc-choices strong,.workspace-list strong,.ib-name strong){font-family:var(--font-heading)!important;font-weight:700!important;color:var(--ink);letter-spacing:normal;line-height:1.2}
body h1{font-size:38px!important}body h2{font-size:28px!important}body h3{font-size:22px!important}body h4{font-size:18px!important}
body :is(button,.button,summary.button){font-family:var(--font-body)!important;font-weight:700;min-height:44px;line-height:1.45}
body :is(input,select,textarea){font-size:16px!important;background:var(--panel);border-color:var(--line);color:var(--ink);min-width:0;accent-color:var(--forest)}
body :is(input,select){min-height:44px}body input:is([type=checkbox],[type=radio],[type=range]){min-height:0}
body :is(th,td){border-color:var(--line)}body th{font-size:13px;font-weight:700}
body :is(button,.button):hover{border-color:var(--forest);filter:none}
body :is(.primary,button.primary,.button.primary,.sg-primary){background:var(--crimson)!important;border-color:var(--crimson)!important;color:#fff!important}
body :is(.primary,button.primary,.button.primary,.sg-primary):hover{background:#981123!important}
body :is(.good,button.good){background:var(--forest);color:#fff;border-color:var(--forest)}
body :is(.card,.ingredient-card,dialog,.menu-panel,.ingredient-options,.ib,.recipe-library,.recipe-workspace){background:var(--panel);border-color:var(--line)}
body :is(.pill,.category-label,.category-badge,.ib-count,.ib-categories button.active,.tab.active){background:var(--sage);color:var(--ink);border-color:var(--line)}
body .pill.complete{background:var(--sage);color:var(--forest)}body .pill.draft{background:#FFF0D1;color:var(--warn)}
body :is(.allocation,.metric,.unit-config,.ferment-overview,.rc-choices>button){background:var(--panel);border-color:var(--line)}
body .app-header{background:var(--panel);align-items:center;gap:20px;padding:14px clamp(16px,3vw,44px)}
body .app-header>.brand{display:block;flex:0 0 152px;width:152px;padding:0;margin:0;border:0;background:transparent;box-shadow:none;line-height:0}
body .brand-logo{display:block;width:100%;height:auto;aspect-ratio:900/547;object-fit:contain;background:transparent;border:0}
body .tabs{display:flex;gap:3px;flex-wrap:wrap;justify-content:center}
body .tabs .tab{font-family:var(--font-heading)!important;font-size:12px!important;font-weight:700;text-transform:uppercase;letter-spacing:.12em;padding:12px 10px;color:var(--ink)}
body .tabs .tab.active{background:var(--sage);box-shadow:inset 0 -2px var(--forest)}
body .header-actions{align-items:center;flex-wrap:wrap;justify-content:flex-end}
body .section-nav{gap:6px}body .section-nav button{font-size:14px}
body .home-hero{gap:36px}body .home-hero h1{max-width:20ch}
body :is(.home-hero p,.page-heading p){font-size:16px;line-height:1.8}
body .workspace-list strong{font-size:20px}body .workspace-list small{margin-top:8px}
body .notebook-summary{border-color:var(--line)}body .notebook-summary strong{font-family:var(--font-heading)!important;font-weight:700}
body .menu-panel{max-width:min(380px,calc(100vw - 24px));overflow-wrap:anywhere}
body .menu-panel p{font-size:14px!important}body .menu-panel button{padding-block:12px}
body :focus-visible{outline:3px solid var(--forest)!important;outline-offset:3px!important}
body :is(.primary,.good):focus-visible{outline-color:var(--ink)!important}
body .notice{color:var(--ink);background:#FFF0D1;border-left-color:var(--warn)}body .notice.bad{background:#FBE7E9;border-left-color:var(--bad)}body .notice.good{background:var(--sage);border-left-color:var(--forest)}
body :is(.status-bad,.danger-text){color:var(--bad)}body .status-warn{color:var(--warn)}body :is(.status-good,.good-text){color:var(--forest)}
body .toast{background:var(--ink);color:white;line-height:1.6}
/* Guide components retain their content, navigation, calculators and illustrations. */
body #guide-home{--paper:var(--linen);--cream:var(--porcelain);--quiet:var(--secondary);--rule:var(--line);--sage:#E0E8D7;--sand:var(--sage);--red:var(--crimson);--green:var(--forest);--guide-home-ink:var(--ink);font-size:16px;line-height:1.65}
body #sauce-guide-preview{--sg-bg:var(--linen);--sg-panel:var(--porcelain);--sg-sage:var(--sage);--sg-sand:var(--sage);font-size:16px;line-height:1.65}
body .fermentation-guide{--fg-sage:var(--sage);--fg-sand:var(--sage)}
body :is(.fg-cta,.sg-finish,.sg-recipe-start,.getting-started){background:var(--forest)!important;color:#fff!important;padding:28px;border-color:var(--forest)}
body :is(.fg-cta,.sg-finish,.sg-recipe-start,.getting-started) :is(h1,h2,h3,p,small,strong,span){color:#fff!important}
body :is(.getting-started,.fg-finish,.fg-recipe-start,.sg-finish,.sg-recipe-start) :is(.eyebrow,.fg-kicker,.sg-kicker){color:#fff!important}
body :is(.fg-cta,.sg-finish,.sg-recipe-start,.getting-started) button:not(.primary){background:var(--panel);color:var(--ink);border-color:var(--panel)}
body #guide-home .description{min-height:0}body #guide-home .topics{font-size:14px}
body :is(.recipe-line,.rc-row,.weight-entry-row)>*{min-width:0}
body dialog{max-width:calc(100vw - 24px);border:1px solid var(--line);color:var(--ink)}
body dialog::backdrop{background:#29312980}
@media(max-width:1100px){body .app-header{flex-wrap:wrap}body .tabs{order:3;flex:1 0 100%;justify-content:flex-start;margin:0}body .header-actions{margin-left:auto}body .app-header>.brand{flex-basis:130px;width:130px}}
@media(max-width:650px){body h1{font-size:30px!important}body h2{font-size:25px!important}body h3{font-size:21px!important}body .app-header{gap:12px;padding:12px 16px}body .app-header>.brand{width:112px;flex-basis:112px}body .tabs{gap:2px;overflow-x:visible;flex-wrap:wrap;padding-bottom:4px}body .tabs .tab{padding:11px 9px;flex-shrink:0}body .header-actions{gap:6px;flex:1}body .header-actions .button{padding:8px;font-size:14px}body .home-hero{padding-block:24px;gap:20px}body .menu-panel{max-width:calc(100vw - 32px)}body :is(.fg-cta,.sg-finish,.sg-recipe-start,.getting-started){padding:22px}body .table-scroll,body .compare-scroll{max-width:100%;overflow:auto}body .card{padding:16px}body .toolbar{gap:12px}body .notebook-summary{padding-left:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{body{background:white}body h1{font-size:22pt!important}body :is(p,td,label){font-size:12pt!important}body #printSheet{font-family:var(--font-body)!important}}
