*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--wine:#722f37;--wine-dark:#4a1e24;--wine-light:#9b4f58;--wine-ghost:#f2e8ea;--cream:#faf6f0;--parchment:#f0eae0;--ink:#2c1810;--stone:#8b7d6b;--stone-light:#d4cfc7;--white:#fff;--gold:#c4a35a;--gold-light:#f5edd8;--sg-color:#4a6fa5;--temp-color:#e67e22;--ph-color:#5b8c5a;--font-display:"Cormorant", "Georgia", serif;--font-body:"Figtree", "Segoe UI", sans-serif;--header-h:56px;--nav-h:56px;--safe-bottom:env(safe-area-inset-bottom,0px);--card-radius:14px;--card-shadow:0 1px 3px #2c18100f, 0 1px 8px #2c18100a;--card-border:4px;--card-bg:var(--white);--spring-bounce:linear(0, .004, .016, .035, .063, .098, .141, .191, .25, .316, .391, .472, .562, .66, .765, .878, 1, 1.046, 1.072, 1.079, 1.068, 1.044, 1.011, .974, .938, .965, .988, 1.002, 1.007, 1.004, 1);--ease-out-quart:cubic-bezier(.25, 1, .5, 1)}html,body,#root{height:100%;font-family:var(--font-body);color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:contain;font-size:15px}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(at 15% 10%,#722f370d 0%,#0000 55%),radial-gradient(at 85% 90%,#c4a35a0d 0%,#0000 55%),radial-gradient(#722f3704 0%,#0000 80%);position:fixed;inset:0}#app{z-index:1;min-height:100dvh;position:relative}a,button,.nav-tab,.batch-card,.info-card,.suggestion-btn,.action-edit-btn,.status-filter,.calibration-card,.notification-dismiss,.header-back,.header-action{touch-action:manipulation}.status-bar-tint{display:none}@media (hover:none) and (pointer:coarse){@supports (-webkit-touch-callout:none){.status-bar-tint{background-color:var(--wine);pointer-events:none;z-index:11;height:8px;display:block;position:fixed;top:0;left:0;right:0}html[data-status-bar-read] .status-bar-tint{z-index:-1}}}.header{height:calc(var(--header-h) + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);background:var(--wine);z-index:10;align-items:center;padding-left:20px;padding-right:20px;display:flex;position:sticky;top:0}.header:before{content:"";background:#0000001f;height:1px;position:absolute;bottom:0;left:0;right:0;transform:scaleY(.5)}.header-back{color:#ffffffe6;cursor:pointer;background:0 0;border:none;align-items:center;min-width:44px;min-height:44px;padding:12px 10px 12px 4px;transition:opacity .15s;display:flex}.header-back:active{opacity:.6}.header h1{font-family:var(--font-display);color:#fff;letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 2px #00000026;flex:1;font-size:24px;font-weight:700;overflow:hidden}.header-action{font-family:var(--font-body);color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff40;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:600;transition:background .15s}.header-action:active{background:#ffffff40}.content{padding-bottom:calc(var(--nav-h) + 12px + var(--safe-bottom))}.bottom-nav{height:calc(var(--nav-h) + var(--safe-bottom));-webkit-backdrop-filter:saturate(180%)blur(20px);padding-bottom:var(--safe-bottom);z-index:10;background:#4a1e24d9;align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-tab{cursor:pointer;color:#ffffff80;font-family:var(--font-body);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:500;text-decoration:none;transition:color .15s;display:flex;position:relative}.nav-tab.active{color:var(--gold);font-weight:600}.nav-tab.active:before{content:"";background:var(--gold);border-radius:0 0 2px 2px;height:2px;position:absolute;top:0;left:24%;right:24%}.nav-tab svg{width:22px;height:22px}.nav-badge{background:var(--gold);min-width:16px;height:16px;color:var(--wine-dark);border-radius:8px;justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:700;display:flex;position:absolute;top:4px;right:calc(50% - 18px)}.status-filters{gap:8px;padding:14px 16px 6px;display:flex;overflow-x:auto}.status-filter{background:var(--white);border:1px solid var(--stone-light);font-family:var(--font-body);color:var(--stone);cursor:pointer;white-space:nowrap;border-radius:20px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .15s}.status-filter.active{background:var(--wine);border-color:var(--wine);color:var(--white)}.batch-list{padding:12px 16px 0}.batch-card,.action-card,.suggestion-card,.notification-card{background:var(--card-bg);border-radius:var(--card-radius);box-shadow:var(--card-shadow);border-left:var(--card-border) solid var(--stone-light);animation:slideUp .35s var(--spring-bounce) both}a.batch-card{color:inherit;text-decoration:none}.batch-card{cursor:pointer;transition:transform .35s var(--spring-bounce), box-shadow .35s var(--spring-bounce);align-items:flex-start;gap:14px;margin-bottom:12px;padding:16px 18px;display:flex}.batch-card:active{transition:transform .1s var(--ease-out-quart), box-shadow .1s var(--ease-out-quart);transform:scale(.97);box-shadow:0 1px 2px #2c181014}.batch-card[data-type=red]{border-left-color:var(--wine)}.batch-card[data-type=white]{border-left-color:var(--gold)}.batch-card[data-type=rose]{border-left-color:#d4869c}.batch-card-body{flex:1;min-width:0}.batch-card-name{font-family:var(--font-display);color:var(--ink);margin-bottom:6px;font-size:20px;font-weight:700;line-height:1.2}.batch-card-meta{color:var(--stone);flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.batch-card-meta span:before{content:"·";margin-right:6px}.batch-card-meta span:first-child:before{content:none}.batch-card-readings{border-top:1px solid #d4cfc766;gap:14px;margin-top:10px;padding-top:10px;font-size:13px;display:flex}.batch-card-readings .reading-value{color:var(--ink);font-weight:600}.batch-card-readings .reading-label{color:var(--stone);margin-left:3px}.status-dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.batch-header{background:var(--cream);padding:16px 20px 14px}.batch-header-type{text-transform:uppercase;letter-spacing:.08em;border-radius:6px;margin-right:6px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.batch-header-type.red{background:var(--wine-ghost);color:var(--wine)}.batch-header-type.white{background:var(--gold-light);color:#8b7530}.batch-header-type.rose{color:#9b4068;background:#f8e4ec}.batch-header-meta{color:var(--stone);margin-top:6px;font-size:13px}.info-cards{gap:8px;padding:14px 16px;display:flex;overflow-x:auto}.info-card{background:var(--white);border-bottom:2px solid var(--stone-light);min-width:84px;transition:transform .35s var(--spring-bounce), box-shadow .35s var(--spring-bounce);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;padding:12px 16px;box-shadow:0 1px 3px #2c18100d}.info-card:active{transition:transform .1s var(--ease-out-quart), box-shadow .1s var(--ease-out-quart);transform:scale(.97)}.info-card-active{border-bottom-width:3px;box-shadow:0 2px 8px #2c18101f}.info-card:first-child{border-bottom-color:var(--sg-color)}.info-card:nth-child(2){border-bottom-color:#5b8c5a}.info-card:nth-child(3){border-bottom-color:var(--temp-color)}.info-card:nth-child(4),.info-card:nth-child(5){border-bottom-color:var(--gold)}.info-card-label{color:var(--stone);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:500}.info-card-value{color:var(--ink);margin-top:3px;font-size:18px;font-weight:700}.fermentation-chart{background:var(--white);border-radius:var(--card-radius);box-shadow:var(--card-shadow);margin:0 16px;padding:16px 20px}.fermentation-chart svg{width:100%;height:140px;display:block}.fermentation-chart-legend{color:var(--stone);border-top:1px solid #d4cfc74d;justify-content:center;gap:16px;margin-top:8px;padding-top:8px;font-size:11px;display:flex}.fermentation-chart-legend span{cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .25s}.fermentation-chart-legend span:before{content:"";vertical-align:middle;border-radius:2px;width:12px;height:3px;margin-right:4px;display:inline-block}.legend-sg:before{background:var(--sg-color)}.legend-temp:before{background:var(--temp-color)}.legend-ph:before{background:var(--ph-color)}.legend-muted{opacity:.35}.legend-focused{font-weight:600}.profile-list{padding:0 16px 12px}.profile-card{background:var(--card-bg);border-radius:var(--card-radius);box-shadow:var(--card-shadow);border-left:var(--card-border) solid var(--wine-light);animation:slideUp .35s var(--spring-bounce) both;margin-bottom:10px;padding:16px 18px}.profile-text{font-family:var(--font-display);color:var(--ink);font-size:15px;font-style:italic;line-height:1.6}.profile-date{color:var(--stone-light);margin-top:8px;font-size:12px;display:block}.section-header{font-family:var(--font-display);color:var(--wine-dark);align-items:center;gap:12px;padding:20px 20px 10px;font-size:18px;font-weight:700;display:flex}.section-header:after{content:"";background:linear-gradient(90deg, var(--stone-light), transparent);flex:1;height:1px}.timeline{flex-direction:column;gap:10px;padding:0 16px 16px;display:flex}.timeline-group{flex-direction:column;gap:10px;display:flex}.timeline-group+.timeline-group{margin-top:6px}.timeline-date{font-family:var(--font-display);color:var(--stone);letter-spacing:.06em;text-transform:uppercase;padding:4px 2px 0;font-size:13px;font-weight:700}.action-card{flex-direction:column;gap:4px;padding:14px 16px;display:flex}.action-card-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.action-type-badge{color:var(--white);text-transform:uppercase;letter-spacing:.04em;border-radius:6px;flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:700}.action-title{color:var(--ink);font-size:15px;font-weight:500;line-height:1.4}.action-values{color:var(--ink);font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.action-cost{color:var(--wine);font-size:13px;font-weight:600}.action-detail{color:var(--stone);font-size:13px;line-height:1.4}.action-time{color:var(--stone-light);font-size:12px}.action-card-editing{cursor:default;box-shadow:0 2px 8px #2c18101a}.action-edit-form{flex-direction:column;gap:10px;padding-top:8px;display:flex}.action-edit-label{color:var(--stone);text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:4px;font-size:11px;font-weight:600;display:flex}.action-edit-input,.action-edit-textarea{font-family:var(--font-body);color:var(--ink);background:var(--cream);border:1px solid var(--stone-light);border-radius:8px;outline:none;padding:8px 10px;font-size:14px;transition:border-color .15s}.action-edit-input:focus,.action-edit-textarea:focus{border-color:var(--wine-light)}.action-edit-textarea{resize:vertical;min-height:48px}.action-edit-error{color:#c0392b;font-size:13px}.action-edit-buttons{gap:8px;padding-top:4px;display:flex}.action-edit-btn{font-family:var(--font-body);cursor:pointer;border:none;border-radius:8px;flex:1;padding:8px 0;font-size:13px;font-weight:600;transition:opacity .15s}.action-edit-btn:disabled{opacity:.5;cursor:default}.action-edit-btn:active:not(:disabled){opacity:.7}.action-edit-btn.save{background:var(--wine);color:var(--white)}.action-edit-btn.cancel{background:var(--parchment);color:var(--stone)}.suggestion-card{border-left-color:var(--gold);margin-bottom:12px;padding:16px 18px}.suggestion-card-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.suggestion-batch{color:var(--wine);background:var(--wine-ghost);border-radius:4px;padding:2px 8px;font-size:12px;font-weight:600}.suggestion-title{font-family:var(--font-display);color:var(--ink);font-size:18px;font-weight:700;line-height:1.3}.suggestion-reasoning{color:var(--stone);margin:6px 0 12px;font-size:13px;font-style:italic;line-height:1.5}.suggestion-time{color:var(--stone-light);margin-bottom:12px;font-size:12px}.suggestion-actions{gap:8px;display:flex}.suggestion-btn{font-family:var(--font-body);cursor:pointer;border:none;border-radius:10px;flex:1;padding:10px 0;font-size:14px;font-weight:600;transition:opacity .15s,transform .1s}.suggestion-btn:disabled{opacity:.5;cursor:default}.suggestion-btn:active:not(:disabled){opacity:.7;transform:scale(.98)}.suggestion-btn.confirm{background:var(--wine);color:var(--white)}.suggestion-btn.defer{background:var(--gold-light);color:#8b7530}.suggestion-btn.dismiss{background:var(--parchment);color:var(--stone)}.notification-card{align-items:flex-start;gap:12px;margin-bottom:10px;padding:14px 16px;display:flex}.notification-body{flex:1;min-width:0}.notification-type{text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px;font-size:11px;font-weight:600}.notification-title{color:var(--ink);font-size:15px;font-weight:500;line-height:1.3}.notification-text{color:var(--stone);margin-top:2px;font-size:13px;line-height:1.4}.notification-time{color:var(--stone-light);margin-top:4px;font-size:12px}.notification-dismiss{color:var(--stone-light);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px;font-size:18px;line-height:1;transition:color .15s}.notification-dismiss:active{color:var(--stone)}.vessel-list{padding:0 16px 12px}.vessel-item{border-bottom:1px solid #d4cfc74d;align-items:center;gap:10px;padding:10px 0;font-size:14px;display:flex}.vessel-item:last-child{border-bottom:none}.vessel-name{color:var(--ink);font-weight:600}.vessel-type{color:var(--stone);font-size:13px}.empty-state{text-align:center;padding:80px 32px;animation:.5s ease-out fadeIn}.empty-state h2{font-family:var(--font-display);color:var(--wine-dark);margin-bottom:8px;font-size:26px;font-weight:700}.empty-state p{color:var(--stone);max-width:280px;margin:0 auto;font-size:15px;line-height:1.5}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--parchment) 25%, #faf6f099 50%, var(--parchment) 75%);background-size:200% 100%;border-radius:6px;animation:1.5s ease-in-out infinite shimmer}.skeleton-card{pointer-events:none}.pull-to-refresh-container{-webkit-overflow-scrolling:touch;overflow-y:auto}.pull-indicator{justify-content:center;align-items:center;transition:height .2s ease-out,opacity .2s ease-out;display:flex;overflow:hidden}.pull-indicator.refreshing{transition:none}.pull-spinner{color:var(--stone);font-size:20px;transition:transform .2s}.pull-spinner.ready{color:var(--wine);transform:rotate(180deg)}.pull-indicator.refreshing .pull-spinner{animation:.8s linear infinite spin;transform:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tools-intro{color:var(--stone);padding:0 20px 12px;font-size:13px;line-height:1.5}.volume-slider{max-width:600px;margin:0 auto;padding:0 20px 16px}.volume-label{color:var(--ink);margin-bottom:8px;font-size:14px;display:block}.volume-range{appearance:none;background:var(--stone-light);border-radius:3px;outline:none;width:100%;height:6px}.volume-range::-webkit-slider-thumb{appearance:none;background:var(--wine);border:3px solid var(--white);cursor:pointer;border-radius:50%;width:24px;height:24px;box-shadow:0 1px 4px #2c181033}.volume-range::-moz-range-thumb{background:var(--wine);border:3px solid var(--white);cursor:pointer;border-radius:50%;width:24px;height:24px;box-shadow:0 1px 4px #2c181033}.volume-ticks{color:var(--stone);justify-content:space-between;margin-top:4px;font-size:11px;display:flex}.calibration-list{flex-direction:column;gap:10px;padding:0 16px 16px;display:flex}.calibration-card{background:var(--card-bg);border-radius:var(--card-radius);box-shadow:var(--card-shadow);border-left:var(--card-border) solid var(--sg-color);cursor:pointer;transition:transform .35s var(--spring-bounce), box-shadow .35s var(--spring-bounce);animation:slideUp .35s var(--spring-bounce) both}.calibration-card:active:not(.expanded){transition:transform .1s var(--ease-out-quart), box-shadow .1s var(--ease-out-quart);transform:scale(.97);box-shadow:0 1px 2px #2c181014}.calibration-card-header{align-items:center;gap:12px;padding:14px 16px;display:flex}.calibration-sg{font-family:var(--font-display);color:var(--ink);min-width:64px;font-size:22px;font-weight:700}.calibration-label{color:var(--stone);flex:1;font-size:14px}.calibration-chevron{color:var(--stone-light);font-size:10px}.calibration-recipe{border-top:1px solid #d4cfc766;padding:0 16px 16px;animation:.25s ease-out fadeIn}.recipe-amounts{justify-content:center;align-items:center;gap:16px;padding:16px 0;display:flex}.recipe-amount{text-align:center}.recipe-amount-value{font-family:var(--font-display);color:var(--ink);font-size:28px;font-weight:700;line-height:1.1;display:block}.recipe-amount-label{color:var(--stone);text-transform:uppercase;letter-spacing:.05em;margin-top:2px;font-size:12px;display:block}.recipe-plus{color:var(--stone-light);font-size:20px;font-weight:300}.recipe-steps{counter-reset:step;flex-direction:column;gap:10px;margin:0 0 12px;padding:0;list-style:none;display:flex}.recipe-steps li{counter-increment:step;color:var(--ink);padding-left:30px;font-size:14px;line-height:1.5;position:relative}.recipe-steps li:before{content:counter(step);background:var(--wine-ghost);width:22px;height:22px;color:var(--wine);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex;position:absolute;top:0;left:0}.recipe-note{color:var(--stone);background:var(--parchment);border-radius:8px;padding:10px 12px;font-size:12px;font-style:italic;line-height:1.4}.auth-page{min-height:calc(100vh - var(--header-h) - env(safe-area-inset-top,0px));flex-direction:column;justify-content:center;align-items:center;padding:32px 20px;display:flex}.auth-logo{opacity:.15;width:72px;height:72px;margin-bottom:24px}.auth-card{background:var(--card-bg);border-radius:var(--card-radius);width:100%;max-width:380px;box-shadow:var(--card-shadow);padding:28px 24px;animation:.5s ease-out fadeIn}.auth-input{width:100%;font-family:var(--font-body);color:var(--ink);background:var(--cream);border:1px solid var(--stone-light);border-radius:10px;outline:none;margin-bottom:14px;padding:12px 14px;font-size:16px;transition:border-color .15s}.auth-input:focus{border-color:var(--wine-light)}.auth-btn-primary{background:var(--wine);width:100%;min-height:44px;color:var(--white);font-family:var(--font-body);cursor:pointer;border:none;border-radius:10px;font-size:16px;font-weight:600;transition:opacity .15s}.auth-btn-primary:active:not(:disabled){opacity:.7}.auth-btn-primary:disabled{opacity:.5;cursor:default}.auth-error{color:#c0392b;text-align:center;margin-top:12px;font-size:14px}.auth-link{text-align:center;color:var(--stone);margin-top:16px;font-size:14px;display:block}.auth-link a{color:var(--wine);font-weight:500;text-decoration:none}.settings-card{background:var(--card-bg);border-radius:var(--card-radius);box-shadow:var(--card-shadow);margin:0 16px 16px;padding:18px 20px}.settings-row{justify-content:space-between;align-items:center;padding:8px 0;font-size:15px;display:flex}.settings-row+.settings-row{border-top:1px solid #d4cfc74d}.settings-row-label{color:var(--stone);font-weight:500}.settings-row-value{color:var(--ink);font-weight:600}.settings-key-banner{background:var(--wine-ghost);border:1px solid var(--wine-light);border-radius:10px;margin-bottom:14px;padding:14px 16px;animation:.3s ease-out fadeIn}.settings-key-banner p{color:var(--wine-dark);margin-bottom:8px;font-size:14px;font-weight:600}.settings-key-banner code{word-break:break-all;color:var(--ink);font-size:13px}.settings-key-form{gap:8px;margin-bottom:14px;display:flex}.settings-key-form input{font-family:var(--font-body);color:var(--ink);background:var(--cream);border:1px solid var(--stone-light);border-radius:8px;outline:none;flex:1;padding:8px 10px;font-size:14px;transition:border-color .15s}.settings-key-form input:focus{border-color:var(--wine-light)}.settings-key-form button{background:var(--wine);color:var(--white);font-family:var(--font-body);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;transition:opacity .15s}.settings-key-form button:disabled{opacity:.5}.settings-key-form button:active:not(:disabled){opacity:.7}.settings-key-row{border-bottom:1px solid #d4cfc74d;align-items:center;gap:10px;padding:10px 0;font-size:14px;display:flex}.settings-key-row:last-child{border-bottom:none}.settings-key-label{color:var(--ink);flex:1;font-weight:600}.settings-key-prefix{color:var(--stone);font-family:monospace;font-size:13px}.settings-key-date{color:var(--stone-light);font-size:12px}.settings-key-revoke{font-family:var(--font-body);color:#c0392b;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:13px;font-weight:600;transition:opacity .15s}.settings-key-revoke:active{opacity:.6}.settings-signout-btn{background:var(--parchment);width:calc(100% - 32px);color:var(--wine);font-family:var(--font-body);cursor:pointer;border:none;border-radius:10px;margin:8px 16px 24px;padding:12px;font-size:15px;font-weight:600;transition:opacity .15s;display:block}.settings-signout-btn:active{opacity:.7}.settings-key-copy-btn{margin-top:10px;font-size:13px}.settings-push-actions{gap:8px;margin-top:12px;display:flex}.settings-push-actions button{background:var(--wine);color:var(--white);font-family:var(--font-body);cursor:pointer;border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;transition:opacity .15s}.settings-push-actions button:disabled{opacity:.5}.settings-push-actions button:active:not(:disabled){opacity:.7}.settings-push-hint{color:var(--stone);margin:12px 0 0;font-size:14px}.settings-push-status{color:var(--ink);white-space:pre-wrap;word-break:break-all;margin:12px 0 0;font-size:12px}.settings-empty-keys{color:var(--stone);padding:8px 0;font-size:14px}.auth-loading{text-align:center;color:var(--stone);padding:2rem;font-size:15px}.suggestion-list,.notification-list{padding:16px 16px 0}@keyframes slide-out-left{to{opacity:0;transform:translate(-30%)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(30%)}}@keyframes slide-out-right{to{opacity:0;transform:translate(30%)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-30%)}}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0}}html[data-transition=forward] ::view-transition-old(root){animation:.25s cubic-bezier(.25,1,.5,1) slide-out-left}html[data-transition=forward] ::view-transition-new(root){animation:.25s cubic-bezier(.25,1,.5,1) slide-in-right}html[data-transition=back] ::view-transition-old(root){animation:.25s cubic-bezier(.25,1,.5,1) slide-out-right}html[data-transition=back] ::view-transition-new(root){animation:.25s cubic-bezier(.25,1,.5,1) slide-in-left}html[data-transition=tab] ::view-transition-old(root){animation:.2s vt-fade-out}html[data-transition=tab] ::view-transition-new(root){animation:.2s vt-fade-in}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width>=600px){.batch-list,.suggestion-list,.notification-list,.timeline,.calibration-list,.info-cards{max-width:600px;margin-left:auto;margin-right:auto}.fermentation-chart{max-width:568px;margin-left:auto;margin-right:auto}}.step-page{padding-top:16px}.step-title{font-family:var(--font-display);color:var(--ink);margin:0 0 6px;font-size:24px;line-height:1.2}.step-due{color:var(--stone);margin:0 0 10px;font-size:14px}.step-description{color:var(--ink);white-space:pre-wrap;margin:0;font-size:16px;line-height:1.5}.step-field{margin-bottom:14px;display:block}.step-field>span{color:var(--stone);margin-bottom:6px;font-size:14px;font-weight:500;display:block}.step-number{text-align:center;letter-spacing:.04em;font-size:28px}.step-notes{font-family:var(--font-body);resize:vertical}.step-when{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.step-done{width:100%;padding:16px;font-size:18px}.step-secondary{gap:10px;margin-top:10px;display:flex}.step-secondary-btn{border:1px solid var(--stone-light);min-height:44px;color:var(--ink);font-family:var(--font-body);cursor:pointer;background:0 0;border-radius:10px;flex:1;font-size:15px;font-weight:600}.step-secondary-btn:disabled{opacity:.5}.step-finished p{color:var(--ink);margin:0 0 14px;font-size:17px}.step-back-link{text-align:center;text-decoration:none;display:block}.due-list{flex-direction:column;gap:8px;margin:0 16px 16px;display:flex}.due-item{background:var(--card-bg);border-radius:var(--card-radius);box-shadow:var(--card-shadow);border-left:4px solid var(--wine);flex-direction:column;gap:2px;padding:14px 16px;text-decoration:none;display:flex}.due-item-title{color:var(--ink);font-size:16px;font-weight:600}.due-item-batch{color:var(--stone);font-size:13px}a.header-action{text-decoration:none}.start-note{color:var(--stone);margin-top:4px;font-size:14px}.start-pair{align-items:center;gap:8px;margin-bottom:14px;display:flex}.start-pair select{flex:1;min-width:0}.start-arrow{color:var(--stone)}.start-steps-title{margin-top:18px}.start-steps{color:var(--ink);margin:0;padding-left:18px;font-size:15px;line-height:1.5}.start-steps li{margin-bottom:8px}.start-due,.start-amount{color:var(--stone);font-size:14px}
