:root{--amber: #FFB000;--amber-dim: #CC8D00;--amber-dark: #7A5500;--amber-glow-soft: rgba(255, 176, 0, .3);--amber-glow-med: rgba(255, 176, 0, .4);--amber-glow-strong: rgba(255, 176, 0, .6);--error: #ff6b6b;--success: #4ecdc4;--bg: #0a0a0a;--bg-inset: #0e0e0e;--bg-elevated: #141414;--bg-surface: #1a1a1a;--bg-surface-hover: #1f1f1f;--text-primary: #FFB000;--text-body: #e0d5c0;--text-secondary: #CC8D00;--text-dim: #7A5500;--border-subtle: rgba(255, 176, 0, .06);--border-default: rgba(255, 176, 0, .12);--border-strong: rgba(255, 176, 0, .25);--amber-tint-5: rgba(255, 176, 0, .05);--amber-tint-8: rgba(255, 176, 0, .08);--amber-tint-12: rgba(255, 176, 0, .12);--amber-tint-20: rgba(255, 176, 0, .2);--shadow-card: 0 1px 2px rgba(0, 0, 0, .4), 0 0 1px rgba(255, 176, 0, .04);--shadow-card-hover: 0 4px 12px rgba(0, 0, 0, .5), 0 0 1px rgba(255, 176, 0, .08);--shadow-modal: 0 8px 32px rgba(0, 0, 0, .7), 0 0 1px rgba(255, 176, 0, .1);--shadow-inset: inset 0 1px 3px rgba(0, 0, 0, .4);--glow-sm: 0 0 4px rgba(255, 176, 0, .3);--glow-md: 0 0 8px rgba(255, 176, 0, .4), 0 0 16px rgba(255, 176, 0, .2);--glow-lg: 0 0 8px rgba(255, 176, 0, .5), 0 0 20px rgba(255, 176, 0, .3), 0 0 40px rgba(255, 176, 0, .1);--font-mono: "IBM Plex Mono", "Fira Mono", "Courier New", monospace;--font-display: "IBM Plex Mono", "Fira Mono", "Courier New", monospace;--text-xs: 11px;--text-sm: 13px;--text-base: 15px;--text-lg: 17px;--text-xl: 22px;--text-2xl: 28px;--text-3xl: 36px;--text-timer: 48px;--radius: 4px;--transition: .2s ease;--transition-fast: .1s ease;--max-width: 720px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{min-height:100vh;min-height:100dvh}body{background-color:var(--bg);color:var(--text-body);font-family:var(--font-mono);font-size:var(--text-base);line-height:1.5;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font-family:var(--font-mono);cursor:pointer;border:none;background:none;color:inherit;font-size:inherit}button:focus-visible{outline:1px solid var(--amber);outline-offset:2px}input,textarea,select{font-family:var(--font-mono);font-size:inherit;color:var(--text-primary);background:var(--bg-inset);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:8px 12px;box-shadow:var(--shadow-inset);transition:border-color var(--transition),box-shadow var(--transition)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--amber);box-shadow:var(--shadow-inset),0 0 0 1px #ffb00026}input:hover:not(:focus),textarea:hover:not(:focus),select:hover:not(:focus){border-color:var(--border-default)}input::placeholder,textarea::placeholder{color:var(--text-dim);opacity:1}::selection{background:#ffb0004d;color:var(--amber)}a{color:var(--amber);text-decoration:none}a:hover{text-shadow:var(--glow-sm)}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.cursor-blink{animation:blink 1s step-end infinite}@keyframes card-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes step-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes simmer-glow{0%,to{box-shadow:0 0 4px #ffb00014}50%{box-shadow:0 0 12px #ffb00026}}@keyframes timer-alarm{0%,to{text-shadow:var(--glow-md);color:var(--amber)}50%{text-shadow:var(--glow-lg);color:#fc4}}.empty-state{padding:48px 0;text-align:center}.empty-state-icon{font-size:36px;color:var(--text-dim);opacity:.3;margin-bottom:16px;line-height:1}.empty-state-message{color:var(--text-secondary);font-size:var(--text-sm)}@keyframes page-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-content-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes title-breathe{0%,to{text-shadow:0 0 8px rgba(255,176,0,.35),0 0 16px rgba(255,176,0,.15)}50%{text-shadow:0 0 10px rgba(255,176,0,.5),0 0 24px rgba(255,176,0,.25),0 0 40px rgba(255,176,0,.08)}}@keyframes progress-glow{0%,to{box-shadow:var(--glow-sm),0 0 12px #ffb0004d}50%{box-shadow:var(--glow-md),0 0 20px #ffb00080}}@keyframes dot-pulse{0%,to{filter:blur(1px);box-shadow:0 0 6px #ffb00066,0 0 12px #ffb00026;transform:scale(1)}50%{filter:blur(2.5px);box-shadow:0 0 12px #ffb00099,0 0 24px #ffb0004d;transform:scale(1.3)}}@keyframes dot-fade-in{0%{opacity:0;transform:scale(.5)}to{opacity:.85;transform:scale(1)}}@keyframes step-breathe{0%,to{text-shadow:0 0 4px rgba(255,176,0,.1),0 0 12px rgba(255,176,0,.04)}50%{text-shadow:0 0 6px rgba(255,176,0,.18),0 0 16px rgba(255,176,0,.07)}}@keyframes arrow-breathe{0%,to{filter:drop-shadow(0 0 6px rgba(255,176,0,.35)) drop-shadow(0 0 16px rgba(255,176,0,.15)) drop-shadow(0 0 32px rgba(255,176,0,.06))}50%{filter:drop-shadow(0 0 14px rgba(255,176,0,.7)) drop-shadow(0 0 32px rgba(255,176,0,.35)) drop-shadow(0 0 56px rgba(255,176,0,.12))}}@keyframes heart-breathe{0%,to{filter:drop-shadow(0 0 6px rgba(255,176,0,.25)) drop-shadow(0 0 14px rgba(255,176,0,.1))}50%{filter:drop-shadow(0 0 10px rgba(255,176,0,.45)) drop-shadow(0 0 24px rgba(255,176,0,.18))}}@keyframes dot-group-fade{0%{opacity:0}20%{opacity:1}80%{opacity:1}to{opacity:0}}.app-shell{display:flex;flex-direction:column;min-height:100dvh}.app-header{display:flex;align-items:center;justify-content:center;padding:0 24px;height:48px;position:sticky;top:0;z-index:600;background:var(--bg);border-bottom:1px solid var(--border-default)}.app-logo{position:absolute;left:24px;font-size:13px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--amber-dark);text-decoration:none;transition:color .2s ease,text-shadow .2s ease}.app-logo:hover{color:var(--amber);text-shadow:0 0 4px rgba(255,176,0,.3)}.app-title{font-size:14px;font-weight:500;letter-spacing:6px;text-transform:uppercase;color:var(--amber);text-shadow:0 0 8px rgba(255,176,0,.35),0 0 16px rgba(255,176,0,.15);text-decoration:none;transition:text-shadow var(--transition);animation:title-breathe 3s ease-in-out infinite}.app-title:hover{text-shadow:var(--glow-lg);animation:none}.app-title-icon{margin-right:6px;font-size:16px;vertical-align:-1px}.app-header-right{position:absolute;right:24px;display:flex;align-items:center;gap:12px}.app-header-link{font-size:13px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);text-decoration:none;transition:color .2s ease,text-shadow .2s ease;padding:0;background:none;border:none;cursor:pointer;font-family:var(--font-mono)}.app-header-link:hover{color:var(--amber);text-shadow:var(--glow-sm)}.app-content{flex:1;overflow-y:auto;width:100%;position:relative;scrollbar-gutter:stable}.app-content--full{scrollbar-gutter:auto;overflow:hidden}.app-content:before{content:"";position:fixed;inset:48px 0 0;pointer-events:none;z-index:50;background:linear-gradient(to bottom,transparent 0%,rgba(255,176,0,.006) 42%,rgba(255,176,0,.012) 50%,rgba(255,176,0,.006) 58%,transparent 100%);background-size:100% 200%;animation:crt-roll 8s linear infinite}.crt-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999}.crt-scanlines{position:absolute;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(to bottom,transparent 0px,transparent 2px,rgba(0,0,0,.12) 2px,rgba(0,0,0,.12) 4px)}.crt-vignette{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at center,transparent 40%,rgba(0,0,0,.3) 70%,rgba(0,0,0,.7) 100%)}.auth-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;position:relative}.auth-screen:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;background:linear-gradient(to bottom,transparent 0%,rgba(255,176,0,.012) 42%,rgba(255,176,0,.025) 50%,rgba(255,176,0,.012) 58%,transparent 100%);background-size:100% 200%;animation:crt-roll 8s linear infinite}@keyframes crt-roll{0%{background-position:0 -100%}to{background-position:0 100%}}.auth-container{width:100%;max-width:400px;padding:0 20px}.auth-line{font-size:var(--text-base);line-height:1.6;color:var(--text-primary)}.auth-line+.auth-line{margin-top:2px}.auth-line--out{font-size:var(--text-2xl);font-weight:600;letter-spacing:8px;text-transform:uppercase;color:var(--amber);text-shadow:var(--glow-lg);margin-bottom:4px}.auth-line--dim{color:var(--text-dim);font-style:italic}.auth-line--err{color:var(--error);font-size:var(--text-sm)}.auth-line--ok{color:var(--amber)}.auth-form{display:flex;flex-direction:column;margin-top:28px}.auth-success{margin-top:28px;display:flex;flex-direction:column;gap:4px}.auth-field{display:flex;flex-direction:column;margin-bottom:14px}.auth-field-label{font-size:var(--text-xs);letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);margin-bottom:4px}.auth-field-row{display:flex;align-items:center}.auth-prompt{color:var(--amber);font-size:var(--text-base);margin-right:8px;flex-shrink:0}.auth-input{flex:1;min-width:0;-webkit-appearance:none;appearance:none;background:transparent;border:none;border-radius:0;border-bottom:1px solid var(--amber-dark);outline:none;box-shadow:none;font-family:var(--font-mono);font-size:var(--text-base);color:var(--text-primary);padding:0 0 2px;caret-color:var(--amber);line-height:1.5}.auth-input:focus{border:none;border-bottom:1px solid var(--amber);box-shadow:none}.auth-input:hover:not(:focus){border-color:var(--amber-dark)}.auth-input:-webkit-autofill,.auth-input:-webkit-autofill:hover,.auth-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #0a0a0a inset!important;-webkit-text-fill-color:var(--text-primary)!important;border:none!important;border-bottom:1px solid var(--amber-dark)!important;border-radius:0!important;caret-color:var(--amber)!important}.auth-cmd{font-family:var(--font-mono);font-size:var(--text-base);font-weight:600;letter-spacing:1px;color:var(--amber);background:none;border:none;padding:10px 0;cursor:pointer;transition:text-shadow var(--transition);text-transform:uppercase}.auth-cmd:hover:not(:disabled){text-shadow:var(--glow-md)}.auth-cmd:disabled{opacity:.35;cursor:not-allowed}.auth-toggle{margin-top:40px;font-size:var(--text-sm);color:#ffb00040;text-align:right}.auth-toggle-btn{color:#ffb00059;font-size:var(--text-sm);font-style:italic;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#ffb00033;padding:0;transition:all var(--transition)}.auth-toggle-btn:hover{color:var(--amber);text-decoration-color:var(--amber);text-shadow:var(--glow-sm)}.page-transition{width:100%;min-height:100%;max-width:var(--max-width);margin:0 auto;padding:24px}.page-transition--home{max-width:100%;padding:0}.page-bloom--bloom~.page-transition .cursor-blink,.page-bloom--resolve~.page-transition .cursor-blink{visibility:hidden}.page-bloom{position:fixed;inset:188px 0 0;z-index:500;pointer-events:none;opacity:0;visibility:hidden}@media(max-height:550px){.page-bloom{top:148px}}.page-bloom--bloom{visibility:visible;animation:bloom-in .2s cubic-bezier(.4,0,1,1) forwards}.page-bloom--hold{visibility:visible;opacity:1}.page-bloom--resolve{visibility:visible;animation:bloom-out .5s cubic-bezier(0,0,.2,1) forwards}.page-bloom--visible{opacity:0;visibility:hidden}@keyframes bloom-in{0%{opacity:0}to{opacity:1}}@keyframes bloom-out{0%{opacity:1}to{opacity:0}}.page-bloom__glow{position:absolute;inset:0;background:var(--bg, #0a0a0a)}.page-bloom__scanlines{position:absolute;inset:0;background:repeating-linear-gradient(to bottom,transparent 0px,transparent 1px,rgba(255,176,0,.03) 1px,rgba(255,176,0,.03) 2px);opacity:.7}.page-bloom__noise{position:absolute;inset:0;opacity:.15;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");background-size:128px 128px;mix-blend-mode:overlay}.page-bloom--bloom .page-bloom__noise{animation:noise-shift .2s steps(3) forwards}@keyframes noise-shift{0%{background-position:0 0}33%{background-position:-30px -15px}66%{background-position:15px -30px}to{background-position:-15px 10px}}.cook-fade{position:fixed;inset:48px 0 0;z-index:9998;background:var(--bg, #0a0a0a);pointer-events:none;opacity:0;visibility:hidden}.cook-fade--in{visibility:visible;animation:cook-fade-in .35s ease-in forwards}.cook-fade--hold{visibility:visible;opacity:1}.cook-fade--out{visibility:visible;animation:cook-fade-out .45s ease-out forwards}@keyframes cook-fade-in{0%{opacity:0}to{opacity:1}}@keyframes cook-fade-out{0%{opacity:1}to{opacity:0}}.steam-visual{position:relative;width:100%;height:140px;display:flex;align-items:flex-end;justify-content:center;overflow:visible}.steam-visual--compact{height:70px}.steam-visual--hidden{height:0;overflow:hidden;pointer-events:none}.steam-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.steam-surface{position:absolute;bottom:0;left:0;width:100%;height:3px;background:radial-gradient(ellipse 50% 100% at var(--glow-center, 50%) 50%,rgba(255,176,0,calc(.5 + var(--steam-intensity, .1) * .5)) 0%,rgba(255,176,0,calc(.2 + var(--steam-intensity, .1) * .3)) 40%,rgba(255,176,0,calc(.06 + var(--steam-intensity, .1) * .12)) 70%,transparent 100%);box-shadow:0 0 14px rgba(255,176,0,calc(.2 + var(--steam-intensity, 0) * .4)),0 0 40px rgba(255,176,0,calc(.1 + var(--steam-intensity, 0) * .28)),0 -8px 30px rgba(255,176,0,calc(.06 + var(--steam-intensity, 0) * .2)),0 0 70px rgba(255,176,0,calc(.03 + var(--steam-intensity, 0) * .14));border-radius:0}.steam-ember{position:absolute;bottom:-8px;left:0;width:100%;height:36px;background:radial-gradient(ellipse 40% 100% at var(--glow-center, 50%) 0%,rgba(255,176,0,calc(.12 + var(--steam-intensity, 0) * .25)) 0%,rgba(255,176,0,calc(.04 + var(--steam-intensity, 0) * .12)) 40%,transparent 75%);filter:blur(14px);pointer-events:none}@media(max-height:550px){.steam-visual{height:100px}}.collapsible{overflow:hidden;transition:max-height .3s ease,opacity .2s ease}.modal-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;animation:modal-backdrop-in .15s ease-out}.modal-content{background:var(--bg-base);padding:28px 24px;width:100%;max-width:480px;max-height:80vh;overflow-y:auto;border:1px solid var(--border-subtle);border-radius:0;animation:modal-content-in .2s ease-out}.modal-title{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);margin-bottom:16px}.modal-body{font-size:var(--text-base);color:var(--text-body);line-height:1.6;margin-bottom:24px}.modal-hint{font-size:14px;font-style:italic;color:var(--text-dim);margin-bottom:14px}.modal-error{color:var(--error);font-size:14px;margin-bottom:12px}.modal-error:before{content:"> "}.modal-preview{padding:12px 0;margin-bottom:14px;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);font-size:14px;line-height:1.8;color:var(--text-body)}.modal-preview strong{color:var(--text-secondary)}.modal-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:8px;border-top:1px solid var(--border-subtle)}.modal-content--danger{border-color:#ff6b6b26}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-content-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.terminal-input{margin-bottom:16px}.terminal-input-label{display:block;font-size:var(--text-xs);font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--text-secondary);margin-bottom:6px}.terminal-input-row{display:flex;align-items:center}.terminal-input-prefix{display:none}.terminal-input-field{flex:1;font-size:var(--text-base);line-height:1.5}.terminal-btn{padding:8px 20px;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all var(--transition);background:transparent;border:1px solid var(--amber-dark);border-radius:var(--radius)}.terminal-btn:disabled{opacity:.35;cursor:not-allowed}.terminal-btn:active:not(:disabled){transform:scale(.97);transition:all .05s ease}.terminal-btn--primary{color:var(--amber);border-color:var(--amber-dark);background:var(--amber-tint-8)}.terminal-btn--primary:hover:not(:disabled){border-color:var(--amber);background:var(--amber-tint-8);text-shadow:var(--glow-md);box-shadow:0 0 16px #ffb0001f}.terminal-btn--ghost{color:var(--text-secondary);border-color:var(--border-subtle)}.terminal-btn--ghost:hover:not(:disabled){color:var(--amber);border-color:var(--border-default);background:var(--amber-tint-5)}.terminal-btn--danger{color:var(--error);border-color:#ff6b6b26}.terminal-btn--danger:hover:not(:disabled){background:#ff6b6b14;border-color:#ff6b6b4d;text-shadow:0 0 8px rgba(255,107,107,.4)}.home{display:grid;grid-template-rows:1fr auto;height:calc(100dvh - 188px);overflow:hidden}.home-tree-wrapper{overflow-y:auto;scrollbar-width:none;min-height:0;display:flex;justify-content:center}.home-tree-wrapper::-webkit-scrollbar{display:none}.home-tree{width:100%;max-width:900px;padding:4px 20px}.tree-search{display:flex;align-items:center;padding:20px 0 12px;font-size:var(--text-base);border-bottom:1px solid var(--border-subtle);margin-bottom:8px}.tree-search-prompt{color:var(--text-dim);white-space:pre;flex-shrink:0}.tree-search-input{flex:1;min-width:0;background:none;border:none;outline:none;font-family:var(--font-mono);font-size:var(--text-base);color:var(--text-primary);padding:0;caret-color:var(--amber)}.tree-search-input::placeholder{color:var(--amber-dark);opacity:.6}.tree-root{display:flex;align-items:baseline;gap:12px;padding:6px 0 2px}.tree-root-name{color:var(--text-primary);font-size:var(--text-lg);font-weight:500;letter-spacing:.5px}.tree-root-count{color:var(--text-dim);font-size:var(--text-sm);letter-spacing:.5px}.tree-body{padding-top:4px}.tree-row{display:flex;align-items:center;padding:5px 4px;border-radius:var(--radius);transition:background .15s ease;animation:tree-enter .25s ease-out backwards;animation-delay:calc(var(--item-index, 0) * 30ms)}.tree-row:hover{background:var(--amber-tint-5)}@keyframes tree-enter{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.tree-branch{color:var(--amber-dark);white-space:pre;flex-shrink:0;-webkit-user-select:none;user-select:none;font-size:var(--text-base)}.tree-node+.tree-node{margin-top:4px}.tree-folder{gap:0}.tree-folder-toggle{display:flex;align-items:center;gap:0;padding:0;min-width:0;text-align:left;color:var(--text-primary);font-size:var(--text-base);font-weight:500;letter-spacing:.5px;transition:text-shadow .2s ease}.tree-folder:hover .tree-folder-toggle{text-shadow:var(--glow-sm)}.tree-folder-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-count{color:var(--text-dim);font-size:var(--text-sm);margin-left:12px;flex-shrink:0}.tree-row-actions{display:flex;gap:4px;flex-shrink:0;opacity:0;margin-left:6px;transition:opacity .15s ease}.tree-folder:hover .tree-row-actions{opacity:1}.tree-row-action{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;padding:1px 4px;border-radius:var(--radius);transition:all var(--transition)}.tree-row-action:hover{color:var(--amber);background:var(--amber-tint-5)}.tree-row-action--danger:hover{color:var(--error);background:#ff6b6b14}.tree-recipe{text-decoration:none;color:var(--text-body);padding:3px 4px;gap:0}.tree-recipe:hover{color:var(--text-primary);text-shadow:var(--glow-sm)}.tree-recipe-name{font-size:var(--text-base);letter-spacing:.3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.tree-time{color:var(--amber-dark);font-size:var(--text-sm);flex-shrink:0;margin-left:12px;letter-spacing:.5px}.tree-no-match{display:flex;align-items:center;padding:5px 4px}.tree-dim{color:var(--text-dim);font-size:var(--text-sm);font-style:italic}.tree-summary{padding:10px 0 4px;font-size:var(--text-xs);color:var(--text-dim);letter-spacing:.5px;border-top:1px solid var(--border-subtle);margin-top:8px}.home-actions{display:flex;justify-content:center;align-items:center;gap:20px;padding:10px 24px 24px}.home-add-btn{color:var(--amber);font-size:var(--text-lg);font-family:var(--font-mono);letter-spacing:1.5px;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--amber-dark);background:none;border:none;padding:16px 10px;cursor:pointer;transition:all var(--transition)}.home-add-btn:hover{text-decoration-color:var(--amber);text-shadow:var(--glow-sm)}@media(max-height:550px){.home{grid-template-rows:1fr auto}}.recipe-item{display:block;padding:14px 16px;margin-bottom:8px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius);text-decoration:none;color:var(--text-primary);box-shadow:var(--shadow-card);transition:all .2s ease;animation:card-enter .3s ease-out backwards;animation-delay:calc(var(--item-index, 0) * 40ms)}.recipe-item:hover{background:var(--bg-surface-hover);border-color:var(--border-default);box-shadow:var(--shadow-card-hover)}.recipe-item:active{transform:translateY(0);box-shadow:var(--shadow-card)}.recipe-item-main{display:flex;justify-content:space-between;align-items:center}.recipe-item-title{font-weight:500;font-size:var(--text-base);letter-spacing:.5px}.recipe-item-time{color:var(--text-dim);font-size:var(--text-xs);flex-shrink:0;margin-left:12px;padding:2px 8px;background:var(--amber-tint-5);border-radius:10px;letter-spacing:.5px}.recipe-item-tags{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.recipe-item-tag{font-size:var(--text-xs);color:var(--text-secondary);letter-spacing:1px;padding:1px 8px;border:1px solid var(--border-subtle);border-radius:10px}.tag-filter{display:flex;gap:8px;overflow-x:auto;padding-bottom:12px;margin-bottom:8px;scrollbar-width:none}.tag-filter::-webkit-scrollbar{display:none}.tag-pill{flex-shrink:0;padding:6px 14px;font-size:var(--text-xs);font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);border:1px solid var(--border-subtle);border-radius:20px;background:transparent;cursor:pointer;transition:all var(--transition);white-space:nowrap}.tag-pill:hover{color:var(--text-secondary);border-color:var(--amber-dark)}.tag-pill--active{color:var(--amber);border-color:var(--amber);border-width:1.5px;text-shadow:var(--glow-sm);background:var(--amber-tint-8)}.recipe-list{padding-top:8px}.recipe-list-header{margin-bottom:16px}.recipe-list-items{display:flex;flex-direction:column}.recipe-list-add{display:inline-block;color:var(--text-secondary);font-size:var(--text-sm);padding:12px 20px;margin-top:8px;text-decoration:none;font-family:var(--font-mono);border:1px dashed var(--border-subtle);border-radius:var(--radius);transition:all var(--transition)}.recipe-list-add:hover{color:var(--amber);border-color:var(--border-default);background:var(--amber-tint-5);text-shadow:var(--glow-sm)}.ingredient-list{display:flex;flex-direction:column;gap:0}.ingredient-group{margin-bottom:8px}.ingredient-group-name{font-size:14px;font-style:italic;color:var(--text-dim);margin-bottom:6px;text-transform:lowercase}.ingredient-row{display:flex;gap:12px;padding:1px 0 1px 16px;font-size:var(--text-base);cursor:pointer;transition:opacity var(--transition)}.ingredient-row:hover{opacity:.85}.ingredient-row--checked{opacity:.4}.ingredient-row--checked .ingredient-name{text-decoration:line-through;text-decoration-color:var(--text-dim)}.ingredient-row--checked .ingredient-check{color:var(--amber)}.ingredient-check{color:var(--text-dim);flex-shrink:0;width:24px;font-size:var(--text-lg);transition:color .15s ease,transform .15s ease}.ingredient-row--checked .ingredient-check{transform:scale(1.1)}.ingredient-amount{min-width:50px;color:var(--amber);text-align:right;flex-shrink:0;font-size:var(--text-base)}.ingredient-name{color:var(--text-body)}.step-list{list-style:none;display:flex;flex-direction:column;gap:12px}.step-item{display:flex;gap:12px;padding-left:16px}.step-number{color:var(--amber);font-weight:600;min-width:24px;flex-shrink:0}.step-content{flex:1}.step-text{font-size:var(--text-base);line-height:1.6}.step-timer-hint{display:inline-block;margin-top:4px;font-size:14px;font-style:italic;color:var(--text-dim);letter-spacing:1px}.share-modal-body{padding:8px 0 16px}.share-toggle-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.share-toggle-label{font-size:var(--text-sm);letter-spacing:1.5px;color:var(--text-secondary)}.share-toggle-btn{font-size:var(--text-sm);letter-spacing:1.5px;color:var(--text-dim);padding:4px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius);transition:all var(--transition)}.share-toggle-btn:hover{color:var(--text-secondary);border-color:var(--border-default)}.share-toggle-btn--on{color:var(--amber);border-color:var(--amber);background:var(--amber-tint-5);text-shadow:var(--glow-sm)}.share-url-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}.share-url-input{flex:1;min-width:0;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:6px 10px;outline:none}.share-url-input:focus{border-color:var(--amber-dark)}.share-hint{font-size:var(--text-xs);color:var(--text-dim);font-style:italic;letter-spacing:.5px}.recipe-detail{max-width:900px;margin:0 auto;padding-top:8px}.recipe-detail-top{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border-default)}.recipe-detail-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--text-primary);margin-bottom:8px;text-shadow:var(--glow-sm);line-height:1.2}.recipe-detail-desc{color:var(--text-body);font-size:var(--text-base);font-style:italic;line-height:1.5}.recipe-detail-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0;font-size:14px;color:var(--text-dim);letter-spacing:1px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border-subtle)}.recipe-detail-meta>span:before{content:"·";margin:0 10px;color:var(--text-dim)}.recipe-detail-meta>span:first-child:before{display:none}.recipe-detail-servings{display:inline-flex;align-items:center;gap:8px}.serving-label{min-width:80px}.serving-btn{font-size:14px;color:var(--text-dim);width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-subtle);border-radius:var(--radius);transition:all .15s ease}.serving-btn:hover{color:var(--amber);border-color:var(--border-default)}.recipe-section{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-subtle)}.recipe-section:last-of-type{border-bottom:none}.recipe-section-title{font-family:var(--font-mono);font-size:var(--text-base);font-weight:500;letter-spacing:3px;color:var(--amber);text-shadow:var(--glow-sm);margin-bottom:14px;text-transform:uppercase}.recipe-detail-notes{font-size:var(--text-base);line-height:1.7;color:var(--text-dim);white-space:pre-wrap;margin-left:16px;padding-left:12px;border-left:1px solid var(--border-subtle);font-style:italic}.recipe-detail-meta-row{display:flex;align-items:center;gap:12px;margin:16px 0}.recipe-detail-source{font-size:14px;font-style:italic;color:var(--text-dim);flex-shrink:0}.recipe-detail-tags{display:flex;gap:6px;flex-wrap:wrap}.recipe-detail-tag{font-size:var(--text-sm);letter-spacing:1px;color:var(--text-secondary);padding:4px 10px;background:var(--amber-tint-5);border-radius:12px;transition:all var(--transition)}.recipe-detail-tag:hover{color:var(--amber)}.recipe-detail-actions{display:flex;align-items:center;gap:10px;margin-top:28px;padding-top:20px;border-top:1px solid var(--border-default)}.recipe-detail-actions a{text-decoration:none}.recipe-actions-util{display:flex;align-items:center;gap:8px;margin-left:auto}.recipe-util-link{color:var(--text-dim);text-decoration:none;font-family:var(--font-mono);font-size:14px;letter-spacing:1px;text-transform:uppercase;background:none;border:none;padding:0;cursor:pointer;transition:color var(--transition)}.recipe-util-link:hover{color:var(--text-secondary)}.recipe-util-link--danger:hover{color:var(--error)}.recipe-util-sep{color:var(--text-dim)}.recipe-delete-confirm{display:inline-flex;align-items:center;gap:6px;animation:delete-slide-in .2s ease-out}.recipe-delete-label{font-family:var(--font-mono);font-size:14px;letter-spacing:1px;text-transform:uppercase;color:var(--error)}.recipe-delete-icon{background:none;border:none;padding:0;cursor:pointer;font-size:16px;line-height:1;transition:transform .15s ease;filter:sepia(1) saturate(1) brightness(.5) hue-rotate(-10deg)}.recipe-delete-icon:hover{transform:scale(1.2);filter:sepia(1) saturate(2) brightness(.8) hue-rotate(-10deg)}@keyframes delete-slide-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.terminal-textarea{margin-bottom:16px}.terminal-textarea-label{display:block;font-size:var(--text-xs);font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--text-secondary);margin-bottom:6px}.terminal-textarea-row{display:flex;align-items:flex-start}.terminal-textarea-prefix{display:none}.terminal-textarea-field{flex:1;font-size:var(--text-base);line-height:1.5;resize:vertical;min-height:48px}.terminal-select{margin-bottom:16px}.terminal-select-label{display:block;font-size:var(--text-xs);font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--text-secondary);margin-bottom:6px}.terminal-select-row{display:flex;align-items:center}.terminal-select-prefix{display:none}.terminal-select-field{flex:1;font-size:var(--text-base);appearance:none;cursor:pointer}.terminal-select-field option{background:var(--bg-elevated);color:var(--text-primary)}.ingredient-form-group{display:flex;flex-direction:column;gap:6px}.ingredient-form-row{display:flex;gap:6px;align-items:center;padding-bottom:6px;border-bottom:1px solid var(--bg-elevated)}.ingredient-form-amount{width:56px;padding:6px 8px;text-align:right;font-size:13px;border-bottom:none}.ingredient-form-unit{width:72px;padding:6px 4px;font-size:12px;appearance:none;cursor:pointer;border-bottom:none}.ingredient-form-name{flex:2;padding:6px 8px;font-size:13px;border-bottom:none}.ingredient-form-group-field{flex:1;padding:6px 8px;font-size:12px;min-width:0;border-bottom:none}.ingredient-form-actions{display:flex;gap:2px;flex-shrink:0}.ingredient-form-btn{font-size:14px;color:var(--text-dim);padding:2px 4px;line-height:1}.ingredient-form-btn:hover{color:var(--amber)}.ingredient-form-btn--remove:hover{color:var(--error)}.ingredient-form-add{font-size:12px;color:var(--text-secondary);padding:8px 0;text-align:left;background:none;border:none;cursor:pointer;font-family:var(--font-mono)}.ingredient-form-add:hover{color:var(--amber)}@media(max-width:540px){.ingredient-form-row{flex-wrap:wrap}.ingredient-form-amount{width:48px}.ingredient-form-unit{width:64px}.ingredient-form-group-field{flex-basis:100%}}.step-form-group{display:flex;flex-direction:column;gap:8px}.step-form-row{display:flex;gap:8px;align-items:flex-start;padding-bottom:8px;border-bottom:1px solid var(--bg-elevated)}.step-form-number{color:var(--amber);font-weight:600;padding-top:8px;min-width:24px;flex-shrink:0}.step-form-text{flex:1;padding:6px 8px;font-size:13px;resize:vertical;min-height:48px;border-bottom:none}.step-form-timer{width:56px;padding:6px;font-size:12px;text-align:right;border-bottom:none}.step-form-actions{display:flex;gap:2px;flex-shrink:0;padding-top:4px}.step-form-btn{font-size:14px;color:var(--text-dim);padding:2px 4px;line-height:1}.step-form-btn:hover{color:var(--amber)}.step-form-btn--remove:hover{color:var(--error)}.step-form-add{font-size:12px;color:var(--text-secondary);padding:8px 0;text-align:left;background:none;border:none;cursor:pointer;font-family:var(--font-mono)}.step-form-add:hover{color:var(--amber)}.quick-add-input{width:100%;padding:8px 0;background:transparent;border:none;border-bottom:1px solid var(--amber-dark);color:var(--text-primary);font-family:var(--font-mono);font-size:14px;line-height:1.5;resize:vertical;margin-bottom:16px}.quick-add-input:focus{outline:none;border-bottom-color:var(--amber)}.recipe-form-page{padding-top:8px}.recipe-form-quick-actions{display:flex;gap:8px;margin-bottom:24px}.quick-action-btn{font-size:var(--text-xs);color:var(--text-secondary);letter-spacing:1px;padding:8px 14px;background:none;border:1px dashed var(--border-subtle);border-radius:var(--radius);cursor:pointer;font-family:var(--font-mono);transition:all var(--transition)}.quick-action-btn:hover{color:var(--amber);border-color:var(--border-default);background:var(--amber-tint-5);text-shadow:var(--glow-sm)}.recipe-form{display:flex;flex-direction:column}.recipe-form-row{margin-bottom:0}.recipe-form-row--times{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.recipe-form-section{margin-bottom:24px;padding:16px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius)}.recipe-form-section-title{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;letter-spacing:3px;color:var(--amber);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border-subtle);text-shadow:var(--glow-sm)}.recipe-form-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.recipe-form-tag{font-size:var(--text-xs);letter-spacing:1px;color:var(--text-dim);background:none;border:1px solid var(--border-subtle);border-radius:12px;padding:4px 10px;cursor:pointer;transition:all var(--transition)}.recipe-form-tag:hover{color:var(--text-secondary);border-color:var(--border-default)}.recipe-form-tag--active{color:var(--amber);border-color:var(--amber);background:var(--amber-tint-5);text-shadow:var(--glow-sm)}.recipe-form-new-tag{display:flex;align-items:flex-end;gap:8px}.recipe-form-new-tag .terminal-input{flex:1;margin-bottom:0}.recipe-form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:16px;border-top:1px solid var(--border-default)}.active-timers{display:flex;justify-content:flex-start;align-self:stretch;margin-bottom:24px;animation:row-fade-in .35s ease-out both}.active-timers--exit{animation:row-fade-out .3s ease-in forwards}@keyframes row-fade-out{0%{opacity:1}to{opacity:0}}.active-timers__row{display:inline-flex;align-items:flex-end;gap:32px;padding:0 24px 10px;border-bottom:1px solid var(--amber-dark);animation:row-fade-in .35s ease-out both}@keyframes row-fade-in{0%{opacity:0}to{opacity:1}}.active-timer{display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;border-radius:0;font-family:var(--font-mono);animation:timer-enter .35s ease-out both}@keyframes timer-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.active-timer--exit{animation:timer-exit .3s ease-in forwards!important;pointer-events:none}@keyframes timer-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}.active-timer--done{animation:timer-done-pulse 1.2s ease-in-out infinite}@keyframes timer-done-pulse{0%,to{opacity:1}50%{filter:drop-shadow(0 0 8px rgba(255,176,0,.3))}}.active-timer__label{color:var(--text-dim);font-size:var(--text-base);letter-spacing:2px;text-transform:uppercase;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-bottom:1px dashed transparent;transition:color var(--transition),border-color var(--transition)}.active-timer__label:hover{color:var(--text-secondary);border-bottom-color:var(--text-dim)}.active-timer__label-input{font-family:var(--font-mono);font-size:var(--text-base);letter-spacing:2px;text-transform:uppercase;color:var(--amber);background:transparent;border:none;border-bottom:1px solid var(--amber-dark);border-radius:0;padding:0 0 2px;min-width:0;width:100px;outline:none;text-align:center;caret-color:var(--amber)}.active-timer__label-input:focus{border-bottom-color:var(--amber);box-shadow:none}.active-timer__time{color:var(--amber);font-weight:600;font-variant-numeric:tabular-nums;font-size:var(--text-2xl);text-shadow:var(--glow-sm);letter-spacing:2px}.active-timer--done .active-timer__time{text-shadow:var(--glow-md);animation:timer-alarm .6s ease-in-out infinite}.active-timer--done .active-timer__label{color:var(--amber)}.active-timer__controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:2px}.active-timer__btn{font-size:var(--text-xl);color:var(--text-dim);padding:4px;background:none;border:none;cursor:pointer;transition:color var(--transition),text-shadow var(--transition);flex-shrink:0;line-height:1;width:28px;text-align:center}.active-timer__dismiss{font-size:var(--text-2xl);color:var(--text-dim);padding:4px;background:none;border:none;cursor:pointer;transition:color var(--transition),text-shadow var(--transition);flex-shrink:0;line-height:1}.active-timer__btn--pause{font-size:var(--text-base)}.active-timer__btn--done{font-size:var(--text-2xl)}.active-timer__btn:hover{color:var(--amber);text-shadow:var(--glow-sm)}.active-timer__dismiss:hover{color:var(--error)}.cooking-mode{display:flex;flex-direction:column;height:calc(100dvh - 48px);position:relative}.cooking-progress-bar{width:100%;height:2px;background:var(--bg-elevated);overflow:hidden;flex-shrink:0}.cooking-progress-fill{height:100%;background:var(--amber);transition:width .4s ease;box-shadow:var(--glow-sm),0 0 12px #ffb0004d;transform-origin:left;animation:progress-glow 2s ease-in-out .6s infinite,progress-enter .6s ease-out both}@keyframes progress-enter{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.cooking-center{position:relative;overflow:hidden;min-height:0;flex:1}.cooking-center__scroll{display:flex;flex-direction:column;align-items:center;height:100%;overflow-y:auto;padding:0 60px;text-align:center;scrollbar-width:none}.cooking-center__scroll::-webkit-scrollbar{display:none}.cooking-center__spacer{flex:1;min-height:16px}.cooking-step-anchor{display:flex;flex-direction:column;align-items:center}.cooking-progress-label{font-size:var(--text-lg);letter-spacing:3px;color:var(--text-dim);margin-bottom:8px;flex-shrink:0;animation:cook-fade-in .5s ease-out .2s both}@keyframes cook-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.cooking-wake-warn{font-size:var(--text-xs);color:var(--text-dim);margin-bottom:8px;flex-shrink:0}.cooking-step-text{font-size:var(--text-timer);line-height:1.4;max-width:640px;margin-bottom:8px;padding:16px 24px;flex-shrink:0;color:var(--text-body);transition:opacity .3s ease,transform .3s ease;animation:step-breathe 4s ease-in-out .7s infinite,step-enter .5s ease-out .3s both}.cooking-step-text--fade-out{animation:step-fade-out .25s ease-out forwards!important}@keyframes step-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}.cooking-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;display:flex;align-items:center;gap:2px;padding:20px 14px;background:none;border:none;color:var(--amber);opacity:.75;cursor:pointer;transition:color .2s ease,filter .2s ease,transform .2s ease;animation:arrow-breathe 2.5s ease-in-out .8s infinite}.cooking-arrow:before{content:"";position:absolute;top:-200vh;bottom:-200vh;width:30px;pointer-events:none;z-index:-1;background:#ffb00038;filter:blur(20px);animation:arrow-glow-breathe 3s ease-in-out infinite}.cooking-arrow--prev:before{right:80%}.cooking-arrow--next:before{left:80%}.cooking-arrow:disabled:before{display:none}@keyframes arrow-glow-breathe{0%,to{opacity:.4}50%{opacity:.8}}.cooking-arrow:hover:not(:disabled){color:#fc4;animation:none;filter:drop-shadow(0 0 8px rgba(255,176,0,.7)) drop-shadow(0 0 20px rgba(255,176,0,.35)) drop-shadow(0 0 40px rgba(255,176,0,.15))}.cooking-arrow--prev:hover:not(:disabled){transform:translateY(-50%) translate(-3px)}.cooking-arrow--next:hover:not(:disabled){transform:translateY(-50%) translate(3px)}.cooking-arrow:active:not(:disabled){color:#ffe066;filter:drop-shadow(0 0 12px rgba(255,176,0,.9)) drop-shadow(0 0 28px rgba(255,176,0,.5))}.cooking-arrow:disabled{opacity:.08;cursor:not-allowed;animation:none}.cooking-arrow--prev{left:6px;flex-direction:row}.cooking-arrow--next{right:6px;flex-direction:row}.cooking-arrow__svg{width:64px;height:24px;flex-shrink:0;overflow:visible}.cooking-timers-overlay{position:absolute;bottom:72px;left:60px;z-index:15;pointer-events:auto}.cooking-secondary{display:flex;flex-direction:column;align-items:center;width:100%;flex-shrink:0;animation:cook-fade-in .5s ease-out .5s both}.cooking-utility{display:flex;align-items:center;justify-content:center;gap:24px;padding:4px 0 12px}.cooking-util-btn{font-size:var(--text-lg);letter-spacing:1.5px;color:var(--text-dim);background:none;border:none;padding:16px 22px;cursor:pointer;transition:color var(--transition),text-shadow var(--transition);text-shadow:0 0 8px rgba(255,176,0,.2),0 0 18px rgba(255,176,0,.08)}.cooking-util-btn:hover{color:var(--amber);text-shadow:0 0 12px rgba(255,176,0,.5),0 0 28px rgba(255,176,0,.2)}.cooking-util-slide{max-width:0;opacity:0;overflow:hidden;white-space:nowrap;transition:max-width .35s ease,opacity .25s ease}.cooking-util-slide--open{max-width:300px;opacity:1;transition:max-width .35s ease,opacity .3s ease .1s}.cooking-timer-swap{display:grid}.cooking-timer-swap__btn,.cooking-timer-swap__form{grid-area:1 / 1;transition:opacity .3s ease;white-space:nowrap}.cooking-timer-swap__btn,.cooking-timer-swap__form{align-self:center}.cooking-timer-swap--hidden{opacity:0;pointer-events:none}.cooking-custom-timer{display:flex;align-items:baseline;gap:16px}.cooking-custom-timer__input{width:180px;font-size:var(--text-lg);font-family:var(--font-mono);letter-spacing:2px;color:var(--text-primary);background:transparent;border:none;border-radius:0;border-bottom:1px solid var(--amber-dark);padding:0 0 4px;text-align:center;outline:none;box-shadow:none;caret-color:var(--amber)}.cooking-custom-timer__input:focus{border-bottom-color:var(--amber);box-shadow:none}.cooking-custom-timer__input::placeholder{color:var(--text-dim);font-size:var(--text-sm);letter-spacing:0}.cooking-custom-timer__go{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--amber);padding:0;border:none;background:none;cursor:pointer;transition:text-shadow var(--transition)}.cooking-custom-timer__go:hover{text-shadow:var(--glow-md)}.cooking-custom-timer__cancel{font-size:var(--text-lg);color:var(--text-dim);padding:0;background:none;border:none;cursor:pointer;transition:color var(--transition)}.cooking-custom-timer__cancel:hover{color:var(--amber)}.cooking-ingredients{width:100%;max-width:400px;margin-bottom:16px;padding:16px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius);text-align:left}.cooking-ingredient-row{display:flex;gap:12px;padding:4px 0;font-size:var(--text-sm)}.cooking-ingredient-amount{min-width:80px;color:var(--amber);text-align:right;flex-shrink:0;font-size:var(--text-base)}.cooking-exit{position:absolute;top:8px;right:60px;z-index:20;font-size:var(--text-base);font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);padding:8px 14px;border:none;background:none;cursor:pointer;transition:color .2s ease,text-shadow .2s ease;font-family:var(--font-mono);animation:cook-fade-in .4s ease-out .6s both}.cooking-exit:hover{color:var(--amber);text-shadow:var(--glow-sm)}.cooking-done{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;position:relative;overflow:hidden}.cooking-done__embers{position:absolute;inset:0;pointer-events:none;z-index:0}.cooking-done__ember{position:absolute;bottom:-10px;width:3px;height:3px;border-radius:50%;background:var(--amber);opacity:0;animation:ember-rise linear infinite}@keyframes ember-rise{0%{opacity:0;transform:translateY(0) translate(0)}10%{opacity:.6}70%{opacity:.3}to{opacity:0;transform:translateY(-100vh) translate(var(--ember-drift, 0px))}}.cooking-done__heart{width:72px;height:64px;color:var(--amber);opacity:0;overflow:visible;animation:done-heart-enter .8s cubic-bezier(.34,1.56,.64,1) .1s forwards,heart-breathe 3s ease-in-out .9s infinite;z-index:1}@keyframes done-heart-enter{0%{opacity:0;transform:scale(.3) translateY(20px)}60%{opacity:.8;transform:scale(1.1) translateY(-4px)}to{opacity:.7;transform:scale(1) translateY(0)}}.cooking-done__title{font-size:var(--text-3xl);color:var(--amber);letter-spacing:6px;opacity:0;animation:done-fade-up .6s ease-out .5s forwards,title-breathe 3s ease-in-out 1.1s infinite;z-index:1}.cooking-done__message{font-size:var(--text-base);color:var(--text-secondary);letter-spacing:1px;opacity:0;animation:done-fade-up .6s ease-out 1s forwards;z-index:1}.cooking-done__back{margin-top:32px;font-size:var(--text-sm);letter-spacing:2px;color:var(--amber);padding:14px 32px;border:1px solid var(--amber-dark);border-radius:var(--radius);cursor:pointer;transition:all .2s ease;opacity:0;animation:done-fade-up .6s ease-out 1.4s forwards;z-index:1}.cooking-done__back:hover{border-color:var(--amber);background:var(--amber-tint-8);text-shadow:var(--glow-md);box-shadow:0 0 16px #ffb0001f}@keyframes done-fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.cooking-timer-flash{position:absolute;inset:0;z-index:50;pointer-events:none;background:radial-gradient(ellipse at center,rgba(255,176,0,.12) 0%,rgba(255,176,0,.06) 40%,transparent 70%);animation:timer-flash 1.2s ease-out forwards}@keyframes timer-flash{0%{opacity:1;background:radial-gradient(ellipse at center,rgba(255,176,0,.18) 0%,rgba(255,176,0,.08) 40%,transparent 70%)}15%{opacity:1;background:radial-gradient(ellipse at center,rgba(255,176,0,.25) 0%,rgba(255,176,0,.12) 40%,transparent 70%)}40%{opacity:.8}to{opacity:0}}@media(max-height:550px){.cooking-mode{height:calc(100dvh - 48px)}.cooking-step-text{font-size:var(--text-2xl);padding:12px 16px}.cooking-center__scroll{padding:0 48px}.cooking-arrow{padding:14px 10px}.cooking-arrow__svg{width:48px;height:18px}.cooking-timers-overlay{left:48px}}.shopping-list{padding-top:8px}.shopping-title{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500;letter-spacing:2px;color:var(--text-secondary);margin-bottom:16px}.shopping-add-form{display:flex;align-items:flex-end;gap:8px;margin-bottom:16px}.shopping-add-form .terminal-input{flex:1;margin-bottom:0}.shopping-items{display:flex;flex-direction:column;gap:4px}.shopping-item{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;font-size:var(--text-sm);transition:all .2s ease;animation:card-enter .3s ease-out backwards;animation-delay:calc(var(--item-index, 0) * 40ms);border-bottom:1px solid var(--border-subtle)}.shopping-item:last-child{border-bottom:none}.shopping-item:hover{background:var(--amber-tint-5)}.shopping-item--checked{opacity:.5}.shopping-item--checked .shopping-item-name{color:var(--text-dim);text-decoration:line-through}.shopping-check{color:var(--amber);flex-shrink:0;font-weight:600;font-size:var(--text-sm);transition:color .15s ease,transform .15s ease}.shopping-item--checked .shopping-check{transform:scale(1.1)}.shopping-item-name{color:var(--text-body)}.shopping-actions{display:flex;gap:12px;margin-top:24px;justify-content:flex-end}.settings{padding-top:8px}.settings-title{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500;letter-spacing:2px;color:var(--text-secondary);margin-bottom:24px}.settings-section{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border-subtle)}.settings-section:last-of-type{border-bottom:none}.settings-section-title{font-size:var(--text-xs);letter-spacing:2px;color:var(--text-dim);margin-bottom:12px;text-transform:uppercase}.settings-unit-toggle{display:flex;gap:0}.settings-unit-btn{font-size:var(--text-sm);letter-spacing:1.5px;color:var(--text-dim);padding:6px 14px;border:1px solid var(--border-subtle);transition:all var(--transition);position:relative}.settings-unit-btn:first-child{border-radius:var(--radius) 0 0 var(--radius)}.settings-unit-btn:last-child{border-radius:0 var(--radius) var(--radius) 0;margin-left:-1px}.settings-unit-btn:hover{color:var(--text-secondary)}.settings-unit-btn--active{color:var(--amber);border-color:var(--amber);background:var(--amber-tint-5);text-shadow:var(--glow-sm);z-index:1}.settings-email{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:12px}.settings-hint{font-size:var(--text-xs);color:var(--text-dim);font-style:italic;letter-spacing:.5px;margin-bottom:12px}.settings-collab-block{margin-bottom:16px}.settings-collab-label{display:block;font-size:var(--text-xs);letter-spacing:1.5px;color:var(--text-dim);margin-bottom:8px;text-transform:uppercase}.settings-invite-code{margin-top:8px}.settings-code{display:inline-block;font-family:var(--font-mono);font-size:var(--text-lg);letter-spacing:4px;color:var(--amber);text-shadow:var(--glow-sm);padding:6px 12px;background:var(--amber-tint-5);border-radius:var(--radius);margin-bottom:6px}.settings-code-row{display:flex;gap:8px;align-items:center}.settings-code-input{font-family:var(--font-mono);font-size:var(--text-base);letter-spacing:2px;color:var(--text-primary);background:none;border:1px solid var(--border-subtle);border-radius:var(--radius);padding:6px 10px;outline:none;width:120px;text-transform:uppercase}.settings-code-input:focus{border-color:var(--amber-dark)}.settings-code-input::placeholder{color:var(--text-dim);opacity:.5}.settings-status{font-size:var(--text-xs);letter-spacing:1px;margin-top:6px}.settings-status--ok{color:var(--amber)}.settings-status--err{color:var(--error)}.settings-collab-list{margin-top:12px}.settings-collab-item{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border-subtle)}.settings-collab-item:last-child{border-bottom:none}.settings-collab-email{font-size:var(--text-sm);color:var(--text-secondary);letter-spacing:.5px}.settings-collab-remove{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;padding:2px 6px;border-radius:var(--radius);transition:all var(--transition)}.settings-collab-remove:hover{color:var(--error);background:#ff6b6b14}.shared-shell{min-height:100dvh;display:flex;flex-direction:column}.shared-header{height:48px;display:flex;align-items:center;padding:0 20px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.shared-logo{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--text-primary);text-decoration:none;text-shadow:var(--glow-sm)}.shared-logo-icon{margin-right:8px;color:var(--amber)}.shared-content{flex:1;overflow-y:auto;max-width:700px;margin:0 auto;width:100%;padding:24px}.shared-loading{text-align:center;padding:40px 0}.shared-not-found{text-align:center;padding:60px 0;color:var(--text-dim);font-style:italic}.shared-cta{margin-top:32px;padding-top:20px;border-top:1px solid var(--border-subtle);text-align:center}.shared-cta-link{color:var(--amber);font-family:var(--font-mono);font-size:var(--text-base);letter-spacing:1.5px;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--amber-dark);transition:all var(--transition)}.shared-cta-link:hover{text-shadow:var(--glow-sm);text-decoration-color:var(--amber)}
