:root{font-family:Avenir Next,Segoe UI,sans-serif;--bg: #f4efe6;--surface: rgba(255, 251, 244, .92);--surface-strong: #fffaf1;--text: #2d241b;--muted: #7d6d5b;--accent: #b45309;--accent-dark: #8b3c06;--border: rgba(107, 76, 49, .18);--danger: #b42318}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top right,rgba(234,179,8,.18),transparent 24%),radial-gradient(circle at bottom left,rgba(180,83,9,.14),transparent 28%),linear-gradient(135deg,#f6f0e3,#efe7da);color:var(--text);display:grid;place-items:center;padding:20px}.container{width:min(760px,96vw);padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:0 14px 36px #4a341f1f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}h1{margin:0 0 16px;font-size:1.8rem;letter-spacing:-.02em}.recipe-form{display:grid;gap:12px}.mode-selector{display:flex;gap:10px}.mode-button{border:1px solid var(--border);background:#fff8eee6;color:var(--text);border-radius:999px;padding:11px 14px;font-weight:600;cursor:pointer;transition:transform .14s ease,background-color .14s ease,border-color .14s ease}.mode-button.is-selected{border-color:var(--accent);background:var(--accent);color:#fffdf9;transform:translateY(-1px)}.mode-button:disabled{opacity:.65;cursor:not-allowed}.input-with-action{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start}.shared-input{width:100%;border:1px solid var(--border);border-radius:14px;padding:13px 14px;font-size:.95rem;background:#ffffffe6}.shared-input:disabled{background:#f2e9ddcc}.submit-button{width:fit-content;border:1px solid var(--accent-dark);border-radius:999px;background:linear-gradient(180deg,#c76610 0%,var(--accent) 100%);color:#fffdf9;font-weight:600;padding:11px 16px;cursor:pointer}.submit-button:disabled{opacity:.65;cursor:not-allowed}.camera-button,.secondary-button,.ingredient-remove-button{border:1px solid var(--border);border-radius:999px;background:#fff8eee6;color:var(--text);cursor:pointer}.camera-button{width:48px;height:48px;display:inline-grid;place-items:center}.camera-icon{width:22px;height:22px}.loading-wrap{display:inline-flex;align-items:center;gap:8px}.loading-text{margin:0}.loading-ring{width:16px;height:16px;border:2px solid rgba(180,83,9,.24);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message{margin:0;color:var(--danger);font-size:.92rem}.scan-panel{display:grid;gap:12px}.camera-shell{display:grid;gap:10px}.camera-preview-wrap{position:relative;width:min(480px,100%);min-height:280px;border-radius:18px;overflow:hidden;background:#1d1b19}.camera-preview{width:100%;height:100%;display:block;object-fit:cover}.scan-overlay-list{position:absolute;left:14px;bottom:14px;display:flex;flex-direction:column-reverse;gap:6px;max-width:55%}.scan-overlay-item{color:#fff8eeb8;font-size:.9rem;letter-spacing:.01em;text-shadow:0 1px 8px rgba(0,0,0,.38)}.scan-canvas{display:none}.ingredient-editor{display:grid;gap:10px;padding:16px;border:1px solid var(--border);border-radius:16px;background:#fffbf4c7}.editor-title{margin:0;font-weight:600}.ingredient-editor-row{display:grid;grid-template-columns:1fr auto;gap:10px}.ingredient-chip-input{width:100%;border:1px solid var(--border);border-radius:12px;padding:10px 12px;font-size:.95rem}.secondary-button,.ingredient-remove-button{padding:9px 12px}.recipe-content{display:grid;gap:14px;line-height:1.5}ul{margin:8px 0 0;padding-left:20px}.back-link{color:var(--accent-dark);text-decoration:none;font-weight:600}.back-link:hover{text-decoration:underline}.cooking-page{position:fixed;inset:0;display:flex;flex-direction:column;background:#1d1b19;color:#fffdf9}.cooking-video-container{flex:1;position:relative;overflow:hidden;min-height:0}.cooking-video{width:100%;height:100%;display:block;object-fit:cover}.camera-toggle-button{position:absolute;top:16px;right:16px;width:44px;height:44px;border:1px solid rgba(255,253,249,.3);border-radius:50%;background:#00000073;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fffdf9;font-size:.75rem;font-weight:600;cursor:pointer;display:grid;place-items:center}.step-progress{display:flex;justify-content:center;gap:8px;padding:12px 20px;background:#f5f0e6d9}.step-dot{width:10px;height:10px;border-radius:50%;background:#ffffff73;transition:background .18s ease,transform .18s ease}.step-dot-active{background:#fff;transform:scale(1.3)}.step-dot-completed{background:var(--accent)}.cooking-bottom-bar{padding:7px 10px 10px;background:var(--surface);color:var(--text);border-top:1px solid var(--border)}.step-main-row{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px;margin-bottom:6px}.step-copy{flex:0 1 460px;min-width:0;display:flex;align-items:center}.step-label{margin:0 0 3px;font-size:.68rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.step-text{margin:0;font-size:1rem;line-height:1.28;width:100%;text-align:left}.cooking-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;column-gap:8px}.cooking-controls>:first-child{justify-self:start}.cooking-controls>:last-child{justify-self:end}.cooking-controls .secondary-button{padding:8px 12px;font-weight:600;font-size:.9rem}.cooking-controls .submit-button{padding:8px 12px;font-size:.9rem}.voice-center-control{display:flex;flex-direction:column;align-items:center;gap:6px}.nana-status{position:absolute;top:16px;left:16px;display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fffdf9;font-size:.75rem;font-weight:600;letter-spacing:.02em}.nana-indicator{width:8px;height:8px;border-radius:50%;background:#4ade80;animation:pulse-dot 1.6s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.voice-wave{display:flex;justify-content:center;align-items:center;gap:4px;height:20px;margin:0}.voice-bar{width:4px;border-radius:2px;background:var(--accent);height:calc(6px + 18px * var(--bar-scale, .15));transition:height .12s ease;animation:voice-idle 1.2s ease-in-out infinite;animation-delay:var(--bar-delay, 0s)}.voice-bar-model{background:#4ade80;animation:voice-speak .4s ease-in-out infinite alternate;animation-delay:var(--bar-delay, 0s)}@keyframes voice-idle{0%,to{transform:scaleY(1)}50%{transform:scaleY(.6)}}@keyframes voice-speak{0%{transform:scaleY(.4)}to{transform:scaleY(1)}}.mic-toggle-button{border:1px solid var(--border);border-radius:999px;background:#fff8eee6;color:var(--text);padding:8px 12px;font-size:.88rem;font-weight:600;cursor:pointer;transition:background-color .14s ease,border-color .14s ease}.mic-toggle-button.mic-muted{background:var(--danger);border-color:var(--danger);color:#fffdf9}@media(max-width:680px){.mode-selector{flex-direction:column}.step-main-row{align-items:center;justify-content:center;gap:6px;margin-top:8px}.step-copy{flex:0 1 54vw}.step-text{font-size:.92rem;line-height:1.24}}
