@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;0,900;1,400;1,700&family=Cormorant+SC:wght@400;600&family=IBM+Plex+Mono:wght@400;500&family=Vollkorn:ital,wght@0,400;0,500;1,400&display=swap";:root{--bg: #0d0a06;--surface: #151009;--surface-2: #1c1610;--surface-3: #241e14;--border: #2e2318;--border-light: #3d3020;--gold: #c8863a;--gold-bright: #e0a84e;--gold-dim: #7a5020;--gold-glow: rgba(200,134,58,.14);--cream: #ede0c4;--cream-dim: #a0916e;--text: #e2d5bb;--text-muted: #7a6a52;--fold-bg: rgba(200,134,58,.06);--radius: 6px;--radius-lg: 12px;--transition: .2s cubic-bezier(.4,0,.2,1);--min-touch: 44px;--font-display: "Playfair Display", Georgia, serif;--font-head: "Cormorant SC", Georgia, serif;--font-body: "Vollkorn", Georgia, serif;--font-mono: "IBM Plex Mono", "Courier New", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.6;min-height:100dvh;padding:0 0 env(safe-area-inset-bottom,0);overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.038;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit}button{cursor:pointer;border:none;background:none}.app-wrapper{max-width:1040px;margin:0 auto;padding:0 1.25rem 4rem}.app-header{position:relative;text-align:center;padding:3.5rem 1rem 3rem;margin-bottom:.5rem;overflow:hidden}.app-header:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(600px,90vw);height:min(600px,90vw);background:radial-gradient(ellipse at center,rgba(200,134,58,.07) 0%,rgba(200,134,58,.03) 40%,transparent 70%);pointer-events:none}.header-eyebrow{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);opacity:.75;margin-bottom:1.25rem}.app-title{font-family:var(--font-display);font-weight:900;font-size:clamp(3rem,10vw,6rem);line-height:.92;letter-spacing:-.02em;color:var(--cream);margin-bottom:.1em}.app-title em{display:block;font-style:italic;font-weight:400;font-size:.52em;letter-spacing:.06em;color:var(--gold);margin-top:.2em}.header-rule{display:flex;align-items:center;gap:1rem;margin:1.5rem auto 0;max-width:320px}.header-rule:before,.header-rule:after{content:"";flex:1;height:1px;background:linear-gradient(to right,transparent,var(--gold-dim))}.header-rule:after{background:linear-gradient(to left,transparent,var(--gold-dim))}.header-rule-icon{color:var(--gold);font-size:.8rem;opacity:.8}.header-sub{font-family:var(--font-body);font-style:italic;font-size:.9rem;color:var(--text-muted);margin-bottom:1.5rem;letter-spacing:.01em}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.header-eyebrow{animation:fadeUp .7s ease both;animation-delay:.05s}.app-title{animation:fadeUp .8s ease both;animation-delay:.15s}.header-sub{animation:fadeUp .7s ease both;animation-delay:.28s}.header-rule{animation:fadeUp .7s ease both;animation-delay:.38s}.layout-grid{display:grid;gap:1.5rem;animation:fadeUp .7s ease both;animation-delay:.45s}@media(min-width:640px){.layout-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start}}.controls-col{display:flex;flex-direction:column;gap:1rem}.panel{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1.375rem;position:relative;overflow:hidden}.panel:after{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(to right,transparent,var(--gold-dim),transparent);opacity:.5}.panel-label{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);opacity:.7;margin-bottom:.875rem}.mode-toggle{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:4px}.mode-toggle label{display:flex;align-items:center;justify-content:center;gap:.4em;min-height:var(--min-touch);border-radius:calc(var(--radius) - 2px);cursor:pointer;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.05em;color:var(--text-muted);transition:background var(--transition),color var(--transition);user-select:none;padding:0 .75rem}.mode-toggle input[type=radio]{position:absolute;opacity:0;width:0;height:0}.mode-toggle label:has(input:checked){background:var(--gold);color:var(--bg);font-weight:500;box-shadow:0 2px 8px #c8863a40}.anchor-label-text{font-family:var(--font-body);font-style:italic;font-size:.85rem;color:var(--text-muted);display:block;margin-bottom:.5rem}input[type=datetime-local]{width:100%;padding:.65rem .875rem;background:var(--surface);border:1.5px solid var(--border-light);border-radius:var(--radius);color:var(--cream);min-height:var(--min-touch);font-family:var(--font-mono);font-size:.875rem;letter-spacing:.04em;transition:border-color var(--transition),box-shadow var(--transition);color-scheme:dark;-webkit-appearance:none}input[type=datetime-local]:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-glow)}.stage-row{display:grid;grid-template-columns:22px 1fr;gap:.5rem .875rem;align-items:start;padding:.875rem 0;border-bottom:1px solid var(--border);transition:opacity var(--transition)}.stage-row:last-child{border-bottom:none}.stage-row.disabled{opacity:.35}.stage-checkbox{-webkit-appearance:none;appearance:none;width:18px;height:18px;border:1.5px solid var(--border-light);border-radius:3px;background:var(--surface);cursor:pointer;margin-top:.2rem;flex-shrink:0;transition:all var(--transition);position:relative}.stage-checkbox:checked{background:var(--gold);border-color:var(--gold)}.stage-checkbox:checked:after{content:"";position:absolute;left:4px;top:1px;width:6px;height:10px;border:2px solid var(--bg);border-top:none;border-left:none;transform:rotate(45deg)}.stage-checkbox:focus{outline:none;box-shadow:0 0 0 3px var(--gold-glow)}.stage-content{display:flex;flex-direction:column;gap:.45rem}.stage-name{font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--cream);line-height:1.3}.stage-duration{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}input[type=number]{width:62px;padding:.3rem .5rem;background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);color:var(--cream);min-height:36px;font-family:var(--font-mono);font-size:.82rem;text-align:center;transition:border-color var(--transition),box-shadow var(--transition);-moz-appearance:textfield;color-scheme:dark}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}input[type=number]:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-glow)}.unit-label{font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted);letter-spacing:.05em}.fold-controls{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted);letter-spacing:.04em;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.3rem .5rem;margin-top:.1rem}.fold-controls input[type=number]{width:52px;min-height:28px;font-size:.75rem;padding:.2rem .4rem}.schedule-empty{font-family:var(--font-body);font-style:italic;font-size:.9rem;color:var(--text-muted);text-align:center;padding:2.5rem 1rem;line-height:1.7}.schedule-summary{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.4rem;padding:.75rem 0;margin-bottom:1rem;border-bottom:1px solid var(--border-light)}.summary-range{font-family:var(--font-mono);font-size:.78rem;color:var(--gold);letter-spacing:.04em}.summary-total{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase}.summary-total strong{color:var(--gold-bright)}.schedule-list{list-style:none;position:relative;padding-left:2rem}.schedule-list:before{content:"";position:absolute;left:5px;top:10px;bottom:10px;width:1px;background:linear-gradient(to bottom,transparent 0%,var(--gold-dim) 8%,var(--gold-dim) 90%,transparent 100%)}.schedule-step{display:grid;grid-template-columns:70px 1fr;gap:0 .875rem;padding:.55rem 0;position:relative;align-items:start}.schedule-step:before{content:"";position:absolute;left:-2rem;top:.85rem;width:11px;height:11px;border-radius:50%;background:var(--gold);border:2px solid var(--surface-2);box-shadow:0 0 0 1px var(--gold-dim),0 0 8px #c8863a4d;z-index:1;transform:translate(-.5px)}.schedule-step+.schedule-step{border-top:1px solid var(--border)}.step-fold{padding-left:.875rem;background:var(--fold-bg);border-radius:0 var(--radius) var(--radius) 0;border-left:2px solid var(--gold-dim);margin:.15rem 0;border-top:none!important}.step-fold:before{width:7px;height:7px;background:transparent;border-color:var(--gold-dim);box-shadow:none;top:.9rem}.step-time-col{display:flex;flex-direction:column;align-items:flex-start;padding-top:.05rem}.step-time{font-family:var(--font-mono);font-size:.82rem;font-weight:500;color:var(--gold);letter-spacing:.03em;white-space:nowrap}.step-date-tag{font-family:var(--font-mono);font-size:.6rem;color:var(--text-muted);letter-spacing:.05em;margin-top:.1rem}.step-body{display:flex;flex-direction:column;gap:.15rem}.step-label{font-family:var(--font-body);font-size:.9rem;font-weight:500;color:var(--cream);line-height:1.3}.step-fold .step-label{font-size:.8rem;color:var(--cream-dim);font-weight:400}.step-duration{font-family:var(--font-mono);font-size:.68rem;color:var(--text-muted);letter-spacing:.06em}.step-past .step-time,.step-past .step-label{color:var(--text-muted)}.step-past:before{background:var(--surface-3);border-color:var(--text-muted);box-shadow:none}.step-past:after{content:"✓";position:absolute;left:-2rem;top:.62rem;font-size:.5rem;color:var(--text-muted);z-index:2;pointer-events:none;transform:translate(1px)}.notif-bar{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;background:#c8863a14;border:1px solid var(--gold-dim);border-radius:var(--radius);font-size:.82rem;margin-bottom:1rem;animation:fadeUp .5s ease both}.notif-bar.hidden{display:none}.notif-bar-icon{font-size:1.1rem;flex-shrink:0;margin-top:.1rem}.notif-bar-text{flex:1;color:var(--text-muted);line-height:1.5}.notif-bar-text strong{display:block;color:var(--cream);font-family:var(--font-body);font-size:.85rem;margin-bottom:.25rem}.btn-allow{display:inline-flex;align-items:center;justify-content:center;padding:.4rem .875rem;background:var(--gold);color:var(--bg);border-radius:var(--radius);font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.05em;min-height:36px;margin-top:.5rem;transition:background var(--transition),box-shadow var(--transition)}.btn-allow:hover{background:var(--gold-bright);box-shadow:0 2px 12px #c8863a4d}.install-prompt{display:flex;align-items:center;gap:.875rem;padding:.75rem 1rem;background:#ffffff08;border:1px solid var(--border-light);border-radius:var(--radius);font-size:.82rem;margin-bottom:1rem;animation:fadeUp .5s ease both}.install-prompt.hidden{display:none}.install-prompt-text{flex:1;color:var(--text-muted);font-family:var(--font-body)}.install-prompt-text strong{color:var(--cream)}.btn-install{display:inline-flex;align-items:center;justify-content:center;padding:.4rem 1rem;background:var(--surface-3);border:1px solid var(--border-light);color:var(--cream);border-radius:var(--radius);font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.05em;min-height:36px;white-space:nowrap;transition:all var(--transition);flex-shrink:0}.btn-install:hover{background:var(--gold);border-color:var(--gold);color:var(--bg)}@keyframes stepIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.schedule-list .schedule-step{animation:stepIn .35s ease both}.schedule-list .schedule-step:nth-child(1){animation-delay:.02s}.schedule-list .schedule-step:nth-child(2){animation-delay:.06s}.schedule-list .schedule-step:nth-child(3){animation-delay:.1s}.schedule-list .schedule-step:nth-child(4){animation-delay:.14s}.schedule-list .schedule-step:nth-child(5){animation-delay:.18s}.schedule-list .schedule-step:nth-child(6){animation-delay:.22s}.schedule-list .schedule-step:nth-child(7){animation-delay:.26s}.schedule-list .schedule-step:nth-child(8){animation-delay:.3s}.schedule-list .schedule-step:nth-child(9){animation-delay:.34s}.schedule-list .schedule-step:nth-child(10){animation-delay:.38s}.schedule-list .schedule-step:nth-child(n+11){animation-delay:.42s}.recipe-selector{margin-bottom:1.5rem}.recipe-grid{display:grid;grid-template-columns:1fr 1fr;gap:.625rem;margin-bottom:.875rem}@media(min-width:640px){.recipe-grid{grid-template-columns:repeat(5,1fr)}}.recipe-card{display:flex;flex-direction:column;gap:.25rem;padding:.75rem .875rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;text-align:left;position:relative;overflow:hidden;transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}.recipe-card:after{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(to right,transparent,var(--gold-dim),transparent);opacity:.5}.recipe-card:hover{border-color:var(--border-light);background:var(--surface-3)}.recipe-card--active,.recipe-card[aria-pressed=true]{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold-dim),0 2px 16px #c8863a26;background:var(--surface-3)}.recipe-card--custom{border-style:dashed}.recipe-card--custom.recipe-card--active,.recipe-card--custom[aria-pressed=true]{border-style:solid}.recipe-card-name{font-family:var(--font-head);font-size:.78rem;letter-spacing:.03em;color:var(--cream-dim);transition:color var(--transition);line-height:1.2}.recipe-card--active .recipe-card-name,.recipe-card[aria-pressed=true] .recipe-card-name{color:var(--gold)}.recipe-card-desc{font-family:var(--font-body);font-size:.72rem;color:var(--text-muted);line-height:1.4;font-style:italic}.recipe-card-time{font-family:var(--font-mono);font-size:.62rem;color:var(--text-muted);letter-spacing:.04em;margin-top:.125rem}#recipe-timing-hint{min-height:0}.timing-hint-text{font-family:var(--font-body);font-style:italic;font-size:.82rem;color:var(--text-muted);margin-bottom:.625rem}.timing-presets{display:flex;flex-wrap:wrap;gap:.5rem}.timing-preset-chip{display:inline-flex;align-items:center;padding:.3rem .75rem;background:var(--gold-glow);border:1px solid var(--gold-dim);border-radius:999px;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.04em;color:var(--gold);cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition);min-height:32px}.timing-preset-chip:hover{background:var(--gold);color:var(--bg);border-color:var(--gold)}.dough-calculator{margin-bottom:1.5rem}.formula-inputs{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media(min-width:640px){.formula-inputs{grid-template-columns:repeat(5,1fr)}}.formula-field{display:flex;flex-direction:column;gap:.3rem}.formula-field>span{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.formula-input-wrap{display:flex;align-items:center;gap:.3rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:.35rem .5rem;transition:border-color var(--transition)}.formula-input-wrap:focus-within{border-color:var(--gold-dim)}.formula-input-wrap input{background:transparent;border:none;outline:none;color:var(--cream);font-family:var(--font-mono);font-size:.875rem;width:100%;min-width:0}.formula-input-wrap input::-webkit-inner-spin-button,.formula-input-wrap input::-webkit-outer-spin-button{opacity:.4}.formula-unit{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);flex-shrink:0}.formula-output{margin-top:1rem}.formula-section-label{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.4rem}.formula-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1.5rem}.formula-row{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.formula-name{font-family:var(--font-body);font-size:.82rem;color:var(--cream-dim)}.formula-value{font-family:var(--font-mono);font-size:.82rem;color:var(--gold-bright);letter-spacing:.04em;white-space:nowrap}.formula-divider{height:1px;background:var(--border-light);margin:.625rem 0}.formula-total-row{display:flex;justify-content:space-between;align-items:baseline}.formula-total-row>span:first-child{font-family:var(--font-body);font-size:.875rem;color:var(--cream)}.formula-total-row>span:last-child{font-family:var(--font-mono);font-size:.875rem;color:var(--gold-bright);letter-spacing:.04em}.formula-note{font-family:var(--font-body);font-style:italic;font-size:.78rem;color:var(--text-muted);margin-top:.5rem}.recipe-instructions{margin-bottom:1.5rem}.instructions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.instructions-toggle{background:transparent;border:none;font-family:var(--font-mono);font-size:.65rem;color:var(--gold);cursor:pointer;padding:.25rem .375rem;transition:opacity var(--transition)}.instructions-toggle:hover{opacity:.75}.instructions-toggle[aria-expanded=false]:before{content:"▼"}.instructions-toggle[aria-expanded=false]{font-size:0}.instructions-phase{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin:1rem 0 .4rem;display:flex;align-items:baseline;gap:.6em;flex-wrap:wrap}.instructions-phase-sep{color:var(--border-light)}.instructions-phase-time{color:var(--gold);letter-spacing:.06em;opacity:.85;text-transform:none}.instructions-phase:first-child{margin-top:0}.instructions-steps{padding-left:0;list-style:none}.instructions-step{display:flex;gap:.75rem;padding:.3rem 0;font-family:var(--font-body);font-size:.85rem;color:var(--text);line-height:1.5}.instructions-step-num{font-family:var(--font-mono);font-size:.7rem;color:var(--gold-dim);min-width:1.5rem;text-align:right;padding-top:.15rem;flex-shrink:0}.formula-additional-label{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.4rem}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--gold-dim)}
