@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap";:root{color:#342a20;font-synthesis:none;text-rendering:optimizelegibility;--cream:#f8f3e8;--paper:#fffdf7;--brown:#4e3928;--muted:#827364;--terracotta:#b85f3d;--terracotta-dark:#91452b;--sage:#718069;--line:#4e39281f;--shadow:0 18px 50px #54391f17;background:#eee4d3;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 10% -10%,#fffc,#0000 32%),linear-gradient(145deg,#f4ecdd 0%,#e9ddc9 100%);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #b85f3d47}.app-shell{background:var(--cream);width:min(100%,780px);min-height:100vh;margin:0 auto;box-shadow:0 0 80px #5239201f}header{justify-content:space-between;align-items:center;gap:20px;min-height:112px;padding:20px 24px 14px;display:flex}.brand{align-items:center;gap:14px;display:flex}.brand>div:last-child{flex-direction:column;display:flex}.brand span{color:var(--muted);text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:700}.brand h1{color:var(--brown);letter-spacing:-.03em;margin:3px 0 0;font:700 33px/1 Fraunces,Georgia,serif}.save-indicator{color:var(--sage);opacity:0;white-space:nowrap;align-items:center;gap:5px;font-size:12px;transition:opacity .18s;display:flex}.save-indicator.visible{opacity:1}.jar{flex:none;width:52px;height:61px;position:relative}.jar-lid{z-index:2;background:#805f46;border-radius:4px 4px 2px 2px;width:38px;height:9px;position:absolute;top:1px;left:7px;box-shadow:inset 0 2px #ffffff38}.jar-glass{background:#ffffff7a;border:2px solid #5340308f;border-radius:5px 5px 13px 13px;position:absolute;inset:8px 4px 0;overflow:hidden}.starter-fill{background:#d7a76d;border-top:3px solid #edca99;border-radius:5px 5px 9px 9px;position:absolute;inset:16px 3px 3px}.eye{background:#493628;border-radius:50%;width:3px;height:4px;position:absolute;top:13px}.eye.left{left:10px}.eye.right{right:10px}.smile{border-bottom:2px solid #493628;border-radius:50%;width:11px;height:6px;position:absolute;top:18px;left:50%;transform:translate(-50%)}.bubble{border:1px solid #ffffffb3;border-radius:50%;position:absolute}.b1{width:5px;height:5px;top:-1px;left:5px}.b2{width:7px;height:7px;top:4px;right:4px}.b3{width:4px;height:4px;top:-3px;right:15px}.b4{width:5px;height:5px;bottom:4px;left:18px}.main-nav{background:#513c2812;border-radius:16px;grid-template-columns:repeat(3,1fr);margin:0 20px 18px;padding:5px;display:grid}.main-nav button{color:#837468;cursor:pointer;background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;gap:7px;min-height:49px;font-weight:600;transition:background .15s,color .15s,transform .12s;display:flex}.main-nav button:active{transform:scale(.98)}.main-nav button.active{background:var(--paper);color:var(--terracotta-dark);box-shadow:0 5px 16px #472f1a17}main{padding:0 20px 32px}.hero-card{color:#fff9ef;background:radial-gradient(circle at 95% 0,#ffffff26,#0000 32%),linear-gradient(135deg,#a74f32,#733a27);border-radius:24px;margin-bottom:16px;padding:27px 24px 24px;box-shadow:0 18px 36px #7e3b2638}.eyebrow{text-transform:uppercase;letter-spacing:.12em;opacity:.78;align-items:center;gap:7px;font-size:10px;font-weight:700;display:flex}.hero-card h2{letter-spacing:-.02em;margin:14px 0 10px;font:600 25px/1.25 Fraunces,Georgia,serif}.hero-card h2 strong{color:#ffda9e;font-weight:700}.hero-card p{opacity:.76;margin:0;font-size:13px}.confidence{text-transform:uppercase;letter-spacing:.08em;opacity:.8;border-top:1px solid #ffffff24;align-items:center;gap:5px;margin-top:20px;padding-top:15px;font-size:10px;display:flex}.confidence span{background:#f6c786;border-radius:4px;width:18px;height:3px}.confidence span:nth-child(2){opacity:.7}.confidence span:nth-child(3){opacity:.22;margin-right:4px}.confidence span.on{opacity:.55}.card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;margin-top:14px;padding:22px}.section-title{color:var(--terracotta);justify-content:space-between;align-items:center;margin-bottom:21px;display:flex}.section-title>div{align-items:baseline;gap:10px;display:flex}.section-title span{letter-spacing:.12em;color:#b6a798;font-size:10px;font-weight:800}.section-title h2{color:var(--brown);margin:0;font:700 20px/1 Fraunces,Georgia,serif}.field-label,.number-field>span,.select-field>span,.datetime-field>span{color:var(--muted);text-transform:uppercase;letter-spacing:.075em;margin-bottom:9px;font-size:11px;font-weight:700;display:block}.ratio-grid{grid-template-columns:repeat(5,1fr);gap:7px;display:grid}.ratio-grid button{border:1px solid var(--line);min-height:46px;color:var(--brown);cursor:pointer;background:#fbf8f0;border-radius:11px;padding:0 5px;font-size:13px;font-weight:700}.ratio-grid button.active{color:#fff;border-color:var(--terracotta);background:var(--terracotta);box-shadow:0 5px 12px #b85f3d33}.custom-ratio{background:#f5eee3;border-radius:12px;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px;padding:12px;display:grid}.custom-ratio label span{color:var(--muted);margin-bottom:5px;font-size:10px;display:block}.custom-ratio input{border:1px solid var(--line);background:var(--paper);text-align:center;width:100%;height:40px;color:var(--brown);border-radius:8px;font-weight:700}.field-block{margin-top:20px}.segmented{background:#f1eadf;border-radius:12px;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;margin-bottom:18px;padding:4px;display:grid}.segmented button{min-height:42px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:5px 8px;font-size:12px;font-weight:600}.segmented button.active{background:var(--paper);color:var(--brown);box-shadow:0 3px 9px #3f2b1814}.number-field{min-width:0;display:block}.stepper{border:1px solid var(--line);background:#fcfaf4;border-radius:12px;grid-template-columns:44px minmax(0,1fr) 44px;min-height:50px;display:grid;overflow:hidden}.stepper button{color:var(--terracotta-dark);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.stepper button:active{background:#f1e6d7}.input-with-unit{border-inline:1px solid var(--line);justify-content:center;align-items:center;gap:5px;min-width:0;display:flex}.input-with-unit input{text-align:right;width:64px;min-width:0;color:var(--brown);appearance:textfield;background:0 0;border:0;outline:0;font-weight:700}.input-with-unit input::-webkit-inner-spin-button{appearance:none}.input-with-unit b{color:var(--muted);font-size:12px}.two-columns{grid-template-columns:1fr 1fr;gap:12px;margin:18px 0;display:grid}.select-field{min-width:0;display:block}.select-field select,.datetime-field input{border:1px solid var(--line);width:100%;min-height:50px;color:var(--brown);background:#fcfaf4;border-radius:12px;padding:0 12px;font-weight:600}.ingredient-result{background:#f4ede1;border-radius:15px;justify-content:space-between;align-items:center;gap:7px;margin-top:20px;padding:16px 13px;display:flex}.ingredient-result>div{text-align:center;min-width:0}.ingredient-result small{color:var(--muted);margin-bottom:3px;font-size:9px;display:block}.ingredient-result strong{color:var(--brown);white-space:nowrap;font-size:14px;display:block}.ingredient-result>svg{color:#b5a698;flex:none}.ingredient-result .total{border-left:1px solid var(--line);padding-left:12px}.dot{border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.dot.starter{background:#b76b3d}.dot.flour{background:#d9bd83}.dot.water{background:#75a7b9}.dot.salt{background:#a9a29a}.ready-check{background:#eff2e9;border:1px solid #7180692e;border-radius:18px;margin-top:14px;padding:19px 21px}.ready-check>div{color:var(--sage);align-items:center;gap:9px;display:flex}.ready-check h3{color:#4a5944;margin:0;font:700 17px Fraunces,Georgia,serif}.ready-check ul{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.ready-check li{color:#657060;align-items:center;gap:8px;font-size:12px;display:flex}.ready-check li svg{flex:none}.calibrate-button{width:100%;min-height:74px;color:var(--brown);text-align:left;cursor:pointer;background:#fffdf780;border:1px dashed #4e392838;border-radius:17px;align-items:center;gap:12px;margin-top:14px;padding:12px 17px;display:flex}.calibrate-button>span{flex:1}.calibrate-button b,.calibrate-button small{display:block}.calibrate-button b{font-size:13px}.calibrate-button small{color:var(--muted);margin-top:3px;font-size:11px}.calibrate-button>svg:first-child{color:var(--terracotta)}.calibration-panel h3{margin:0 0 18px;font:700 18px Fraunces,Georgia,serif}.calibration-panel .primary-button{margin-top:16px}.page-intro{padding:15px 5px 8px}.page-intro>span{color:var(--terracotta);text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:800}.page-intro h2{letter-spacing:-.03em;color:var(--brown);margin:8px 0;font:700 31px/1.12 Fraunces,Georgia,serif}.page-intro p{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.recipe-card,.timeline-card{color:#fff9ed;background:#4c3829;border-radius:22px;margin-top:14px;padding:23px;box-shadow:0 18px 40px #3e2a1a33}.recipe-head{border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;padding-bottom:18px;display:flex}.recipe-head span,.timeline-head span{text-transform:uppercase;letter-spacing:.12em;opacity:.6;font-size:10px}.recipe-head h2,.timeline-head h2{margin:4px 0 0;font:700 26px Fraunces,Georgia,serif}.hydration-badge{color:#b8e3ee;background:#75a7b926;border-radius:20px;align-items:center;gap:5px;padding:8px 10px;display:flex;opacity:1!important}.recipe-list{padding:10px 0}.recipe-list>div{border-bottom:1px solid #ffffff14;justify-content:space-between;padding:12px 0;display:flex}.recipe-list span{color:#ddd2c3;font-size:13px}.recipe-list strong{font-size:15px}.formula-note{color:#ffffffa8;background:#ffffff12;border-radius:12px;align-items:flex-start;gap:8px;margin-top:15px;padding:12px;font-size:11px;line-height:1.45;display:flex}.formula-note svg{flex:none;margin-top:1px}.primary-button,.secondary-button{color:#fff;background:var(--terracotta);cursor:pointer;border:0;border-radius:13px;justify-content:center;align-items:center;gap:8px;min-height:50px;padding:0 18px;font-weight:700;display:flex;box-shadow:0 8px 18px #b85f3d33}.primary-button:active,.secondary-button:active{transform:scale(.985)}.primary-button.wide,.secondary-button.wide{width:100%;margin-top:14px}.secondary-button{color:var(--brown);background:var(--paper);border:1px solid var(--line);box-shadow:none}.datetime-field{display:block}.datetime-field input{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.timeline-head{align-items:center;gap:12px;padding-bottom:20px;display:flex}.timeline-head>svg{color:#e2a474}.timeline{position:relative}.timeline-row{grid-template-columns:62px 16px 1fr;gap:10px;min-height:77px;display:grid;position:relative}.timeline-row:after{content:"";background:#ffffff2e;width:1px;position:absolute;top:28px;bottom:0;left:69px}.timeline-row.final:after{display:none}.timeline-row .time{color:#d7cabc;padding-top:3px;font-size:12px;font-weight:700}.timeline-row>i{z-index:1;background:#4c3829;border:2px solid #ba8a66;border-radius:50%;width:9px;height:9px;margin-top:6px}.timeline-row.important>i,.timeline-row.final>i{background:#e49b65;border-color:#e49b65;box-shadow:0 0 0 4px #e49b651f}.timeline-row b,.timeline-row small{display:block}.timeline-row b{font-size:14px}.timeline-row small{color:#bfb1a1;margin-top:4px;font-size:11px;line-height:1.4}footer{padding:22px 20px calc(28px + env(safe-area-inset-bottom));border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:12px;font-size:10px;display:flex}footer span{color:var(--brown);font-family:Fraunces,Georgia,serif}@media (width<=560px){header{padding-inline:18px}.save-indicator{display:none}main{padding-inline:14px}.main-nav{margin-inline:14px}.main-nav button{flex-direction:column;gap:3px;font-size:10px}.hero-card{padding:24px 19px 21px}.hero-card h2{font-size:22px}.card{padding:19px 16px}.ratio-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.ratio-grid button{font-size:11px}.ingredient-result{gap:4px;padding-inline:8px}.ingredient-result strong{font-size:12px}.ingredient-result>svg{width:12px}.ingredient-result .total{padding-left:7px}.two-columns{grid-template-columns:1fr}.page-intro h2{font-size:27px}.recipe-card,.timeline-card{padding:20px 17px}footer{text-align:center;flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
