:root{color:#2f2f2f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--orange:#f2a000;--line:#303030;--panel:#f5f5f5;--control-border:#d7b15a;--shadow:0 2px 8px #0000002e;background:#e7e7e7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 0 0,#f2a0001f,#0000 28rem),linear-gradient(135deg,#f3f3f3,#dedede);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}.app-shell{background:var(--panel);min-height:100vh}.top-bar{z-index:10;padding-top:env(safe-area-inset-top);color:#fff;background:var(--orange);position:sticky;top:0;box-shadow:0 1px 2px #0000002e}.nav-row{grid-template-columns:56px 1fr 56px;align-items:center;width:min(100%,1120px);height:72px;margin:0 auto;padding-inline:6px;display:grid}.nav-row h1{text-align:center;letter-spacing:0;text-shadow:0 1px 1px #00000040;margin:0;font-size:1.65rem;font-weight:800}.icon-button{width:56px;height:56px;color:inherit;background:0 0;border:0;place-items:center;display:grid}.drawer-backdrop{z-index:25;opacity:0;pointer-events:none;background:0 0;justify-content:flex-end;transition:opacity .14s,background .14s;display:flex;position:fixed;inset:0}.drawer-backdrop.open{opacity:1;pointer-events:auto;background:#00000014}.drawer{width:min(100vw - 54px,390px);max-width:100%;margin-top:calc(72px + env(safe-area-inset-top));background:#f4f4f4;align-self:flex-start;transition:transform .16s;overflow:hidden;transform:translate(102%);box-shadow:-3px 4px 18px #00000042}.drawer-backdrop.open .drawer{transform:translate(0)}.drawer-button,.drawer-tool{color:#2d2d2d;text-align:left;background:#f4f4f4;border:0;border-bottom:1px solid #d8d8d8;align-items:center;width:100%;min-height:73px;display:grid}.drawer-button{grid-template-columns:58px 1fr;gap:6px;padding:0 24px;font-size:1.42rem;font-weight:800}.drawer-button.strong{border-bottom:0}.drawer-icon{color:#dda323;display:grid}.drawer-tool{padding:0 34px 0 88px;font-size:1.3rem;font-style:italic;font-weight:800}.drawer-divider{background:#e0e0e0;border-block:1px solid #d6d6d6;height:24px}.tabs{z-index:9;background:var(--orange);grid-template-columns:repeat(2,1fr);width:min(100%,1120px);height:54px;margin:0 auto;display:grid;position:sticky;top:72px}.tabs button{color:#ffffffb8;text-shadow:0 1px 1px #00000038;background:0 0;border:0;font-size:1.58rem;font-weight:800;position:relative}.tabs button.active{color:#fff}.tabs button.active:after{content:"";background:#f3f3f3;height:5px;position:absolute;bottom:0;left:0;right:0}.calculator{gap:24px;width:min(100%,1120px);margin:0 auto;padding:32px 28px 34px;display:grid}.calculator-controls{gap:24px;display:grid}.control-grid{gap:18px;display:grid}.control-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.control-grid.one{grid-template-columns:1fr}.stepper-block{gap:9px;display:grid}.control-label{text-align:center;justify-content:center;align-items:center;gap:5px;min-height:29px;font-size:1.44rem;line-height:1.1;display:flex}.inline-help{color:#d4ae50;background:0 0;border:0;place-items:center;width:20px;height:20px;padding:0;display:inline-grid}.stepper{border:2px solid var(--control-border);background:#f8f8f8;border-radius:12px;grid-template-columns:52px 1fr 52px;height:68px;display:grid;overflow:hidden}.stepper button{color:#d69b19;background:0 0;border:0;place-items:center;display:grid}.stepper button:first-child{border-right:2px solid var(--control-border)}.stepper button:last-child{border-left:2px solid var(--control-border)}.stepper input{color:#272727;text-align:center;background:0 0;border:0;width:100%;min-width:0;font-size:1.48rem;font-weight:800}.stepper input.positive-value{color:#10b02b}.yeast-row{grid-template-columns:minmax(115px,.9fr) minmax(0,1.45fr);align-items:center;gap:16px;display:grid}.yeast-row>span{font-size:1.36rem}.segmented{background:#efefef;border:1px solid #d8d8d8;border-radius:9px;grid-auto-columns:1fr;grid-auto-flow:column;min-width:0;height:58px;display:grid;overflow:hidden}.segmented button{border:0;color:#2f2f2f;background:0 0;border-right:1px solid #d8d8d8;min-width:0;font-size:1.28rem;font-weight:800}.segmented button:last-child{border-right:0}.segmented button.selected{color:#fff;background:var(--orange)}.segmented.small{width:152px;height:52px}.segmented.small button{font-size:1.08rem}.doses{border-top:2px solid var(--line);gap:18px;padding-top:22px;display:grid}.doses h2{text-align:center;margin:0;font-size:1.48rem;font-style:italic;font-weight:800}.doses h2 strong{color:var(--orange)}.dose-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;display:grid}.dose-pill{color:#fff;background:var(--orange);text-align:center;text-shadow:0 1px 1px #00000047;border-radius:14px;place-items:center;min-height:65px;padding:10px;font-size:1.18rem;line-height:1.15;display:grid}.tool-page{gap:26px;width:min(100%,960px);margin:0 auto;padding:42px 28px 40px;display:grid}.tool-page.single{width:min(100%,720px)}.tool-page h2{text-align:center;margin:0;font-size:1.62rem;line-height:1.15}.tool-row{grid-template-columns:minmax(110px,.8fr) minmax(0,1.35fr);align-items:end;gap:20px;display:grid}.tool-row>span{text-align:center;padding-bottom:18px;font-size:1.42rem}.tool-select{justify-items:center;gap:16px;display:grid;position:relative}.tool-select>span,.tool-output>span{text-align:center;font-size:1.55rem;line-height:1.15}.tool-select select{appearance:none;color:#2d2d2d;width:min(100%,520px);height:76px;box-shadow:var(--shadow);text-align:center;background:#f4f4f4;border:1px solid #d8d8d8;border-radius:8px;padding:0 62px 0 24px;font-size:1.42rem;font-weight:800}.tool-select-chevron{color:var(--orange);pointer-events:none;position:absolute;bottom:23px;right:max(22px,50% - 236px)}.tool-divider{border:0;border-top:2px solid var(--line);width:100%;margin:12px 0}.tool-output{justify-items:center;gap:14px;display:grid}.tool-output output,.tool-pill{color:#fff;background:var(--orange);text-align:center;text-shadow:0 1px 1px #00000047;border:0;border-radius:14px;place-items:center;min-height:70px;padding:10px 18px;font-size:1.36rem;line-height:1.15;display:grid}.tool-output output{width:min(100%,520px)}.tool-grid-list{gap:16px;display:grid}.tool-result-row{grid-template-columns:minmax(0,1.4fr) minmax(180px,.9fr);align-items:end;gap:26px;display:grid}.settings{width:min(100%,960px);margin:0 auto;padding:0 26px 30px}.setting-row{border-bottom:2px solid var(--line);grid-template-columns:1fr auto;align-items:center;min-height:93px;display:grid}.setting-row>span{font-size:1.43rem}.setting-control{place-items:center;display:grid;position:relative}.toggle{color:#282828;background:#ededed;border:2px solid #d8d8d8;border-radius:7px;grid-template-columns:40px 1fr;align-items:center;width:122px;height:40px;display:grid;position:relative;box-shadow:inset 0 1px 4px #00000029}.toggle span{background:#f8f8f8;border-radius:6px;width:36px;height:34px;transition:transform .14s,background .14s;position:absolute;left:2px;box-shadow:0 1px 3px #00000038}.toggle strong{grid-column:2;font-size:1.1rem}.toggle.on{color:#fff;background:var(--orange)}.toggle.on span{transform:translate(78px)}.toggle.on strong{grid-column:1}.select-button{appearance:none;color:#2f2f2f;min-width:112px;height:58px;box-shadow:var(--shadow);text-align:center;background:#f5f5f5;border:0;border-radius:7px;padding:0 38px 0 16px;font-size:1.06rem;font-weight:800}.select-chevron{color:#e0a127;pointer-events:none;position:absolute;right:10px}.modal-backdrop{z-index:30;background:#00000014;align-items:center;padding:24px;display:grid;position:fixed;inset:0}.help-modal{background:#fff;border-radius:7px;width:min(100%,620px);max-height:calc(100vh - 48px);margin:0 auto;overflow:hidden;box-shadow:0 6px 22px #00000057}.help-modal header{background:var(--orange);color:#fff;grid-template-columns:1fr 60px;align-items:center;height:70px;display:grid}.help-modal h2{text-align:center;margin:0 0 0 60px;font-size:1.55rem}.help-modal button{height:60px;color:inherit;background:0 0;border:0;place-items:center;display:grid}.help-content{text-align:justify;max-height:calc(100vh - 118px);padding:28px;font-size:1.35rem;line-height:1.35;overflow-y:auto}.help-content p,.help-content ul{margin:0}.help-content p+p,.help-content p+ul,.help-content ul+p{margin-top:18px}.help-content ul{text-align:left;padding-left:34px}.help-content li+li{margin-top:4px}.help-content p{font-size:1.35rem;line-height:1.35}@media (width<=420px){.nav-row h1,.tabs button{font-size:1.34rem}.calculator{gap:20px;padding-inline:18px}.settings{padding-inline:18px}.drawer{width:min(100vw - 42px,360px)}.drawer-button{grid-template-columns:48px 1fr;min-height:64px;padding-inline:18px;font-size:1.2rem}.drawer-tool{min-height:64px;padding-left:70px;font-size:1.12rem}.control-label,.stepper input,.setting-row>span{font-size:1.2rem}.stepper{grid-template-columns:48px 1fr 48px;height:62px}.yeast-row{grid-template-columns:1fr}.dose-grid{gap:12px}.tool-page{gap:22px;padding:34px 18px 36px}.tool-page h2{font-size:1.38rem}.tool-row,.tool-row.offset{grid-template-columns:1fr;gap:12px}.tool-result-row{grid-template-columns:minmax(0,1.35fr) minmax(132px,.85fr);gap:14px}.tool-row>span{padding-bottom:0}.tool-select>span,.tool-output>span,.tool-pill,.tool-output output{font-size:1.18rem}.tool-select select{height:66px;font-size:1.18rem}.tool-select-chevron{bottom:18px}}@media (width>=760px){.app-shell{min-height:100vh}.top-bar{position:sticky}.nav-row{grid-template-columns:72px 1fr 72px;height:76px;padding-inline:24px}.nav-row h1{text-align:left}.tabs{height:58px;padding-inline:24px;top:76px}.drawer{margin-top:calc(76px + env(safe-area-inset-top))}.tabs button{font-size:1.25rem}.calculator{grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);gap:32px;padding:40px 32px 48px}.calculator-controls{gap:22px}.control-label{font-size:1.18rem}.stepper{height:60px}.stepper input{font-size:1.2rem}.yeast-row>span{font-size:1.16rem}.segmented{height:52px}.segmented button{font-size:1.08rem}.doses{border:1px solid #ddd;border-top:4px solid var(--orange);box-shadow:var(--shadow);background:#fff;border-radius:8px;gap:16px;padding:22px;position:sticky;top:158px}.doses h2{font-size:1.26rem}.dose-grid{grid-template-columns:1fr}.dose-pill{border-radius:8px;min-height:58px;font-size:1.08rem}.settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px;padding:16px 32px 48px;display:grid}.setting-row{min-height:82px}.setting-row>span{font-size:1.18rem}}
