:root{color-scheme:light dark;--page:#f1f3f2;--surface:#fafbfa;--surface-strong:#fff;--text:#202322;--muted:#626966;--line:#cdd2cf;--line-strong:#aeb6b1;--accent:#b5412d;--accent-contrast:#fff;--soft-accent:#f5dfda;--warning:#75520e;--warning-bg:#f4e9cc;font-synthesis:none;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--page);-webkit-text-size-adjust:100%;text-size-adjust:100%;min-width:320px}body{background:var(--page);min-width:320px;min-height:100dvh;color:var(--text);margin:0}button,input,select{color:inherit;font:inherit}button,label,summary,select,input{touch-action:manipulation;-webkit-tap-highlight-color:color-mix(in srgb, var(--accent) 18%, transparent)}[hidden]{display:none!important}.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}.app-shell{width:min(100%,42rem);min-height:100dvh;padding:max(.75rem, env(safe-area-inset-top)) max(.75rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left));margin-inline:auto}.topbar{justify-content:space-between;align-items:center;gap:.65rem;min-height:3rem;display:flex}.topbar h1{letter-spacing:-.045em;text-wrap:balance;min-width:0;margin:0;font-size:clamp(1.3rem,6vw,1.75rem);line-height:1}.topbar nav{align-items:center;gap:.15rem;display:flex}.topbar button{min-height:2.75rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:.45rem .55rem;font-size:.72rem;font-weight:700}.topbar button b{background:var(--text);min-width:1.15rem;height:1.15rem;color:var(--page);border-radius:4px;place-items:center;margin-left:.15rem;font-size:.62rem;display:inline-grid}.calculator{border:1px solid var(--line);background:var(--surface);box-shadow:0 16px 45px color-mix(in srgb, var(--text) 6%, transparent);border-radius:14px;gap:0;margin-top:.55rem;display:grid;overflow:hidden}.mode-switch{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,1fr);display:grid}.mode-switch label,.thickness-grid label{position:relative}.mode-switch input,.thickness-grid input{opacity:0;pointer-events:none;position:absolute}.mode-switch span{border-right:1px solid var(--line);background:var(--surface-strong);cursor:pointer;place-items:center;min-height:3rem;font-size:.9rem;font-weight:760;display:grid}.mode-switch label:last-child span{border-right:0}.mode-switch input:checked+span{background:var(--accent);color:var(--accent-contrast)}.mode-switch input:focus-visible+span,.thickness-grid input:focus-visible+span{z-index:1;outline:3px solid color-mix(in srgb, var(--accent) 48%, transparent);outline-offset:-3px;position:relative}form,[data-section=pan],[data-section=flour]{display:grid}.quantity-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(7.5rem,1fr) minmax(8.5rem,1.1fr);min-height:5rem;display:grid}.quantity-row>span:first-child{flex-direction:column;justify-content:center;padding:.75rem;display:flex}.quantity-row b{font-size:.9rem}.quantity-row small{color:var(--muted);margin-top:.16rem;font-size:.66rem}.quantity-input{border-left:1px solid var(--line);background:var(--surface-strong);grid-template-columns:minmax(0,1fr) auto;display:grid}.quantity-input input{text-align:right;letter-spacing:-.055em;font-variant-numeric:tabular-nums;background:0 0;border:0;outline:0;width:100%;min-width:0;padding:.25rem .35rem;font-size:clamp(2.1rem,13vw,3rem);font-weight:650}.quantity-input b{color:var(--muted);align-items:center;padding:0 .7rem 0 .25rem;font-size:1.25rem;font-weight:600;display:flex}.quantity-input:focus-within{box-shadow:inset 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}.section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:2.75rem;padding:.55rem .75rem;display:flex}.section-heading h3{margin:0;font-size:.86rem}.section-heading span{color:var(--muted);font-size:.67rem}.dimension-grid{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.field{color:var(--muted);gap:.25rem;padding:.55rem .75rem;font-size:.7rem;font-weight:680;display:grid}.dimension-grid .field+.field{border-left:1px solid var(--line)}.input-with-unit{border:1px solid var(--line-strong);background:var(--surface-strong);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;min-height:2.75rem;display:grid;overflow:hidden}.input-with-unit input{font-variant-numeric:tabular-nums;background:0 0;border:0;outline:0;width:100%;min-width:0;padding:.35rem .55rem;font-size:1.25rem;font-weight:700}.input-with-unit b{border-left:1px solid var(--line);place-items:center;min-width:2.4rem;font-size:.7rem;display:grid}.input-with-unit:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 18%, transparent)}.advanced{border-bottom:1px solid var(--line)}.advanced summary,.instructions summary{cursor:pointer;align-items:center;min-height:2.75rem;padding:.6rem .75rem;font-size:.8rem;font-weight:720;display:flex}.advanced>p{color:var(--muted);margin:0;padding:0 .75rem .65rem;font-size:.7rem;line-height:1.4}.advanced .dimension-grid{border-top:1px solid var(--line);border-bottom:0}.check-row{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:.6rem;min-height:2.75rem;padding:.5rem .75rem;font-size:.78rem;font-weight:680;display:flex}.check-row input{width:1.15rem;height:1.15rem;accent-color:var(--accent);margin:0}.exact-flour{border-bottom:1px solid var(--line)}.choice-group{border:0;border-bottom:1px solid var(--line);min-width:0;margin:0;padding:.7rem .75rem .75rem}.choice-group legend{padding:.7rem 0 0;font-size:.78rem;font-weight:760}.thickness-grid{border:1px solid var(--line-strong);border-radius:9px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:.45rem;display:grid;overflow:hidden}.thickness-grid span{border-right:1px solid var(--line);background:var(--surface-strong);text-align:center;cursor:pointer;place-items:center;min-height:2.75rem;padding:.35rem .15rem;font-size:clamp(.75rem,3vw,.82rem);line-height:1.1;display:grid}.thickness-grid label:last-child span{border-right:0}.thickness-grid i{display:none}.thickness-grid input:checked+span{background:var(--accent);color:var(--accent-contrast)}.fermentation-row{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;min-height:3.15rem;padding:0 .75rem;font-size:.8rem;font-weight:730;display:grid}.fermentation-row select{background-color:var(--surface-strong);width:100%;min-width:0;min-height:2.75rem;color:var(--text);text-align:right;border:0;outline:0;padding:0 1.8rem 0 .4rem;font-size:1rem;font-weight:680}.form-error{border-bottom:1px solid var(--line);background:var(--soft-accent);margin:0;padding:.65rem .75rem;font-size:.72rem;line-height:1.4}.result{background:var(--surface);color:var(--text)}.ingredient-sheet{background:var(--page);color:var(--text);padding:.8rem .75rem .25rem}.result-heading{border-bottom:1px solid color-mix(in srgb, var(--page) 30%, transparent);justify-content:space-between;align-items:center;min-height:2.75rem;display:flex}.result-heading h2{color:var(--text);margin:0;font-size:1.05rem}.result-heading button{color:#df6650;cursor:pointer;background:0 0;border:0;min-height:2.75rem;padding:.4rem .2rem .4rem .75rem;font-size:.8rem;font-weight:760}.result-heading>div{align-items:center;display:flex}.ingredients{color:var(--text);display:grid}.ingredient{border-bottom:1px solid var(--line);min-height:2.8rem;color:var(--text);justify-content:space-between;align-items:center;gap:1rem;display:flex}.ingredient:last-child{border-bottom:0}.ingredient span{color:color-mix(in srgb, var(--text) 80%, transparent);font-size:.76rem}.ingredient strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.92rem}.ingredient small{font-size:.72em;font-weight:650}.recommendation,.classification,.instructions{border-bottom:1px solid var(--line);background:var(--surface-strong)}.recommendation summary,.recommendation.plain,.classification{justify-content:space-between;align-items:center;gap:.75rem;min-height:3.25rem;padding:.6rem .75rem;display:flex}.recommendation summary{cursor:pointer}.recommendation summary span,.recommendation.plain span,.classification>span{font-size:.78rem;font-weight:730}.recommendation strong,.classification strong{color:var(--accent);white-space:nowrap;font-size:.88rem}.recommendation>div{gap:.35rem;padding:0 .75rem .7rem;display:grid}.recommendation p{color:var(--muted);margin:0;font-size:.68rem;line-height:1.4}.recommendation>div span{color:var(--muted);justify-content:space-between;font-size:.68rem;display:flex}.classification{flex-wrap:wrap}.classification small{color:var(--warning);flex-basis:100%;font-size:.68rem;line-height:1.35}.classification.has-warning{background:var(--warning-bg)}.instructions{border-bottom:0}.instructions ol{margin:0;padding:.1rem 1rem .5rem 2rem}.instructions li{padding:0 0 .55rem .15rem;font-size:.75rem;line-height:1.45}.instructions>p{background:var(--page);color:var(--muted);margin:0;padding:.6rem .75rem;font-size:.68rem;line-height:1.4}.empty-result{gap:.2rem;padding:.8rem .75rem;display:grid}.empty-result span{color:var(--muted);font-size:.72rem}.saved-recipes{border-top:1px solid var(--line);background:var(--surface-strong);scroll-margin-top:.5rem}.saved-recipes>summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:2.75rem;padding:.55rem .75rem;font-size:.78rem;font-weight:720;list-style:none;display:flex}.saved-recipes>summary::-webkit-details-marker{display:none}.saved-recipes>summary b{background:var(--text);min-width:1.45rem;height:1.45rem;color:var(--page);border-radius:5px;place-items:center;padding-inline:.3rem;font-size:.65rem;display:grid}.saved-list{border-top:1px solid var(--line)}.saved-empty{color:var(--muted);margin:0;padding:.7rem .75rem;font-size:.7rem}.saved-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;display:grid}.saved-row:last-child{border-bottom:0}.saved-load,.saved-delete{cursor:pointer;background:0 0;border:0;min-height:2.75rem}.saved-load{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;padding:.45rem .75rem;display:flex}.saved-load strong,.saved-load span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.saved-load strong{font-size:.76rem}.saved-load span{color:var(--muted);margin-top:.1rem;font-size:.64rem}.saved-delete{border-left:1px solid var(--line);color:var(--muted);padding:.45rem .75rem;font-size:.68rem;font-weight:700}.install-dialog,.save-dialog,.share-dialog{border:1px solid var(--line);background:var(--surface);width:min(100% - 1.5rem,26rem);color:var(--text);box-shadow:0 24px 80px color-mix(in srgb, var(--text) 24%, transparent);overscroll-behavior:contain;border-radius:12px;margin:auto;padding:0}.install-dialog::backdrop,.save-dialog::backdrop,.share-dialog::backdrop{background:#0f1211ad}.dialog-content{padding:1rem}.dialog-content h2{margin:0 0 .8rem;font-size:1.1rem}.dialog-content ol{margin:0 0 1rem;padding-left:1.25rem}.dialog-content li,.dialog-content p{color:var(--muted);margin:0 0 .65rem;font-size:.8rem;line-height:1.45}.dialog-content .field{padding:0}.name-input{border:1px solid var(--line-strong);background:var(--surface-strong);border-radius:8px;width:100%;min-height:2.75rem;padding:.55rem .7rem}.dialog-actions{grid-template-columns:repeat(2,1fr);gap:.55rem;margin-top:.85rem;display:grid}.dialog-content button{background:var(--accent);min-height:2.75rem;color:var(--accent-contrast);cursor:pointer;border:0;border-radius:8px;font-size:.8rem;font-weight:750}.dialog-content .secondary-action{border:1px solid var(--line-strong);color:var(--text);background:0 0}.share-intro{margin-bottom:.85rem!important}.dialog-content .share-link-action{border:1px solid var(--accent);width:100%;color:var(--accent);background:0 0}.share-options{border:1px solid var(--line);border-radius:8px;gap:0;margin:.9rem 0 0;padding:0;display:grid;overflow:hidden}.share-options legend{color:var(--muted);margin-left:.45rem;padding:0 .35rem;font-size:.7rem;font-weight:720}.share-options label{border-bottom:1px solid var(--line);align-items:center;gap:.6rem;min-height:2.75rem;padding:.55rem .7rem;font-size:.78rem;font-weight:680;display:flex}.share-options label:last-child{border-bottom:0}.share-options input{width:1.1rem;height:1.1rem;accent-color:var(--accent);margin:0}.share-feedback{min-height:1.15rem;color:var(--accent)!important;margin:.55rem 0 -.35rem!important}footer{color:var(--muted);text-align:center;padding:.75rem .25rem 0;font-size:.65rem}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 35%, transparent);outline-offset:-3px}button:active,summary:active,.mode-switch span:active,.thickness-grid span:active{transform:scale(.985)}@media (hover:hover) and (pointer:fine){button:hover,summary:hover,.mode-switch span:hover,.thickness-grid span:hover{filter:brightness(.94)}}@media (width<=359px){.app-shell{padding-inline:max(.45rem, env(safe-area-inset-left))}.topbar button{padding-inline:.35rem;font-size:.66rem}.topbar h1{font-size:1.08rem}.thickness-grid{grid-template-columns:repeat(2,1fr)}.thickness-grid label:nth-child(2) span{border-right:0}.thickness-grid label:nth-child(-n+2) span{border-bottom:1px solid var(--line)}}@media (prefers-contrast:more){:root{--line:var(--line-strong)}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,.mode-switch input:focus-visible+span,.thickness-grid input:focus-visible+span{outline-width:4px}}@media (width>=640px){.app-shell{padding-top:max(1.25rem, env(safe-area-inset-top))}.calculator{margin-top:.8rem}}@media (prefers-color-scheme:dark){:root{--page:#171a19;--surface:#202422;--surface-strong:#262b28;--text:#eff2f0;--muted:#aeb6b1;--line:#3d4541;--line-strong:#58625d;--accent:#d76048;--accent-contrast:#171a19;--soft-accent:#3b2925;--warning:#f0cc78;--warning-bg:#3a321f}.ingredient-sheet{background:#101312}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
