:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-page:#f5f7f3;--color-page-gradient:#fff;--color-surface:#fff;--color-surface-raised:#fffdf8;--color-surface-strong:#edf2e8;--color-surface-soft:#f8faf4;--color-border:#d9e0d3;--color-border-strong:#bfccb8;--color-text:#20241d;--color-muted:#64705f;--color-primary:#2f6b4f;--color-primary-strong:#173f2d;--color-primary-soft:#dfeee5;--color-accent:#b7642b;--color-accent-soft:#f5ead9;--color-warning-soft:#fff3d8;--color-success-soft:#e7f3e4;--color-danger:#b34b31;--color-danger-soft:#fff0ea;--color-on-primary:#fff;--color-overlay:#151b137a;--editor-background:#2d2922;--editor-text:#efe4d2;--editor-caret:#fff7e7;--editor-selection:#b7642b59;--shadow-soft:0 14px 34px #1d29191a;color:var(--color-text);background:var(--color-page);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-page:#171615;--color-page-gradient:#211f1d;--color-surface:#22201e;--color-surface-raised:#2a2724;--color-surface-strong:#34302b;--color-surface-soft:#1d1b19;--color-border:#413c36;--color-border-strong:#5b5349;--color-text:#f1eee8;--color-muted:#b7afa4;--color-primary:#e0ad57;--color-primary-strong:#ffe2a7;--color-primary-soft:#3c3222;--color-accent:#cf7d4f;--color-accent-soft:#3d2b22;--color-warning-soft:#3c3322;--color-success-soft:#26342b;--color-danger:#ff9d87;--color-danger-soft:#3f2722;--color-on-primary:#251a0a;--color-overlay:#080706b3;--editor-background:#151413;--editor-text:#efe6d8;--editor-caret:#fff2d6;--editor-selection:#e0ad5747;--shadow-soft:0 18px 48px #00000052}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-page:#171615;--color-page-gradient:#211f1d;--color-surface:#22201e;--color-surface-raised:#2a2724;--color-surface-strong:#34302b;--color-surface-soft:#1d1b19;--color-border:#413c36;--color-border-strong:#5b5349;--color-text:#f1eee8;--color-muted:#b7afa4;--color-primary:#e0ad57;--color-primary-strong:#ffe2a7;--color-primary-soft:#3c3222;--color-accent:#cf7d4f;--color-accent-soft:#3d2b22;--color-warning-soft:#3c3322;--color-success-soft:#26342b;--color-danger:#ff9d87;--color-danger-soft:#3f2722;--color-on-primary:#251a0a;--color-overlay:#080706b3;--editor-background:#151413;--editor-text:#efe6d8;--editor-caret:#fff2d6;--editor-selection:#e0ad5747;--shadow-soft:0 18px 48px #00000052}}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}body:before{z-index:-1;background:linear-gradient(180deg, var(--color-page-gradient) 0, #fff0 22rem);content:"";position:fixed;inset:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{width:min(1120px,100%);min-height:100vh;margin:0 auto;padding:20px}.app-shell:has(.sidebar-layout){width:100%;margin:0;padding:20px 238px}.topbar{justify-content:space-between;align-items:center;gap:16px;width:min(1120px,100%);margin:0 auto 18px;display:flex}.topbar h1{color:var(--color-primary-strong);margin:0;font-size:2rem}.topbar p{color:var(--color-muted);margin:4px 0 0}.logout-button{border:1px solid color-mix(in srgb, var(--color-danger) 38%, var(--color-border));background:var(--color-danger-soft);color:var(--color-danger);border-radius:8px;padding:10px 13px;font-weight:700}.logout-button--danger{background:var(--color-danger);color:var(--color-surface);border:0}label{color:var(--color-muted);gap:7px;font-size:.9rem;display:grid}.auth-settings{border:1px solid var(--color-border);background:var(--color-surface-raised);border-radius:8px;gap:10px;padding:10px;display:grid}.auth-settings summary{color:var(--color-primary-strong);cursor:pointer;font-weight:800}input,select,textarea{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);border-radius:8px;padding:10px 12px}textarea{resize:vertical;min-height:280px}.sidebar-layout,.sidebar-layout.is-collapsed{display:block}.sidebar{border:1px solid var(--color-border);background:var(--color-surface);width:220px;box-shadow:var(--shadow-soft);border-radius:8px;grid-template-rows:auto 1fr auto;gap:14px;padding:10px;transition:width .18s,padding .18s;display:grid;position:fixed;top:16px;bottom:16px;left:16px}.sidebar-layout.is-collapsed .sidebar{width:64px}.sidebar__toggle,.sidebar__nav a,.sidebar-settings summary{width:100%;color:var(--color-muted);text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:34px 1fr;align-items:center;gap:10px;padding:8px;text-decoration:none;transition:background .14s,color .14s,grid-template-columns .18s,padding .18s;display:grid}.sidebar__toggle,.sidebar-settings summary{color:var(--color-primary-strong);font-weight:800}.sidebar__nav{align-content:start;gap:6px;display:grid}.sidebar__nav a.is-active{background:var(--color-primary);color:var(--color-on-primary)}.sidebar__icon,.sidebar__toggle-icon{background:var(--color-primary-soft);width:34px;height:34px;color:var(--color-primary-strong);border-radius:8px;place-items:center;font-weight:900;transition:background .14s,color .14s;display:grid}.sidebar__nav a.is-active .sidebar__icon{background:color-mix(in srgb, var(--color-on-primary) 20%, transparent);color:var(--color-on-primary)}.sidebar-settings{position:relative}.sidebar-settings summary{cursor:pointer;list-style:none}.sidebar-settings summary::-webkit-details-marker{display:none}.sidebar-settings__panel{z-index:12;border:1px solid var(--color-border);background:var(--color-surface);width:220px;box-shadow:var(--shadow-soft);border-radius:8px;gap:12px;padding:12px;display:grid;position:absolute;bottom:calc(100% + 8px);left:0}.sidebar-layout.is-collapsed .sidebar__label{opacity:0;max-width:0}.sidebar__label{white-space:nowrap;opacity:1;min-width:0;max-width:140px;transition:max-width .18s,opacity .12s;overflow:hidden}.sidebar-layout.is-collapsed .sidebar__toggle,.sidebar-layout.is-collapsed .sidebar__nav a,.sidebar-layout.is-collapsed .sidebar-settings summary{grid-template-columns:34px;justify-content:center;padding:8px 4px}.sidebar-layout.is-collapsed .sidebar-settings__panel{bottom:0;left:calc(100% + 8px)}.workspace-shell{width:min(1120px,100%);min-width:0;margin:0 auto}.workspace-shell>.status+.status,.workspace-shell>.status+form,.workspace-shell>.status+section{margin-top:12px}.status{background:var(--color-success-soft);color:var(--color-primary-strong);border-radius:8px;padding:10px 12px}.status--error{background:var(--color-danger-soft);color:var(--color-danger)}.auth-panel{border:1px solid var(--color-border);background:var(--color-surface);width:min(420px,100%);box-shadow:var(--shadow-soft);border-radius:8px;gap:14px;margin-top:18px;padding:18px;display:grid}.auth-panel h2{color:var(--color-primary-strong);margin:0}.admin-panel{margin-top:18px}.modal-backdrop{z-index:20;background:var(--color-overlay);place-items:center;padding:18px;display:grid;position:fixed;inset:0}.confirm-dialog{border:1px solid var(--color-border);background:var(--color-surface);width:min(420px,100%);box-shadow:0 22px 60px color-mix(in srgb, var(--color-text) 22%, transparent);border-radius:8px;gap:14px;padding:18px;display:grid}.confirm-dialog h2,.confirm-dialog p{margin:0}.confirm-dialog h2{color:var(--color-primary-strong)}.confirm-dialog p{color:var(--color-muted);line-height:1.45}.confirm-dialog__actions{justify-content:flex-end;gap:10px;display:flex}.confirm-dialog__actions button:first-child{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:8px;padding:10px 13px}.workspace{align-items:start;gap:16px;margin-top:18px;display:grid}.editor-panel,.preview-panel,.recipe-detail,.library-view,.timers-view,.cooking-mode,.timer-form{align-content:start;gap:14px;min-width:0;display:grid}.editor-panel label,.preview-panel label{min-width:0}.editor-actions{justify-content:flex-end;display:flex}.editor-actions button,.recipe-detail__actions button,.recipe-row__actions button,.button-link{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:8px;padding:9px 11px;text-decoration:none}.recipe-detail__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.cooklang-editor{border:1px solid var(--color-border);background:var(--editor-background);width:100%;min-width:0;height:520px;min-height:420px;box-shadow:inset 0 0 0 1px #ffffff0d, 0 8px 20px color-mix(in srgb, var(--color-text) 10%, transparent);border-radius:8px;position:relative;overflow:hidden}.cooklang-editor__highlight,.cooklang-editor__input{font-variant-ligatures:none;scrollbar-gutter:stable;tab-size:2;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;border:0;border-radius:0;width:100%;min-width:0;height:100%;min-height:0;margin:0;padding:14px;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.92rem;line-height:1.6;position:absolute;inset:0;overflow:auto}.cooklang-editor__highlight{color:var(--editor-text);pointer-events:none;scrollbar-color:transparent transparent}.cooklang-editor__highlight::-webkit-scrollbar{background:0 0}.cooklang-editor__highlight::-webkit-scrollbar-thumb{background:0 0}.cooklang-editor__input{caret-color:var(--editor-caret);color:#0000;resize:none;background:0 0;position:relative}.cooklang-editor__input::selection{background:var(--editor-selection)}.cook-token--metadata{color:#a7b39f}.cook-token--section{color:#ffd37a}.cook-token--comment{color:#948a7b}.cook-token--marker{color:#f7e0a3}.cook-token--ingredient{color:#ffb86b}.cook-token--cookware{color:#8fd0be}.cook-token--timer{color:#f18aa4}.cook-token--quantity{color:#f7e0a3}.cook-token--preparation{color:#b9c7ff}.cook-token--scale{color:#d6a7ff}.recipe-preview{border:1px solid var(--color-border);background:var(--color-surface);min-height:0;box-shadow:0 1px 0 #fffc inset, var(--shadow-soft);border-radius:8px;align-content:start;gap:18px;padding:18px;display:grid}.recipe-preview h2,.recipe-preview h3,.recipe-preview p,.recipe-preview ul{margin:0}.recipe-preview__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:14px;display:flex}.recipe-preview h2{color:var(--color-primary-strong);font-size:1.45rem;line-height:1.15}.recipe-preview__header p{color:var(--color-muted);margin-top:5px;font-size:.8rem}.recipe-preview__header span{background:var(--color-primary-soft);color:var(--color-primary-strong);white-space:nowrap;border-radius:999px;flex:none;padding:7px 10px;font-size:.84rem;font-weight:700}.recipe-preview__description{border-left:3px solid var(--color-accent);color:var(--color-muted);padding-left:12px;line-height:1.5}.recipe-preview__section{gap:10px;display:grid}.recipe-preview__section--warning{border:1px solid color-mix(in srgb, var(--color-danger) 32%, var(--color-border));background:var(--color-danger-soft);border-radius:8px;padding:12px}.recipe-preview h3{color:var(--color-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem}.recipe-preview__list{gap:8px;padding:0;list-style:none;display:grid}.recipe-preview__list li{border:1px solid var(--color-border);background:var(--color-surface-raised);border-radius:8px;padding:10px 12px}.recipe-preview__list--chips{flex-wrap:wrap;display:flex}.recipe-preview__list--chips li{background:var(--color-primary-soft);color:var(--color-primary-strong);border:0;border-radius:999px;padding:7px 10px}.recipe-preview__meta{flex-wrap:wrap;gap:8px;margin:0;display:flex}.recipe-preview__meta div{border:1px solid var(--color-border);background:var(--color-surface-raised);border-radius:999px;align-items:center;gap:6px;padding:7px 10px;display:flex}.recipe-preview__meta dt,.recipe-preview__meta dd{margin:0}.recipe-preview__meta dt{color:var(--color-muted);font-size:.76rem;font-weight:700}.recipe-preview__meta dd,.recipe-preview__meta a{color:var(--color-primary-strong);font-size:.84rem;font-weight:700}.recipe-preview__steps{counter-reset:recipe-step;gap:10px;margin:0;padding:0;list-style:none;display:grid}.recipe-preview__steps li{counter-increment:recipe-step;grid-template-columns:auto 1fr;align-items:start;gap:10px;line-height:1.45;display:grid}.recipe-preview__steps li:before{background:var(--color-primary-soft);width:28px;height:28px;color:var(--color-primary-strong);content:counter(recipe-step);border-radius:999px;place-items:center;font-size:.8rem;font-weight:800;display:grid}.muted{color:var(--color-muted)}.scale-row,.timer-item{grid-template-columns:1fr auto;align-items:end;gap:12px;display:grid}.primary-action,.scale-row button,.timer-form button{background:var(--color-primary);color:var(--color-on-primary);border:0;border-radius:8px;padding:11px 14px}button:disabled{cursor:not-allowed;opacity:.55}.library-view,.timers-view{margin-top:18px}.library-toolbar{grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:12px;display:grid}.library-toolbar p{color:var(--color-muted);white-space:nowrap;margin:0 0 10px;font-size:.9rem}.cooking-mode{margin-top:18px}.cooking-mode__header{justify-content:space-between;align-items:center;gap:16px;display:flex}.cooking-mode__header h2,.cooking-mode__header p{margin:0}.cooking-mode__header h2{color:var(--color-primary-strong)}.cooking-mode__header strong{color:var(--color-primary);font-size:1.4rem}.cooking-mode__progress{justify-items:end;gap:10px;display:grid}.cooking-mode__progress button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:8px;padding:10px 12px}.cooking-mode__servings{grid-template-columns:auto minmax(160px,210px);align-items:center;gap:10px;margin-top:8px;display:grid}.cooking-mode__servings-control{grid-template-columns:42px minmax(78px,1fr) 42px;gap:6px;display:grid}.cooking-mode__servings-control button,.cooking-mode__servings input{padding:8px 10px}.cooking-mode__servings-control button{border:1px solid var(--color-border);background:var(--color-surface-raised);color:var(--color-primary-strong);border-radius:8px;font-weight:900}.cooking-mode__servings input{text-align:center;appearance:textfield}.cooking-mode__servings input::-webkit-inner-spin-button{appearance:none;margin:0}.cooking-mode__servings input::-webkit-outer-spin-button{appearance:none;margin:0}.cooking-steps{gap:12px;display:grid}.cooking-step-card{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-soft);text-align:left;border-radius:8px;gap:14px;padding:14px;transition:border-color .14s,background .14s,opacity .14s;display:grid}.cooking-step-card.is-complete{border-color:color-mix(in srgb, var(--color-primary) 35%, var(--color-border));background:var(--color-success-soft);opacity:.78}.cooking-step-card.is-note{border-color:color-mix(in srgb, var(--color-accent) 35%, var(--color-border));background:var(--color-warning-soft);opacity:1}.cooking-step-card__header{cursor:pointer;grid-template-columns:auto 1fr;align-items:center;gap:12px;display:grid}.cooking-step-card__header:focus-visible{outline:3px solid color-mix(in srgb, var(--color-primary) 28%, transparent);outline-offset:2px;border-radius:8px}.cooking-step-card__header h3{color:var(--color-primary-strong);margin:0;font-size:.95rem}.cooking-step-card__index{background:var(--color-primary-soft);width:34px;height:34px;color:var(--color-primary-strong);border-radius:999px;place-items:center;font-weight:800;display:grid}.cooking-step-card.is-complete .cooking-step-card__index{background:var(--color-primary);color:var(--color-on-primary)}.cooking-step-card.is-note .cooking-step-card__index{background:var(--color-accent-soft);color:var(--color-primary-strong)}.cooking-step-card__body{border-top:1px solid var(--color-border);gap:14px;padding-top:14px;display:grid}.cooking-step-card__body>p{margin:0;font-size:1.1rem;line-height:1.5}.step-collapse-enter-active,.step-collapse-leave-active{transition:max-height .18s,opacity .14s,padding-top .18s,border-top-color .18s,transform .18s;overflow:hidden}.step-collapse-enter-from,.step-collapse-leave-to{opacity:0;border-top-color:#0000;max-height:0;padding-top:0;transform:translateY(-4px)}.step-collapse-enter-to,.step-collapse-leave-from{opacity:1;max-height:360px;transform:translateY(0)}.step-timers,.timers-toolbar{flex-wrap:wrap;gap:10px;display:flex}.step-running-timers{gap:8px;display:grid}.cooking-step-timer{border:1px solid var(--color-border);background:var(--color-surface-raised);border-radius:8px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.cooking-step-timer.is-expired{border-color:color-mix(in srgb, var(--color-danger) 36%, var(--color-border));background:var(--color-danger-soft)}.cooking-step-timer.is-focused,.timer-item.is-focused{outline:3px solid color-mix(in srgb, var(--color-accent) 48%, transparent);outline-offset:3px}.cooking-step-timer p,.cooking-step-timer small{margin:0}.cooking-step-timer p{font-weight:700}.cooking-step-timer small{color:var(--color-muted)}.cooking-step-timer strong{color:var(--color-danger);font-variant-numeric:tabular-nums;font-size:1.35rem}.cooking-step-timer__actions{gap:8px;display:flex}.step-timers button,.timers-toolbar button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:8px;padding:10px 12px}.recipe-row{grid-template-columns:1fr auto;align-items:center;gap:12px;display:grid}.recipe-row,.timer-item{border:1px solid var(--color-border);background:var(--color-surface);text-align:left;width:100%;box-shadow:var(--shadow-soft);border-radius:8px;padding:14px}.recipe-row__summary{color:inherit;text-align:left;background:0 0;border:0;gap:4px;padding:0;display:grid}.recipe-row__summary span{font-weight:800}.recipe-row__summary small{color:var(--color-muted)}.recipe-row__actions{gap:8px;display:flex}.timer-form{grid-template-columns:1fr 160px auto;align-items:end;margin-top:18px}.pagination{justify-content:flex-end;align-items:center;gap:10px;display:flex}.pagination button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:8px;padding:9px 12px}.pagination span{color:var(--color-muted);font-weight:700}.timer-item{grid-template-columns:1fr auto auto}.timer-item.is-expired{border-color:var(--color-danger);box-shadow:inset 4px 0 0 var(--color-danger), var(--shadow-soft)}.timer-item__label,.timer-item__duration{margin:0}.timer-item__clock{color:var(--color-danger);font-size:1.6rem}.timer-item__actions{gap:8px;display:flex}.icon-button{border:1px solid var(--color-border);background:var(--color-surface);width:38px;height:38px;color:var(--color-text);border-radius:8px}.empty-state{border:1px dashed var(--color-border-strong);color:var(--color-muted);border-radius:8px;margin:0;padding:18px}@media (width<=760px){.app-shell,:is(.app-shell:has(.sidebar-layout),.app-shell:has(.sidebar-layout.is-collapsed)){padding:14px}.topbar{display:grid}.sidebar-layout,.sidebar-layout.is-collapsed{display:block}.sidebar{grid-template-columns:1fr auto;gap:8px;width:100%;min-height:0;padding:8px;display:grid;position:static}.sidebar-layout.is-collapsed .sidebar{width:100%}.sidebar__toggle{display:none}.sidebar__nav{scrollbar-width:none;gap:6px;min-width:0;display:flex;overflow-x:auto}.sidebar__nav::-webkit-scrollbar{display:none}.sidebar__nav a,.sidebar-layout.is-collapsed .sidebar__nav a,.sidebar-settings summary,.sidebar-layout.is-collapsed .sidebar-settings summary{grid-template-columns:34px;justify-content:center;width:46px;min-width:46px;padding:6px}.sidebar__label,.sidebar-layout.is-collapsed .sidebar__label{opacity:0;max-width:0}.sidebar-settings{align-self:start;position:relative}.sidebar-settings__panel,.sidebar-layout.is-collapsed .sidebar-settings__panel{width:min(280px,100vw - 28px);max-width:calc(100vw - 28px);position:absolute;inset:calc(100% + 8px) 0 auto auto}.workspace,.timer-form,.timer-item,.library-toolbar,.recipe-row,.cooking-mode__header{grid-template-columns:1fr}.cooklang-editor{height:420px;min-height:320px}.library-toolbar p{white-space:normal;margin:0}.cooking-mode__header{align-items:start;display:grid}.cooking-mode__progress{justify-items:stretch;width:100%}.cooking-mode__progress strong{font-size:1.2rem}.cooking-mode__servings{grid-template-columns:1fr}.cooking-mode__servings-control{grid-template-columns:48px minmax(0,1fr) 48px}.cooking-mode__servings-control button,.cooking-mode__servings input{min-height:44px}.cooking-step-card__header{grid-template-columns:auto 1fr}.cooking-step-timer{grid-template-columns:1fr}.cooking-step-timer__actions{width:100%}.cooking-step-timer__actions button{flex:1}.scale-row{grid-template-columns:1fr}.recipe-row__summary,.recipe-row__actions{width:100%}.recipe-row__actions button{flex:1}.pagination{justify-content:stretch}.pagination button{flex:1}}@media (prefers-reduced-motion:reduce){.step-collapse-enter-active,.step-collapse-leave-active{transition:none}}
