@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap";:root{font-family:DM Sans,system-ui,sans-serif;color:#24231f;background:#f7f6f2;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #24231f;--muted: #77736b;--line: #e7e3da;--panel: #fffefa;--sidebar: #efede6;--accent: #a55c35;--accent-dark: #844326;--accent-soft: #f1e1d7;--green: #4d775b;--shadow: 0 16px 50px rgba(47, 40, 28, .08)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f7f6f2}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}.app-shell{min-height:100vh;display:flex}.sidebar{width:276px;min-height:100vh;padding:22px 16px 16px;background:var(--sidebar);border-right:1px solid #dfdbd2;display:flex;flex-direction:column;position:fixed;z-index:20;left:0;top:0;bottom:0}.brand{display:flex;align-items:center;gap:10px;padding:2px 8px 20px}.brand-mark,.welcome-icon,.memory-panel-icon,.empty-state-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-dark)}.brand strong{display:block;font-family:Playfair Display,serif;font-size:20px}.brand span{display:block;font-size:11px;color:var(--muted);margin-top:2px}.sidebar-close{display:none;margin-left:auto}.new-memory{border:1px solid #d9c2b4;background:#fffaf5;color:var(--accent-dark);border-radius:11px;padding:11px 13px;display:flex;align-items:center;gap:9px;font-weight:600;margin:0 4px 17px}.nav{display:grid;gap:4px}.nav button{border:0;background:transparent;color:#5f5b54;border-radius:9px;padding:10px 11px;display:flex;align-items:center;gap:10px;text-align:left}.nav button:hover,.nav button.active{background:#e3e0d7;color:var(--ink)}.history-mini{margin-top:25px;overflow:auto;min-height:0}.section-label{display:flex;justify-content:space-between;padding:0 9px 8px;color:#928d83;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.section-label>span:last-child{background:#ddd9cf;border-radius:99px;padding:2px 6px}.empty-mini{font-size:12px;color:#938e84;line-height:1.5;padding:5px 9px}.history-item{width:100%;border:0;background:transparent;padding:8px;display:flex;align-items:center;gap:9px;text-align:left;border-radius:9px}.history-item:hover{background:#e4e1d9}.history-icon{width:29px;height:29px;border-radius:8px;display:grid;place-items:center;background:#e0ddd5;color:#706b63}.history-item strong{display:block;font-size:12px;max-width:185px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-item span{display:block;color:#8a857c;font-size:10px;margin-top:2px}.sidebar-footer{margin-top:auto;padding-top:15px;border-top:1px solid #dbd7ce}.account-row{display:flex;align-items:center;gap:8px;padding:5px}.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:12px;font-weight:700;flex:0 0 auto}.account-copy{min-width:0;flex:1}.account-copy strong{display:block;font-size:12px}.account-copy span{display:block;font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-signin{border:0;background:transparent;width:100%;padding:9px 7px;display:flex;align-items:center;gap:8px;text-align:left;color:#625e56;font-size:12px}.demo-note{margin:10px 7px 0;color:#a19c92;font-size:9px}.main-area{margin-left:276px;min-width:0;flex:1}.topbar{height:64px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#f7f6f2e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10}.topbar-title{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700}.topbar-title svg{color:var(--accent)}.topbar-actions{display:flex;align-items:center}.signin-btn,.user-chip{border:1px solid var(--line);background:#fffdf8;border-radius:999px;padding:7px 12px;display:flex;align-items:center;gap:7px;color:var(--ink);font-weight:600;font-size:12px}.user-chip{padding:4px 10px 4px 4px}.user-chip .avatar{width:25px;height:25px}.icon-btn{border:0;background:transparent;color:#777269;width:32px;height:32px;border-radius:8px;display:grid;place-items:center}.icon-btn:hover{background:#e4e1d9;color:var(--ink)}.mobile-menu{display:none}.content{width:min(1050px,calc(100% - 64px));margin:0 auto}.home-view{min-height:calc(100vh - 64px);display:flex;flex-direction:column;justify-content:center;padding:65px 0 55px}.welcome{max-width:720px;margin:0 auto 32px;text-align:center}.welcome-icon{margin:0 auto 16px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:700;color:var(--accent);margin:0 0 10px}.welcome h1,.about-hero h1{font-family:Playfair Display,serif;font-size:clamp(39px,5vw,60px);line-height:1.02;letter-spacing:-.035em;margin:0;font-weight:500}.welcome h1 em,.about-hero h1 em{color:var(--accent)}.subcopy{max-width:600px;margin:18px auto 0;color:var(--muted);font-size:15px;line-height:1.7}.drop-zone{width:min(720px,100%);min-height:285px;margin:0 auto;border:1.5px dashed #cfc8bb;background:#fffefabf;border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px;transition:.2s ease}.drop-zone:hover,.drop-zone.dragging{border-color:var(--accent);background:#fffaf5;transform:translateY(-1px)}.drop-zone.has-file{border-style:solid;border-color:#d8c4b7}.drop-icon,.file-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:#eeeae1;color:#716b62;margin-bottom:15px}.file-icon{background:var(--accent-soft);color:var(--accent-dark)}.drop-zone h2{font-family:Playfair Display,serif;font-weight:500;font-size:25px;margin:0}.drop-zone p{color:var(--muted);font-size:13px;margin:7px 0 18px}.drop-zone small{color:#a29d94;font-size:10px;margin-top:14px}.selected-label{color:var(--accent)!important;text-transform:uppercase;letter-spacing:.12em;font-size:9px!important;font-weight:700;margin:0 0 5px!important}.upload-actions{display:flex;gap:9px}.primary-btn,.secondary-btn{border-radius:10px;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:12px;border:1px solid transparent}.primary-btn{color:#fff;background:var(--accent);box-shadow:0 5px 16px #a55c352b}.primary-btn:hover{background:var(--accent-dark)}.secondary-btn{color:#4f4b44;background:#fff;border-color:#ddd8cf}.secondary-btn:hover{background:#f1eee8}.secondary-btn.recording{color:#9a3729;border-color:#e5bdb6;background:#fff3f1}.process-btn{min-width:185px}.spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-banner{width:min(720px,100%);margin:13px auto 0;padding:11px 13px;border-radius:10px;background:#fff0ed;border:1px solid #f0c6bd;color:#9a3f30;font-size:12px}.how-it-works{width:min(850px,100%);margin:45px auto 0}.how-header{display:flex;justify-content:space-between;color:#9a9489;font-size:9px;font-weight:700;letter-spacing:.13em}.how-header button{border:0;background:transparent;color:var(--accent);font-size:11px;letter-spacing:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:12px}.step{display:flex;gap:10px;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fffefa8c}.step-number{font-size:9px;color:#aaa49a;font-weight:700}.step-icon{color:var(--accent)}.step strong{font-size:12px}.step p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.page-view{padding:62px 0}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}.page-heading h1,.recipe-page h1{font-family:Playfair Display,serif;font-size:clamp(36px,4vw,52px);line-height:1;font-weight:500;letter-spacing:-.03em;margin:0}.page-heading p:not(.eyebrow){color:var(--muted);margin:10px 0 0;font-size:13px}.search-box{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fffefa;border-radius:10px;padding:9px 11px;min-width:230px;color:#969087}.search-box input{border:0;outline:0;background:transparent;width:100%;font-size:12px}.recipe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.recipe-card{border:1px solid var(--line);background:#fffefa;border-radius:16px;padding:18px;text-align:left;min-height:205px;display:flex;flex-direction:column;transition:.18s}.recipe-card:hover{transform:translateY(-2px);border-color:#d8c4b7;box-shadow:var(--shadow)}.card-top,.card-bottom{display:flex;align-items:center;justify-content:space-between}.card-top{color:#9b958b;font-size:9px;text-transform:uppercase;letter-spacing:.09em}.recipe-card h2{font-family:Playfair Display,serif;font-size:24px;font-weight:500;margin:27px 0 8px}.recipe-card p{color:var(--muted);font-size:11px;line-height:1.55;margin:0;flex:1}.card-bottom{border-top:1px solid #eeeae2;padding-top:11px;margin-top:18px;color:#918b81;font-size:9px}.empty-state{border:1px dashed #d1cbc0;background:#fffefa;border-radius:18px;padding:60px 20px;text-align:center}.empty-state-icon{margin:0 auto 14px}.empty-state h2{font-family:Playfair Display,serif;font-size:27px;font-weight:500;margin:0}.empty-state p{color:var(--muted);font-size:12px;margin:8px auto 20px;max-width:430px}.recipe-page{padding:42px 0 70px}.back-btn{border:0;background:transparent;color:#777269;padding:0;display:inline-flex;align-items:center;gap:4px;font-size:11px;margin-bottom:32px}.recipe-hero{display:flex;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);padding-bottom:32px}.recipe-badges{display:flex;gap:6px;margin-bottom:12px}.recipe-badges span{background:var(--accent-soft);color:var(--accent-dark);padding:5px 8px;border-radius:999px;font-size:9px;font-weight:700}.recipe-hero p{max-width:650px;color:var(--muted);line-height:1.6;font-size:13px}.recipe-id{min-width:190px;align-self:center}.recipe-id span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#9c968c}.recipe-id code{display:block;margin-top:5px;color:#625e57;font-size:9px;word-break:break-all}.recipe-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:45px;margin-top:35px}.recipe-section{margin-bottom:45px}.section-title{display:flex;align-items:center;gap:10px;margin-bottom:18px}.section-title span{color:var(--accent);font-size:10px;font-weight:700}.section-title h2{font-family:Playfair Display,serif;font-size:26px;font-weight:500;margin:0}.ingredient{display:flex;align-items:center;gap:9px;border-bottom:1px solid #eeeae2;padding:11px 0;font-size:12px}.ingredient-dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}.ingredient strong{flex:1;font-weight:600}.ingredient>span:last-child{color:var(--muted)}.instruction{display:grid;grid-template-columns:29px 1fr;gap:12px;margin-bottom:16px}.instruction>span{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#ece8df;color:#777168;font-size:10px;font-weight:700}.instruction p{margin:5px 0 0;font-size:12px;line-height:1.7;color:#57534c}.memory-panel{align-self:start;border:1px solid #dfd6cb;background:#f1e8df;border-radius:18px;padding:20px;position:sticky;top:90px}.memory-panel-icon{margin-bottom:18px}.memory-panel h3{font-family:Playfair Display,serif;font-size:24px;font-weight:500;margin:0 0 12px}.transcript{color:#5e574f;font-size:12px;line-height:1.8;white-space:pre-wrap}.memory-meta{border-top:1px solid #ddcfc3;padding-top:11px;margin-top:13px}.memory-meta span{display:block;color:#978b7e;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.memory-meta strong{display:block;font-size:11px;margin-top:3px}.about-page{padding:70px 0}.about-hero{max-width:720px}.about-hero h1{margin-top:10px}.about-hero>p:last-child{color:var(--muted);font-size:14px;line-height:1.8;max-width:650px;margin-top:22px}.about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:50px}.about-card{background:#fffefa;border:1px solid var(--line);border-radius:16px;padding:21px;min-height:185px}.about-card>span{color:var(--accent);font-size:10px;font-weight:700}.about-card h2{font-family:Playfair Display,serif;font-size:24px;font-weight:500;margin:30px 0 8px}.about-card p{color:var(--muted);font-size:11px;line-height:1.65}.stack-strip{margin-top:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 2px;display:flex;gap:12px;align-items:center;color:#8d877e;font-size:10px}.stack-strip strong{color:#4f4a43}.stack-strip i{color:#c3bdb3;font-style:normal}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#201d1873;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:grid;place-items:center;padding:20px}.auth-modal{width:min(430px,100%);background:#fffefa;border-radius:20px;padding:28px;box-shadow:0 25px 80px #0003;position:relative}.modal-close{position:absolute;right:15px;top:15px;border:0;background:transparent;color:#8c867c}.auth-modal .welcome-icon{margin-bottom:16px}.auth-modal h2{font-family:Playfair Display,serif;font-size:31px;line-height:1.05;font-weight:500;margin:0}.modal-copy{color:var(--muted);font-size:11px;line-height:1.6}.auth-modal form{display:grid;gap:13px;margin-top:20px}.auth-modal label{display:grid;gap:6px;font-size:10px;font-weight:700;color:#625d55}.auth-modal input{border:1px solid #dcd7ce;background:#fff;border-radius:9px;padding:10px;outline:0;font-size:12px}.auth-modal input:focus{border-color:var(--accent)}.auth-submit{width:100%;margin-top:3px}.switch-auth{border:0;background:transparent;width:100%;color:var(--accent);font-size:11px;margin-top:14px}@media(max-width:900px){.sidebar{transform:translate(-100%);transition:transform .2s ease;box-shadow:15px 0 40px #00000014}.sidebar.open{transform:translate(0)}.sidebar-close,.mobile-menu{display:grid}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:15;background:#1e1b1659}.main-area{margin-left:0}.topbar{padding:0 20px}.content{width:min(100% - 36px,800px)}.recipe-grid,.about-grid{grid-template-columns:repeat(2,1fr)}.recipe-layout{grid-template-columns:1fr}.memory-panel{position:static}}@media(max-width:620px){.user-name{display:none}.home-view{padding:45px 0 40px}.welcome h1,.about-hero h1{font-size:40px}.steps,.recipe-grid,.about-grid{grid-template-columns:1fr}.page-heading{align-items:stretch;flex-direction:column}.search-box{min-width:0}.recipe-hero{flex-direction:column}.recipe-id{align-self:auto}.upload-actions{flex-direction:column;width:100%}.upload-actions button{width:100%}.drop-zone{padding:28px 18px}.topbar{height:58px}.content{width:calc(100% - 28px)}}
