*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background:#faf7f4;color:#3d3228;font-family:Palatino Linotype,Palatino,Georgia,serif;-webkit-font-smoothing:antialiased;min-height:100vh}#app{min-height:100vh}::selection{background:#c4926740}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#2a2723;border-radius:3px}textarea::placeholder,input::placeholder{color:#3e3a35}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.recipe-app{--bg: #111;--bg-card: #191816;--bg-surface: #151311;--bg-elevated: #1e1c19;--border: #2a2723;--border-light: #222;--text: #e5e0d8;--text-heading: #f5efe6;--text-body: #c8bfb3;--text-muted: #807668;--text-faint: #6b6259;--text-dim: #5e564d;--text-ghost: #4a4540;--text-hint: #3e3a35;--accent: #c49267;--accent-soft: #d4a87c;--accent-active-bg: #2a2520;--fresh: #7ba872;--fresh-soft: #94bd8b;--tomato: #d47259;--gold: #e0a95f;--hero-glow-1: rgba(196, 146, 103, .12);--hero-glow-2: rgba(123, 168, 114, .1);--btn-active-text: #111;--overlay-bg: rgba(17, 17, 17, .92);--selection: rgba(196, 146, 103, .25);--error-bg: rgba(180, 90, 70, .08);--error-border: rgba(180, 90, 70, .18);--error-text: #c89080;--tips-bg: rgba(196, 146, 103, .04);--tips-border: rgba(196, 146, 103, .12);min-height:100vh;background:var(--bg);color:var(--text);font-family:Palatino Linotype,Palatino,Georgia,serif;transition:background .3s,color .3s}.recipe-app.theme-dim{--bg: #1e1b18;--bg-card: #272320;--bg-surface: #222019;--bg-elevated: #2e2a25;--border: #3a3530;--border-light: #332e29;--text: #e8e2d9;--text-heading: #f5efe6;--text-body: #d0c7bb;--text-muted: #9a8e80;--text-faint: #807468;--text-dim: #706458;--text-ghost: #5e5448;--text-hint: #4e4438;--accent: #c49267;--accent-soft: #d4a87c;--accent-active-bg: #352e28;--fresh: #7ba872;--fresh-soft: #94bd8b;--tomato: #d47259;--gold: #e0a95f;--hero-glow-1: rgba(196, 146, 103, .12);--hero-glow-2: rgba(123, 168, 114, .1);--btn-active-text: #1a1714;--overlay-bg: rgba(30, 27, 24, .94);--error-bg: rgba(180, 90, 70, .1);--error-border: rgba(180, 90, 70, .2);--tips-bg: rgba(196, 146, 103, .06);--tips-border: rgba(196, 146, 103, .14)}.recipe-app.theme-light{--bg: #faf7f4;--bg-card: #ffffff;--bg-surface: #f5f1ed;--bg-elevated: #ede8e2;--border: #e0d8cf;--border-light: #e8e1d9;--text: #3d3228;--text-heading: #2a2118;--text-body: #4a3f34;--text-muted: #7a6e60;--text-faint: #8a7e70;--text-dim: #998d7f;--text-ghost: #b0a698;--text-hint: #c5bcb0;--accent: #a87442;--accent-soft: #c49267;--accent-active-bg: #f0e8df;--btn-active-text: #fff;--fresh: #5b8c51;--fresh-soft: #7ba872;--tomato: #c0563e;--gold: #d99a4e;--hero-glow-1: rgba(168, 116, 66, .16);--hero-glow-2: rgba(91, 140, 81, .14);--overlay-bg: rgba(250, 247, 244, .94);--selection: rgba(168, 116, 66, .2);--error-bg: rgba(180, 70, 50, .06);--error-border: rgba(180, 70, 50, .15);--error-text: #a85040;--tips-bg: rgba(168, 116, 66, .05);--tips-border: rgba(168, 116, 66, .15)}.container{max-width:720px;margin:0 auto;padding:36px 20px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;overflow:hidden;transition:background .3s,border-color .3s}.card-gap{margin-top:16px}.card-body{padding:20px 28px}.border-top{border-top:1px solid var(--bg-elevated)}.fade-up{animation:fadeUp .5s ease}.mb-16{margin-bottom:16px}.mb-18{margin-bottom:18px}.mt-6{margin-top:6px}.footer{text-align:center;padding:32px 20px 24px;font-size:12px;color:var(--text-hint);font-family:system-ui,sans-serif;letter-spacing:.3px}.spinner{width:12px;height:12px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.spinner-btn{width:16px;height:16px;border:2px solid var(--text-hint);border-top-color:var(--accent)}@media(max-width:600px){.container{padding:24px 14px}.card-body{padding:16px 18px}}@media print{*,*:before,*:after{background:#fff!important;color:#222!important;box-shadow:none!important;text-shadow:none!important;border-color:#ccc!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}body{font-size:12pt;line-height:1.5;background:#fff!important}.container{max-width:100%;padding:0;margin:0}.card{border:none!important;border-radius:0!important;page-break-inside:avoid;break-inside:avoid}.card-gap{margin-top:8px}.no-print,.footer,.toast,.action-bar,.controls-bar .view-toggle,.reset-btn,.raw-section,.shop-link,.pantry-badge,.fav-btn,.history-section,.mode-tabs,.how-it-works,.setting-panel{display:none!important}.stagger,.page-enter-active,.page-leave-active{animation:none!important;opacity:1!important;transform:none!important}.hero-image{max-height:200px;border:none!important;border-radius:0!important;margin-bottom:12px}.hero-image img{height:200px}.recipe-title{font-size:20pt!important;font-weight:700!important}.recipe-title-area{padding:12px 0 8px!important}.servings-control{padding:8px 0!important}.serving-btn{border:1px solid #ccc!important;width:24px!important;height:24px!important;font-size:11pt!important}.serving-btn.active{background:#222!important;color:#fff!important}.ingredient-row{padding:3px 0!important;border-bottom:1px solid #eee!important}.ingredient-tick,.chalk-strike{display:none!important}.ingredient-amount{font-size:11pt!important;color:#444!important}.ingredient-item{font-size:11pt!important}.step-row{margin-bottom:8px!important;page-break-inside:avoid;break-inside:avoid}.step-number{background:#f0f0f0!important;border:1px solid #ccc!important;font-size:10pt!important;width:20px!important;height:20px!important;min-width:20px!important}.step-text{font-size:11pt!important}.section-label{font-size:10pt!important;color:#666!important;margin-bottom:8px!important}.sub-section-label{font-size:10pt!important;color:#888!important}.tips-card{border-top:1px solid #ccc!important}.tip-text{font-size:10pt!important}@page{margin:1.5cm}}.kokkie-mascot[data-v-d7b339cc]{position:relative;display:block;padding:0;border:none;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent;overflow:visible;contain:layout style}.kokkie-mascot[data-v-d7b339cc]:not(button){cursor:default}.kokkie-mascot[data-v-d7b339cc]:focus-visible{outline:2px solid var(--accent, #a87442);outline-offset:6px;border-radius:30%}.kokkie-body[data-v-d7b339cc]{position:absolute;inset:0;transform-origin:50% 100%;will-change:transform}.kokkie-body img[data-v-d7b339cc]{position:absolute;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;will-change:transform,opacity;backface-visibility:hidden}.kokkie-shadow[data-v-d7b339cc]{position:absolute;left:20%;right:20%;top:90.9%;height:9%;border-radius:50%;background:radial-gradient(ellipse at center,var(--kokkie-shadow) 0%,transparent 70%);transform-origin:50% 50%;pointer-events:none}.consent-backdrop[data-v-7d550473]{position:fixed;bottom:0;left:0;right:0;z-index:9999;padding:16px;pointer-events:none}.consent-banner[data-v-7d550473]{--paper: var(--bg-card, #fbf7f1);--ink: var(--text-heading, #2a2118);--ink-soft: var(--text-body, #6b5a4a);--line: var(--border, rgba(61, 50, 40, .22));pointer-events:auto;max-width:460px;margin:0;display:flex;align-items:center;gap:14px;font-family:system-ui,-apple-system,Segoe UI,sans-serif;padding:16px 20px 16px 12px;border-radius:24px;background:var(--paper);border:1px solid var(--border-light, rgba(61, 50, 40, .12));box-shadow:0 24px 60px #140e0838,0 4px 12px #140e081a}.consent-kokkie[data-v-7d550473]{flex:0 0 auto;width:96px;height:96px}.consent-content[data-v-7d550473]{flex:1;min-width:0}.consent-title[data-v-7d550473]{margin:0 0 4px;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:800;font-size:15px;letter-spacing:-.01em;color:var(--ink)}.consent-text[data-v-7d550473]{margin:0 0 12px;font-size:13.5px;line-height:1.5;color:var(--ink-soft)}.consent-actions[data-v-7d550473]{display:flex;gap:8px}.consent-btn[data-v-7d550473]{flex:1;padding:10px 16px;border-radius:999px;border:1px solid transparent;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:700;font-size:14px;cursor:pointer;transition:transform .16s cubic-bezier(.23,1,.32,1),background-color .16s ease,color .16s ease}.consent-btn[data-v-7d550473]:active{transform:scale(.97)}.consent-btn[data-v-7d550473]:focus-visible{outline:2px solid var(--accent, #b07a45);outline-offset:2px}.consent-btn--accept[data-v-7d550473]{background:#2a2118;color:#fff4e4}.consent-btn--decline[data-v-7d550473]{background:transparent;color:var(--ink-soft);border-color:var(--line)}@media(hover:hover)and (pointer:fine){.consent-btn--accept[data-v-7d550473]:hover{transform:translateY(-1px);background:#3a2d21}.consent-btn--decline[data-v-7d550473]:hover{background:var(--bg-elevated, #f3ece3);color:var(--ink)}}.consent-enter-active[data-v-7d550473]{transition:opacity .3s cubic-bezier(.23,1,.32,1),transform .3s cubic-bezier(.23,1,.32,1)}.consent-leave-active[data-v-7d550473]{transition:opacity .2s cubic-bezier(.23,1,.32,1),transform .2s cubic-bezier(.23,1,.32,1)}.consent-enter-from[data-v-7d550473],.consent-leave-to[data-v-7d550473]{opacity:0;transform:translateY(16px)}@media(prefers-reduced-motion:reduce){.consent-enter-active[data-v-7d550473],.consent-leave-active[data-v-7d550473]{transition:opacity .2s ease}.consent-enter-from[data-v-7d550473],.consent-leave-to[data-v-7d550473]{transform:none}.consent-btn[data-v-7d550473]{transition:none}}@media(max-width:600px){.consent-backdrop[data-v-7d550473]{padding:10px}.consent-banner[data-v-7d550473]{max-width:none;padding:14px 16px 14px 10px;gap:10px;border-radius:20px}.consent-kokkie[data-v-7d550473]{width:72px;height:72px}.consent-kokkie[data-v-7d550473]>*{transform:scale(.75);transform-origin:top left}}.anim-bounce-in{animation:bounceIn .5s cubic-bezier(.34,1.56,.64,1) both;animation-delay:calc(var(--anim-i, 0) * 60ms)}@keyframes bounceIn{0%{opacity:0;transform:scale(.8) translateY(40px)}60%{opacity:1;transform:scale(1.05) translateY(-5px)}to{transform:scale(1) translateY(0)}}.anim-heart-pop{animation:heartPop .4s cubic-bezier(.34,1.56,.64,1)}@keyframes heartPop{0%{transform:scale(1)}30%{transform:scale(1.4)}60%{transform:scale(.9)}to{transform:scale(1)}}.anim-shake{animation:shake .3s ease}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.anim-fly-away{animation:flyAway .4s cubic-bezier(.55,0,1,.45) forwards}@keyframes flyAway{to{opacity:0;transform:translate(calc(var(--fly-dir, 1) * 120%)) rotate(calc(var(--fly-dir, 1) * 15deg)) scale(.8)}}.anim-slide-left{animation:slideInLeft .4s ease both;animation-delay:calc(var(--anim-i, 0) * 40ms)}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.anim-fade-scale{animation:fadeScale .4s ease both}@keyframes fadeScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.anim-bounce-in,.anim-heart-pop,.anim-shake,.anim-fly-away,.anim-slide-left,.anim-fade-scale{animation:none!important;opacity:1!important;transform:none!important}}
