:root{--bg:#f6f7f9;--ink:#172026;--muted:#66737f;--line:#d9e1e7;--panel:#ffffff;--teal:#007f78;--blue:#315f9c;--amber:#b06500;--green:#197b43}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font-family:Segoe UI,Aptos,Trebuchet MS,Arial,sans-serif}button,input,select,textarea{font:inherit}.shell{min-height:100vh;padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 auto 20px;max-width:1180px}.eyebrow{margin:0 0 4px;color:var(--teal);font-size:13px;font-weight:700;text-transform:uppercase}h1,h2,p{margin:0}h1{font-size:32px;line-height:1.15}h2{font-size:18px}.status{display:flex;align-items:center;gap:8px;min-height:40px;max-width:420px;padding:8px 12px;border:1px solid var(--line);background:#eef6f4;color:#10443f;font-size:14px}.workspace{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);grid-gap:16px;gap:16px}.recipe-detail-stack,.recipe-outcome-stage,.workspace{max-width:1180px;margin:0 auto}.recipe-outcome-stage{padding:20px;border:1px solid #cfd9dd;border-radius:8px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(248,252,247,.96)),repeating-linear-gradient(90deg,rgba(0,127,120,.035),rgba(0,127,120,.035) 1px,transparent 0,transparent 18px);box-shadow:0 16px 40px rgba(28,48,58,.08)}.outcome-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:14px;gap:14px;align-items:start;margin-bottom:16px}.outcome-heading h2{margin:0;font-size:30px;line-height:1.1}.outcome-beer-copy em,.outcome-beer-copy p,.outcome-heading span{display:block;margin-top:6px;color:var(--muted);font-size:13px;line-height:1.35;overflow-wrap:anywhere}.outcome-link-code{display:block;max-width:760px;margin-top:8px;color:#2f5062;font-size:12px;line-height:1.35;overflow-wrap:anywhere}.outcome-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.outcome-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.85fr) minmax(240px,.8fr);grid-gap:14px;gap:14px;align-items:stretch}.balance-board,.next-decision-card,.outcome-beer-card,.outcome-metric-wall,.outcome-spider-card{min-width:0;border:1px solid #d7e0e3;border-radius:8px;background:rgba(255,255,255,.92)}.outcome-beer-card{display:grid;grid-template-columns:154px minmax(0,1fr);grid-gap:16px;gap:16px;align-items:center;padding:16px}.outcome-beer-glass{position:relative;height:220px;border:3px solid #d3dde4;border-radius:10px 10px 30px 30px;background:#f7fafb;overflow:hidden}.outcome-beer-glass:before{content:"";position:absolute;left:16px;right:16px;top:16px;z-index:1;height:20px;border-radius:999px;background:rgba(255,255,255,.78)}.outcome-beer-glass span{position:absolute;inset:42px 12px 12px;border-radius:7px 7px 22px 22px;box-shadow:inset 0 28px 34px rgba(255,255,255,.24),inset 0 -28px 28px rgba(0,0,0,.1)}.mini-title,.outcome-beer-copy small{color:var(--blue);font-size:12px;font-weight:800;text-transform:uppercase}.outcome-beer-copy strong{display:block;margin-top:5px;font-size:26px;line-height:1.08;overflow-wrap:anywhere}.outcome-spider-card{display:grid;grid-gap:6px;gap:6px;align-content:start;padding:14px}.outcome-spider-card .hop-spider{max-width:300px}.hop-chemistry-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:7px;gap:7px}.hop-chemistry-strip span{display:grid;grid-gap:2px;gap:2px;min-width:0;padding:7px 8px;border:1px solid var(--line);border-radius:6px;background:#ffffff}.hop-chemistry-strip small,.hop-chemistry-strip strong{min-width:0;overflow-wrap:anywhere}.hop-chemistry-strip small{color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase}.hop-chemistry-strip strong{font-size:12px;line-height:1.2}.hop-stage-note,.hop-warning-note{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.hop-warning-note{color:#8a5a00;font-weight:800}.outcome-metric-wall{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;padding:12px}.outcome-metric{min-height:86px;padding:10px;border:1px solid var(--line);border-left:4px solid #c8d1d8;border-radius:6px;background:#ffffff}.outcome-metric.green{border-left-color:var(--green)}.outcome-metric.blue{border-left-color:var(--blue)}.outcome-metric.amber{border-left-color:var(--amber)}.outcome-metric small,.outcome-metric span,.outcome-metric strong{display:block;min-width:0;overflow-wrap:anywhere}.outcome-metric span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.outcome-metric strong{margin-top:7px;font-size:23px}.outcome-metric small{margin-top:5px;color:var(--muted);font-size:12px;line-height:1.25}.outcome-bottom{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);grid-gap:14px;gap:14px;margin-top:14px}.balance-board,.next-decision-card{padding:14px}.mini-title{display:flex;align-items:center;gap:7px;margin-bottom:10px}.balance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.bitterness-breakdown{display:grid;grid-gap:10px;gap:10px;margin-bottom:12px;padding:10px;border:1px solid #d7e2e8;border-radius:6px;background:#f7fbfc}.bitterness-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.bitterness-controls label{display:grid;grid-gap:5px;gap:5px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.bitterness-controls input{width:100%;height:34px;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:#ffffff;color:var(--ink);font:inherit;font-size:13px}.bitterness-stack{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:7px;gap:7px}.bitterness-stack span{min-width:0;padding:8px;border-left:3px solid var(--blue);border-radius:6px;background:#ffffff}.bitterness-stack span.total{border-left-color:var(--amber)}.bitterness-stack em,.bitterness-stack small,.bitterness-stack strong{display:block;min-width:0;overflow-wrap:anywhere}.bitterness-stack small{color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase}.bitterness-stack strong{margin-top:4px;color:var(--ink);font-size:17px}.bitterness-stack em{margin-top:2px;color:var(--muted);font-size:11px;font-style:normal;font-weight:750}.bitterness-breakdown p{margin:0;color:var(--muted);font-size:12px;line-height:1.35}.balance-row{display:grid;grid-template-columns:72px minmax(0,1fr) 82px;grid-gap:9px;gap:9px;align-items:center}.balance-row em,.balance-row small{min-width:0;overflow-wrap:anywhere;color:var(--muted);font-size:12px;font-style:normal;font-weight:800}.balance-row i{display:block;height:10px;border-radius:999px;background:#e5ebef;overflow:hidden}.balance-row b{display:block;height:100%;border-radius:inherit;background:var(--teal)}.balance-row.blue b{background:var(--blue)}.balance-row.amber b{background:var(--amber)}.balance-row.red b{background:#9c2f2f}.next-decision-card p{color:#263b46;font-size:15px;font-weight:700;line-height:1.35}.next-decision-card ul{margin:10px 0 0;padding-left:18px;color:var(--muted);font-size:13px;line-height:1.4}.copy-state{display:inline-block;margin-top:10px;color:var(--green);font-size:12px;font-weight:800}.recipe-detail-stack{display:grid;grid-gap:10px;gap:10px;margin-top:16px}.disclosure-section{min-width:0}.disclosure-trigger{display:grid;grid-template-columns:22px minmax(170px,auto) minmax(0,1fr);grid-gap:10px;gap:10px;align-items:center;width:100%;min-height:54px;margin:0;padding:10px 12px;border:1px solid #d7e0e3;border-radius:8px;background:#ffffff;color:var(--ink);text-align:left}.disclosure-section.open .disclosure-trigger{border-color:#aacfc8;background:#f4faf8}.disclosure-trigger>span{color:var(--blue);font-size:15px;font-weight:800}.disclosure-trigger>div{min-width:0}.summary-chips{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.summary-chips small{max-width:220px;padding:5px 8px;border:1px solid #d7e0e3;border-radius:999px;background:#fbfcfd;color:#405462;font-size:12px;font-weight:700;line-height:1.2;overflow-wrap:anywhere}.disclosure-body{margin-top:8px}.recipe-detail-stack .panel{min-height:0}.detail-grid{display:grid;grid-gap:12px;gap:12px}.detail-grid.two-col{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)}.technical-evidence-panel{background:#fbfcfd}.evidence-domain-grid,.technical-evidence-summary{display:grid;grid-gap:8px;gap:8px}.technical-evidence-summary{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:12px}.evidence-domain-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.evidence-domain{min-width:0;padding:10px;border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:6px;background:#ffffff}.evidence-domain.ready{border-left-color:var(--green)}.evidence-domain small,.evidence-domain span,.evidence-domain strong{display:block;min-width:0;overflow-wrap:anywhere}.evidence-domain strong{font-size:13px}.evidence-domain small,.evidence-domain span{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.3}.panel{min-height:420px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.panel-main{min-height:470px}.panel-title{display:flex;align-items:center;gap:8px;margin-bottom:18px;color:var(--blue)}.panel-title h2{flex:1 1}label{display:block;margin-bottom:14px;color:var(--muted);font-size:13px;font-weight:700}input,select,textarea{width:100%;margin-top:6px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:#ffffff}input,select{height:40px}textarea{min-height:96px;resize:vertical;line-height:1.4}button{display:inline-flex;justify-content:center;width:100%;min-height:42px;margin-top:10px;border:0;border-radius:6px;background:var(--teal);color:#ffffff;cursor:pointer;font-weight:700}.actions,button{align-items:center;gap:8px}.actions{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-gap:8px;margin-top:2px}.actions button{margin-top:0;white-space:nowrap}button.secondary{width:auto;padding:0 14px;border:1px solid var(--line);background:#ffffff;color:var(--ink)}button.danger{width:auto;padding:0 14px;background:#9c2f2f}.icon-button{width:36px;min-height:36px;margin-top:0;border:1px solid var(--line);background:#ffffff;color:var(--blue)}button:disabled{background:#9aa8b2;cursor:not-allowed}.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 130px;grid-gap:12px;gap:12px}.ingredients-grid{grid-template-columns:minmax(0,1.4fr) 80px minmax(0,1.15fr) minmax(110px,.85fr);margin-top:4px}.hop-use-field{grid-column:4/5}.ion-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;margin-bottom:18px}.metric{min-height:72px;padding:12px;border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:6px;background:#fbfcfd}.metric span{display:block;color:var(--muted);font-size:12px;font-weight:700}.metric strong{display:block;margin-top:6px;font-size:24px}.ok{display:flex;align-items:center;gap:6px;margin-top:12px;color:var(--green);line-height:1.35;overflow-wrap:anywhere}.empty,.ok{font-size:13px}.empty{margin-top:14px;color:var(--muted)}.record-list{margin-top:16px;border-top:1px solid var(--line);max-height:520px;overflow:auto}.record-row{display:block;width:100%;min-height:54px;margin-top:0;padding:10px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);cursor:pointer;text-align:left}.record-row.selected,.record-row:hover{background:#f1f7f6}.record-row small,.record-row span{display:block;overflow-wrap:anywhere}.record-row span{font-weight:700}.record-row small{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.35}.brewer-copilot-panel{min-height:0;background:#fbfcf8}.link-state{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;font-size:11px;font-weight:800;text-transform:uppercase}.link-state.saved{background:#e8f6ee;color:var(--green)}.link-state.draft{background:#fff7ed;color:var(--amber)}.copilot-hero{display:grid;grid-template-columns:minmax(0,1fr) 96px;grid-gap:12px;gap:12px;align-items:stretch;min-height:112px;padding:12px;border:1px solid #d8ded2;border-radius:8px;background:#ffffff}.copilot-hero small,.share-box small{display:block;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.copilot-hero strong{display:block;margin-top:4px;font-size:22px;line-height:1.15;overflow-wrap:anywhere}.copilot-hero span{display:block;margin-top:8px;color:#33434b;font-size:13px;line-height:1.35;overflow-wrap:anywhere}.beer-glass{position:relative;min-height:88px;border:2px solid #d9e1e7;border-radius:8px 8px 18px 18px;background:#f7fafb;overflow:hidden}.beer-glass:before{content:"";position:absolute;inset:8px 10px auto;height:10px;border-radius:999px;background:rgba(255,255,255,.75);z-index:1}.beer-glass span{position:absolute;inset:18px 8px 8px;border-radius:5px 5px 14px 14px;box-shadow:inset 0 18px 24px rgba(255,255,255,.22),inset 0 -18px 20px rgba(0,0,0,.08)}.copilot-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;margin:10px 0}.copilot-metric{min-height:64px;padding:10px;border:1px solid var(--line);border-left:4px solid #c8d1d8;border-radius:6px;background:#ffffff}.copilot-metric.green{border-left-color:var(--green)}.copilot-metric.blue{border-left-color:var(--blue)}.copilot-metric.amber{border-left-color:var(--amber)}.copilot-metric span,.copilot-metric strong{display:block;min-width:0;overflow-wrap:anywhere}.copilot-metric span{color:var(--muted);font-size:11px;font-weight:800}.copilot-metric strong{margin-top:5px;font-size:18px}.copilot-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);grid-gap:10px;gap:10px;margin-top:10px}.decision-card,.sensory-card{min-width:0;padding:10px;border:1px solid var(--line);border-radius:6px;background:#ffffff}.subhead.tight{margin:0 0 8px}.hop-spider{display:block;width:100%;max-width:250px;margin:0 auto}.spider-ring{fill:none}.spider-axis,.spider-ring{stroke:#d9e1e7;stroke-width:1}.spider-profile{fill:rgba(0,127,120,.26);stroke:var(--teal);stroke-width:3;stroke-linejoin:round}.hop-spider text{fill:var(--muted);font-size:10px;font-weight:800}.decision-list{margin:0;padding-left:18px;color:#314652;font-size:13px;line-height:1.4}.decision-list li{margin-bottom:6px;overflow-wrap:anywhere}.sensory-bars{display:grid;grid-gap:7px;gap:7px}.sensory-bars span{display:grid;grid-template-columns:76px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:center}.sensory-bars small{color:var(--muted);font-size:11px;font-weight:800}.sensory-bars i{display:block;height:8px;border-radius:999px;background:linear-gradient(90deg,var(--teal),#7a9d35)}.share-box{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-gap:8px;gap:8px;align-items:center;margin-top:10px;padding:10px;border:1px solid #d8ded2;border-radius:6px;background:#f8faf4}.share-box code{display:block;margin-top:4px;color:#304756;font-size:12px;overflow-wrap:anywhere}.compact-command{min-height:34px;margin:0;padding:0 10px}.compact-ok{margin-top:8px}.copilot-foot{display:flex;align-items:center;gap:8px;margin-top:10px;color:var(--muted);font-size:12px;font-weight:700;line-height:1.35}.event-log{margin-top:4px;max-height:220px;overflow:auto}.brewplan-panel,.generation-panel{grid-column:1/-1}.brewplan-panel{min-height:0}.brewplan-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,auto);grid-gap:12px;gap:12px;align-items:start;margin-bottom:12px}.brewplan-head div{min-width:0}.brewplan-head span,.brewplan-head strong{display:block;overflow-wrap:anywhere}.brewplan-head strong{font-size:18px}.brewplan-head span{margin-top:4px;color:var(--muted);font-size:13px;line-height:1.35}.brewplan-intent{margin-bottom:12px;padding:10px 12px;border:1px solid #cbd8e4;border-radius:6px;background:#f8fafb;color:#304756;font-size:13px;line-height:1.4}.brewplan-stage-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:8px;gap:8px}.brewplan-stage{display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:start;min-height:112px;margin:0;padding:10px;border:1px solid var(--line);border-left:4px solid #c8d1d8;border-radius:6px;background:#ffffff;color:var(--ink);text-align:left}.brewplan-stage.selected,.brewplan-stage:hover{border-color:var(--teal);border-left-color:var(--teal);background:#f1f7f6}.brewplan-stage em,.brewplan-stage small,.brewplan-stage span,.brewplan-stage strong{display:block;min-width:0;overflow-wrap:anywhere}.brewplan-stage strong{font-size:13px}.brewplan-stage em{margin-top:4px;color:var(--muted);font-size:12px;font-style:normal;line-height:1.35}.brewplan-stage small{grid-column:1/-1;margin-top:8px;color:var(--muted);font-size:12px;line-height:1.3}.brewplan-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.brewplan-list button{display:block;min-height:58px;margin:0;padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:#fbfcfd;color:var(--ink);text-align:left}.brewplan-list button.selected,.brewplan-list button:hover{border-color:var(--blue);background:#eef4fb}.brewplan-list small,.brewplan-list span{display:block;overflow-wrap:anywhere}.brewplan-list span{font-weight:700}.brewplan-list small{margin-top:4px;color:var(--muted);font-size:12px}.worker-route-panel{grid-column:1/-1;min-height:0}.route-form-grid{display:grid;grid-template-columns:minmax(0,1fr) 180px 220px;grid-gap:12px;gap:12px;align-items:end}.route-question{margin-bottom:0}.route-quick-turns{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 6px}.route-chip-button{min-height:34px;margin:0;padding:0 12px}.route-decision-note{margin:10px 0 0}.route-decision-note textarea{min-height:68px}.route-mode{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:#f8fafb}.route-mode span,.route-mode strong{min-width:0;overflow-wrap:anywhere}.route-mode strong{color:var(--ink);font-size:13px}.route-mode span{color:var(--muted);font-size:12px;line-height:1.35}.route-mode.persisted{border-color:#a8d8bc;background:#edf8f1}.route-mode.temporary{border-color:#e6bd82;background:#fff8ed}.route-actions{grid-template-columns:minmax(0,160px) auto;justify-content:start;margin:12px 0 4px}.worker-route-packet{display:grid;grid-gap:12px;gap:12px;margin-top:14px}.route-summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-gap:10px;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.route-summary div{min-width:0}.route-label,.route-summary small{display:block;color:var(--muted);font-size:12px;font-weight:700}.route-summary strong{display:block;margin-top:3px;overflow-wrap:anywhere;font-size:18px}.route-badge{display:inline-flex;align-items:center;min-height:30px;max-width:180px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:800;overflow-wrap:anywhere;text-transform:uppercase}.route-badge.blue{background:#eef4fb;color:var(--blue)}.route-badge.green{background:#eaf7ef;color:var(--green)}.route-badge.amber{background:#fff7ed;color:var(--amber)}.route-section{min-width:0;padding-top:10px;border-top:1px solid var(--line)}.route-section-title{display:flex;align-items:center;gap:7px;margin-bottom:8px;color:var(--blue)}.route-section-title strong{font-size:13px}.route-command-list,.route-pill-list{display:flex;flex-wrap:wrap;gap:6px}.route-pill-list span{max-width:100%;padding:5px 8px;border:1px solid #cbd8e4;border-radius:999px;background:#f4f8fb;color:#26485f;font-size:12px;font-weight:700;overflow-wrap:anywhere}.route-command-list code{display:block;width:100%;padding:8px 10px;border:1px solid #cbd8e4;border-radius:6px;background:#101820;color:#eff7f7;font-size:12px;line-height:1.35;overflow-wrap:anywhere;white-space:pre-wrap}.route-path-list,.route-stop-list{margin:0;padding-left:18px;color:var(--muted);font-size:13px;line-height:1.4}.route-path-list li,.route-stop-list li{margin-bottom:5px;overflow-wrap:anywhere}.route-history-list{display:grid;grid-gap:6px;gap:6px}.route-history-row{display:grid;grid-template-columns:minmax(0,210px) minmax(0,1fr);grid-gap:10px;gap:10px;min-height:48px;margin:0;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#ffffff;color:var(--ink);text-align:left}.route-history-row.selected,.route-history-row:hover{border-color:var(--teal);background:#f1f7f6}.route-history-row em,.route-history-row small,.route-history-row span,.route-history-row strong{display:block;min-width:0;overflow-wrap:anywhere}.route-history-row em,.route-history-row small{color:var(--muted);font-size:12px;line-height:1.35}.route-history-row em{font-style:normal}.route-history-row>small{grid-column:2/3;margin-top:-6px}.route-harness-brief{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:start}.route-harness-brief code{display:block;max-height:180px;overflow:auto;padding:10px;border:1px solid #cbd8e4;border-radius:6px;background:#101820;color:#eff7f7;font-size:12px;line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere}.route-copy-button{min-height:36px;margin:0}.route-harness-brief span{grid-column:1/-1;color:var(--green);font-size:12px;font-weight:700}.generation-layout{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(0,1.05fr);grid-gap:16px;gap:16px}.constraint-surface,.library-panel,.preview-surface{min-width:0}.subhead{display:flex;align-items:center;gap:8px;margin:4px 0 12px;color:var(--blue)}.subhead h3{flex:1 1;margin:0;font-size:15px}.advisory-pill,.offline-pill,.readiness-badge{width:auto;min-height:32px;margin:0;padding:0 10px;border-radius:999px;font-size:12px;white-space:nowrap}.offline-pill{display:inline-flex;align-items:center;gap:5px;border:1px solid #f3cf9d;background:#fff7ed;color:var(--amber);font-weight:700}.search-field{position:relative;margin-bottom:12px}.search-field svg{position:absolute;left:10px;top:34px;color:var(--muted)}.search-field input{padding-left:34px}.preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin-bottom:12px}.preset-card,.profile-chip{display:block;width:100%;min-height:82px;margin:0;padding:10px;border:1px solid var(--line);background:#fbfcfd;color:var(--ink);text-align:left}.preset-card span,.profile-chip span{display:block;font-weight:700}.preset-card em,.preset-card small,.profile-chip small{display:block;margin-top:4px;color:var(--muted);font-size:12px;font-style:normal;line-height:1.35}.custom-list{display:grid;grid-gap:8px;gap:8px;max-height:190px;overflow:auto}.preset-card:hover,.profile-chip.selected,.profile-chip:hover{border-color:var(--teal);background:#f1f7f6}.generation-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 96px 110px}.target-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.target-input{position:relative;padding-bottom:14px}.target-input span{display:block;margin-top:5px;color:var(--muted);font-size:11px}.target-input i{position:absolute;left:0;bottom:0;height:4px;border-radius:999px;background:var(--teal)}.segmented{display:inline-grid;grid-template-columns:repeat(2,minmax(90px,1fr));gap:4px;margin:4px 0 12px;padding:4px;border:1px solid var(--line);border-radius:8px;background:#f7f9fb}.segmented button{min-height:34px;margin:0;background:transparent;color:var(--ink)}.segmented button.active{background:var(--teal);color:#fff}.alert{margin:10px 0;padding:10px 12px;border-radius:6px;font-size:13px;line-height:1.35}.alert.amber{border:1px solid #e6bd82;background:#fff8ed;color:#5f3600}.alert.red{border:1px solid #e2a8a8;background:#fff1f1;color:#7c1f1f}.alert.green{border:1px solid #a8d8bc;background:#edf8f1;color:#145f35}.calc-input-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin:10px 0 16px}.input-chip{min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#f8fafb}.input-chip small,.input-chip strong{display:block;overflow-wrap:anywhere}.input-chip small{color:var(--muted);font-size:11px;font-weight:700}.input-chip strong{margin-top:4px;font-size:14px}.trace-list{margin:10px 0;padding-left:18px;color:var(--muted);font-size:13px;line-height:1.4}.trace-list li{margin-bottom:4px}.stop-condition-panel{display:grid;grid-gap:6px;gap:6px;margin-top:10px}.stop-condition-panel span{padding:8px 10px;border:1px solid #e6bd82;border-radius:6px;background:#fff8ed;color:#5f3600;font-size:12px;line-height:1.35}.picker-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:6px 10px;gap:6px 10px;margin:12px 0;padding:10px;border:1px solid var(--line);border-radius:6px}.picker-group legend{padding:0 4px;color:var(--muted);font-size:12px;font-weight:700}.check-row{display:flex;align-items:center;gap:8px;margin:0;color:var(--ink);font-weight:600}.check-row input{width:16px;height:16px;margin:0}.metric-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.calculation-trace{display:grid;grid-gap:10px;gap:10px;margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:6px;background:#f7fafb}.addition-trace,.trace-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.trace-header strong{min-width:0;overflow-wrap:anywhere;color:var(--ink);font-size:13px}.trace-status{flex:0 0 auto;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;text-transform:uppercase}.trace-status.ready{background:#eaf7ef;color:var(--green)}.trace-status.advisory{background:#fff7ed;color:var(--amber)}.measured-input-grid,.trace-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.measured-input-grid label{display:grid;grid-gap:4px;gap:4px;min-width:0;color:var(--muted);font-size:12px;font-weight:700}.measured-input-grid input{min-width:0}.dry-hop-measured{background:#f6fbf7}.hop-loss-calibration-trace{background:#f8fbf6}.yeast-pitch-trace{background:#f8fbff}.yeast-vitality-trace{background:#fbf9ff}.evaporation-calibration-trace{background:#fffaf5}.packaging-priming-trace{background:#f7fbfa}.co2-conversion-trace{background:#f6f8fb}.single-input-grid{grid-template-columns:minmax(0,1fr)}.yeast-input-grid,.yeast-pitch-trace .trace-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.trace-metrics.single-metric{grid-template-columns:minmax(0,1fr)}.addition-trace-list{display:grid;grid-gap:6px;gap:6px}.addition-trace{min-height:54px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#fff}.addition-trace.ready{border-color:#a9d8b9}.addition-trace.advisory{border-color:#efd3a6}.addition-trace div{min-width:0}.addition-trace span,.addition-trace strong{display:block;overflow-wrap:anywhere}.addition-trace strong{color:var(--ink);font-size:13px}.addition-trace span{color:var(--muted);font-size:12px;line-height:1.25}.trace-list.tight{margin-top:0}.trust-strip{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.readiness-badge{border:1px solid var(--line)}.readiness-badge.ready{background:#eaf7ef;color:var(--green)}.readiness-badge.advisory{background:#fff7ed;color:var(--amber)}.advisory-pill{margin-top:14px;border:1px solid #c8d1d8;background:#f2f4f6;color:#3c4852}.compact-actions{grid-template-columns:minmax(0,1fr) auto;margin-top:12px}.hint{color:var(--muted);font-size:13px;line-height:1.35}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:18px;background:rgba(10,20,28,.42)}.modal{width:min(720px,100%);max-height:min(760px,88vh);overflow:auto;padding:18px;border-radius:8px;background:#fffaf3;box-shadow:0 18px 80px rgba(0,0,0,.24)}.modal-title-row{display:flex;align-items:center;gap:8px;color:var(--blue)}.modal-title-row h3{flex:1 1;margin:0}.modal-summary{margin-top:12px;line-height:1.45}.modal-section{margin-top:14px}.modal-section h4{margin:0 0 8px}.modal-section ul{margin:0;padding-left:20px}.modal-section li{margin-bottom:6px;line-height:1.4}.batch-grid{grid-template-columns:minmax(0,1fr) 160px}.quick-event-form{display:grid;grid-template-columns:160px minmax(0,1fr) 90px 90px;grid-gap:10px;gap:10px}.detailed-event-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.batch-list{max-height:160px}.timeline{display:grid;grid-gap:8px;gap:8px;margin-top:12px;max-height:320px;overflow:auto}.timeline-row{display:grid;grid-template-columns:20px minmax(0,1fr);grid-gap:8px;gap:8px;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fbfcfd}.timeline-row p,.timeline-row small{margin-top:3px;overflow-wrap:anywhere}.timeline-row small{display:block;color:var(--muted);font-size:12px}.measurement-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.measurement-pill{padding:4px 7px;border:1px solid #cbd8e4;border-radius:6px;background:#eef4f8;color:#26485f;font-size:12px;line-height:1.2;overflow-wrap:anywhere}@media (max-width:860px){.shell{padding:16px}.topbar{align-items:stretch;flex-direction:column}.workspace{grid-template-columns:1fr}.recipe-outcome-stage{padding:14px}.detail-grid.two-col,.outcome-beer-card,.outcome-bottom,.outcome-grid,.outcome-heading{grid-template-columns:1fr}.outcome-actions,.summary-chips{justify-content:flex-start}.outcome-beer-glass{height:170px}.balance-grid,.evidence-domain-grid,.outcome-metric-wall,.technical-evidence-summary{grid-template-columns:1fr}.bitterness-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.balance-row{grid-template-columns:72px minmax(0,1fr)}.balance-row em{grid-column:2/3}.disclosure-trigger{grid-template-columns:22px minmax(0,1fr)}.disclosure-trigger>div{grid-column:1/-1}.actions,.batch-grid,.brewplan-head,.brewplan-list,.brewplan-stage-grid,.calc-input-grid,.detailed-event-form,.form-grid,.generation-grid,.generation-layout,.ion-grid,.measured-input-grid,.metric-grid,.metric-grid.compact,.picker-group,.preset-grid,.quick-event-form,.route-actions,.route-form-grid,.route-harness-brief,.route-history-row,.route-summary,.target-grid,.yeast-input-grid{grid-template-columns:1fr}.ingredients-grid{grid-template-columns:minmax(0,1fr) minmax(74px,96px)}.hop-use-field{grid-column:auto}.route-history-row>small{grid-column:1/-1;margin-top:0}button.danger,button.secondary{width:100%}.panel{min-height:auto}}