:root{--ink: #1f1a16;--ink-muted: #4a433c;--ink-faint: #6a6158;--page: #f6f1e8;--paper: #fffdf9;--wash: #efe6d6;--line: #e4d8c4;--line-strong: #d3b48a;--line-input: #d7cfc3;--amber: #b45309;--amber-deep: #7c2d12;--label: #7a5a1e;--ok: #3f6b4a;--ok-line: #b7cbb8;--ok-fill: #f4faf4;--warn: #9a6700;--warn-line: #e8c98a;--warn-fill: #fff8ea;--danger: #9b2c2c;--danger-line: #e3b6ae;--danger-fill: #fff5f3;--badge-fill: #f3e3c3;--nested-fill: #fbf6ee;--gold: #c9a227;--leather: #4a2e14;--cream: #f6ead4;--on-accent: #fffdf9;--radius-surface: 16px;--radius-control: 10px;--radius-chip: 999px;--radius-pixel: 6px;--font-display: Georgia, "Times New Roman", serif;--font-ui: system-ui, sans-serif;color:var(--ink);background:var(--page);font-family:var(--font-display);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{background-color:var(--page);background-image:linear-gradient(#f6f1e8e6,#f6f1e8e6),url(/art/paper.png);background-size:auto,420px;background-repeat:repeat}html,body,#root{margin:0;min-height:100%;scroll-padding-top:5.5rem}body{min-height:100dvh;background:transparent}html:has(.chat-page),body:has(.chat-page),#root:has(.chat-page){height:100%;max-height:100dvh;max-height:100svh;overflow:hidden}body:has(.chat-page){min-height:0}#root:has(.chat-page){display:flex;flex-direction:column}a{color:inherit}input,select,textarea,button{font:inherit}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em;background:var(--wash);padding:.1em .35em;border-radius:4px}.page{width:min(760px,calc(100% - 2rem - env(safe-area-inset-left) - env(safe-area-inset-right)));margin:0 auto;padding:max(1.25rem,env(safe-area-inset-top)) 0 max(3rem,env(safe-area-inset-bottom));scroll-padding-top:5.5rem}.page h1,.page h2,.page .card,.page .field,.page .toolbar{scroll-margin-top:5.5rem}.outbox-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 0 1rem;padding:.7rem .9rem;border-radius:var(--radius-control);border:1px solid var(--warn-line);background:var(--warn-fill);font-family:var(--font-ui);font-size:.9rem;line-height:1.4}.outbox-banner p{margin:0}.outbox-banner.offline{border-color:var(--warn-line)}.outbox-banner.online{border-color:var(--line-strong)}.topbar{display:flex;flex-direction:column;align-items:stretch;gap:.55rem;margin-bottom:1.15rem;position:sticky;top:0;z-index:5;background:var(--page);padding-top:.2rem;padding-bottom:.55rem;border-bottom:1px solid var(--line)}.brand-row{grid-area:brand;display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:.45rem .75rem;min-width:0}.brand-row>.brand,.brand-row>.brew-progress,.brand-row>.brew-progress-group{flex-shrink:0}.brand{grid-area:brand;display:inline-flex;align-items:center;gap:.55rem;font-size:1.35rem;font-weight:700;letter-spacing:.02em;text-decoration:none;padding:.15rem .2rem .5rem;border-bottom:2px solid var(--amber)}.brew-progress{display:inline-flex;align-items:center;font-family:var(--font-ui);font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;padding:.4rem .75rem;min-height:36px;border-radius:var(--radius-chip);background:var(--amber);color:var(--on-accent);border:1px solid var(--amber-deep);box-shadow:0 2px 0 var(--amber-deep)}.brew-progress-group{display:inline-flex;align-items:center;flex-wrap:nowrap;gap:.35rem}span.brew-progress{cursor:default}span.brew-progress:active{transform:none;box-shadow:0 2px 0 var(--amber-deep)}.brew-progress-discard{display:inline-flex;align-items:center;font-family:var(--font-ui);font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.4rem .75rem;min-height:36px;border-radius:var(--radius-chip);background:var(--paper);color:var(--danger);border:1px solid var(--danger-line);box-shadow:0 2px 0 var(--danger-line);cursor:pointer}.brew-progress:active{transform:translateY(2px);box-shadow:none}.fermenting-chip{margin-left:auto;min-width:0;flex:1 1 0;max-width:16rem;overflow:hidden;text-transform:none;letter-spacing:.02em;background:var(--ok);border-color:#2f5238;box-shadow:0 2px #2f5238}.fermenting-chip-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fermenting-chip-more{flex-shrink:0}span.fermenting-chip{cursor:default}span.fermenting-chip:active{transform:none;box-shadow:0 2px #2f5238}.fermenting-chip:active{box-shadow:none}.fermenting-card{display:flex;flex-direction:column;gap:.85rem}.fermenting-head h2{margin:0}.fermenting-phase{margin:.2rem 0 0;font-family:var(--font-ui);font-size:1.02rem;font-weight:700}.fermenting-live{margin:0;font-family:var(--font-ui);font-size:1.05rem;font-weight:600}.fermenting-facts summary{cursor:pointer;font-family:var(--font-ui);font-size:.92rem;font-weight:700}.fermenting-facts-list{display:grid;grid-template-columns:8rem 1fr;gap:.35rem .75rem;margin:.75rem 0 .5rem}.fermenting-facts-list dt{color:var(--label);font-family:var(--font-ui);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.fermenting-facts-list dd{margin:0;white-space:pre-wrap}.fermenting-gravity{display:flex;align-items:center;gap:.5rem;font-family:var(--font-ui);font-size:.95rem}.fermenting-note{display:flex;flex-direction:column;gap:.75rem}.fermenting-keg{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem;padding-top:.85rem;border-top:1px solid var(--line, rgba(0, 0, 0, .12))}.gravity-sample-row{display:flex;flex-direction:column;gap:.75rem}.tap-prompt{margin-top:.35rem}.tap-prompt .field{margin:.35rem 0 .15rem}.brew-progress-discard:active{transform:translateY(2px);box-shadow:none}.brand-portrait{flex-shrink:0;width:2.35rem;height:2.35rem;object-fit:cover;image-rendering:pixelated;image-rendering:crisp-edges;border-radius:var(--radius-pixel);border:2px solid var(--amber);background:var(--wash)}.nav{display:flex;gap:.4rem;flex-wrap:wrap}.nav-tools{grid-area:tools;justify-self:end}.nav a{font-family:var(--font-ui);font-size:.9rem;font-weight:600;text-decoration:none;padding:.55rem .85rem;min-height:44px;display:inline-flex;align-items:center;border-radius:var(--radius-chip);background:var(--wash)}.nav a.active{background:var(--amber);color:var(--on-accent)}.nav-button{font-family:var(--font-ui);font-size:.9rem;font-weight:600;padding:.55rem .85rem;min-height:44px;display:inline-flex;align-items:center;border-radius:var(--radius-chip);background:var(--wash);border:none;cursor:pointer;color:inherit}fieldset.card{min-width:0;margin:0}.token-total{font-family:var(--font-ui);font-weight:600;margin-top:.75rem}.token-spend{display:grid;gap:.12rem;margin:0 0 .9rem;padding:.7rem .8rem;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--nested-fill)}.token-spend-label{margin:0;color:var(--amber);font-family:var(--font-ui);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.token-spend-amount{margin:0;color:var(--amber-deep);font-family:var(--font-ui);font-size:1.7rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2}.token-spend-meta{margin:0;color:var(--ink-faint);font-family:var(--font-ui);font-size:.85rem;line-height:1.4}.owner-census{display:grid;gap:.7rem;margin:0 0 .9rem}.owner-census-block{margin:0}.owner-census-empty{margin:.2rem 0 0;color:var(--ink-faint);font-family:var(--font-ui);font-size:.9rem}.owner-census-handles{display:flex;flex-wrap:wrap;gap:.35rem .55rem;margin:.3rem 0 0;padding:0;list-style:none}.owner-census-handles li{margin:0;padding:.2rem .55rem;border:1px solid var(--line);border-radius:var(--radius-chip);background:var(--nested-fill);color:var(--ink-muted);font-family:var(--font-ui);font-size:.88rem;font-weight:600}.hero{margin-bottom:.25rem}.hero .brand{margin-bottom:.85rem;padding-bottom:.45rem}.eyebrow{margin:0 0 .4rem;color:var(--amber);font-family:var(--font-ui);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}h1.eyebrow{font-size:.8rem;line-height:1.3}h1{margin:0 0 .6rem;font-size:clamp(1.8rem,6vw,2.6rem);line-height:1.1}h2{margin:0 0 .45rem;font-size:1.05rem;font-family:var(--font-ui)}.batch-group-heading{margin:.85rem 0 .35rem;padding-bottom:.28rem;border-bottom:1px solid var(--line);font-size:.78rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}.hero .detail{margin-bottom:.7rem}.lede{margin:0;max-width:38rem;color:var(--ink-muted);font-size:1.05rem;line-height:1.5}.lede a,.detail a,.setup-steps a{color:var(--amber)}.lede-welcome{display:block;margin-bottom:.35rem;font-size:1.35em;font-weight:700;color:var(--ink);letter-spacing:-.02em;white-space:nowrap}.lede-snapshot{list-style:none;margin:.15rem 0 1.1rem;padding:0;max-width:38rem;display:grid;gap:.28rem;font-family:var(--font-ui);font-size:1.02rem;line-height:1.45;color:var(--ink)}.lede-snapshot a{color:var(--amber)}.batch-fold{padding:.85rem 1rem}.batch-fold summary{cursor:pointer;font-family:var(--font-ui);font-size:.92rem;font-weight:700;color:var(--ink)}.batch-fold summary:hover{color:var(--amber-deep)}.batch-fold .form-grid,.batch-fold-body{margin-top:.85rem}.theme-toggle{align-self:flex-start;margin-top:.85rem;min-height:36px;padding:.35rem .75rem;font-family:var(--font-ui);font-size:.85rem;font-weight:700;color:var(--ink);background:var(--paper);border:1px solid var(--line-input);border-radius:var(--radius-control);cursor:pointer}.status-line{margin:0 0 .7rem;font-family:var(--font-ui);font-size:.9rem;font-weight:700}.status-line.ok{color:var(--ok)}.status-line.pending{color:var(--ink-faint)}.status-line.warn{color:var(--warn)}.status-line.error{color:var(--danger)}.stack{display:grid;gap:1rem}.toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem}.toolbar h1{margin-bottom:0}.toolbar-end{justify-content:flex-end}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-surface);padding:1.1rem 1.2rem}.link-card{text-decoration:none;display:block}.link-card:hover,.list-row:hover{border-color:var(--line-strong)}.status-label{font-family:var(--font-ui);font-weight:700;margin-bottom:.35rem}.detail{margin:0;color:var(--ink-muted);font-family:var(--font-ui);font-size:.95rem;line-height:1.5}.detail.error{color:var(--danger)}.card ul{margin:.4rem 0 0;padding-left:1.15rem;font-family:var(--font-ui);font-size:.95rem;line-height:1.55}.card li+li{margin-top:.25rem}.card.ok{border-color:var(--ok-line);background:var(--ok-fill)}.card.warn{border-color:var(--warn-line);background:var(--warn-fill)}.needs-attention{outline:3px solid var(--amber);box-shadow:0 0 0 6px color-mix(in srgb,var(--amber) 28%,transparent)}.style-miss{margin:.35rem 0 0;padding:.15rem 0 .15rem .7rem;border:none;border-left:2px solid var(--amber);background:transparent;color:var(--ink);font-family:var(--font-display);font-size:.98rem;line-height:1.45}.card.warn .action-row{margin-top:.75rem}.inventory-list{margin:.65rem 0 0;padding-left:1.15rem}.card.error{border-color:var(--danger-line);background:var(--danger-fill)}.card.pending{border-color:var(--line-input)}.list{display:grid;gap:.65rem}.list-row{display:grid;gap:.2rem;text-decoration:none;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-surface);padding:.95rem 1rem;min-height:64px}.gear-list-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem}.gear-list-row .list-main{display:grid;gap:.2rem;min-width:0;text-decoration:none;color:inherit}.gear-list-row select{min-height:44px;min-width:8.5rem}.gear-list-row .btn{white-space:nowrap}.list-title{display:flex;align-items:center;gap:.5rem;font-family:var(--font-ui);font-weight:700}.inventory-groups{display:grid;gap:1.55rem}.inventory-groups.is-nested{gap:.85rem;margin-top:.15rem}.inventory-section{display:grid;gap:.55rem}.inventory-section-head{display:flex;align-items:center;gap:.55rem;width:100%;margin:0;padding:.1rem 0;border:0;background:transparent;cursor:pointer;text-align:left;font:inherit;color:inherit;border-radius:var(--radius-pixel);user-select:none;-webkit-user-select:none}.inventory-section-head:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.inventory-section-icon{margin:0;padding:0;line-height:0;flex-shrink:0}.inventory-section-icon img,.inventory-section-code{width:2.15rem;height:2.15rem;object-fit:cover;image-rendering:pixelated;image-rendering:crisp-edges;border-radius:var(--radius-pixel);border:1px solid var(--line);background:var(--wash);flex-shrink:0}.inventory-section-code{display:grid;place-items:center;box-sizing:border-box;width:auto;min-width:2.15rem;padding:0 .18rem;font-family:"Press Start 2P",ui-monospace,Lucida Console,monospace;font-size:.48rem;font-weight:400;letter-spacing:-.04em;line-height:1;color:#3d2a12;-webkit-font-smoothing:none}.inventory-section-head h2,.inventory-section-title{margin:0;flex:1;font-size:1.28rem;font-family:var(--font-ui);font-weight:700}.style-origin-flag{width:48px;height:30px;object-fit:fill;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;border:1px solid var(--line-strong);border-radius:3px;background:var(--wash);flex-shrink:0}.style-origin-flag.is-square{width:2.15rem;height:2.15rem;object-fit:cover}.inventory-subgroup{display:grid;gap:.45rem}.inventory-subhead{margin:.2rem 0 0;font-family:var(--font-ui);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--amber)}.keezer-card{display:grid;gap:.75rem}.keezer-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem}.tap-list{display:grid;gap:.45rem}.tap-row{display:grid;grid-template-columns:3.4rem minmax(0,1fr) auto auto;gap:.45rem;align-items:center}.tap-row .tap-label{font-family:var(--font-ui);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--amber)}.tap-editor{display:grid;gap:.55rem}.tap-editor .tap-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.keezer-card .tap-row{grid-template-columns:3.4rem minmax(0,1fr)}.keezer-card .tap-row input[type=date],.keezer-card .tap-row select,.keezer-card .tap-row>.btn,.keezer-card .tap-kick-note{grid-column:2;min-width:0;width:100%}.keezer-card .tap-kick-note{display:grid;gap:.4rem}.keezer-card .tap-kick-actions{display:flex;flex-wrap:wrap;gap:.45rem}.keezer-card .tap-kick-actions .btn{width:auto}.tap-row input[type=date],.tap-row select{min-height:44px;font:inherit}.list-meta{color:var(--ink-faint);font-family:var(--font-ui);font-size:.9rem}.brew-log{position:relative;margin:.2rem auto 0;max-width:40rem;overflow:hidden;text-size-adjust:100%;-webkit-text-size-adjust:100%}.brew-log-art{width:100%;height:auto;aspect-ratio:5 / 4;object-fit:fill;display:block;image-rendering:pixelated;image-rendering:crisp-edges}.brew-log-masthead{position:absolute;top:5.4%;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.45rem;padding:.18rem .55rem .22rem;color:var(--cream);background:var(--leather);border:2px solid var(--gold);border-radius:var(--radius-pixel);pointer-events:none}.brew-log-masthead img{width:1.85rem;height:1.85rem;object-fit:cover;image-rendering:pixelated;image-rendering:crisp-edges;border-radius:5px;border:2px solid var(--gold);background:var(--wash)}.brew-log-masthead strong{display:block;font-size:.95rem;letter-spacing:.02em;line-height:1.1}.brew-log-spread{position:absolute;inset:16% 12% 20%;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:7%;min-height:0;overflow:hidden}.brew-log-leaf{--recipe-slot-gap: .65rem;display:grid;grid-template-rows:repeat(2,minmax(0,1fr));align-content:stretch;gap:var(--recipe-slot-gap);height:100%;min-width:0;min-height:0;overflow:hidden}.brew-log-leaf:has(.brew-log-empty){grid-template-rows:minmax(0,1fr)}.brew-log-empty{margin:.4rem .15rem;color:#5a4634;font-size:.95rem;line-height:1.4}.brew-log-entry{display:grid;grid-template-rows:auto minmax(0,1fr);align-content:start;gap:.2rem;text-decoration:none;color:#2c2118;padding:.12rem .08rem .35rem;border-bottom:1px solid #d4c09a;min-height:0;min-width:0;overflow:hidden}.brew-log-entry:hover,.brew-log-entry:focus-visible{background:#b4530914}.brew-log-entry-name{font-size:1.02rem;font-weight:700;line-height:1.2;overflow:hidden;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.brew-log-entry-blurb{color:#4a3a2c;font-size:.78rem;line-height:1.3;white-space:pre-line;overflow:hidden;overflow-wrap:anywhere;min-height:0;max-height:6.5em}.brew-log-turn{position:absolute;bottom:3.8%;min-height:36px;padding:.25rem .65rem;font-family:var(--font-display);font-size:.78rem;font-weight:700;letter-spacing:.03em;color:var(--cream);background:#5c3a16;border:2px solid var(--gold);border-radius:4px;cursor:pointer}.brew-log-turn.is-prev{left:7%}.brew-log-turn.is-next{right:7%}.brew-log-turn:disabled{opacity:.35;cursor:default}.brew-log-folio{position:absolute;left:50%;bottom:5%;transform:translate(-50%);margin:0;font-family:var(--font-ui);font-size:.72rem;font-weight:700;letter-spacing:.06em;color:#6a5136}.recipe-cards{display:grid;gap:.7rem}.recipe-card{display:grid;grid-template-columns:3.4rem minmax(0,1fr) auto;gap:.75rem;align-items:center;text-decoration:none;color:inherit;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-surface);padding:.85rem .9rem;min-height:72px}.recipe-card:hover,.recipe-card:focus-visible{border-color:var(--line-strong)}.recipe-card-icon{width:3.4rem;height:2.125rem;object-fit:fill;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;border-radius:4px;border:1px solid var(--line-strong);background:var(--wash);flex-shrink:0}.recipe-card-icon.is-square{width:3.15rem;height:3.15rem;object-fit:cover;border-radius:var(--radius-pixel)}.recipe-card-body{display:grid;gap:.18rem;min-width:0}.recipe-card-name{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-family:var(--font-ui);font-size:1.05rem;font-weight:700;line-height:1.25;overflow-wrap:anywhere}.recipe-card-style{color:var(--ink-faint);font-family:var(--font-ui);font-size:.88rem;line-height:1.3}.recipe-card-stats{display:flex;flex-wrap:wrap;gap:.35rem .85rem;margin-top:.12rem}.recipe-card-stat,.recipe-card-bill{display:inline-flex;align-items:center;gap:.32rem;color:var(--ink-muted);font-family:var(--font-ui);font-size:.8rem;font-weight:700;line-height:1.3}.recipe-card-bill{font-weight:500;color:var(--ink-muted);overflow-wrap:anywhere}.recipe-card-stat img,.recipe-card-bill img{width:1.05rem;height:1.05rem;object-fit:cover;image-rendering:pixelated;image-rendering:crisp-edges;border-radius:4px;flex-shrink:0}.recipe-card-go{align-self:center;color:var(--line-strong);font-family:var(--font-ui);font-size:1.55rem;font-weight:400;line-height:1}.badge{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--label);background:var(--badge-fill);border-radius:var(--radius-chip);padding:.15rem .45rem}.form-grid{display:grid;gap:.85rem}.card-fold-head{display:flex;align-items:center;width:100%;margin:0;padding:0;border:0;background:transparent;cursor:pointer;text-align:left;font:inherit;color:inherit;border-radius:var(--radius-pixel)}.card-fold-head:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.card-fold-head h2{margin:0;flex:1}.card-fold-head:after{content:"";width:.42rem;height:.42rem;margin-left:.5rem;border-right:2px solid var(--amber);border-bottom:2px solid var(--amber);transform:rotate(45deg);flex-shrink:0}.card-fold-head[aria-expanded=true]:after{transform:rotate(-135deg);margin-top:.2rem}.card-fold-head+.form-grid{margin-top:.85rem}.form-row-2{display:grid;gap:.85rem}.form-row-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.form-row-3>*{min-width:0}.beer-edit input[type=date]{min-width:0;max-width:100%}@container (max-width: 520px){.beer-edit .form-row-3:has(input[type=date]){grid-template-columns:1fr 1fr}}.beer-edit{gap:.55rem;container-type:inline-size}.beer-edit .form-row-2,.beer-edit .form-row-3{gap:.55rem}.hop-line{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(8rem,.9fr) minmax(10rem,1.1fr) minmax(4.5rem,.5fr) auto;gap:.55rem;align-items:end}.hop-line .field{min-width:0}.field{display:grid;gap:.35rem;font-family:var(--font-ui);font-size:.85rem;font-weight:650}.field>label{cursor:pointer}.field input,.field select,.field textarea{width:100%;font-family:var(--font-ui);font-weight:400;font-size:1rem;padding:.7rem .8rem;border-radius:var(--radius-control);border:1px solid var(--line-input);background:var(--paper);min-height:44px}.field textarea{min-height:88px;resize:vertical}.field input:read-only{background:var(--wash);color:var(--ink-muted)}.beer-glance{display:grid;gap:.55rem}.beer-glance-line{margin:0;font-family:var(--font-ui);font-size:.92rem;line-height:1.4;color:var(--ink-muted)}.beer-glance .recipe-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.fact{margin:0 0 .75rem}.fact:last-child{margin-bottom:0}.fact strong{display:block;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--label);margin-bottom:.2rem}.fact span{display:block;white-space:pre-wrap}.check-row{display:flex;align-items:center;gap:.55rem;font-family:var(--font-ui);font-size:.95rem;min-height:44px}.check-row input,.chat-option input{width:1.15rem;height:1.15rem;flex-shrink:0}.split-field{display:grid;grid-template-columns:minmax(4rem,1fr) auto auto;gap:.5rem;align-items:center}.agent-avatars{grid-area:agents;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));justify-items:center;align-items:start;gap:.2rem .3rem;width:100%;overflow:hidden}.agent-avatar{display:flex;flex-direction:column;align-items:center;gap:.12rem;width:100%;min-width:0;text-decoration:none;min-height:44px}.agent-avatar img{width:clamp(1.7rem,7vw,2.5rem);height:clamp(1.7rem,7vw,2.5rem);object-fit:cover;image-rendering:pixelated;image-rendering:crisp-edges;border-radius:var(--radius-pixel);border:1px solid var(--line);background:var(--wash)}.agent-avatar.is-active img{border-color:var(--amber);box-shadow:0 0 0 2px var(--amber)}.agent-avatar-role{font-family:var(--font-ui);font-size:clamp(.52rem,2.2vw,.62rem);font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-align:center;line-height:1.15;color:var(--amber)}.agent-avatar-name{font-family:var(--font-ui);font-size:clamp(.58rem,2.4vw,.7rem);font-weight:700;text-align:center;line-height:1.15;color:inherit;overflow-wrap:anywhere}.subnav{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.15rem;margin:0;border-bottom:1px solid var(--label)}.subnav a,.subnav button{font-family:var(--font-ui);font-size:.85rem;font-weight:600;text-decoration:none;padding:.38rem .75rem .32rem;min-height:36px;display:inline-flex;align-items:center;border-radius:var(--radius-pixel) var(--radius-pixel) 0 0;background:var(--wash);border:1px solid var(--label);border-bottom:none;cursor:pointer;color:inherit;position:relative}.subnav a.active{background:var(--paper);color:inherit;border-color:var(--amber);padding-bottom:.42rem;z-index:1}.subnav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--paper)}.pmobot-home-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;margin-top:.85rem;border-bottom:none;gap:.35rem}.pmobot-home-actions a,.pmobot-home-actions button{border-radius:var(--radius-chip);border:none;background:var(--wash);padding:.4rem .75rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.action-row{display:flex;flex-wrap:wrap;gap:.6rem}.btn{font-family:var(--font-ui);font-size:.95rem;font-weight:700;text-decoration:none;border:1px solid var(--line-input);background:var(--paper);color:var(--ink);border-radius:var(--radius-control);padding:.65rem 1rem;min-height:44px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.btn:disabled{opacity:.65;cursor:default}.brew-now .btn{box-shadow:0 3px 0 var(--line-input);transform:translateY(0);transition:transform .08s ease,box-shadow .08s ease,filter .08s ease}.brew-now .btn:hover:not(:disabled){filter:brightness(.97)}.brew-now .btn:active:not(:disabled){transform:translateY(3px);box-shadow:none}.brew-now .btn-primary{box-shadow:0 3px 0 var(--amber-deep)}.brew-now .btn-primary:hover:not(:disabled){filter:brightness(1.08)}.brew-now .btn-primary:active:not(:disabled){box-shadow:none}.brew-now .btn-primary[aria-busy=true]{animation:wait-pulse 1.1s ease-in-out infinite}.brew-now .btn-primary[data-saved=true]{background:var(--ok);border-color:var(--ok);box-shadow:0 3px 0 var(--ok);opacity:1}.guided-steps{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.25rem;-webkit-overflow-scrolling:touch}.guided-step{flex:0 0 auto;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:.35rem .65rem;font:inherit;font-size:.85rem;cursor:pointer}.guided-step.is-current{background:var(--amber);border-color:var(--amber);color:var(--on-accent)}.guided-step.is-done:not(.is-current){opacity:.7}.guided-timer{font-size:2rem;font-variant-numeric:tabular-nums;letter-spacing:.02em;margin:0}.guided-alarm{border-color:var(--amber-deep)}.guided-rest{display:grid;gap:.4rem;padding-bottom:.75rem;border-bottom:1px solid var(--line)}.btn:focus-visible,.nav a:focus-visible,.nav-button:focus-visible,.subnav a:focus-visible,.subnav button:focus-visible,.agent-avatar:focus-visible,.list-row:focus-visible,.recipe-card:focus-visible,.brand:focus-visible,.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,.chat-form textarea:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.btn-primary{background:var(--amber);border-color:var(--amber);color:var(--on-accent)}.btn-brew{width:100%;min-height:52px;font-size:1.05rem;margin-bottom:.25rem}.on-tap-card h2{margin-bottom:.45rem}.art-illuminated.on-tap-card{overflow:hidden;padding:.95rem 1.05rem 1.05rem}.pmobot-home{overflow:hidden}.hops-flourish{display:block;width:min(100%,16rem);height:auto;margin:.1rem 0 .7rem;image-rendering:pixelated;image-rendering:crisp-edges}.hops-flourish-repeat{height:48px;margin:-1.1rem -1.2rem .85rem;background-image:url(/art/hops-flourish.png);background-repeat:repeat-x;background-position:left center;background-size:256px 48px;image-rendering:pixelated;image-rendering:crisp-edges}.on-tap-keezer+.on-tap-keezer{margin-top:.7rem}.on-tap-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.on-tap-item{display:grid;gap:.35rem;align-items:center}.on-tap-list a,.on-tap-empty{display:grid;grid-template-columns:3.4rem minmax(0,1fr);gap:.45rem;align-items:baseline;text-decoration:none;padding:.35rem .45rem;border-radius:var(--radius-control);background:var(--paper);border:1px solid var(--wash)}.on-tap-list a:hover{border-color:var(--line)}.on-tap-list strong{font-family:var(--font-ui);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--label)}.on-tap-empty{color:var(--ink-faint)}.on-tap-closed span{color:var(--amber);font-style:italic}.fermenting-profile{margin:.35rem 0 0;padding:.35rem .6rem;border-left:3px solid var(--amber);background:var(--warn-fill);color:var(--ink);font-weight:650}.fermenting-links{display:flex;flex-wrap:wrap;gap:.75rem}.install-home{display:grid;gap:.45rem}.home-updates{margin-top:.85rem}.home-household{display:grid;gap:.85rem;margin-top:.75rem}.pmobot-home .cellar-lines{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.pmobot-home .cellar-lines li{margin:0}.pmobot-home .cellar-lines a{display:block;padding:.4rem .55rem;border:1px solid var(--wash);border-radius:var(--radius-control);background:var(--paper);color:var(--ink);text-decoration:none}.pmobot-home .cellar-lines a:hover{border-color:var(--line)}.recipe-notes{padding:.85rem 1rem}.recipe-notes summary{cursor:pointer;font-family:var(--font-ui);font-size:1.05rem;font-weight:700;color:var(--ink)}.recipe-notes summary:hover{color:var(--amber-deep)}.recipe-notes .form-grid{margin-top:.85rem}.recipe-actions .action-row{justify-content:flex-start}.recipe-actions .btn-danger{margin-left:auto}.recipe-builder .guided-steps{gap:.2rem}.recipe-builder .guided-step{border:none;background:transparent;color:var(--ink-faint);padding:.2rem 0;border-radius:0;font-weight:600}.recipe-builder .guided-step:not(:last-child):after{content:"·";margin-left:.55rem;color:var(--ink-faint);font-weight:400}.recipe-builder .guided-step.is-current{background:transparent;border:none;color:var(--amber-deep)}.recipe-builder .guided-step.is-done:not(.is-current){opacity:1;color:var(--ink-muted)}.home-updates summary{cursor:pointer;font-family:var(--font-ui);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--label)}.home-updates summary:hover{color:var(--amber-deep)}.setup-steps{margin:0;padding-left:1.25rem;font-family:var(--font-ui);font-size:.95rem;line-height:1.5}.setup-steps li+li{margin-top:.45rem}.update-log{list-style:none;margin:.55rem 0 0;padding:0;display:grid;gap:.95rem}.update-log li{display:grid;gap:.2rem}.update-log time{font-family:var(--font-ui);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--amber)}.update-log strong{font-family:var(--font-ui);font-size:.98rem}.update-log .detail{white-space:pre-line}.btn-danger{background:var(--danger-fill);border-color:var(--danger-line);color:var(--danger)}.chat-log{display:grid;gap:.9rem}.page:has(.chat-screen),.page.chat-page{flex:1 1 auto;min-height:0;width:min(760px,calc(100% - .7rem - env(safe-area-inset-left) - env(safe-area-inset-right)));height:var(--chat-vh, 100svh);max-height:var(--chat-vh, 100svh);overflow:hidden;overflow-x:hidden;display:flex;flex-direction:column;margin-top:0;padding-bottom:max(.35rem,env(safe-area-inset-bottom))}.page.chat-page{padding-top:max(.45rem,env(safe-area-inset-top))}.page:has(.chat-screen) .topbar,.page.chat-page .topbar,.page.chat-page .book-tabs,.page.chat-page .chat-journal-tabs{flex-shrink:0}.page:has(.chat-screen) .topbar,.page.chat-page .topbar{margin-bottom:.35rem}.page.chat-page .outbox-banner,.page.chat-page .saved-banner,.page.chat-page .chat-overdue-bar,.page.chat-page .chat-dock,.page.chat-page .chat-form{flex-shrink:0}.page.chat-page .brand{font-size:1.12rem;padding-bottom:.25rem}.page.chat-page .brand-row{min-width:0;flex-wrap:wrap}.page.chat-page .fermenting-chip{min-width:0;flex:1 1 100%;max-width:none;order:3}.page.chat-page .brand-portrait{width:30px;height:30px}.chat-screen{flex:1;min-height:0;display:flex;flex-direction:column;gap:.4rem}.chat-screen>.card.warn,.chat-screen>.card.error{flex-shrink:0}.chat-journal{flex:1 1 0;min-height:0;min-width:0;display:flex;flex-direction:column;position:relative}.chat-journal-tabs,.book-tabs{display:flex;align-items:flex-end;gap:.14rem;padding:0 .55rem;margin:0 0 -1px;position:relative;z-index:3}.has-book-tabs>.book-tabs{padding:0 .45rem 0 0}.has-book-tabs .topbar{margin-bottom:.35rem}.book-page{background:var(--paper);border:1px solid var(--label);border-radius:0 var(--radius-pixel) var(--radius-pixel) var(--radius-pixel);padding:.9rem 1rem 1.15rem}.chat-journal-tab,.book-tab{flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:.1rem;min-width:0;min-height:44px;text-decoration:none;padding:.28rem .12rem .22rem;background:var(--wash);border:1px solid var(--label);border-bottom:none;border-radius:var(--radius-pixel) var(--radius-pixel) 0 0;position:relative}.chat-journal-tab img,.book-tab img{width:clamp(1.7rem,6.4vw,2.35rem);height:clamp(1.7rem,6.4vw,2.35rem);object-fit:cover;image-rendering:pixelated;image-rendering:crisp-edges;border-radius:var(--radius-pixel);border:1px solid var(--line);background:var(--cream)}.chat-journal-tab.is-active,.book-tab.is-active{background:var(--paper);padding-bottom:.42rem;border-color:var(--amber);z-index:1}.chat-journal-tab.is-active:after,.book-tab.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:3px;background:var(--paper);pointer-events:none}.chat-journal-tab.is-active img,.book-tab.is-active img{border-color:var(--amber)}.chat-log.chat-vine{flex:1 1 0;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden;position:relative;background-color:var(--paper);border:1px solid var(--label);border-image:none;box-shadow:none;border-radius:0 var(--radius-pixel) var(--radius-pixel) var(--radius-pixel);padding:.45rem .7rem .5rem}.chat-log-scroll{flex:1 1 0;min-height:0;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-left:.7rem;background-image:linear-gradient(to right,transparent 0,transparent .42rem,rgba(157,50,40,.22) .42rem,rgba(157,50,40,.22) calc(.42rem + 1px),transparent calc(.42rem + 1px)),repeating-linear-gradient(to bottom,transparent 0,transparent calc(1.5rem - 1px),rgba(157,112,58,.16) calc(1.5rem - 1px),rgba(157,112,58,.16) 1.5rem);background-attachment:local}.chat-log-messages{margin-top:auto;display:grid;grid-template-columns:minmax(0,1fr);gap:.9rem;padding:.2rem .1rem .45rem;min-width:0}.chat-log-messages:has(.chat-empty){margin-top:auto;margin-bottom:auto}.chat-empty{margin:0;text-align:center;color:var(--ink-faint);font-family:var(--font-ui);font-size:.95rem;display:grid;justify-items:center;gap:.5rem}.chat-empty-art{width:6.5rem;height:auto;image-rendering:pixelated;image-rendering:crisp-edges}.chat-tools-flourish{margin:0;width:min(100%,7.5rem);pointer-events:none;justify-self:center}.chat-vine .bubble{max-width:100%;min-width:0}.chat-vine .bubble.assistant{justify-self:start}.chat-vine .bubble.user{justify-self:end}.chat-vine .bubble.user .bubble-label{justify-content:flex-end}.chat-vine .bubble.user>.bubble-text{background:var(--wash);border:1px solid var(--line);border-radius:16px 16px 4px;padding:.55rem .75rem}.chat-vine .bubble.assistant>.bubble-text{background:var(--nested-fill);border:1px solid var(--line);border-radius:16px 16px 16px 4px;padding:.55rem .75rem}.bubble-text .bubble-para{margin:0 0 .45rem}.bubble-text .bubble-para:last-child{margin-bottom:0}.chat-trace{flex:0 1 auto;max-height:16vh;min-height:0;overflow:auto;margin-top:0;padding:.5rem .7rem}.chat-trace-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.chat-trace-head h2{margin:0;font-size:.95rem}.chat-trace .detail{display:none}.chat-trace-body{margin:.35rem 0 0;max-height:none;overflow:auto;padding:.65rem .75rem;border:1px solid var(--line);border-radius:8px;background:var(--nested-fill);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.4;white-space:pre-wrap;word-break:break-word}.chat-subject{flex:1;min-width:0;display:flex;align-items:center;gap:.35rem;margin:0;padding:0;border:0;font-family:var(--font-ui);font-size:.82rem;font-weight:700}.chat-vine-head{flex-shrink:0;display:flex;align-items:center;gap:.45rem;margin:0 0 .35rem;min-height:1.6rem;padding-bottom:.3rem;border-bottom:1px solid var(--line);position:relative;z-index:4}.chat-subject a{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-subject-kicker{flex-shrink:0;font-weight:600;color:var(--ink-muted)}.chat-subject-clear{width:1.7rem;height:1.7rem;padding:0;border:0;background:none;font-size:1.15rem;line-height:1;color:var(--ink-muted);cursor:pointer}.consulted-row{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .45rem;margin:.35rem 0 0;font-family:var(--font-ui);font-size:.78rem;color:var(--ink-faint)}.consulted-label{font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:.68rem}.consulted-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.1rem .4rem .1rem .15rem;border:1px solid var(--line);border-radius:999px;background:var(--wash);color:var(--ink-muted)}.consulted-chip img{width:18px;height:18px;border-radius:4px;object-fit:cover;image-rendering:pixelated;image-rendering:crisp-edges}.chat-tools{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.4rem;min-height:2rem}.chat-tools-start,.chat-tools-end{display:flex;align-items:center;gap:.45rem;min-width:0}.chat-tools-start{justify-self:start}.chat-tools-end{justify-self:end;justify-content:flex-end}.chat-tools .chat-option{min-height:0;padding:0;font-size:.82rem}.chat-confirm-btn,.chat-clear{min-height:32px;padding:.25rem .55rem;font-size:.82rem}.chat-clear{margin-left:0}.chat-stop{min-height:32px;padding:.25rem .6rem;font-size:.82rem}.chat-overdue-bar{flex-shrink:0;margin-top:.35rem;padding-top:.35rem;border-top:1px solid var(--line)}.chat-overdue-text{margin:.15rem 0 0;font-family:var(--font-ui);font-size:.88rem;color:var(--ink-muted)}.chat-dock{flex-shrink:0;display:grid;gap:.35rem;margin-top:.55rem;padding-top:.45rem;background:var(--paper)}.chat-vine .chat-form{flex-shrink:0;gap:.4rem;margin-top:.45rem;padding-top:.45rem}.chat-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:end}.chat-composer .field>label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.chat-composer .field{position:relative;min-width:0}.chat-vine .chat-composer textarea{min-height:44px;max-height:7.5rem;resize:none}.chat-vine .chat-option{min-height:0;padding:.15rem 0}.chat-vine .chat-actions{margin-top:0}.chat-vine>.card.error{margin:.35rem 0 0}.chat-dock-ask .bubble-label{margin-bottom:.2rem}.chat-dock-ask .bubble-text{font-size:.95rem}.chat-dock-links{display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin:.35rem 0 0;font-family:var(--font-ui);font-size:.88rem}.bubble-label{display:flex;align-items:center;gap:.4rem;margin:0 0 .25rem;font-family:var(--font-ui);font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--amber)}.bubble-avatar{width:1.5rem;height:1.5rem;flex-shrink:0;object-fit:cover;image-rendering:pixelated;image-rendering:crisp-edges;border-radius:var(--radius-pixel);border:1px solid var(--line);background:var(--wash)}.bubble.user .bubble-label{color:var(--ink-faint)}.bubble-text{margin:0;font-family:var(--font-ui);line-height:1.5;white-space:pre-wrap}.chat-vine .bubble-text{white-space:normal;overflow-wrap:anywhere;word-break:break-word}.bubble.streaming .bubble-text:after{content:"▍";margin-left:.12em;color:var(--amber);animation:wait-pulse 1.1s ease-in-out infinite}.chat-form{display:grid;gap:.75rem;flex-shrink:0}.consulted{margin:.4rem 0 0;font-family:var(--font-ui);font-size:.8rem;color:var(--ink-faint)}.debate-log{display:grid;gap:1.1rem}.debate-turn .bubble-text{margin:0}.debate-name{display:flex;align-items:center;gap:.4rem;margin:0 0 .25rem;font-family:var(--font-ui);font-size:.92rem;font-weight:700}.debate-name-megan{color:#9a3412}.debate-name-erma,.debate-name-recipes{color:var(--amber)}.debate-name-quinn{color:#0f766e}.debate-name-evan{color:#3f6212}.debate-name-van{color:#1e3a5f}.debate-name-pmobot{color:var(--amber-deep)}.wait-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.15rem .55rem;align-items:center;min-height:0}.wait-status{grid-column:1;display:flex;align-items:center;gap:.5rem;margin:0;color:var(--ink-muted);font-family:var(--font-ui);font-size:.9rem;line-height:1.35}.chat-stop{grid-column:2;grid-row:1}.wait-dot{flex:0 0 auto;width:.5rem;height:.5rem;border-radius:50%;background:var(--amber);animation:wait-pulse 1.1s ease-in-out infinite}@keyframes wait-pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.chat-option{display:flex;align-items:center;gap:.5rem;font-family:var(--font-ui);font-size:.9rem;font-weight:600;min-height:44px}.chat-confirm{margin-top:.85rem}.chat-confirm .detail{white-space:pre-wrap}.chat-confirm-overlay{position:absolute;inset:0;z-index:8;display:grid;place-items:center;padding:1rem .75rem;background:#1f1a1652}.chat-confirm-bubble{width:min(100%,28rem);max-height:min(72%,30rem);overflow:auto}.chat-confirm-bubble .chat-confirm{margin:0}.chat-confirm-btn.is-ready{opacity:1}.chat-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.chat-form .chat-actions{margin-top:0}.rapt-chart-wrap{overflow-x:auto}.rapt-chart-readout{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem 1.1rem;margin:0 0 .55rem;font-family:var(--font-ui)}.rapt-readout-temp,.rapt-readout-sg{font-size:1.2rem;font-weight:700}.rapt-readout-temp{color:#b4553a}.rapt-readout-sg{color:#7a5a1e}.rapt-readout-time{font-size:.95rem;font-weight:600;color:var(--ink)}.rapt-readout-hint,.rapt-chart-hint{margin:0;font-family:var(--font-ui);font-size:.78rem;color:var(--ink-muted)}.rapt-chart-hint{margin-top:.4rem}.rapt-chart{width:100%;height:auto;display:block;font-family:var(--font-ui);touch-action:none;cursor:crosshair}.rapt-chart-legend{display:flex;flex-wrap:wrap;gap:.65rem 1.1rem;margin:.7rem 0 0;padding:0;list-style:none;font-family:var(--font-ui);font-size:.85rem;color:var(--ink-muted)}.rapt-chart-swatch{display:inline-block;width:.7rem;height:.7rem;border-radius:2px;margin-right:.35rem;vertical-align:-.05rem}.rapt-timeline{display:grid;gap:.35rem;margin:.65rem 0 .2rem;font-family:var(--font-ui);font-size:.82rem;color:var(--ink-muted)}.rapt-timeline label{display:grid;grid-template-columns:3rem 1fr;gap:.5rem;align-items:center}.rapt-timeline input[type=range]{width:100%}@media(min-width:640px){.form-row-2{grid-template-columns:1fr 1fr}}.beer-edit .form-row-2{grid-template-columns:1fr 1fr}@media(max-width:640px){.hop-line{grid-template-columns:1fr 1fr}.hop-line .hop-name,.hop-line .hop-when{grid-column:1 / -1}.page{width:min(calc(100% - 1.5rem - env(safe-area-inset-left) - env(safe-area-inset-right)),760px);padding-top:max(1rem,env(safe-area-inset-top))}.card,.list-row,.recipe-card{border-radius:var(--radius-surface)}.toolbar{align-items:stretch;flex-direction:column}.nav{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;margin-inline:-.25rem;padding-inline:.25rem}.nav a,.nav-button{flex:0 0 auto;white-space:nowrap}.fermenting-chip{max-width:none;padding-inline:.55rem}.fermenting-chip-more{display:none}.tap-row{grid-template-columns:3.4rem minmax(0,1fr)}.tap-row input[type=date],.tap-row .btn{grid-column:2}.toolbar>.btn,.toolbar>a.btn{width:100%}.chat-form{position:static;background:transparent;padding:0}.chat-form textarea,.chat-vine .chat-composer textarea{min-height:44px}.chat-log.chat-vine{padding:.4rem .5rem .45rem}.chat-journal .book-tab .agent-avatar-role{display:none}.chat-journal .book-tab{min-height:40px;padding:.16rem .06rem .12rem}.chat-journal .book-tab img{width:1.55rem;height:1.55rem}.chat-journal-tabs,.book-tabs{padding:0 .7rem;gap:.06rem;margin-bottom:-1px}.chat-vine .bubble{max-width:100%}.page.chat-page{width:min(calc(100% - .7rem - env(safe-area-inset-left) - env(safe-area-inset-right)),760px)}.art-on-tap-body{grid-template-columns:1fr}.art-keezer{max-width:11rem;justify-self:center}.art-illuminated{border-width:1.2rem;border-image-width:1.2rem;padding:.7rem .8rem .85rem}}body:has(.art-page){background-color:var(--page);background-image:linear-gradient(#f6f1e8c7,#f6f1e8c7),url(/art/paper.png);background-size:auto,420px;background-repeat:repeat}.page.art-page .topbar{background:transparent}.art-banner{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;margin:0 0 .85rem;padding:.45rem .65rem;border:1px dashed var(--amber);border-radius:var(--radius-control);background:var(--warn-fill);font-family:var(--font-ui);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--amber-deep)}.art-banner a{letter-spacing:0;text-transform:none;font-weight:600;color:var(--amber)}.art-illuminated{background-color:var(--paper);border:1.5rem solid transparent;border-image-source:url(/art/hops-vine.png?v=corner4);border-image-slice:80;border-image-width:1.5rem;border-image-repeat:round;border-radius:0;box-shadow:none;overflow:hidden;padding:.95rem 1.05rem 1.05rem}.art-illuminated .art-keezer{border:none;background:transparent}.art-on-tap-title{display:block;margin:0 0 .65rem;line-height:0}.art-on-tap-title img{display:block;width:min(100%,22rem);height:auto;margin:0 auto;object-fit:contain;object-position:center;image-rendering:pixelated;image-rendering:crisp-edges}.art-on-tap-body{display:grid;grid-template-columns:minmax(5.5rem,7.5rem) minmax(0,1fr);gap:.75rem;align-items:start}.art-keezer{width:100%;height:auto;image-rendering:pixelated;image-rendering:crisp-edges;border-radius:var(--radius-pixel);border:1px solid var(--line);background:var(--wash)}.art-page .agent-avatar{cursor:default}.art-on-tap-body .on-tap-list>li>span:not(.on-tap-empty){display:grid;grid-template-columns:3.4rem minmax(0,1fr);gap:.45rem;align-items:baseline;padding:.35rem .45rem;border-radius:var(--radius-control);background:var(--paper);border:1px solid var(--wash)}@media(max-width:640px)and (max-height:900px){.page.chat-page .book-tab,.page.chat-page .chat-journal-tab{min-height:36px;padding:.18rem .08rem .12rem}.page.chat-page .book-tab img,.page.chat-page .chat-journal-tab img{width:1.55rem;height:1.55rem}.page.chat-page .chat-trace{display:none}}.recipe-sheet{display:grid;gap:.85rem}.recipe-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem;margin:0}.recipe-stats div{background:var(--nested-fill);border:1px solid var(--line);border-radius:var(--radius-control);padding:.45rem .3rem .5rem;text-align:center}.recipe-stats dt{margin:0;font-family:var(--font-ui);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}.recipe-stats dd{margin:.15rem 0 0;font-family:var(--font-ui);font-size:1.15rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.recipe-sheet-style{margin:0;font-family:var(--font-ui);font-weight:700}.recipe-goals{margin:0;color:var(--ink-muted);font-family:var(--font-ui);font-size:.95rem;line-height:1.45;white-space:pre-wrap}.recipe-lists{display:grid;grid-template-columns:1fr 1fr;gap:.85rem 1.25rem}.recipe-lists h3{margin:0 0 .2rem;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}.recipe-sheet .grocery{list-style:none;margin:0;padding:0}.recipe-sheet .grocery li{display:flex;gap:.65rem;align-items:baseline;margin:0;padding:.38rem 0;border-bottom:1px solid var(--line);font-family:var(--font-ui);line-height:1.35}.grocery-qty{flex:0 0 4.6rem;font-variant-numeric:tabular-nums;font-weight:700;color:var(--amber-deep)}.grocery-meta{display:block;margin-top:.1rem;color:var(--ink-faint);font-size:.82rem;font-weight:500}.recipe-line{margin:0;font-family:var(--font-ui);line-height:1.4}.recipe-line span{display:block;margin-bottom:.1rem;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}.recipe-build-log .chat-log-messages{margin-top:0}.recipe-build-log .bubble.user{justify-self:end;max-width:min(100%,36rem)}.recipe-build-log .bubble.user .bubble-label{justify-content:flex-end}.recipe-build-log .bubble.user>.bubble-text{background:var(--wash);border:1px solid var(--line);border-radius:16px 16px 4px;padding:.55rem .75rem}.recipe-build-log .bubble.assistant>.bubble-text{background:var(--nested-fill);border:1px solid var(--line);border-radius:16px 16px 16px 4px;padding:.55rem .75rem}.recipe-sheet+.action-row{margin-top:.85rem}.page:has(.recipe-build-fit){height:auto;max-height:none;overflow:visible;display:block;padding-bottom:max(.4rem,env(safe-area-inset-bottom))}.page:has(.recipe-build-fit) .topbar{flex:none;margin-bottom:.35rem}.recipe-build-fit.stack{display:flex;flex-direction:column;gap:.4rem}.recipe-build-fit .toolbar{flex:none}.recipe-build-fit .toolbar .action-row{flex-wrap:nowrap;overflow-x:auto;max-width:100%}.recipe-build-fit .toolbar .action-row .btn{flex:none;white-space:nowrap}.recipe-build-fit .toolbar h1{margin:0;font-size:clamp(1.35rem,5vw,1.8rem)}.recipe-build-fit .guided-steps{flex:none}.recipe-build-log{height:calc(100svh - 9.25rem);min-height:calc(100svh - 9.25rem);display:flex;flex-direction:column;overflow:hidden;gap:.45rem;scroll-margin-top:9.25rem}.recipe-sheet.is-compact{flex:none;gap:.35rem;overflow:visible}.recipe-sheet.is-compact .recipe-stats div{padding:.28rem .2rem .32rem}.recipe-sheet.is-compact .recipe-stats dd{margin-top:.05rem;font-size:1rem}.recipe-sheet.is-compact .recipe-sheet-style{font-size:.92rem}.recipe-sheet.is-compact .sheet-last{margin:0}.recipe-sheet.is-compact .sheet-last summary{cursor:pointer;font-family:var(--font-ui);font-size:.9rem;color:var(--ink-muted)}.recipe-sheet.is-compact .sheet-last .detail{margin:.35rem 0 0}.recipe-build-log .chat-log-messages{flex:1 1 auto;min-height:0;overflow:auto;margin-top:0;align-content:start}.recipe-build-log .chat-form{flex:none;margin-top:0}.recipe-build-log .bubble-text{white-space:normal;font-size:.95rem;line-height:1.45}.recipe-build-log .bubble-para{margin:0 0 .65rem}.ticker-tape{flex:0 0 auto;min-height:2.15rem;overflow:hidden;display:flex;align-items:center}.ticker-tape.is-error{color:var(--danger)}.ticker-tape-error{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-ui);font-size:.88rem}.ticker-calm{display:flex;align-items:center;gap:.5rem;min-width:0;min-height:2.15rem}.ticker-calm img{width:1.45rem;height:1.45rem;flex:none;object-fit:cover;image-rendering:pixelated;image-rendering:crisp-edges;border-radius:var(--radius-pixel);border:1px solid var(--line);background:var(--wash)}.ticker-calm p{margin:0;min-width:0;color:var(--ink-muted);font-family:var(--font-ui);font-size:.9rem;line-height:1.35}@media(max-width:640px){.recipe-stats dd{font-size:.95rem}.recipe-lists{grid-template-columns:1fr}.recipe-sheet.is-compact .recipe-lists{grid-template-columns:1fr 1fr}.grocery-qty{flex-basis:4.2rem}}:root{--ink: #1f1a16;--ink-muted: #4a433c;--ink-faint: #6a6158;--page: #f6f1e8;--paper: #fffdf9;--wash: #efe6d6;--line: #e4d8c4;--line-strong: #d3b48a;--line-input: #d7cfc3;--amber: #b45309;--amber-deep: #7c2d12;--link: #b45309;--label: #7a5a1e;--ok: #3f6b4a;--ok-line: #b7cbb8;--ok-fill: #f4faf4;--warn: #9a6700;--warn-line: #e8c98a;--warn-fill: #fff8ea;--danger: #9b2c2c;--danger-line: #e3b6ae;--danger-fill: #fff5f3;--badge-fill: #f3e3c3;--nested-fill: #fbf6ee;--gold: #c9a227;--leather: #4a2e14;--cream: #f6ead4;--on-accent: #fffdf9;--radius-surface: 14px;--radius-control: 10px;--radius-pixel: 12px;--font-display: Fraunces, "Iowan Old Style", Palatino, Georgia, serif;--font-ui: "Source Sans 3", system-ui, sans-serif;--shadow: 0 1px 2px rgb(28 25 23 / .05);color:var(--ink);background:var(--page);font-family:var(--font-ui)}html[data-theme=dark]{color-scheme:dark;--ink: #f3eee8;--ink-muted: #b3a89c;--ink-faint: #8a837c;--page: #12110f;--paper: #1c1a17;--wash: #262320;--line: #4a433c;--line-strong: #6b5344;--line-input: #524a42;--amber: #fb923c;--amber-deep: #e7c4a2;--link: #d7b08a;--label: #c9a27a;--ok: #8fbfa0;--ok-line: #2f6a46;--ok-fill: #16241c;--warn: #d4a574;--warn-line: #6b5420;--warn-fill: #2a2214;--danger: #e3a8ae;--danger-line: #6b3038;--danger-fill: #2a1618;--badge-fill: #2c261f;--nested-fill: #171512;--gold: #d4a574;--leather: #e7e5e4;--cream: #1c1a17;--on-accent: #1c1917;--shadow: 0 1px 2px rgb(0 0 0 / .45);background:var(--page);background-image:none}html{background:var(--page);background-image:none;font-family:var(--font-ui);color:var(--ink)}body{font-family:var(--font-ui);font-size:1.02rem;line-height:1.5}input,progress{accent-color:var(--amber)}img{image-rendering:auto}h1,.brand,.lede-welcome,.guided-timer{font-family:var(--font-display);font-weight:560;letter-spacing:-.03em}h1{font-size:clamp(1.55rem,4.2vw,2.05rem);line-height:1.15}h1.eyebrow{font-family:var(--font-ui);font-weight:700;letter-spacing:.08em}.lede-welcome{font-size:1.65rem;font-weight:560}.topbar{background:color-mix(in srgb,var(--page) 86%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:transparent;margin-bottom:.85rem}.brand{border-bottom:none;padding-bottom:.15rem;font-size:1.2rem;gap:.45rem}.brand-portrait,.agent-avatar img,.book-tab img,.chat-journal-tab img,.ticker-calm img,.inventory-section-icon img,.inventory-section-code,.recipe-card-icon{image-rendering:auto;border-radius:999px;border:1px solid var(--line);box-shadow:none}.recipe-card-icon.is-square,.recipe-card-icon{border-radius:10px}.agent-avatar-name,.agent-avatar-role,.book-tab .agent-avatar-role,.chat-journal-tab .agent-avatar-role{display:none}.agent-avatar.is-active .agent-avatar-role,.book-tab.is-active .agent-avatar-role,.chat-journal-tab.is-active .agent-avatar-role{display:block}.agent-avatar-role{color:var(--ink-faint);font-size:.68rem;letter-spacing:.06em}.agent-avatar.is-active .agent-avatar-role,.book-tab.is-active .agent-avatar-role{color:var(--amber-deep)}.agent-avatar.is-active img,.book-tab.is-active img,.chat-journal-tab.is-active img{border-color:var(--amber);box-shadow:0 0 0 2px color-mix(in srgb,var(--amber) 35%,transparent)}.brew-progress,.brew-progress-discard,.fermenting-chip{box-shadow:none;text-transform:none;letter-spacing:0;font-size:.88rem;font-weight:650;transform:none}.brew-progress,a.brew-progress,span.brew-progress{background:var(--wash);color:var(--ink);border:1px solid var(--line-strong)}span.brew-progress,a.brew-progress:hover{background:color-mix(in srgb,var(--ink) 6%,var(--wash));border-color:var(--line-strong)}.brew-progress:active,.brew-progress-discard:active,span.brew-progress:active,.fermenting-chip:active,span.fermenting-chip:active{transform:none;box-shadow:none}a.fermenting-chip,span.fermenting-chip,.brew-progress.fermenting-chip{background:color-mix(in srgb,var(--ok) 18%,var(--wash));color:var(--ink);border:1px solid var(--ok-line)}.card,.list-row,.recipe-card{box-shadow:var(--shadow)}.book-page{background:transparent;border:none;border-radius:0;padding:0}.book-tabs,.chat-journal-tabs{align-items:center;gap:.25rem;margin:0 0 .75rem;padding:0}.book-tab,.chat-journal-tab{border:1px solid transparent;border-radius:12px;background:transparent;padding:.3rem .15rem .25rem}.book-tab.is-active,.chat-journal-tab.is-active{background:var(--paper);border-color:var(--line);box-shadow:var(--shadow);padding-bottom:.25rem}.book-tab.is-active:after,.chat-journal-tab.is-active:after{display:none}.chat-log.chat-vine{border:1px solid var(--line);border-radius:var(--radius-surface);box-shadow:var(--shadow)}.chat-log-scroll{background-image:none;padding-left:0}.chat-tools{grid-template-columns:minmax(0,1fr) auto}.art-illuminated{border-image:none}.hops-flourish,.hops-flourish-repeat,.art-keezer,.chat-empty-art,.art-on-tap-title img,.recipe-card-stat img,.recipe-card-bill img{display:none}.on-tap-closed span{font-style:normal;color:var(--ink-faint)}.on-tap-list a,.on-tap-empty{background:var(--wash);border-color:transparent;border-radius:10px;padding:.55rem .7rem}.on-tap-list a:hover{background:var(--paper);border-color:var(--line)}.btn,.brew-now .btn,.brew-now .btn-primary,.brew-now .btn-primary[data-saved=true]{box-shadow:none;transform:none}.brew-now .btn:active:not(:disabled),.brew-now .btn-primary:active:not(:disabled){transform:none;box-shadow:none}.guided-step{border-radius:999px}.inventory-section-code{font-family:var(--font-ui);font-size:.72rem;font-weight:700;letter-spacing:.04em}.style-miss{font-family:var(--font-ui)}.theme-toggle{border-radius:999px;background:transparent}.field input,.field select,.field textarea,.chat-form textarea{background:var(--paper);color:var(--ink)}body:has(.art-page){background:var(--page);background-image:none}.brew-log-entry,.brew-log-entry-blurb,.brew-log-empty{color:var(--ink)}.brew-log-entry-blurb,.brew-log-empty{color:var(--ink-muted)}html[data-theme=dark] :is(.lede a,.detail a,.setup-steps a,.lede-snapshot a,.cellar-lines a,.update-log time,.inventory-subhead,.eyebrow,.token-spend-label,.tap-label,.bubble-label,.agent-avatar-role){color:var(--link)}html[data-theme=dark] .bubble.user .bubble-label{color:var(--ink-faint)}html[data-theme=dark] :is(.agent-avatar.is-active,.book-tab.is-active,.chat-journal-tab.is-active) .agent-avatar-role{color:var(--amber-deep)}html[data-theme=dark] .debate-name-megan{color:var(--amber-deep)}html[data-theme=dark] .debate-name-erma,html[data-theme=dark] .debate-name-recipes{color:var(--link)}html[data-theme=dark] .debate-name-quinn{color:var(--ok)}html[data-theme=dark] .debate-name-evan{color:var(--warn)}html[data-theme=dark] .debate-name-van{color:var(--ink-muted)}html[data-theme=dark] .debate-name-pmobot,html[data-theme=dark] .rapt-readout-temp{color:var(--label)}html[data-theme=dark] .rapt-readout-sg{color:var(--warn)}.cellar-scene{margin:.85rem 0 0;border:none;border-radius:10px;overflow:hidden;line-height:0;background:var(--wash)}.cellar-scene img{width:100%;height:auto;image-rendering:pixelated;image-rendering:crisp-edges}.cellar-for-dark{display:none}.cellar-for-light{display:block}html[data-theme=dark] .cellar-for-light{display:none}html[data-theme=dark] .cellar-for-dark{display:block}
