:root{--bg:#f6f7fb;--surface:#fff;--surface-soft:#f1f2f7;--surface-violet:#f0efff;--ink:#171923;--muted:#686b7a;--line:#e1e3ec;--primary:#5b55d9;--primary-dark:#4338b8;--primary-soft:#e8e7ff;--accent:#ff6b4a;--accent-soft:#ffede8;--error:#ba1a1a;--result:#242152;--result-soft:#343073;--success:#1c7c54;--shadow-1:0 1px 2px #1c1f2b0f, 0 5px 16px #1c1f2b0d;--shadow-2:0 12px 36px #2d2a5e1f, 0 2px 8px #1c1f2b0f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 8% 8%, #5b55d917, transparent 25rem), radial-gradient(circle at 92% 20%, #ff6b4a14, transparent 24rem), var(--bg);color:var(--ink);letter-spacing:-.012em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #5b55d947}.site-header{justify-content:space-between;align-items:center;width:min(1160px,100% - 40px);margin:0 auto;padding:24px 0;display:flex}.brand{color:inherit;align-items:center;gap:12px;text-decoration:none;display:inline-flex}.brand__mark{flex:0 0 54px;width:54px;height:54px;transition:transform .22s;overflow:visible}.brand:hover .brand__mark{transform:rotate(-4deg)scale(1.04)}.brand strong{letter-spacing:-.045em;font-size:23px;font-weight:760;line-height:1;display:block}.brand small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:5px;font-size:10px;font-weight:650;display:block}.privacy-badge{min-height:36px;box-shadow:var(--shadow-1);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#444654;background:#ffffffb8;border:1px solid #e1e3ece6;border-radius:999px;align-items:center;gap:8px;padding:8px 13px;font-size:11px;font-weight:650;display:inline-flex}.privacy-badge i{background:var(--success);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #1c7c541a}.intro{width:min(1160px,100% - 40px);margin:72px auto 44px}.eyebrow{width:max-content;color:var(--primary-dark);background:var(--primary-soft);letter-spacing:.035em;border-radius:999px;margin:0 0 20px;padding:7px 11px;font-size:11px;font-weight:720}.intro h1{letter-spacing:-.066em;text-wrap:balance;max-width:850px;margin:0;font-size:clamp(50px,7vw,86px);font-weight:760;line-height:.98}.intro__copy{max-width:590px;color:var(--muted);letter-spacing:-.018em;margin:25px 0 0;font-size:18px;line-height:1.58}.calculator{grid-template-columns:minmax(0,1.42fr) minmax(340px,.8fr);align-items:start;gap:24px;width:min(1160px,100% - 40px);margin:0 auto 72px;display:grid}.calculator__form{box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border:1px solid #e1e3ece6;border-radius:28px;padding:clamp(28px,4vw,46px)}.section-heading{align-items:center;gap:14px;margin-bottom:28px;display:flex}.section-heading>span{background:var(--primary-soft);width:38px;height:38px;color:var(--primary-dark);border-radius:12px;place-items:center;font-size:11px;font-weight:760;display:grid}.section-heading p,.section-heading h2{margin:0}.section-heading p{color:var(--muted);margin-bottom:2px;font-size:11px;font-weight:600}.section-heading h2{letter-spacing:-.04em;font-size:27px;font-weight:730;line-height:1.12}.portion-grid,.two-fields{grid-template-columns:1fr 1fr;gap:20px;display:grid}.divider{background:var(--line);height:1px;margin:36px 0}.field label,.range-heading label{margin-bottom:9px;font-size:13px;font-weight:680;display:block}.field__control{position:relative}.field__control input,.stepper,.compact-input{background:var(--surface-soft);border:1px solid #0000;border-radius:14px;width:100%;transition:border .18s,box-shadow .18s,background .18s}.field__control input{height:56px;color:var(--ink);padding:0 54px 0 16px;font-size:18px;font-weight:700}.field__control input:hover,.stepper:hover,.compact-input:hover{background:#edecf4}.field__control input:focus{border-color:var(--primary);background:#fff;outline:none;box-shadow:0 0 0 4px #5b55d91a}.field__control>span{color:var(--muted);pointer-events:none;font-size:13px;font-weight:650;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.field__hint,.field__error{min-height:16px;margin:7px 2px 0;font-size:11px;line-height:1.4}.field__hint{color:#7c7e8c}.field__error{color:var(--error);font-weight:650}.field--invalid .field__control input,.field--invalid .stepper,.compact-input--invalid{border-color:var(--error);background:#fff8f7}.stepper{grid-template-columns:50px 1fr 50px;height:56px;display:grid;overflow:hidden}.stepper button{color:var(--primary);background:0 0;border:0;font-size:25px;font-weight:450;transition:background .16s}.stepper button:hover{background:var(--primary-soft)}.stepper input{text-align:center;border:0;background:0 0;border-inline:1px solid #dfe0e9;outline:none;width:100%;min-width:0;font-size:19px;font-weight:720}.stepper input::-webkit-inner-spin-button{appearance:none}.compact-input input::-webkit-inner-spin-button{appearance:none}.parameter-block{border-bottom:1px solid var(--line);padding:20px 0}.range-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.range-heading label{margin-bottom:4px}.range-heading small{color:var(--muted);font-size:11px;line-height:1.45;display:block}.compact-input{flex:0 0 94px;align-items:center;height:44px;display:flex}.compact-input input{text-align:right;background:0 0;border:0;outline:none;width:100%;min-width:0;height:100%;padding:0 4px 0 10px;font-size:16px;font-weight:720}.compact-input span{color:var(--muted);padding-right:12px;font-size:12px;font-weight:650}.range{width:100%;height:6px;accent-color:var(--primary);cursor:pointer;margin:24px 0 6px}.range-scale{color:#898b98;justify-content:space-between;font-size:10px;display:flex}.presets{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px;display:grid}.presets button{background:var(--surface-soft);color:#515362;border:0;border-radius:12px;height:40px;font-size:12px;font-weight:680;transition:background .16s,color .16s,transform .16s,box-shadow .16s}.presets button:hover{background:var(--primary-soft);color:var(--primary-dark);transform:translateY(-1px)}.presets button.is-active{color:#fff;background:var(--primary);box-shadow:0 5px 14px #5b55d942}.ready-time{background:var(--surface-violet);color:var(--primary-dark);border:1px solid #d9d7ff;border-radius:14px;align-items:center;gap:12px;margin-top:12px;padding:12px 14px;display:flex}.ready-time__clock{border:2px solid var(--primary);background:#fff;border-radius:50%;flex:0 0 32px;width:32px;height:32px;position:relative}.ready-time__clock:before,.ready-time__clock:after{content:"";background:var(--primary);transform-origin:bottom;border-radius:2px;width:2px;position:absolute;bottom:50%;left:50%}.ready-time__clock:before{height:8px;transform:translate(-50%)rotate(0)}.ready-time__clock:after{height:10px;transform:translate(-50%)rotate(120deg)}.ready-time p,.ready-time small,.ready-time strong{margin:0;display:block}.ready-time small{color:var(--muted);margin-bottom:2px;font-size:10px}.ready-time strong{font-size:12px;font-weight:720;line-height:1.35}.two-fields{align-items:start;margin-top:24px}.yeast-setting{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-1);border-radius:16px;padding:14px}.yeast-type>strong,.yeast-type>small{display:block}.yeast-type>strong{margin-bottom:9px;font-size:12px;font-weight:680}.yeast-type>small{color:var(--muted);margin-top:7px;font-size:10px}.yeast-type__toggle{isolation:isolate;background:var(--surface-soft);border-radius:12px;grid-template-columns:1fr 1fr;height:38px;padding:3px;display:grid;position:relative}.yeast-type__toggle:before{content:"";z-index:-1;background:var(--primary);border-radius:9px;width:calc(50% - 3px);height:32px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 3px 9px #5b55d938}.yeast-type__toggle.is-dry:before{transform:translate(100%)}.yeast-type__toggle button{color:var(--muted);background:0 0;border:0;border-radius:9px;font-size:11px;font-weight:680;transition:color .18s}.yeast-type__toggle button.is-active{color:#fff}.yeast-divider{background:var(--line);height:1px;margin:14px 0}.toggle-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.toggle-row strong,.toggle-row small{display:block}.toggle-row strong{font-size:12px;font-weight:680}.toggle-row small{color:var(--muted);margin-top:3px;font-size:10px}.switch{background:#b8bac5;border:0;border-radius:999px;flex:0 0 46px;width:46px;height:26px;transition:background .2s;position:relative}.switch span{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000003d}.switch.is-on{background:var(--primary)}.switch.is-on span{transform:translate(20px)}.yeast-setting .field{margin-top:14px}.result-card{background:linear-gradient(150deg, var(--result), var(--result-soft));color:#fff;border-radius:28px;min-height:520px;padding:30px;position:sticky;top:22px;overflow:hidden;box-shadow:0 22px 52px #24215242}.result-card:before,.result-card:after{content:"";pointer-events:none;border-radius:50%;position:absolute}.result-card:before{filter:blur(2px);background:#ff6b4a29;width:250px;height:250px;top:-140px;right:-100px}.result-card:after{border:42px solid #ffffff06;width:220px;height:220px;bottom:-115px;right:-105px}.result-card__top{z-index:1;border-bottom:1px solid #ffffff24;justify-content:space-between;align-items:center;padding-bottom:22px;display:flex;position:relative}.result-card__top p{color:#d8d6ff;letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:11px;font-weight:700}.result-card__top button{color:#d8d6ef;text-underline-offset:4px;background:0 0;border:0;padding:5px 0;font-size:11px;font-weight:600;text-decoration:underline}.result-total{z-index:1;padding:28px 0 25px;position:relative}.result-total>span{color:#c9c7e8;font-size:12px;display:block}.result-total>strong{letter-spacing:-.055em;margin:5px 0 4px;font-size:52px;font-weight:740;line-height:1;display:block}.result-total>strong small{color:#b9b7dc;font-size:18px;font-weight:680}.result-total p{color:#ffb39f;margin:0;font-size:12px;font-weight:680}.ingredients{z-index:1;border-top:1px solid #ffffff24;margin:0;padding:0;list-style:none;position:relative}.ingredient{border-bottom:1px solid #ffffff1c;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;padding:15px 0;display:grid}.ingredient__symbol{color:#ffb39f;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:12px;place-items:center;width:38px;height:38px;font-size:13px;font-weight:720;display:grid}.ingredient__name strong,.ingredient__name small{display:block}.ingredient__name strong{font-size:13px;font-weight:650}.ingredient__name small{color:#aaa8cc;margin-top:2px;font-size:10px}.ingredient__value{font-size:16px;font-weight:700}.recipe-note{z-index:1;color:#d8d7eb;background:#ff6b4a14;border:1px solid #ffb39f33;border-radius:14px;gap:11px;margin-top:22px;padding:14px;display:flex;position:relative}.recipe-note>span{color:#ff9b80}.recipe-note p{margin:0;font-size:11px;line-height:1.55}.recipe-note strong{color:#ffae99;letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px;font-size:10px;font-weight:720;display:block}.copy-button{z-index:1;width:100%;height:48px;color:var(--result);background:#fff;border:0;border-radius:14px;justify-content:center;align-items:center;gap:9px;margin-top:14px;font-size:12px;font-weight:720;transition:background .18s,transform .18s,box-shadow .18s;display:flex;position:relative;box-shadow:0 5px 16px #00000024}.copy-button:hover{background:#f3f2ff;transform:translateY(-1px);box-shadow:0 8px 22px #0000002e}.copy-button:active{transform:translateY(0)}.result-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:410px;display:flex}.result-empty>span{color:#ffae99;background:#ff6b4a29;border-radius:14px;place-items:center;width:44px;height:44px;font-size:20px;font-weight:720;display:grid}.result-empty h2{letter-spacing:-.035em;margin:16px 0 8px;font-size:23px;font-weight:720;line-height:1.15}.result-empty p{color:#bcbada;max-width:250px;margin:0;font-size:12px;line-height:1.6}footer{border-top:1px solid var(--line);width:min(1160px,100% - 40px);color:var(--muted);justify-content:space-between;margin:0 auto;padding:28px 0 40px;font-size:11px;display:flex}footer strong{color:var(--ink);letter-spacing:-.035em;font-size:17px;font-weight:720}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=860px){.intro{margin-top:44px}.calculator{grid-template-columns:1fr}.result-card{min-height:0;position:relative;top:0}}@media (width<=580px){.site-header,.intro,.calculator,footer{width:min(100% - 24px,1160px)}.site-header{padding-top:16px}.brand small{display:none}.brand__mark{flex-basis:47px;width:47px;height:47px}.privacy-badge{padding:7px 10px;font-size:9px}.intro{margin-top:30px;margin-bottom:30px}.intro h1{font-size:clamp(43px,13.1vw,62px)}.intro__copy{font-size:15px}.calculator__form,.result-card{border-radius:22px;padding:24px 18px}.portion-grid,.two-fields{grid-template-columns:1fr}.range-heading{align-items:flex-start}.presets{grid-template-columns:repeat(4,minmax(0,1fr))}.result-total>strong{font-size:46px}footer{align-items:center}footer span{text-align:right}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}
