:root{color:#f8fafc;background:#0f172a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-shell-recipe-editor,.main-surface-recipe-editor{min-height:100dvh;background:#fff;color:#111}.main-surface-recipe-editor{padding:0}.recipe-edit-page{position:relative;width:min(100%,820px);min-height:100dvh;margin:0 auto;padding:50px 0 0;background:#fff;color:#171717;font-family:Roboto,Arial,sans-serif}.recipe-edit-page button,.recipe-edit-page input,.recipe-edit-page textarea,.recipe-edit-page select{font:inherit}.recipe-edit-back{position:absolute;z-index:4;top:7px;left:4px;display:grid;width:48px;height:48px;padding:12px;place-items:center;border:0;background:transparent;color:#e040fb;cursor:pointer}.recipe-edit-icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.recipe-edit-add-row{display:flex;justify-content:flex-end;padding:10px}.recipe-new-button{display:inline-flex;width:250px;height:50px;align-items:center;justify-content:center;gap:7px;border:0;border-radius:20px;background:#00e5ff;color:#000;box-shadow:0 2px 3px #00000029;cursor:pointer}.recipe-new-button .recipe-edit-icon{width:21px}.recipe-edit-error{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 20px;padding:12px 14px;border-radius:8px;background:#ffebee;color:#b3261e}.recipe-edit-error button{border:0;background:transparent;color:inherit;font-size:22px;cursor:pointer}.recipe-edit-loading{display:grid;min-height:280px;place-items:center;color:#777}.recipe-edit-section{width:100%}.recipe-edit-section-title{display:flex;align-items:center;gap:8px;margin:10px 30px 1px;color:#111;font-size:16px;font-weight:700;text-align:center}.recipe-edit-section-title:before,.recipe-edit-section-title:after{content:"";height:1px;flex:1;background:#9e9e9e}.recipe-edit-section-title span{padding:7px 2px;white-space:nowrap}.recipe-edit-id{display:flex;align-items:center;justify-content:space-between;padding:2px 40px 8px}.recipe-round-button{display:inline-grid;width:42px;height:42px;flex:0 0 auto;padding:8px;place-items:center;border:1px solid #e1bee7;border-radius:50%;background:#0096881a;color:#00695c;cursor:pointer;transition:background .15s,transform .15s}.recipe-round-button:hover:not(:disabled){background:#00968838;transform:scale(1.03)}.recipe-round-button:disabled{opacity:.35;cursor:default}.recipe-round-button.brown{color:#795548}.recipe-main-image{position:relative;display:block;width:200px;height:200px;margin:0 auto 10px;overflow:hidden;border:1.5px solid #00bcd4;border-radius:8px;background:#00bcd41a;cursor:pointer}.recipe-main-image img{width:100%;height:100%;object-fit:cover}.recipe-main-image>span{position:absolute;inset:0;display:grid;place-items:center;background:#0000004d;color:#fff}.recipe-main-image>span .recipe-edit-icon{width:30px;height:30px}.recipe-main-image input{display:none}.recipe-edit-field{display:block;width:calc(100% - 40px);min-height:48px;margin:10px 20px;padding:10px;border:0;border-radius:10px;outline:0;background:#f3fffe;color:#111;resize:vertical;box-sizing:border-box}.recipe-edit-field:focus{box-shadow:inset 0 0 0 2px #00968852}.recipe-edit-inline-field{display:flex;min-height:60px;align-items:center;justify-content:space-evenly;gap:20px;padding:2px 20px;color:#111}.recipe-edit-inline-field>span{min-width:145px;text-align:right}.recipe-edit-inline-field .recipe-edit-field{width:150px;margin:6px 0}.recipe-edit-inline-field select{width:min(260px,55vw);padding:10px 4px;border:0;border-bottom:1px solid #777;outline:0;background:#fff;color:#111}.recipe-edit-nutrition{padding:5px 15px 15px;text-align:center}.recipe-edit-nutrition p{margin:8px 0 5px}.recipe-edit-nutrition div{display:flex;justify-content:space-evenly;gap:10px;font-size:14px}.recipe-edit-tools{display:flex;min-height:54px;align-items:center;justify-content:flex-end;gap:8px;padding:2px 40px}.recipe-edit-center{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 0}.recipe-sections-list{display:grid;gap:6px}.recipe-section-row{display:flex;align-items:flex-start;gap:8px;padding:0 12px}.recipe-section-row>.recipe-round-button{margin-top:9px}.recipe-section-card{min-width:0;flex:1;padding:2px 0 8px}.recipe-section-card>.recipe-edit-field{width:100%;margin:7px 0;background:#e0f7fa;font-weight:600}.recipe-ingredient-list{display:grid;gap:5px}.recipe-ingredient-card{position:relative;display:flex;min-height:76px;align-items:center;gap:8px;padding:5px 9px 5px 5px;border-radius:15px;background:#e0f2f1;color:#111}.recipe-ingredient-card>.recipe-round-button{width:34px;height:34px;border-radius:10px;border-color:#009688;background:#fff}.recipe-ingredient-copy{display:flex;min-width:0;flex:1;flex-direction:column;gap:3px}.recipe-ingredient-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-ingredient-copy small{color:#555;font-size:12px}.recipe-ingredient-card>.recipe-edit-field{width:82px;margin:0;background:#fff;text-align:center}.recipe-replacement-chip{width:fit-content;max-width:100%;padding:3px 8px;overflow:hidden;border:1px solid #009688;border-radius:14px;background:#fff;color:#00695c;font-size:12px;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.recipe-replacement-control{position:relative}.recipe-replacement-control>.recipe-round-button{width:34px;height:34px;border-radius:10px;border-color:#009688;background:#fff}.recipe-replacement-popover{position:absolute;z-index:20;top:40px;right:0;display:grid;width:min(340px,75vw);gap:8px;padding:12px;border-radius:12px;background:#fff;box-shadow:0 5px 22px #00000042}.recipe-replacement-popover select,.recipe-replacement-popover input{min-width:0;padding:10px;border:1px solid #bbb;border-radius:6px;background:#fff;color:#111}.recipe-replacement-popover button{justify-self:end;padding:8px 14px;border:0;border-radius:18px;background:#00897b;color:#fff}.recipe-add-ingredient{display:grid;grid-template-columns:minmax(140px,1fr) 95px auto;gap:7px;padding:8px 0 0}.recipe-add-ingredient input{min-width:0;padding:10px;border:0;border-radius:10px;background:#f3fffe;color:#111}.recipe-add-ingredient button{display:inline-flex;align-items:center;gap:3px;border:0;border-radius:18px;background:#00897b;color:#fff;cursor:pointer}.recipe-add-ingredient button:disabled{opacity:.4}.recipe-edit-page .recipe-step-list{padding:0 20px}.recipe-edit-page .recipe-step{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr)}.recipe-edit-page .recipe-step-timeline{position:relative;display:flex;justify-content:center}.recipe-edit-page .recipe-step-timeline:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;background:#00bcd4;transform:translate(-50%)}.recipe-edit-page .recipe-step.first .recipe-step-timeline:before{top:20px}.recipe-edit-page .recipe-step.last .recipe-step-timeline:before{bottom:calc(100% - 21px)}.recipe-edit-page .recipe-step-timeline span{position:relative;z-index:1;display:grid;width:30px;height:30px;margin-top:10px;place-items:center;border-radius:50%;background:#00bcd4;color:#fff;font-size:13px;font-weight:700}.recipe-edit-page .recipe-step-content{min-width:0;padding:10px}.recipe-edit-page .recipe-step-description{display:flex;align-items:flex-start;gap:6px}.recipe-edit-page .recipe-step-description textarea{min-height:56px;flex:1;padding:10px;border:0;border-radius:10px;outline:0;background:#a1f3ec;color:#111;resize:vertical}.recipe-edit-page .recipe-step-description .recipe-round-button{width:40px;height:40px;border:0;background:transparent;color:#00acc1}.recipe-edit-page .recipe-step-note{display:flex;align-items:center;margin-top:8px;border-radius:10px;background:#fff8e1;color:#f9a825}.recipe-edit-page .recipe-step-note>.recipe-edit-icon{margin-left:10px;flex:0 0 auto}.recipe-edit-page .recipe-step-note textarea{min-height:46px;flex:1;padding:12px 10px;border:0;outline:0;background:transparent;color:#111;resize:vertical}.recipe-edit-page .recipe-step-media{position:relative;display:flex;height:150px;align-items:stretch;gap:10px;padding:10px 8px 0}.recipe-edit-page .recipe-step-media>small{position:absolute;right:8px;bottom:-2px;left:8px;z-index:2;padding:3px;overflow:hidden;background:#ffffffe6;color:#b3261e;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.recipe-media-add{display:flex;width:100px;flex:0 0 100px;flex-direction:column;align-items:center;justify-content:center;border:1.5px solid #00bcd4;border-radius:8px;background:#00bcd41a;color:#00acc1;cursor:pointer}.recipe-media-add .recipe-edit-icon{width:30px;height:30px}.recipe-media-add span{font-size:12px}.recipe-media-add input{display:none}.recipe-media-loading{align-self:center;color:#777}.recipe-media-strip{display:flex;min-width:0;flex:1;gap:10px;overflow-x:auto}.recipe-media-tile{position:relative;width:140px;height:140px;flex:0 0 140px;overflow:hidden;border-radius:8px;background:#eee}.recipe-media-tile>button:first-of-type{width:100%;height:100%;padding:0;border:0;background:transparent}.recipe-media-tile img,.recipe-media-tile video{width:100%;height:100%;object-fit:cover}.recipe-media-drag{position:absolute;top:4px;left:4px;display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:#0000008c;color:#fff;cursor:grab}.recipe-media-drag .recipe-edit-icon{width:16px;height:16px}.recipe-media-delete{position:absolute;top:4px;right:4px;display:grid;width:26px;height:26px;padding:0;place-items:center;border:0;border-radius:50%;background:#0009;color:#fff;font-size:20px;cursor:pointer}.recipe-image-preview{position:fixed;z-index:100;inset:0;display:grid;padding:16px;place-items:center;background:#000000c7}.recipe-image-preview img{max-width:100%;max-height:100%;object-fit:contain}.recipe-edit-empty{padding:18px;color:#777;text-align:center}.recipe-category-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;padding:8px 20px}.recipe-category-tags button{padding:5px 9px;border:1px solid #009688;border-radius:20px;background:#fff;color:#111;cursor:pointer}.recipe-category-tags button:first-letter{color:#555}.recipe-category-add{display:flex;width:240px;margin:8px auto;align-items:center}.recipe-category-add input{min-width:0;flex:1;padding:10px;border:0;border-bottom:1px solid #777;background:#fff;color:#111}.recipe-category-add button{display:grid;width:40px;height:40px;place-items:center;border:0;background:transparent;color:#00897b}.recipe-category-add button:disabled{opacity:.3}.recipe-edit-bottom-space{height:200px}.recipe-modal{position:fixed;z-index:120;inset:0;display:grid;padding:20px;place-items:center;background:#0000006b}.recipe-modal-card{display:grid;width:min(440px,100%);max-height:min(720px,90dvh);gap:12px;padding:24px;overflow:auto;border-radius:28px;background:#fff;color:#111;box-shadow:0 8px 30px #00000047}.recipe-modal-card h2{margin:0 0 8px;font-size:22px}.recipe-modal-card>input,.recipe-modal-card>textarea{padding:12px;border:1px solid #9e9e9e;border-radius:5px;background:#fff;color:#111}.recipe-modal-card>div:last-child{display:flex;justify-content:flex-end;gap:8px}.recipe-modal-card button{padding:9px 14px;border:0;border-radius:18px;background:transparent;color:#00796b;cursor:pointer}.recipe-modal-card button:last-child{background:#00796b;color:#fff}.recipe-modal-card button:disabled{opacity:.4}.recipe-modal-error{margin:0;color:#b3261e}.recipe-catalog-add{display:flex;gap:8px}.recipe-catalog-add input{min-width:0;flex:1;padding:10px;border:1px solid #aaa;border-radius:6px}.recipe-catalog-list{display:grid;overflow:auto}.recipe-catalog-list>div{display:grid;grid-template-columns:1fr auto auto;align-items:center;border-bottom:1px solid #eee}.recipe-catalog-list button{display:grid;width:40px;height:40px;padding:8px;place-items:center;background:transparent!important;color:#00796b!important}@media(max-width:600px){.recipe-edit-add-row{padding-top:4px}.recipe-new-button{width:230px}.recipe-edit-section-title{margin-right:20px;margin-left:20px}.recipe-edit-id,.recipe-edit-tools{padding-right:20px;padding-left:20px}.recipe-edit-nutrition div{gap:5px;font-size:11px}.recipe-section-row{padding-right:8px;padding-left:8px}.recipe-ingredient-card{flex-wrap:wrap}.recipe-ingredient-copy{min-width:calc(100% - 52px)}.recipe-ingredient-card>.recipe-edit-field{margin-left:42px}.recipe-add-ingredient{grid-template-columns:1fr 82px}.recipe-add-ingredient button{grid-column:1 / -1;min-height:38px;justify-content:center}.recipe-edit-page .recipe-step-list{padding:0 8px}.recipe-edit-page .recipe-step{grid-template-columns:36px minmax(0,1fr)}.recipe-edit-page .recipe-step-content{padding-right:2px;padding-left:6px}.recipe-edit-page .recipe-step-description .recipe-round-button{width:34px}.recipe-edit-inline-field{gap:10px}.recipe-edit-inline-field>span{min-width:124px;font-size:14px}}*{box-sizing:border-box}.app-boot-screen{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#0f172a}.app-boot-screen img{width:92px;height:92px;border:3px solid #fff;border-radius:50%;animation:cookie-progress-spin 1s linear infinite}.route-transition{animation:route-enter .24s cubic-bezier(.2,.72,.25,1) both}@keyframes route-enter{0%{opacity:0}to{opacity:1}}.smooth-image{opacity:0;transition:opacity .28s ease}.smooth-image-ready{opacity:1}.smooth-image-loader{position:absolute;inset:0;display:grid;place-items:center;opacity:1;pointer-events:none;transition:opacity .24s ease-out}.smooth-image-loader-ready{opacity:0}@media(prefers-reduced-motion:reduce){.route-transition{animation:none}.smooth-image{opacity:1;transition:none}.smooth-image-loader{transition:none}}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}a{color:inherit}.app-shell{min-height:100vh;background:linear-gradient(180deg,#0f172af5,#0f172a),#0f172a}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 20px;border-bottom:1px solid rgba(148,163,184,.18);background:#0f172ae6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{color:#f8fafc;font-size:15px;font-weight:700;letter-spacing:0;text-decoration:none}.main-surface{width:min(1120px,100%);margin:0 auto;padding:24px 16px 48px}.page{display:grid;gap:20px}.page-header{display:grid;gap:6px}.page-title{margin:0;color:#f8fafc;font-size:36px;line-height:1.12;letter-spacing:0}.page-subtitle{margin:0;color:#cbd5e1;font-size:15px}.panel{border:1px solid rgba(148,163,184,.18);border-radius:8px;background:#1e293bdb;padding:18px}.form-grid{display:grid;gap:14px}.field{display:grid;gap:6px}.field label{color:#cbd5e1;font-size:13px}.field input{width:100%;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#0f172ab8;color:#f8fafc;padding:11px 12px;outline:none}.field input:focus{border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf829}.button-row{display:flex;flex-wrap:wrap;gap:10px}.primary-button,.secondary-button,.ghost-button{min-height:40px;border-radius:8px;padding:0 14px;cursor:pointer}.primary-button{border:1px solid #38bdf8;background:#38bdf8;color:#082f49;font-weight:700}.secondary-button{border:1px solid rgba(148,163,184,.34);background:#0f172ab8;color:#f8fafc}.ghost-button{border:1px solid rgba(148,163,184,.22);background:transparent;color:#cbd5e1}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled{cursor:wait;opacity:.62}.alert{border-radius:8px;padding:12px;font-size:14px}.alert-error{border:1px solid rgba(248,113,113,.38);background:#7f1d1d57;color:#fecaca}.alert-success{border:1px solid rgba(34,197,94,.34);background:#14532d57;color:#bbf7d0}.page-state{padding:32px 0;color:#cbd5e1}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.recipe-card{overflow:hidden;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:#1e293bdb;text-decoration:none}.recipe-card img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;background:#111827}.recipe-card-body{display:grid;gap:8px;padding:12px}.recipe-card-title{margin:0;color:#f8fafc;font-size:15px;line-height:1.28}.macro-row{display:flex;flex-wrap:wrap;gap:6px;color:#cbd5e1;font-size:12px}.detail-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:18px}.detail-hero img{width:100%;border-radius:8px;aspect-ratio:4 / 3;object-fit:cover;background:#111827}.section-list{display:grid;gap:12px}@media(max-width:760px){.topbar{padding:0 14px}.main-surface{padding:18px 12px 36px}.detail-hero{grid-template-columns:1fr}}.recipe-image-wrap{position:relative}.icon-button{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid rgba(148,163,184,.34);border-radius:999px;background:#0f172ac2;color:#f8fafc;font-size:22px;line-height:1;cursor:pointer}.icon-button-active{border-color:#facc15b8;color:#facc15}.recipe-image-wrap .icon-button{position:absolute;top:8px;right:8px}.title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.rich-text{color:#111827;background:#f8fafc}.rich-text p,.rich-text div{color:#111827}.ingredient-section,.recipe-step{display:grid;gap:8px}.ingredient-grid{display:flex;flex-wrap:wrap;gap:8px}.ingredient-pill{border:1px solid rgba(148,163,184,.2);border-radius:999px;background:#0f172a73;color:#e2e8f0;padding:5px 9px;font-size:13px}.media-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.step-media{width:100%;aspect-ratio:4 / 3;border-radius:8px;object-fit:cover;background:#111827}.notes-panel{border:1px solid rgba(148,163,184,.18);border-radius:8px;background:#e5e7eb;color:#111827;padding:12px}.notes-header{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:transparent;color:#111827;font-weight:700;cursor:pointer;padding:4px 0}.note-wrap{position:relative}.note-wrap textarea{width:100%;min-height:150px;resize:vertical;border:0;border-radius:8px;background:#fff;color:#1e3a8a;font-family:Courier New,monospace;font-style:italic;font-size:16px;padding:12px 12px 32px;outline:none}.note-count{position:absolute;right:10px;bottom:8px;border-radius:999px;background:#0f172a14;color:#475569;padding:2px 8px;font-size:12px}.notes-save-button{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:#dbeafe;opacity:.25;cursor:pointer}.notes-save-button.has-changes{opacity:1}.notes-save-button:disabled{cursor:default}.notes-save-button span{font-size:18px;line-height:1}.note-count-error{color:#dc2626}.full-button{width:100%}.pay-stub{display:grid;justify-items:center;gap:16px;text-align:center}.pay-stub-image{width:180px;height:180px;border:5px solid #f8fafc;border-radius:999px;object-fit:cover}.topnav{display:flex;align-items:center;gap:12px;color:#cbd5e1;font-size:13px}.topnav a{text-decoration:none}.quick-nav,.story-row,.story-grid,.story-view-list,.message-list,.list-table{display:grid;gap:12px}.quick-nav{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.quick-tile,.story-chip,.main-asset-tile{border:1px solid rgba(148,163,184,.18);border-radius:8px;background:#1e293bdb;color:#f8fafc;padding:14px;text-decoration:none}.story-row{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.story-chip{display:grid;gap:4px}.story-chip-preview,.story-chip-placeholder{width:48px;height:48px;border-radius:50%;object-fit:cover;background:#e5e7eb}.main-asset-tile{display:grid;gap:8px;align-content:start}.main-asset-tile img{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:6px}.story-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.story-card{display:grid;gap:8px;text-decoration:none}.story-view-card{display:grid;gap:10px}.story-view-card img{width:100%;max-height:520px;border-radius:8px;object-fit:contain;background:#111827}.list-row,.message-row{display:grid;gap:6px;border-bottom:1px solid rgba(148,163,184,.14);padding:10px 0}.list-row{grid-template-columns:minmax(0,1fr) minmax(100px,160px) 90px}.message-row{justify-items:start}.message-row p{margin:0}.message-user{justify-items:end;text-align:right}@media(max-width:820px){.topnav{display:none}.list-row{grid-template-columns:1fr}}.admin-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:14px;align-items:start}.admin-user-row{display:grid;grid-template-columns:80px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;border:0;border-bottom:1px solid rgba(148,163,184,.14);background:transparent;color:#e2e8f0;padding:10px 0;text-align:left;cursor:pointer}.analytics-grid,.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.metric-box,.macro-box{display:grid;gap:6px}.analytics-card-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.analytics-card-body{display:grid;gap:6px}.metric-box span,.log-box{color:#cbd5e1;font-size:13px}.log-box{max-height:320px;overflow:auto;margin:0;white-space:pre-wrap}.book-toggle-grid{display:flex;flex-wrap:wrap;gap:8px}.tag-button{border:1px solid rgba(148,163,184,.28);border-radius:999px;background:#0f172a9e;color:#cbd5e1;padding:7px 10px;cursor:pointer}.tag-button-active{border-color:#38bdf8;background:#38bdf829;color:#e0f2fe}.macro-box strong{color:#f8fafc;font-size:24px}.food-search{display:grid;gap:12px;border:1px solid rgba(148,163,184,.14);border-radius:8px;padding:12px}@media(max-width:900px){.admin-split,.admin-user-row{grid-template-columns:1fr}}.story-fullscreen{position:fixed;inset:0;z-index:20;background:#101010;color:#fff;display:grid;place-items:center;overflow:hidden}.story-fullscreen-image{max-width:100%;max-height:100%;object-fit:contain}.story-close{position:absolute;z-index:2;top:18px;right:20px;border:0;background:transparent;color:#fff;font-size:30px;cursor:pointer}.story-progress{position:absolute;z-index:2;top:12px;left:14px;right:60px;display:flex;gap:4px}.story-progress span{height:3px;flex:1;background:#777}.story-progress .story-progress-done{background:#fff}.story-zone{position:absolute;inset-block:0;width:32%;border:0;background:transparent;cursor:pointer}.story-zone-left{left:0}.story-zone-right{right:0}.story-caption{position:absolute;left:0;right:0;bottom:0;padding:60px 24px 28px;background:linear-gradient(transparent,#000000d1)}.story-caption h1{margin:0 0 8px;font-size:inherit}.story-caption p{margin:0 0 12px}.story-caption a{color:#fff}.story-caption-with-link{padding-right:96px}.story-link-button{position:absolute;left:75%;top:75%;z-index:4;display:grid;place-items:center;width:52px;height:52px;padding:0;border:1px solid rgba(255,255,255,.75);border-radius:50%;background:#101010ad;color:#fff;box-shadow:0 4px 16px #00000052;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transform:translate(-50%,-50%);cursor:pointer}.story-link-button:hover{background:#fff3}.story-link-button:focus-visible{outline:2px solid #fff;outline-offset:3px}.story-link-button svg{width:25px;height:25px;fill:currentColor}.app-shell-ingredient-editor{min-height:100vh;background:#fff;color:#212121}.main-surface-ingredient-editor{width:100%;max-width:none;margin:0;padding:0}.ingredient-editor-page{position:relative;min-height:100vh;background:#fff;color:#212121}.ingredient-editor-appbar{position:sticky;top:0;z-index:8;display:flex;align-items:center;gap:8px;min-height:72px;padding:8px 12px;background:#fff;color:#000}.ingredient-editor-back{flex:0 0 auto;display:grid;place-items:center;width:48px;height:48px;padding:0;border:0;border-radius:50%;background:transparent;color:#263238;cursor:pointer}.ingredient-editor-back:hover{background:#0000000f}.ingredient-editor-back svg,.ingredient-editor-search svg,.ingredient-editor-fab svg,.ingredient-editor-action svg,.ingredient-links-add svg,.ingredient-link-delete svg,.ingredient-image-editor svg,.ingredient-validation-dialog svg{width:24px;height:24px;fill:currentColor}.ingredient-editor-search{flex:1;position:relative;min-width:0}.ingredient-editor-search>svg{position:absolute;top:50%;left:16px;z-index:1;width:22px;height:22px;transform:translateY(-50%);color:#616161;pointer-events:none}.ingredient-editor-search input{width:100%;height:54px;padding:0 18px 0 50px;border:1px solid #9e9e9e;border-radius:30px;outline:0;background:#fff;color:#212121;font-size:16px}.ingredient-editor-search input::placeholder{color:#757575;opacity:1}.ingredient-editor-search input:focus{border-color:#0097a7;box-shadow:0 0 0 1px #0097a7}.ingredient-list-content{display:grid;padding:0 16px 96px}.ingredient-list-card{width:100%;margin:8px 0;padding:13px 16px 12px;border:0;border-radius:10px;background:#f5f5f5;color:#212121;box-shadow:0 2px 4px #0000002e;font:inherit;text-align:left;cursor:pointer}.ingredient-list-card:hover{background:#f0f0f0;box-shadow:0 3px 7px #0003}.ingredient-list-card:focus-visible{outline:2px solid #0097a7;outline-offset:2px}.ingredient-list-card-title{display:flex;align-items:center;justify-content:space-between;min-width:0}.ingredient-list-id{flex:0 0 auto;margin-right:10px;padding:2px 6px;border-radius:5px;background:#9e9e9e;color:#fff;font-size:12px;line-height:18px}.ingredient-list-name{flex:1;min-width:0;display:-webkit-box;overflow:hidden;color:#212121;font-size:16px;line-height:21px;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:3}.ingredient-list-category{flex:0 1 auto;margin-left:12px;color:#607d8b;font-size:14px;font-style:italic;text-align:right;overflow-wrap:anywhere}.ingredient-list-macros{margin-top:5px;color:#616161;font-size:14px;line-height:20px}.ingredient-list-message{display:grid;min-height:180px;place-items:center;color:#424242;text-align:center}.ingredient-loading-spinner{width:42px;height:42px;border:4px solid #b2ebf2;border-top-color:#0097a7;border-radius:50%;animation:ingredient-spinner .8s linear infinite}@keyframes ingredient-spinner{to{transform:rotate(360deg)}}.ingredient-editor-fab{position:fixed;right:24px;bottom:24px;z-index:12;display:grid;place-items:center;width:56px;height:56px;padding:0;border:0;border-radius:16px;background:#b2ebf2;color:#004d40;box-shadow:0 4px 9px #0000003d;cursor:pointer}.ingredient-editor-fab:hover{background:#9fe2e9}.ingredient-sheet-backdrop{position:fixed;inset:0;z-index:70;display:flex;align-items:flex-end;justify-content:center;background:#00000057}.ingredient-editor-sheet{position:relative;width:min(720px,100%);max-height:calc(100dvh - 24px);overflow-y:auto;border-radius:10px 10px 0 0;background:#fff;color:#212121;box-shadow:0 -4px 18px #0003;overscroll-behavior:contain}.ingredient-sheet-handle{width:32px;height:4px;margin:10px auto 0;border-radius:999px;background:#9e9e9e}.ingredient-editor-sheet>form{padding:12px 2px 0}.ingredient-editor-media-row{display:flex;align-items:center;justify-content:space-evenly;min-height:140px}.ingredient-editor-id{padding:2px 6px;border-radius:5px;background:#000;color:#fff;font-size:12px;line-height:18px}.ingredient-image-editor{position:relative;display:grid;place-items:center;width:100px;height:100px;padding:0;overflow:hidden;border:1.5px solid #9e9e9e;border-radius:8px;background:#9e9e9e1a;color:#1976d2;cursor:pointer}.ingredient-image-editor img{display:block;width:100%;height:100%;object-fit:cover}.ingredient-image-editor>span:not(.ingredient-image-uploading){display:grid;place-items:center;gap:4px;color:#1976d2;font-size:12px}.ingredient-image-editor>span:not(.ingredient-image-uploading) svg{width:30px;height:30px}.ingredient-image-editor-missing{border-color:#1976d2;background:#2196f31a}.ingredient-image-uploading{position:absolute;inset:0;display:grid;place-items:center;background:#ffffffd1;color:#424242;font-size:12px}.ingredient-editor-file{display:none}.ingredient-editor-main-fields,.ingredient-editor-macros{display:grid;gap:4px}.ingredient-editor-main-fields{grid-template-columns:repeat(2,minmax(0,1fr));margin:6px 0 8px}.ingredient-editor-macros{grid-template-columns:repeat(4,minmax(0,1fr))}.ingredient-editor-main-fields label,.ingredient-editor-macros label{min-width:0}.ingredient-category-field{position:relative;min-width:0}.ingredient-category-options{position:absolute;top:calc(100% + 2px);left:0;z-index:6;width:200px;max-height:240px;overflow-y:auto;background:#fff;color:#212121;box-shadow:0 3px 8px #00000047}.ingredient-category-options button{display:block;width:100%;min-height:42px;padding:8px 16px;border:0;background:#fff;color:#212121;font:inherit;text-align:left;cursor:pointer}.ingredient-category-options button:hover,.ingredient-category-options button[aria-selected=true]{background:#eee}.ingredient-editor-main-fields input,.ingredient-editor-macros input{width:100%;height:48px;min-height:48px;padding:0 10px;border:0;border-radius:10px;outline:0;background:#00bcd4;color:#fff;font-size:16px}.ingredient-editor-main-fields input::placeholder,.ingredient-editor-macros input::placeholder{color:#fff;opacity:1}.ingredient-editor-main-fields input:focus,.ingredient-editor-macros input:focus{box-shadow:inset 0 0 0 2px #00838f}.ingredient-editor-actions{display:flex;align-items:center;justify-content:space-around;padding:10px}.ingredient-editor-action{display:grid;place-items:center;width:48px;height:48px;padding:0;border:0;border-radius:50%;background:#b2ebf2;cursor:pointer}.ingredient-editor-action:disabled{cursor:wait;opacity:.55}.ingredient-editor-cancel{color:#f44336}.ingredient-editor-confirm{color:#2e7d32}.ingredient-editor-error{padding:8px 10px;color:#b71c1c;font-size:13px;text-align:center}.ingredient-editor-form-error{margin:0 10px 10px;border-radius:6px;background:#ffebee}.ingredient-links-editor{margin:0 10px;padding:8px;border-radius:10px;background:#00bcd4}.ingredient-links-title{padding:0 0 6px;color:#fff;text-align:center}.ingredient-editor-state{padding:14px;color:#fff;text-align:center}.ingredient-link-card{display:flex;align-items:center;gap:8px;margin:6px 0;padding:10px 8px 10px 16px;border-radius:4px;background:#fff;color:#212121;box-shadow:0 1px 3px #00000038}.ingredient-link-fields{flex:1;display:grid;gap:6px;min-width:0}.ingredient-link-fields label{display:grid;color:#616161;font-size:12px}.ingredient-link-fields input{width:100%;min-height:34px;padding:2px 0;border:0;border-bottom:1px solid #9e9e9e;border-radius:0;outline:0;background:#fff;color:#212121;font-size:16px}.ingredient-link-fields input:focus{border-bottom:2px solid #0097a7}.ingredient-link-delete{flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#424242;cursor:pointer}.ingredient-link-delete:hover{background:#0000000f}.ingredient-links-add{display:grid;place-items:center;width:56px;height:56px;margin:8px auto 0;padding:0;border:0;border-radius:50%;background:#b2ebf2;color:#004d40;box-shadow:0 3px 7px #00000038;cursor:pointer}.ingredient-links-add:disabled{cursor:wait;opacity:.6}.ingredient-editor-bottom-space{height:180px}.ingredient-validation-backdrop{position:fixed;inset:0;z-index:3;display:grid;place-items:center;padding:24px;background:#00000052}.ingredient-validation-dialog{width:min(320px,100%);padding:24px;border-radius:28px;background:#fff;color:#212121;box-shadow:0 8px 28px #00000040}.ingredient-validation-dialog h2{margin:0 0 20px;font-size:20px;font-weight:500}.ingredient-validation-dialog button{display:grid;place-items:center;width:48px;height:48px;margin-left:auto;padding:0;border:0;border-radius:50%;background:transparent;color:#0097a7;cursor:pointer}.ingredient-editor-snackbar{position:fixed;left:50%;bottom:24px;z-index:90;max-width:calc(100% - 32px);padding:14px 18px;border-radius:4px;background:#323232;color:#fff;box-shadow:0 3px 8px #00000047;transform:translate(-50%);font-size:14px}@media(max-width:520px){.ingredient-editor-appbar{padding-inline:4px 8px}.ingredient-editor-search input{font-size:15px}.ingredient-list-content{padding-inline:16px}.ingredient-list-card{padding-inline:12px}.ingredient-list-category{max-width:34%;margin-left:8px}.ingredient-editor-fab{right:18px;bottom:18px}.ingredient-editor-sheet{max-height:calc(100dvh - 8px)}.ingredient-editor-bottom-space{height:220px}}.app-shell-food-tracker{min-height:100vh;background:#0f172a;color:#e6e1e5;font-family:Roboto,Segoe UI,Arial,sans-serif}.main-surface-food-tracker{width:100%;max-width:none;min-height:100vh;margin:0;padding:0}.food-tracker-page,.food-quantity-page{min-height:100vh;background:#0f172a;color:#e6e1e5}.food-tracker-page svg,.food-product-search-page svg,.food-quantity-page svg{width:24px;height:24px;fill:currentColor}.food-tracker-appbar,.food-quantity-appbar{position:sticky;top:0;z-index:20;display:flex;min-height:64px;align-items:center;padding:4px 8px 4px 16px;background:#1e293b;color:#e6e1e5}.food-tracker-title{min-width:0;flex:1}.food-tracker-title h1,.food-quantity-appbar h1{margin:0;font-size:22px;font-weight:400;line-height:27px}.food-tracker-title span{display:block;color:#cac4d0;font-size:12px;line-height:16px}.food-tracker-appbar>button,.food-date-button,.food-quantity-appbar>button{position:relative;display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;overflow:hidden;padding:0;border:0;border-radius:50%;background:transparent;color:#e6e1e5;cursor:pointer}.food-tracker-appbar>button:hover,.food-date-button:hover,.food-quantity-appbar>button:hover{background:#e6e1e514}.food-date-button input{position:absolute;inset:0;width:100%;height:100%;cursor:pointer;opacity:0}.food-tracker-content{padding-bottom:24px}.food-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;padding:16px 16px 10px}.food-summary>div{display:flex;min-width:0;flex-direction:column;align-items:flex-end}.food-summary span{color:#e6e1e5a6;font-size:22px;line-height:28px}.food-summary strong{max-width:100%;overflow:hidden;color:#e6e1e5;font-size:24px;font-weight:500;line-height:32px;text-overflow:ellipsis}.food-summary .food-summary-emphasized{font-weight:800}.food-meal-card{margin:8px 16px;overflow:hidden;border-radius:16px;background:#1e293b;color:#e6e1e5;box-shadow:0 2px 5px #00000047}.food-meal-heading{display:flex;min-height:80px;align-items:center;gap:12px;padding:12px 12px 12px 16px;cursor:pointer}.food-meal-icon{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;color:#ffb300}.food-meal-icon svg{width:32px;height:32px}.food-meal-heading h2{min-width:0;flex:1;margin:0;overflow:hidden;font-size:24px;font-weight:700;line-height:32px;text-overflow:ellipsis;white-space:nowrap}.food-meal-calories{display:flex;min-width:72px;flex-direction:column;align-items:flex-end}.food-meal-calories strong{font-size:28px;font-weight:800;line-height:34px}.food-meal-calories span{font-size:14px}.food-meal-heading>svg{flex:0 0 28px;color:#cac4d0}.food-meal-heading>button{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:#d0bcff;cursor:pointer}.food-meal-heading>button svg{width:40px;height:40px}.food-meal-heading>button:hover{background:#d0bcff14}.food-divider{height:1px;background:#cac4d038}.food-macro-values{display:grid;min-height:56px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;padding:12px 16px}.food-macro-values span{color:#b9b4bc;font-size:20px;line-height:28px;text-align:right}.food-item-swipe{position:relative;overflow:hidden}.food-item-delete-bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-end;padding-right:24px;background:#b3261e;color:#f9dedc}.food-item-row{position:relative;padding:14px 16px 14px 64px;background:#1e293b;cursor:pointer;touch-action:pan-y;transition:transform .16s ease}.food-item-main{display:flex;align-items:flex-start}.food-item-main>div{min-width:0;flex:1}.food-item-main h3{margin:0;overflow:hidden;color:#e6e1e5;font-size:22px;font-weight:400;line-height:28px;text-overflow:ellipsis;white-space:nowrap}.food-item-main span{display:block;margin-top:4px;color:#a6a1a9;font-size:16px;line-height:24px}.food-item-main>strong{margin-left:12px;color:#b9b4bc;font-size:24px;font-weight:700;line-height:32px}.food-item-main>svg{width:32px;height:32px;margin-left:12px;color:#a6a1a9}.food-item-macros{min-height:44px;grid-template-columns:repeat(4,minmax(0,1fr)) 44px;padding:12px 0 0}.food-item-macros span{font-size:20px}.food-product-search-page{min-height:100vh;background:#fff;color:#212121}.food-search-appbar{position:sticky;top:0;z-index:20;display:flex;min-height:72px;align-items:center;gap:8px;padding:8px 12px;background:#fff;color:#212121}.food-search-appbar>button{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:#263238;cursor:pointer}.food-search-appbar>button:hover{background:#0000000f}.food-search-appbar>label{position:relative;min-width:0;flex:1}.food-search-appbar label>svg{position:absolute;top:50%;left:16px;z-index:1;color:#616161;transform:translateY(-50%);pointer-events:none}.main-surface-food-tracker .food-search-appbar input{width:100%;height:54px;padding:0 18px 0 50px;border:1px solid #9e9e9e;border-radius:30px;outline:0;background:#fff;color:#212121;font:inherit;font-size:16px}.main-surface-food-tracker .food-search-appbar input:focus{border:2px solid #00838f;padding:0 18px 0 49px}.food-product-search-page main>h2{margin:0;padding:16px 20px 4px;color:#212121a6;font-size:16px;font-weight:500}.food-product-list{padding:0 0 16px}.food-product-list>button{display:block;width:calc(100% - 32px);min-height:80px;margin:8px 16px;padding:12px 16px;border:0;border-radius:10px;background:#fff;color:#212121;box-shadow:0 2px 5px #0003;font:inherit;text-align:left;cursor:pointer}.food-product-list>button>div{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px}.food-product-list>button>div:first-child>span{flex:0 0 auto;padding:2px 6px;border-radius:5px;background:#9e9e9e;color:#fff;font-size:12px}.food-product-list strong{min-width:0;flex:1;display:-webkit-box;overflow:hidden;font-size:16px;line-height:21px;-webkit-box-orient:vertical;-webkit-line-clamp:2}.food-product-list>button>div:last-child{margin-top:4px}.food-product-list em{color:#607d8b;font-size:13px}.food-product-list small{color:#9e9e9e;font-size:12px;text-align:right}.food-search-state,.food-spinner{display:grid;min-height:calc(100vh - 72px);place-items:center;padding:24px;text-align:center}.food-spinner>span,.food-button-spinner{width:36px;height:36px;border:4px solid rgba(0,131,143,.2);border-top-color:#00838f;border-radius:50%;animation:food-spin .8s linear infinite}@keyframes food-spin{to{transform:rotate(360deg)}}.food-quantity-appbar{padding-left:8px}.food-quantity-appbar h1{min-width:0;flex:1;padding:0 8px}.food-quantity-page>form{display:flex;padding:16px;flex-direction:column;align-items:stretch}.food-quantity-page form>h2{margin:0 0 16px;color:#e6e1e5;font-size:22px;font-weight:400}.food-quantity-page form>label{position:relative;display:block;padding-top:7px}.food-quantity-page form>label>span{position:absolute;top:0;left:12px;z-index:1;padding:0 4px;background:#0f172a;color:#cac4d0;font-size:12px}.main-surface-food-tracker .food-quantity-page form>label>input{width:100%;height:56px;padding:8px 42px 0 14px;border:1px solid #938f99;border-radius:4px;outline:0;background:transparent;color:#e6e1e5;font:inherit;font-size:16px}.main-surface-food-tracker .food-quantity-page form>label>input:focus{border:2px solid #d0bcff;padding-left:13px}.food-quantity-page form>label:focus-within>span{color:#d0bcff}.food-quantity-page form>label>em{position:absolute;right:14px;bottom:17px;color:#cac4d0;font-style:normal}.food-quantity-page form>button{min-height:48px;margin-top:24px;border:0;border-radius:24px;background:#d0bcff;color:#381e72;font:inherit;font-weight:500;cursor:pointer}.food-quantity-page form>button:disabled{opacity:.5}.food-button-spinner{display:inline-block;width:18px;height:18px;border-width:2px;border-color:#381e7240;border-top-color:#381e72}.food-dialog-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px;background:#0000008f}.food-dialog{width:min(420px,100%);overflow:hidden;border-radius:28px;background:#211f26;color:#e6e1e5;box-shadow:0 8px 28px #0000006b}.food-dialog>h2{margin:0;padding:24px 24px 12px;font-size:24px;font-weight:400}.food-dialog-content{padding:0 24px}.food-dialog-content p{margin:0}.food-dialog-actions{display:flex;min-height:72px;align-items:center;justify-content:flex-end;gap:8px;padding:12px 24px 16px}.food-dialog-actions button{min-height:40px;padding:0 16px;border:0;border-radius:20px;background:transparent;color:#d0bcff;font:inherit;font-weight:500;cursor:pointer}.food-dialog-actions .food-dialog-filled{background:#d0bcff;color:#381e72}.food-snackbar{position:fixed;right:16px;bottom:24px;left:16px;z-index:120;max-width:560px;margin:auto;padding:14px 16px;border-radius:4px;background:#e6e1e5;color:#1d1b20;box-shadow:0 4px 18px #0000006b}@media(max-width:600px){.food-summary{padding-right:10px;padding-left:10px}.food-summary span{font-size:18px}.food-summary strong{font-size:20px}.food-meal-card{margin-right:10px;margin-left:10px}.food-meal-heading{gap:8px;padding-left:12px}.food-meal-heading h2{font-size:21px}.food-meal-calories{min-width:58px}.food-meal-calories strong{font-size:24px}.food-item-row{padding-left:52px}.food-macro-values span,.food-item-macros span{font-size:17px}}textarea,select,input:not([type=checkbox]):not([type=file]){width:100%;min-height:40px;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#0f172ab8;color:#f8fafc;padding:10px 12px}textarea{min-height:100px;resize:vertical}select{appearance:auto}.split-panel{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);gap:14px;align-items:start}.split-panel>aside{min-width:0}.split-panel>aside .list-row{display:grid;grid-template-columns:1fr;width:100%;border:0;text-align:left;background:transparent;color:inherit;cursor:pointer}.split-panel>aside .list-row.selected{border-left:3px solid #38bdf8;padding-left:8px;background:#38bdf81a}.ingredient-detail-grid{display:grid;grid-template-columns:minmax(160px,240px) minmax(0,1fr);gap:20px;align-items:center}.ingredient-detail-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:999px}.media-editor{display:grid;gap:10px}.media-item{display:grid;gap:6px}.compact-panel{padding:12px}.compact-number-input{width:88px;min-width:0}@media(max-width:720px){.topbar{overflow-x:auto;justify-content:flex-start;gap:16px}.topnav{display:flex;flex:0 0 auto;overflow-x:auto;white-space:nowrap;max-width:70vw}.topbar>.ghost-button{flex:0 0 auto}.split-panel,.ingredient-detail-grid{grid-template-columns:1fr}.ingredient-detail-grid img{width:min(220px,70vw);justify-self:center}.page-title{font-size:30px}}.nav-feedback-link{display:inline-flex;align-items:center;gap:5px}.unread-badge{min-width:18px;padding:1px 5px;border-radius:999px;background:#ef4444;color:#fff;font-size:11px;line-height:16px;text-align:center}.recipe-editor-image{width:min(100%,320px);aspect-ratio:4 / 3;object-fit:cover;border-radius:6px;background:#edf1ef}.story-thumb{width:56px;height:56px;object-fit:cover;border-radius:4px;background:#edf1ef}.drawer-trigger{width:38px;height:38px;flex:0 0 38px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#0f172a;font-size:22px;line-height:1;cursor:pointer}.drawer-trigger:hover{background:#f1f5f9}.drawer-backdrop{position:fixed;inset:0;z-index:30;border:0;background:#0000008a;cursor:pointer}.side-drawer{position:fixed;inset:0 auto 0 0;z-index:31;width:304px;max-width:calc(100vw - 56px);overflow-y:auto;border-radius:0 16px 16px 0;background:#1e293b;box-shadow:10px 0 28px #0000004d;color:#fff}.drawer-header{display:flex;height:160px;padding:18px 16px;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;background:#2196f3;color:#fff}.drawer-header>.drawer-icon{width:24px;height:24px;margin-top:6px}.drawer-header span{white-space:pre-line;font-size:16px;line-height:24px;text-align:center}.drawer-content{padding:8px 0 12px}.drawer-tile{display:grid;width:100%;min-height:56px;grid-template-columns:24px minmax(0,1fr) auto;gap:12px;align-items:center;padding:8px 16px;border:0;border-radius:0;background:transparent;color:#fff;font:inherit;text-align:left;text-decoration:none;cursor:pointer}.drawer-tile-with-subtitle{min-height:68px}.drawer-tile:hover{background:#ffffff14}.drawer-tile:disabled{cursor:default;opacity:.65}.drawer-tile-copy{display:grid;min-width:0;gap:2px}.drawer-tile-copy strong{font-size:16px;font-weight:400;line-height:20px}.drawer-tile-copy small{color:#ffffffb3;font-size:14px;line-height:18px}.drawer-icon{display:block;width:24px;height:24px;fill:currentColor;color:#fff}.drawer-tile .unread-badge{margin-left:auto}.drawer-error{margin:8px 16px;color:#fecaca;font-size:12px}.drawer-status{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;margin:12px 12px 4px;padding:12px;border:1px solid;border-radius:10px;font-size:14px;line-height:20px}.drawer-status>span:first-child{display:grid;width:24px;height:24px;place-items:center;border:2px solid currentColor;border-radius:50%;font-weight:700;line-height:1}.drawer-status-error{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.drawer-status-success{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}.drawer-divider{height:1.5px;margin:0;background:#94a3b8}.drawer-version{padding:12px 16px 16px;color:#ffffff8c;font-size:12px}@media(max-width:720px){.drawer-trigger{display:inline-flex;align-items:center;justify-content:center}}.ingredient-grid{display:grid;gap:8px}.ingredient-card{display:flex;align-items:stretch;gap:8px;padding:0;border:1px solid #d6e1de;border-radius:8px;background:#f4f8f7;overflow:hidden}.ingredient-card-main{display:flex;align-items:center;gap:10px;min-width:0;flex:1;padding:11px 12px;color:#17211f;text-decoration:none}.ingredient-card-main:hover{background:#e7f1ee}.ingredient-card-icon{width:24px;color:#0f766e;font-size:18px;text-align:center}.ingredient-card-name{min-width:0;flex:1;overflow-wrap:anywhere}.ingredient-card-amount{white-space:nowrap;color:#52645e}.ingredient-replace{align-self:center;margin-right:8px;white-space:nowrap}.ingredient-section-title{display:block;margin:10px 0 8px;color:#52645e}.recipe-steps{display:grid;gap:8px}.recipe-step{border-left:3px solid #14b8a6;border-radius:6px;background:#f5f9f8;overflow:hidden}.recipe-step-trigger{display:flex;align-items:flex-start;gap:12px;width:100%;padding:14px;border:0;background:transparent;color:#17211f;font:inherit;text-align:left}.recipe-step-trigger:not(:disabled){cursor:pointer}.recipe-step-trigger:not(:disabled):hover{background:#e7f1ee}.step-index{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 28px;border-radius:50%;background:#14b8a6;color:#fff;font-weight:700}.step-description{flex:1;white-space:pre-wrap;overflow-wrap:anywhere}.step-chevron{color:#0f766e;font-size:24px;line-height:24px}.step-note{margin:0 14px 12px 54px;padding:10px 12px;border:1px solid #f4d48c;border-radius:6px;background:#fff8e5;color:#5d4a18;white-space:pre-wrap}.recipe-step-media{margin:0 14px 14px 54px}.step-image-button{padding:0;border:0;background:transparent;cursor:zoom-in}.media-lightbox{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;background:#0f172ad1}.media-lightbox-content{position:relative;display:flex;align-items:center;justify-content:center;width:min(1100px,100%);height:min(90vh,800px)}.media-lightbox-media{max-width:90%;max-height:90%;object-fit:contain}.media-lightbox-close,.media-lightbox-prev,.media-lightbox-next{position:absolute;z-index:1;border:0;border-radius:50%;background:#ffffffe6;color:#17211f;cursor:pointer}.media-lightbox-close{top:0;right:0;width:36px;height:36px;font-size:24px}.media-lightbox-prev,.media-lightbox-next{top:50%;width:42px;height:42px;font-size:32px;line-height:32px;transform:translateY(-50%)}.media-lightbox-prev{left:0}.media-lightbox-next{right:0}.media-lightbox-count{position:absolute;bottom:0;left:50%;padding:4px 10px;border-radius:12px;background:#ffffffe6;transform:translate(-50%)}.ingredient-card-main{cursor:pointer;font:inherit;text-align:left}.ingredient-sheet-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:center;background:#0f172a75}.ingredient-sheet{display:grid;gap:16px;width:min(680px,100%);max-height:86vh;overflow-y:auto;padding:20px;border-radius:14px 14px 0 0;background:#fff;box-shadow:0 -8px 28px #0f172a33}.ingredient-sheet-main{display:grid;grid-template-columns:minmax(150px,200px) 1fr;gap:22px;align-items:center}.ingredient-sheet-main img{width:100%;aspect-ratio:1;border-radius:12px;object-fit:cover;background:#edf1ef}.ingredient-nutrition{display:grid;gap:7px}.ingredient-nutrition span,.ingredient-shops>span{color:#52645e;font-style:italic}.ingredient-shops{display:grid;gap:7px}.ingredient-shops a{color:#0f766e;overflow-wrap:anywhere}@media(max-width:560px){.ingredient-sheet-main{grid-template-columns:1fr}.ingredient-sheet-main img{width:min(220px,70vw);justify-self:center}}.recipe-categories{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:-8px 0 14px;color:#52645e;font-size:14px}.recipe-categories span{padding:3px 8px;border:1px solid #d6e1de;border-radius:999px;background:#f3f8f6}.recipe-macro-header{display:flex;align-items:center;justify-content:center;gap:28px;margin:10px 0 14px;padding:12px 0}.portion-control,.macro-total{display:grid;gap:6px}.macro-label{color:#52645e;font-size:13px}.macro-total strong{font-size:14px}@media(max-width:560px){.recipe-macro-header{align-items:stretch;flex-direction:column;gap:10px}}.tati-post{margin:4px 0 24px;padding:16px 18px;border-left:4px solid #b86a54;border:1px solid #e9ded6;border-left-width:4px;border-radius:8px;background:#f8f3ef}.tati-post-author{margin-bottom:12px;color:#17211f;font-weight:700}.tati-post-collapsed{display:block;width:100%;padding:0;border:0;background:transparent;color:#17211f;font:inherit;line-height:1.35;text-align:left;cursor:pointer;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}.tati-post-toggle{margin-top:8px;padding:0;border:0;background:transparent;color:#9b4d3b;font:inherit;cursor:pointer}.detail-hero{display:flex;flex-direction:column;gap:0}.detail-hero>.page-header{order:2;padding:18px 8px 10px;text-align:center}.detail-hero>img,.detail-hero>video{order:1;width:100%;aspect-ratio:1 / 1;border-radius:8px;object-fit:cover;background:#111827}.editor-nutrition{display:grid;gap:4px;padding:10px 12px;border:1px solid #d6e1de;border-radius:6px;background:#f3f8f6}.food-dialog-backdrop{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:16px;background:#0f172a75}.food-dialog{width:min(420px,100%);display:grid;gap:16px}.story-card-preview{width:100%;aspect-ratio:1 / 1;border-radius:50%;object-fit:cover;background:#e5e7eb}.story-card-placeholder{border:4px solid #d1d5db}.recipe-book-badge{position:absolute;right:8px;bottom:8px;padding:4px 7px;border-radius:999px;background:#0f766ee6;color:#fff;font-size:11px;font-weight:700}.ingredient-image-button{padding:0;border:0;background:transparent;cursor:zoom-in}.main-search-tile{display:flex;align-items:center;gap:10px;min-height:72px;margin-bottom:12px;font-size:1.05rem}.main-search-icon{padding-right:10px;border-right:1px solid rgba(148,163,184,.35);color:#cbd5e1}.story-link-error{position:fixed;top:16px;left:50%;z-index:22;max-width:calc(100% - 32px);transform:translate(-50%);padding:10px 14px;background:#7f1d1d;color:#fff;border-radius:6px}.confidentiality-footer{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 10px 18px;color:var(--muted);font-size:10px;text-align:center}.confidentiality-footer button{padding:0;border:0;background:none;color:var(--accent);font:inherit;text-decoration:underline;cursor:pointer}.legal-dialog-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:16px;background:#0009}.legal-dialog{width:min(560px,100%);max-height:min(80vh,640px);overflow:auto}:root{--surface: #ffffff;--surface-muted: #f3f8f6;--line: #d6e1de;--text: #17211f;--muted: #52645e;--accent: #0f766e;color:var(--text);background:var(--surface);color-scheme:light}body{background:var(--surface);color:var(--text)}.app-shell{background:var(--surface)}.topbar{background:#fffffff0;border-bottom-color:var(--line)}.brand,.page-title{color:var(--text)}.page-subtitle,.page-state{color:var(--muted)}.panel{border-color:var(--line);background:var(--surface);box-shadow:0 2px 10px #17211f0a}.recipe-card,.quick-tile,.story-chip,.main-asset-tile{border-color:var(--line);background:var(--surface);color:var(--text);box-shadow:0 2px 8px #17211f0d;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.recipe-card:hover,.quick-tile:hover,.story-chip:hover,.main-asset-tile:hover{border-color:#9fcac0;box-shadow:0 8px 18px #17211f1a;transform:translateY(-2px)}.recipe-card img{transition:transform .24s ease,opacity .24s ease}.recipe-card:hover img{transform:scale(1.025)}textarea,select,input:not([type=checkbox]):not([type=file]){border-color:var(--line);background:var(--surface);color:var(--text)}.field label{color:var(--muted)}.primary-button,.secondary-button,.ghost-button,.drawer-link,.drawer-action{transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.primary-button:hover,.secondary-button:hover,.ghost-button:hover{transform:translateY(-1px)}.page{animation:none}.drawer-backdrop{animation:backdrop-in .16s ease-out both}.side-drawer{animation:drawer-in .2s cubic-bezier(.2,.8,.2,1) both}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes drawer-in{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.recipe-card{position:relative;min-height:220px;aspect-ratio:4 / 3;border-radius:8px;background:#dfeae7}.recipe-card .recipe-image-wrap{position:absolute;inset:0;overflow:hidden}.recipe-card .recipe-image-wrap:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#0f172a14 35%,#0f172ac7)}.recipe-card .recipe-image-wrap>img{width:100%;height:100%;aspect-ratio:auto}.recipe-card-body{position:absolute;z-index:1;inset:auto 12px 12px;display:grid;gap:7px;padding:0;color:#fff}.recipe-card-title{width:fit-content;max-width:100%;padding:5px 9px;border-radius:20px;background:#0f172a94;color:#fff;font-size:13px;line-height:1.25}.recipe-card .macro-row{width:fit-content;max-width:100%;padding:4px 9px;border-radius:20px;background:#0f172a94;color:#fff}.recipe-card .recipe-book-badge{inset:10px auto auto 10px;z-index:2}.recipe-card .icon-button{z-index:2}.list-row,.message-row,.admin-user-row{border-bottom-color:#e2ebe8}.admin-user-row{color:var(--text)}.metric-box span,.log-box{color:var(--muted)}.macro-box strong{color:var(--text)}.tag-button{border-color:var(--line);background:var(--surface-muted);color:var(--text)}.tag-button-active{border-color:#43a99b;background:#e2f2ee;color:#14534d}.food-search{border-color:var(--line);background:var(--surface-muted)}.main-search-icon{border-right-color:var(--line);color:var(--muted)}.topnav{color:var(--muted)}.recipe-book-badge-1{background:#2563ebe6}.recipe-book-badge-2{background:#ea580ce6}.recipe-book-badge-3{background:#db2777e6}.recipe-book-badge-4{background:#16a34ae6}.recipe-book-badge-5{background:#84cc16e6;color:#17211f}.recipe-book-badge-6{background:#f59e0beb;color:#17211f}.recipe-book-badge--1{background:#2563ebeb}.drawer-backdrop.drawer-closing{animation:backdrop-out .18s ease-in both}.side-drawer.drawer-closing{animation:drawer-out .2s cubic-bezier(.4,0,1,1) both}@keyframes backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes drawer-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-18px)}}.drawer-toggle{grid-template-columns:24px minmax(0,1fr) auto}.drawer-switch{display:inline-flex;align-items:center;width:52px;height:32px;padding:2px;border:2px solid #fff;border-radius:999px;background:transparent;transition:background .15s ease,border-color .15s ease}.drawer-toggle .drawer-switch{margin-right:12px}.drawer-switch span{width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .15s ease}.drawer-switch-on{border-color:#bb86fc;background:#bb86fc}.drawer-switch-on span{transform:translate(20px)}.ingredient-sheet-backdrop,.food-dialog-backdrop,.legal-dialog-backdrop{animation:backdrop-in .16s ease-out both}.ingredient-sheet{animation:sheet-up .22s cubic-bezier(.2,.8,.2,1) both}.food-dialog,.legal-dialog{animation:dialog-in .2s ease-out both}.media-lightbox{animation:backdrop-in .16s ease-out both}@keyframes sheet-up{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.story-progress span{position:relative;overflow:hidden}.story-progress-active:after{content:"";position:absolute;inset:0;background:#fff;transform-origin:left;animation:story-progress-fill 5s linear both}@keyframes story-progress-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.recipe-book-badge{display:grid;place-items:center;width:30px;height:30px;padding:4px;border-radius:50%}.recipe-book-badge img{width:20px;height:20px;object-fit:contain;filter:brightness(0) invert(1)}.recipe-book-badge-5 img,.recipe-book-badge-6 img{filter:brightness(0)}.main-collections{width:100%}.main-section-title{margin:5px 20px 10px;font-size:14px;font-weight:400}.recipe-card-book--1{border-color:#2196f3}.recipe-card-book-0{border-color:#17211f}.recipe-card-book-1{border-color:#536dfe}.recipe-card-book-2{border-color:#f28c28}.recipe-card-book-3{border-color:#e83e8c}.recipe-card-book-4{border-color:#35a853}.recipe-card-book-5{border-color:#8bc34a}.recipe-card-book-6{border-color:#f5b400}.recipe-card{aspect-ratio:1 / 1;min-height:180px}.recipe-card-body{inset:12px;height:calc(100% - 24px);align-content:space-between}.filter-toggle{display:inline-flex;align-items:center;gap:6px}.filter-toggle-icon{width:22px;height:22px;object-fit:contain}.meal-heading{display:flex;align-items:center;gap:10px;padding:12px 12px 10px 16px}.meal-icon{color:#d99a19;font-size:28px;line-height:1}.meal-heading-name{display:grid;flex:1;gap:2px;min-width:0}.meal-heading-name .recipe-card-title{padding:0;background:transparent;color:var(--text);font-size:20px}.meal-heading-name small{color:var(--muted)}.meal-calories{font-size:22px}.meal-expand,.meal-add{flex:0 0 auto}.meal-add{width:40px;height:40px;font-size:24px}.recipe-card .recipe-book-badge{inset:auto 8px 15px auto;padding:5px;border:3px solid rgba(255,255,255,.55);background:#0000002e}.recipe-card .recipe-book-badge img{filter:brightness(0) invert(1)}.recipe-card .recipe-book-badge img{width:20px;height:20px;aspect-ratio:1 / 1;background:transparent;object-fit:contain;border-radius:0}.recipe-card .recipe-book-badge{box-sizing:border-box;width:36px;height:36px;line-height:0}.recipe-card .icon-button{box-sizing:border-box;padding:0;line-height:0;font-family:Segoe UI Symbol,Arial,sans-serif;font-size:24px;text-align:center}.recipe-card-link{display:block;height:100%;color:inherit;text-decoration:none}.recipe-card>.icon-button{position:absolute;top:8px;right:8px;z-index:3}.detail-media-frame{position:relative}.detail-media-frame>img,.detail-media-frame>video{display:block;width:100%;aspect-ratio:1 / 1;border-radius:8px;object-fit:cover;background:#111827}.detail-media-frame>img{animation:detail-media-fade .3s ease-out both}@keyframes detail-media-fade{0%{opacity:0}to{opacity:1}}.detail-action-panel{position:absolute;top:10px;right:10px;z-index:3;display:flex;gap:6px}.detail-action-panel .icon-button,.detail-share-button{width:44px;height:44px;border:0;border-radius:50%;background:#80808099;color:#facc15;cursor:pointer}.detail-action-panel .icon-button.icon-button-active{border:0;color:#facc15;background:#80808099}.detail-share-button{display:grid;place-items:center}.detail-share-svg{width:22px;height:22px;color:#fff}.detail-share-feedback{position:absolute;top:50px;right:0;width:max-content;max-width:240px;padding:8px 12px;border-radius:8px;background:#17211feb;color:#fff;font-size:12px}.detail-media-handle{position:absolute;right:0;bottom:-1px;left:0;height:30px;border-radius:20px 20px 0 0;background:#ffffffe6;pointer-events:none}.detail-media-handle:after{content:"";position:absolute;top:14px;left:50%;width:40px;height:2px;transform:translate(-50%);background:#777}.detail-heading{text-align:center}.detail-heading .page-title{max-width:720px;margin:14px auto 8px;font-size:26px}.detail-heading .page-title{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.detail-section-divider{display:flex;align-items:center;gap:12px;margin:10px 30px 1px;color:#17211f;font-size:16px;font-weight:700}.detail-section-divider:before,.detail-section-divider:after{content:"";height:1px;flex:1;background:#9aa7a2}.recipe-macro-header{align-items:center}.macro-total{display:grid;grid-template-columns:repeat(4,minmax(48px,1fr));gap:10px;align-items:center}.macro-total{display:flex;min-width:min(360px,100%);flex-direction:column;align-items:center;gap:4px;text-align:center}.macro-item{display:grid;justify-items:center;text-align:center}.macro-symbol{color:#52645e;font-size:22px;line-height:1}.macro-header-svg{width:25px;height:25px;color:#52645e}.portion-button{width:38px;height:38px;border:0;border-radius:8px;background:#eef2f1;color:#17211f;font-size:22px;cursor:pointer}.recipe-steps{position:relative}.recipe-steps:before{content:"";position:absolute;top:14px;bottom:14px;left:13px;width:2px;background:#14b8a6}.recipe-step:last-child:after{content:"";position:absolute;top:28px;bottom:0;left:11px;z-index:1;width:5px;background:var(--surface, #fff)}.recipe-step{position:relative;border-left:0;border-radius:0;background:transparent;padding-left:38px}.recipe-step-trigger{position:relative;border-radius:8px;background:#f5f9f8;padding:12px 10px 12px 48px}.recipe-step-trigger .step-index{position:absolute;top:12px;left:-38px;z-index:3}.recipe-step-trigger .step-index{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;font-family:Arial,sans-serif;font-size:20px;line-height:1;font-weight:400;padding:0 0 2px}.recipe-step-trigger .step-index-media{font-size:18px;padding-bottom:1px}.recipe-step-trigger .step-index-expanded{font-size:20px;padding-bottom:1px;transform:none}.step-indicator-svg{display:block;width:18px;height:18px}.recipe-step-media{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;height:300px;padding:8px;margin:0 0 14px}.recipe-step-media{scrollbar-width:thin;scrollbar-color:#8b9a96 transparent;touch-action:pan-x}.recipe-step-media-scrollable{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pan-y;cursor:grab;-webkit-user-select:none;user-select:none}.recipe-step-media-scrollable:active{cursor:grabbing}.recipe-step-media::-webkit-scrollbar{height:1px}.recipe-step-media::-webkit-scrollbar-track{background:transparent}.recipe-step-media::-webkit-scrollbar-thumb{background:#8b9a96}.recipe-step-media .step-media{flex:0 0 280px;width:280px;height:280px;aspect-ratio:1}.recipe-step-expanded .recipe-step-media{animation:recipe-step-open .18s ease-out both}.step-note{display:flex;align-items:flex-start;gap:8px}.step-note-icon{flex:0 0 auto;font-size:18px;line-height:1.2}.step-note-svg{display:block;width:19px;height:19px}@keyframes recipe-step-open{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.tati-post-author-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.tati-post-author-row img{width:48px;height:48px;border:2px solid #fff;border-radius:50%;object-fit:cover;box-shadow:0 2px 6px #00000024}.tati-post-author{margin:0}.tati-post-body{max-height:6em;overflow:hidden;transition:max-height .18s ease-out}.tati-post-body-expanded{max-height:1000px}.tati-post-toggle{min-height:28px}.step-media-indicator{display:flex;justify-content:center;gap:6px;margin:-4px 0 12px}.step-media-indicator button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:#b8c6c2;cursor:pointer}.step-media-indicator button.active{width:18px;border-radius:6px;background:#14b8a6}.notes-panel .primary-button{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;padding:8px 12px}.notes-panel .primary-button>span:first-child{font-size:20px;line-height:1}.notes-keyboard-spacer{height:300px}.ingredient-section-card{margin:12px 5px;padding:12px 5px;border-radius:20px;background:#e5e7eb}.ingredient-section-card .ingredient-section-title{display:block;padding:5px;color:#52645e;font-size:12px;font-style:italic;text-align:center}.ingredient-section-card .ingredient-grid{gap:6px}.ingredient-card{border:0;border-radius:10px;background:#d1d5db;box-shadow:none;transition:background .18s ease,transform .18s ease}.ingredient-card:active{transform:scale(.99)}.ingredient-card-main{gap:14px;padding:8px 14px;background:transparent}.ingredient-card-main{border:0;box-shadow:none;appearance:none}.ingredient-card-main:hover{background:#c8ced1}.ingredient-card-icon{color:#17211f;font-size:20px}.ingredient-card-name{font-size:14px;color:#111827}.ingredient-card-amount{color:#111827}.ingredient-card-actions{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:4px;padding:4px 8px 4px 0}.ingredient-replace{min-width:78px;min-height:30px;padding:4px 11px;border:0;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:12px;cursor:pointer}.ingredient-replace:hover{background:#bfdbfe}.replacement-dots{display:flex;gap:4px;align-items:center}.replacement-dots span{width:6px;height:6px;border-radius:999px;background:#6b7280;transition:width .18s ease,background .18s ease}.replacement-dots span.active{width:14px;background:#14b8a6}.ingredient-card-name{animation:ingredient-name-in .18s ease-out}@keyframes ingredient-name-in{0%{opacity:.2;transform:translate(6px)}to{opacity:1;transform:translate(0)}}.ingredient-card.replacement-state-1 .ingredient-replace{background:#fef3c7;color:#92400e}.ingredient-card.replacement-state-2 .ingredient-replace{background:#fee2e2;color:#991b1b}.ingredient-card.replacement-state-3 .ingredient-replace{background:#dcfce7;color:#166534}.ingredient-card.replacement-state-4 .ingredient-replace{background:#f3e8ff;color:#6b21a8}.ingredient-card-main:focus-visible,.ingredient-replace:focus-visible,.replacement-dots:focus-visible{outline:2px solid #0f766e;outline-offset:2px}.ingredients-panel{border:0;border-radius:0;background:transparent;box-shadow:none;padding:5px 0}.app-shell-login{min-height:100dvh;background:#0f172a;color:#f8fafc}.main-surface-login{width:100%;min-height:100dvh;margin:0;padding:0}.login-page{display:grid;grid-template-rows:minmax(0,1fr) 65px;min-height:100dvh;overflow:hidden;background:#0f172a;color:#f8fafc;font-family:Roboto,Segoe UI,sans-serif}.login-body{position:relative;display:grid;min-height:0;place-items:center}.login-scroll-view{width:100%;max-height:100%;overflow-y:auto;padding:24px 16px}.login-content{display:flex;width:min(680px,100%);min-height:100%;margin:auto;flex-direction:column;justify-content:center;align-items:stretch}.login-avatar{display:block;width:214px;height:214px;align-self:center;border:7px solid #fff;border-radius:50%;object-fit:cover}.login-title{margin:0;color:#f8fafc;font-size:28px;font-weight:700;line-height:1.3;text-align:center}.login-instructions{margin:16px 0 0;color:#757575;font-size:16px;line-height:1.5;text-align:center}.login-instructions a{color:#bb86fc;text-decoration:underline}.login-form{display:grid;gap:0;margin-top:32px;padding:0 8px}.login-code-field{position:relative;display:block;padding-bottom:24px}.login-code-field input{width:100%;min-height:56px;padding:14px 48px;border:1px solid #8e98a8;border-radius:15px;background:transparent;color:#f8fafc;caret-color:#d0bcff;font-size:16px;line-height:24px;text-align:center;outline:none}.login-code-field input::placeholder{color:#9ca3af;opacity:1}.login-code-field input:hover{border-color:#f8fafc}.login-code-field input:focus{border:2px solid #d0bcff;padding:13px 47px}.login-code-field input:disabled{color:#77808f;border-color:#596273;cursor:default}.login-field-label{position:absolute;top:-8px;left:13px;z-index:1;padding:0 4px;background:#0f172a;color:#cbd5e1;font-size:12px;line-height:16px}.login-code-field:focus-within .login-field-label{color:#d0bcff}.login-security-icon{position:absolute;top:16px;left:17px;width:24px;height:24px;fill:currentColor;color:#cbd5e1}.login-code-counter{position:absolute;right:12px;bottom:2px;color:#9ca3af;font-size:12px}.login-submit{display:inline-grid;width:100%;min-height:52px;margin-top:0;place-items:center;border:0;border-radius:20px;background:#d0bcff;color:#381e72;font:inherit;font-size:16px;font-weight:600;cursor:pointer}.login-submit:focus-visible{outline:3px solid #fff;outline-offset:2px}.login-submit:disabled{background:#d0bcff61;color:#f8fafc61;cursor:default}.login-error{display:flex;align-items:center;gap:8px;margin-top:16px;padding:12px;border:1px solid #ef9a9a;border-radius:8px;background:#ffebee;color:#d32f2f;font-size:14px}.login-error-icon{display:inline-grid;width:22px;height:22px;flex:0 0 22px;place-items:center;border:2px solid currentColor;border-radius:50%;font-weight:700}.cookie-progress{display:block;width:96px;height:96px;flex:0 0 96px;overflow:hidden;border:3px solid #fff;border-radius:50%;background:transparent;animation:cookie-progress-spin 1s linear infinite}.cookie-progress img{display:block;width:100%;height:100%;object-fit:cover}.cookie-progress-compact{width:20px;height:20px;flex-basis:20px;border-width:1px}@keyframes cookie-progress-spin{to{transform:rotate(1turn)}}.login-legal-footer{display:flex;height:65px;flex-direction:column;align-items:center;justify-content:center;background:#1e293b;box-shadow:0 -1px 3px #00000059;color:#f8fafc;font-size:10px;line-height:1.4;text-align:center}.login-legal-footer button{padding:0;border:0;background:none;color:#2196f3;font:inherit;cursor:pointer}.login-legal-backdrop{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-end;justify-content:center;background:#0009}.login-legal-sheet{width:min(680px,100%);max-height:80dvh;overflow-y:auto;padding:20px;border-radius:20px 20px 0 0;background:#1e293b;color:#f8fafc}.login-legal-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.login-legal-header h2{margin:0;font-size:22px}.login-legal-header button{width:48px;height:48px;border:0;border-radius:50%;background:transparent;color:#f8fafc;font-size:28px;cursor:pointer}.login-legal-sheet a{color:#bb86fc}@media(max-height:650px){.login-content{justify-content:flex-start}.login-avatar{width:164px;height:164px}}@media(max-width:480px){.login-scroll-view{padding:16px 8px}.login-content{width:100%}.login-instructions{padding:0 8px}}.ingredient-card-icon img{display:block;width:24px;height:24px;object-fit:contain}.ingredient-image-fallback{padding:28px;object-fit:contain!important;background:#edf1ef!important}.ingredient-card-actions{flex:0 0 auto;padding:4px 0}.ingredient-card-amount{display:flex;align-items:center;flex:0 0 auto;min-width:48px;padding:0 12px 0 4px;font-size:14px;text-align:right}.replacement-dots{display:none}.recipe-floating-back{position:fixed;top:25vh;left:0;z-index:12;display:grid;place-items:center;width:42px;height:42px;border-radius:0 21px 21px 0;background:#14b8a6eb;color:#fff;font-size:27px;line-height:1;text-decoration:none;box-shadow:0 2px 8px #17211f29}.ingredient-sheet{position:relative;padding:28px 20px 20px;border-radius:20px 20px 0 0;animation:ingredient-sheet-open .18s ease-out both}.ingredient-sheet:before{content:"";position:absolute;top:10px;left:50%;width:40px;height:3px;border-radius:999px;background:#9aa7a2;transform:translate(-50%)}@keyframes ingredient-sheet-open{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.notes-save-svg{display:block;width:19px;height:19px}.main-surface-login{max-width:none}.login-page{background:#0f172a}.login-scroll-view{padding:24px 16px}.login-content{width:min(460px,100%);min-height:auto;justify-content:flex-start}.login-version{min-height:16px;color:#737b89;font-size:11px;line-height:16px;text-align:right}.login-avatar{width:112px;height:112px;margin-top:8px;border-width:4px}.login-auth-card{display:flex;margin-top:24px;padding:0 20px;flex-direction:column;align-items:stretch}.login-title{font-size:24px;line-height:32px}.login-subtitle{margin:6px 0 0;color:#6f7279;font-size:16px;line-height:24px;text-align:center}.login-form-fields{display:grid;gap:16px;margin-top:18px}.login-field{position:relative;display:flex;min-height:48px;align-items:center;border:1px solid #f8fafc;border-radius:15px;color:#f8fafc}.login-field:focus-within{border-width:1.6px}.login-field>.login-glyph{position:absolute;left:10px;width:24px;height:24px;pointer-events:none}.login-field input{width:100%;min-height:46px;padding:10px 52px!important;border:0!important;border-radius:15px;background:transparent!important;box-shadow:none!important;color:#f8fafc!important;font-size:16px;outline:0}.login-field input::placeholder{color:#f8fafc;opacity:1}.login-field input:disabled{opacity:.55}.login-password-toggle{position:absolute;right:5px;display:grid;width:42px;height:42px;place-items:center;padding:0;border:0;background:transparent;color:#f8fafc;cursor:pointer}.login-password-toggle .login-glyph{width:25px;height:25px}.login-code-counter{position:absolute;right:10px;bottom:-19px;color:#9ca3af;font-size:11px}.login-telegram-help{margin:0 0 2px;color:#757575;font-size:16px;line-height:1.45;text-align:center}.login-telegram-help a{color:#d0bcff;text-decoration:underline}.login-action-row{display:flex;gap:12px;margin-top:18px}.login-primary-action,.login-quick-action{display:grid;min-height:48px;place-items:center;border-radius:24px;font:inherit;font-size:16px;cursor:pointer}.login-primary-action{flex:2 1 0;border:0;background:#1e293b;color:#cf7cff}.login-quick-action{flex:1 1 0;border:1px solid #fff;background:transparent;color:#fff}.login-quick-action .login-glyph{width:20px;height:20px}.login-primary-action:disabled,.login-quick-action:disabled{opacity:.55;cursor:default}.login-primary-action:focus-visible,.login-quick-action:focus-visible{outline:2px solid #d0bcff;outline-offset:2px}.login-divider{height:1.2px;margin:20px 0;background:#cf7cff}.login-secondary-actions{display:grid;gap:8px}.login-secondary-actions button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:8px;padding:10px 24px;border:1.4px solid #cf7cff;border-radius:24px;background:transparent;color:#cf7cff;font:inherit;cursor:pointer}.login-secondary-actions button:disabled{opacity:.5;cursor:default}.login-secondary-actions .login-glyph{width:19px;height:19px}.login-glyph{display:block;fill:currentColor}.login-message{display:grid;grid-template-columns:24px minmax(0,1fr) 28px;gap:8px;align-items:start;margin-top:16px;padding:12px;border:1px solid;border-radius:12px;font-size:14px}.login-message-error{border-color:#ef9a9a;background:#ffebee;color:#d32f2f}.login-message-info{border-color:#a5d6a7;background:#e8f5e9;color:#388e3c}.login-message-icon{display:grid;width:22px;height:22px;place-items:center;border:2px solid currentColor;border-radius:50%;font-weight:700}.login-message button{width:28px;height:28px;padding:0;border:0;background:transparent;color:inherit;font-size:20px;cursor:pointer}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:480px){.login-scroll-view{padding:20px 16px}.login-auth-card{padding:0}}@media(max-height:820px){.login-scroll-view{padding-top:12px;padding-bottom:16px}.login-avatar{width:92px;height:92px;margin-top:4px}.login-auth-card{margin-top:14px}.login-form-fields{margin-top:12px}.login-action-row{margin-top:14px}.login-divider{margin:14px 0}}.app-shell-main{height:100dvh;overflow:hidden;background:#0f172a;color:#f8fafc}.topbar-main{position:relative;min-height:56px;padding:0 4px;border:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.main-profile-button{position:relative;display:grid;width:48px;height:48px;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:#f8fafc;cursor:pointer}.main-profile-button:hover{background:#ffffff14}.main-profile-button:focus-visible{outline:2px solid #d0bcff;outline-offset:0}.main-profile-button>svg{width:24px;height:24px;fill:currentColor}.main-profile-button .unread-badge{position:absolute;top:1px;right:-2px;min-width:18px;min-height:18px;line-height:16px}.main-surface-main{width:100%;max-width:none;height:calc(100dvh - 56px);margin:0;padding:0;overflow:hidden;background:#0f172a}.main-surface-main>.alert{position:fixed;top:58px;right:8px;left:8px;z-index:20}.main-page{display:grid;grid-template-rows:minmax(0,1fr) 65px;width:100%;height:100%;overflow:hidden;background:#0f172a;color:#f8fafc}.main-page-scroll{display:flex;min-height:0;overflow-x:hidden;overflow-y:auto;flex-direction:column;gap:5px;overscroll-behavior-y:contain;scrollbar-color:rgba(208,188,255,.45) transparent;scrollbar-width:thin}.main-page-scroll>*{flex-shrink:0}.main-horizontal-strip{display:flex;width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;align-items:stretch;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x pan-y;cursor:grab;-webkit-user-select:none;user-select:none}.main-horizontal-strip:active{cursor:grabbing}.main-horizontal-strip::-webkit-scrollbar{display:none}.main-stories-section{width:100%;padding-top:10px}.main-stories-strip{height:140px;gap:10px;align-items:flex-start;padding:0 10px}.story-circle{display:flex;width:80px;flex:0 0 80px;flex-direction:column;align-items:center;gap:5px;color:#f8fafc;text-align:center;text-decoration:none}.story-circle-ring{position:relative;display:grid;width:80px;height:80px;flex:0 0 80px;place-items:center;padding:0;border-radius:50%}.story-circle-ring-svg{position:absolute;inset:0;display:block;width:80px;height:80px}.story-circle-image{position:relative;z-index:1;display:grid;width:74px;height:74px;place-items:center;padding:3px;overflow:hidden;border-radius:50%;background:#fff}.story-circle-image img,.story-circle-placeholder{display:block;width:68px;height:68px;border-radius:50%;object-fit:cover}.story-circle-placeholder{display:grid;place-items:center;background:#d1d5db;color:#ffffff8c}.story-circle-placeholder .main-inline-icon{width:25px;height:25px}.story-circle-title{display:-webkit-box;width:80px;overflow:hidden;color:#f8fafc;font-size:12px;line-height:14px;-webkit-box-orient:vertical;-webkit-line-clamp:3}.main-stories-placeholder{height:150px;padding-top:10px}.story-placeholder-item{display:flex;width:80px;flex:0 0 80px;flex-direction:column;align-items:center;gap:5px}.story-placeholder-item span{width:80px;height:80px;border-radius:50%;background:#d1d5db}.story-placeholder-item i{width:60px;height:28px;border-radius:6px;background:#d1d5db}.main-search-wrap{display:grid;width:calc(100% - 4px);height:100px;margin:0 2px;place-items:center;padding:0 12px;border-radius:15px;background:#00bcd466}.main-search-tile{display:flex;width:100%;min-height:50px;margin:0;align-items:center;gap:8px;padding:0 10px;border-radius:15px;background:#fff;color:#111827;font-size:14px;text-decoration:none}.main-search-tile .main-inline-icon{width:24px;height:24px;flex:0 0 24px;color:#757575}.main-search-divider{width:1px;height:32px;flex:0 0 1px;background:#9e9e9e}.main-inline-icon{display:block;fill:currentColor}.main-section{width:100%}.main-section>h2{margin:5px 0 5px 20px;color:#f8fafc;font-family:Roboto,Segoe UI,Arial,sans-serif;font-size:18px;font-weight:400;line-height:24px;letter-spacing:.25px}.main-categories-strip{height:140px;gap:10px;padding:10px;background:#1e293b}.main-category-card{position:relative;display:block;width:120px;height:120px;flex:0 0 120px;overflow:hidden;border:1px solid #fff;border-radius:20px;color:#fff;text-decoration:none}.main-category-card img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;pointer-events:none}.main-category-card span{position:absolute;right:8px;bottom:8px;left:8px;padding:3px;border-radius:10px;background:#0003;font-family:serif;font-size:14px;font-weight:500;line-height:20px;letter-spacing:.1px}.main-collections>h2{margin-bottom:10px;font-size:14px;line-height:20px}.main-books-strip{height:180px;gap:8px;padding:8px 4px;background:#1e293b}.main-book-card{display:block;width:109.333px;height:164px;flex:0 0 109.333px;overflow:hidden;border:1.5px solid #fff;color:#fff;text-decoration:none}.main-book-card img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;pointer-events:none}.main-dishes-section>h2{margin-top:10px;margin-bottom:10px}.main-dishes-strip{display:flex;height:400px;grid-template-columns:none;gap:10px;padding:10px;background:#1e293b}.main-dish-card{position:relative;display:block;width:200px;height:380px;min-height:0;flex:0 0 200px;overflow:hidden;border:1.5px solid #fff;border-radius:20px;background:#1e293b;color:#fff;text-decoration:none}.main-dish-card>img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:top center;pointer-events:none}.main-dish-label,.main-dish-caption{position:absolute;left:2px;padding:5px 10px;border-radius:20px;color:#fff;font-family:Calibri,Arial,sans-serif;font-size:12px;line-height:16px}.main-dish-label{top:2px;right:auto}.main-dish-caption{right:2px;bottom:2px;display:flex;flex-direction:column;align-items:center;gap:0;text-align:center}.main-dish-caption strong{display:-webkit-box;overflow:hidden;font-size:12px;font-weight:400;-webkit-box-orient:vertical;-webkit-line-clamp:3}.main-dish-caption small{font-size:12px}.main-dish-label-0,.main-dish-caption-0{background:#9c27b080}.main-dish-label-1,.main-dish-caption-1{background:#2196f380}.main-dish-label-2,.main-dish-caption-2{background:#4caf5080}.main-dishes-loading{height:72px;flex:0 0 72px}.main-dishes-error{display:grid;min-height:72px;place-items:center;color:#f8fafc}.main-page-bottom-space{height:50px;flex:0 0 50px}.main-confidentiality-footer{display:flex;height:65px;padding:0 10px;flex-direction:column;align-items:center;justify-content:center;background:#1e293b;box-shadow:0 -1px 3px #00000059;color:#f8fafc;font-size:10px;line-height:14px;text-align:center}.main-confidentiality-footer button{color:#2196f3}.app-shell-main .legal-dialog{border-color:#475569;background:#1e293b;color:#f8fafc}.app-shell-main .legal-dialog .page-title{color:#f8fafc}.app-shell-recipe-list{min-height:100vh;min-height:100svh;min-height:100dvh;overflow:visible;background:#0f172a;font-family:Roboto,Segoe UI,Arial,sans-serif}.main-surface-recipe-list{width:100%;max-width:none;min-height:100vh;min-height:100svh;min-height:100dvh;margin:0;padding:0;overflow:visible;background:#0f172a}.recipe-list-page{position:relative;width:100%;min-height:100vh;min-height:100svh;min-height:100dvh;overflow-x:clip;overflow-y:visible;background:#0f172a;color:#fff;font-size:14px;line-height:20px;scrollbar-width:none}.recipe-list-page::-webkit-scrollbar{display:none}.recipe-list-page-restoring .recipe-list-grid{visibility:hidden}.recipe-list-return-loader{position:fixed;inset:calc(80px + env(safe-area-inset-top,0px)) 0 0;z-index:14;display:grid;place-items:center;background:#0f172a}.recipe-list-filterbar{position:sticky;top:0;z-index:15;width:100%;height:calc(80px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);overflow:hidden;background:#00bcd4cc;box-shadow:0 5px 18px #0003;transition:height .16s ease}.recipe-list-filterbar-expanded{height:calc(180px + env(safe-area-inset-top,0px))}.recipe-list-search-row{display:flex;width:100%;height:80px;align-items:center;gap:4px;padding:8px 8px 8px 16px}.recipe-list-filterbar-expanded .recipe-list-search-row{height:64px}.recipe-list-search-field{display:flex;min-width:0;height:48px;flex:1;align-items:center;overflow:hidden;border-radius:20px;background:#fff}.recipe-list-search-field input{min-width:0;height:48px;flex:1;padding:0;border:0!important;outline:0;background:#fff!important;color:#00897b!important;font-size:12px;line-height:17px}.recipe-list-search-field input::placeholder{color:#1f2937;font-size:16px;line-height:24px;opacity:1}.recipe-search-edge-button{display:grid;width:44px;height:48px;flex:0 0 44px;place-items:center;padding:0;border:0;background:transparent;color:#6b7280}button.recipe-search-edge-button{cursor:pointer}.recipe-search-clear{color:#00897b}.recipe-search-edge-button svg{width:24px;height:24px;fill:currentColor}.recipe-search-mode{width:48px;flex-basis:48px}.recipe-search-mode img{width:25px;height:25px;object-fit:contain}.recipe-filter-button{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;padding:0;border:0;background:transparent;cursor:pointer}.recipe-filter-button:focus{outline:0}.recipe-filter-button img{width:25px;height:25px;object-fit:contain}.recipe-list-filter-panel{display:grid;height:116px;grid-template-rows:58px 58px;transform:translateY(-2px)}.recipe-filter-row{display:grid;min-width:0;grid-template-columns:139px minmax(0,1fr);align-items:center;padding:0 16px;color:#fff;font-size:14px;line-height:20px}.recipe-filter-select-wrap{position:relative;display:block;min-width:0}.recipe-filter-select-wrap select{display:block;width:100%;height:50px;padding:0 44px 0 14px;border:0!important;border-radius:20px;outline:0;background:#fff!important;color:#111827!important;font-family:inherit;font-size:16px;font-weight:400;line-height:24px;appearance:none}.recipe-filter-row:first-child .recipe-filter-select-wrap:before{content:"–";position:absolute;top:50%;right:46px;z-index:1;color:#111827;font-size:16px;line-height:1;pointer-events:none;transform:translateY(-55%)}.recipe-filter-book-icon{position:absolute;top:50%;right:12px;width:16px;height:16px;pointer-events:none;fill:#00bcd4;transform:translateY(-50%)}.recipe-list-error{position:fixed;top:88px;right:8px;left:8px;z-index:25}.recipe-list-grid{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;background:#0f172a}.recipe-list-grid .recipe-list-card{position:relative;min-width:0;min-height:0;aspect-ratio:7 / 10;overflow:hidden;border:0;border-radius:0;background:#2c3e50;box-shadow:none;color:#fff;transition:none}.recipe-list-grid .recipe-list-card:hover{border:0;box-shadow:none;transform:none}.recipe-list-card .recipe-card-link{position:absolute;inset:0;height:auto}.recipe-list-card .recipe-image-wrap{position:absolute;inset:0;overflow:hidden}.recipe-list-card .recipe-image-wrap:after{display:none}.recipe-list-card .recipe-image-wrap>img{position:relative;z-index:1;display:block;width:100%;height:100%;aspect-ratio:auto;border-radius:0;background:#111827;object-fit:cover;transition:opacity .24s ease}.recipe-list-card:hover .recipe-image-wrap>img{transform:none}.recipe-list-card .recipe-card-body{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;padding:0;pointer-events:none}.recipe-list-card .recipe-card-title{position:absolute;top:25px;right:56px;left:16px;display:-webkit-box;width:fit-content;max-width:calc(100% - 72px);max-height:61px;margin:0;overflow:hidden;padding:5px 9px;border-radius:20px;background:#0000004d;color:#fff;font-family:Calibri,Arial,sans-serif;font-size:12px;font-weight:400;line-height:17px;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:3}.recipe-list-card .macro-row{position:absolute;bottom:15px;left:15px;width:fit-content;max-width:calc(100% - 76px);padding:6px 9px;border-radius:30px;background:#0000004d;color:#fff;font-family:serif;font-size:12px;line-height:17px}.recipe-list-card.recipe-card-book--1 .recipe-card-title,.recipe-list-card.recipe-card-book--1 .macro-row{background:#2196f34d}.recipe-list-card.recipe-card-book-1 .recipe-card-title,.recipe-list-card.recipe-card-book-1 .macro-row{background:#536dfe4d}.recipe-list-card.recipe-card-book-2 .recipe-card-title,.recipe-list-card.recipe-card-book-2 .macro-row{background:#ff98004d}.recipe-list-card.recipe-card-book-3 .recipe-card-title,.recipe-list-card.recipe-card-book-3 .macro-row{background:#e91e634d}.recipe-list-card.recipe-card-book-4 .recipe-card-title,.recipe-list-card.recipe-card-book-4 .macro-row{background:#4caf504d}.recipe-list-card.recipe-card-book-5 .recipe-card-title,.recipe-list-card.recipe-card-book-5 .macro-row{background:#8bc34a4d}.recipe-list-card.recipe-card-book-6 .recipe-card-title,.recipe-list-card.recipe-card-book-6 .macro-row{background:#ffc1074d}.recipe-list-card .recipe-book-badge{position:absolute;right:8px;bottom:15px;left:auto;z-index:2;display:grid;box-sizing:border-box;width:36px;height:36px;place-items:center;padding:5px;border:3px solid rgba(255,255,255,.5);border-radius:50%;background:transparent}.recipe-list-card .recipe-book-badge img{width:20px;height:20px;border-radius:0;filter:brightness(0) invert(1);object-fit:contain}.recipe-list-card>.icon-button{position:absolute;top:17px;right:8px;z-index:3;display:grid;width:48px;height:48px;place-items:center;padding:0;border:0;background:transparent;color:#ffc107;font-family:Segoe UI Symbol,Arial,sans-serif;font-size:28px;line-height:1}.recipe-list-card>.icon-button.icon-button-active{border:0;background:transparent;color:#ffc107}.recipe-list-placeholder{position:relative;display:grid;aspect-ratio:7 / 10;place-items:center;border:1px solid #607d8b;border-radius:10px;background:#2c3e50}.recipe-list-placeholder-1{background:#34495e}.recipe-list-placeholder-2{background:#2d3e4f}.recipe-list-placeholder-3{background:#3a4a5a}.recipe-list-placeholder-4{background:#2b3a4a}.recipe-list-placeholder-5{background:#354b5e}.recipe-list-placeholder span{width:26px;height:26px;border:3px solid rgba(255,255,255,.35);border-top-color:#00bcd4;border-radius:50%;animation:recipe-list-spin .8s linear infinite}@keyframes recipe-list-spin{to{transform:rotate(360deg)}}.recipe-list-sentinel{width:1px;height:1px}.recipe-list-back{position:fixed;bottom:25vh;bottom:25svh;left:0;z-index:18;display:grid;width:50px;height:50px;place-items:center;border:1px solid #f5f5f5;border-left:0;border-radius:0 15px 15px 0;background:#607d8bcc;color:#fff;text-decoration:none}.recipe-list-back:hover{background:#00bcd480}.recipe-list-back svg{width:28px;height:28px;fill:currentColor;transform:translate(-2px)}.recipe-list-snackbar{position:fixed;right:16px;bottom:24px;left:16px;z-index:30;max-width:560px;margin:0 auto;padding:14px 16px;border-radius:4px;background:#323232;color:#fff;box-shadow:0 4px 16px #00000059;font-size:14px}@media(min-width:600px){.recipe-list-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:800px){.recipe-list-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:1000px){.recipe-list-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.app-shell-recipe-details{min-height:100dvh;background:#fff;color:#000;font-family:Roboto,Segoe UI,Arial,sans-serif}.main-surface-recipe-details{width:100%;min-height:100dvh;margin:0;padding:0}html:has(.app-shell-recipe-details),body:has(.app-shell-recipe-details){scrollbar-width:none}html:has(.app-shell-recipe-details)::-webkit-scrollbar,body:has(.app-shell-recipe-details)::-webkit-scrollbar{width:0;height:0}.recipe-details-page{display:block;min-height:100dvh;overflow:visible;background:#fff;color:#000;font-size:14px;line-height:20px;animation:none}.recipe-details-page .panel{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.recipe-details-loading{display:grid;min-height:100dvh;place-items:center;background:#fff}.recipe-details-error{display:grid;min-height:100dvh;place-content:center;justify-items:center;gap:8px;padding:24px;color:#000;text-align:center}.recipe-details-error strong{font-size:18px}.recipe-details-error>span{color:#0000008a}.recipe-details-page .detail-media-frame{width:100%}.recipe-details-page .detail-media-frame>img,.recipe-details-page .detail-media-frame>video{width:100%;aspect-ratio:1;border-radius:0;object-fit:cover}.recipe-details-page .detail-action-panel{top:10px;right:10px;gap:2px}.recipe-details-page .detail-action-panel .icon-button,.recipe-details-page .detail-share-button{display:grid;width:48px;height:48px;place-items:center;padding:0;border:0;border-radius:50%;background:#80808099}.recipe-details-page .detail-action-panel .icon-button{color:#ffc107;font-family:Segoe UI Symbol,Arial,sans-serif;font-size:28px;line-height:1}.recipe-details-page .detail-media-handle{border-radius:20px 20px 0 0}.recipe-details-page .detail-heading{padding:20px 16px 18px;text-align:center}.recipe-details-page .detail-heading .page-title{margin:0 auto;color:#000;font-size:26px;font-weight:700;line-height:37px}.recipe-details-page .recipe-categories{display:block;margin:14px 0 0;color:#9e9e9e;font-size:16px;line-height:23px}.recipe-details-page .recipe-categories span{padding:0;border:0;background:transparent}.recipe-details-page .recipe-categories span:not(:last-child):after{content:", "}.recipe-details-page .tati-post{margin:4px 20px 24px;padding:16px 16px 14px 20px;border:1px solid #e9ded6;border-left:4px solid #b86a54;border-radius:8px;background:#f8f3ef;color:#000}.recipe-details-page .tati-post-author-row img{width:48px;height:48px}.recipe-details-page .tati-post-author{font-size:16px;line-height:24px}.recipe-details-page .tati-post-collapsed,.recipe-details-page .tati-post .rich-text{color:#000;font-size:16px;line-height:21.6px}.recipe-details-page .tati-post-toggle{font-size:14px;font-weight:500;line-height:20px}.recipe-details-page .tati-post .rich-text,.recipe-details-page .tati-post .rich-text p,.recipe-details-page .tati-post .rich-text div,.recipe-details-page .tati-post .rich-text span{background:transparent!important}.recipe-details-page .recipe-macro-header{display:flex;margin:10px 0 14px;padding:12px 0;flex-direction:row!important;align-items:center!important;justify-content:space-evenly;gap:0;font-family:Roboto,Segoe UI,Arial,sans-serif}.recipe-details-page .portion-control,.recipe-details-page .macro-total{min-width:0;flex:0 1 42%;justify-items:center;color:#000;text-align:center}.recipe-details-page .macro-label{color:#000;font-size:14px;line-height:20px}.recipe-details-page .macro-total strong{color:#000;font-size:14px;font-weight:400;line-height:20px}.recipe-details-page .macro-total .muted{color:#616161;font-size:12px;line-height:17px}.recipe-details-page .macro-header-svg{color:#000}.recipe-details-page .portion-control .button-row{flex-wrap:nowrap;gap:0}.recipe-details-page .portion-button{width:66px;height:34px;border-radius:18px;background:#eee;color:#bb86fc;font-size:20px}.recipe-details-page .detail-section-divider{display:grid;gap:7px;margin:10px 30px 1px;color:#000;font-size:16px;font-weight:700;line-height:23px;text-align:center}.recipe-details-page .detail-section-divider:before,.recipe-details-page .detail-section-divider:after{width:100%;height:1px;background:#9e9e9e;content:""}.recipe-details-page .detail-section-divider span{grid-row:2}.recipe-details-page .detail-section-divider:after{grid-row:3}.recipe-details-page .ingredient-section-card{margin:5px 10px;padding:5px;border-radius:20px;background:#eee}.recipe-details-page .ingredient-section-card .ingredient-grid{display:grid;gap:0}.recipe-details-page .ingredient-section-title{color:#607d8b;font-size:12px;font-style:italic;font-weight:400;line-height:17px;text-align:center}.recipe-details-page .ingredient-card{min-height:42px;margin:4px 0;gap:0;border:0;border-radius:10px;background:#e0e0e0;color:#000}.recipe-details-page .ingredient-card-main{gap:14px;padding:8px 14px;color:#000}.recipe-details-page .ingredient-card-main:hover{background:#00bcd414}.recipe-details-page .ingredient-card-icon{width:24px;height:24px;color:#fff}.recipe-details-page .ingredient-card-icon img{filter:brightness(0) invert(1)}.recipe-details-page .ingredient-card-name,.recipe-details-page .ingredient-card-amount{color:#000;font-size:14px;line-height:20px}.recipe-details-page .ingredient-card-amount{min-width:52px;padding-right:14px}.recipe-details-page .ingredient-replace{color:#1565c0;font-size:12px;font-weight:400;line-height:17px;text-transform:lowercase}.recipe-details-page .section-list{margin:0}.recipe-details-page .recipe-steps{display:grid;gap:0;padding:8px 0}.recipe-details-page .recipe-steps:before{top:23px;bottom:23px;left:34px;background:#00bcd4}.recipe-details-page .recipe-step{min-height:48px;padding:0 20px 0 60px;border:0;background:transparent;overflow:visible}.recipe-details-page .recipe-step:last-child:after{left:32px;background:#fff}.recipe-details-page .recipe-step-trigger{min-height:48px;padding:10px 0;border-radius:0;background:transparent;color:#000}.recipe-details-page .recipe-step-trigger:not(:disabled):hover{background:#00bcd40f}.recipe-details-page .recipe-step-trigger .step-index{top:9px;left:-40px;width:30px;height:30px;flex-basis:30px;background:#00bcd4}.recipe-details-page .step-description{color:#000;font-size:14px;line-height:20px}.recipe-details-page .step-note{margin:0 0 10px;padding:12px;border-color:#ffe082;border-radius:8px;background:#fff8e1;color:#000000de;font-size:14px;line-height:18.9px}.recipe-details-page .recipe-step-media{margin:0 0 14px}.recipe-details-page .recipe-notes{padding-bottom:8px;background:#fff;color:#000}.recipe-details-page .recipe-comment{padding:10px 30px 20px;color:#000;font-size:16px;line-height:normal}.recipe-details-page .recipe-comment>:first-child{margin-top:0}.recipe-details-page .recipe-comment>:last-child{margin-bottom:0}.recipe-details-page .notes-panel{margin:8px;padding:12px;border:0;border-radius:8px;background:#eee;color:#000}.recipe-details-page .notes-header{color:#000;font-size:14px;font-weight:400;line-height:20px}.recipe-details-page .note-wrap textarea{font-size:16px;line-height:24px}.recipe-details-page .note-wrap textarea::placeholder{font-family:Roboto,Segoe UI,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:21px}.recipe-details-page .ingredient-sheet{width:min(680px,100%);padding:28px 16px 20px}.recipe-details-page .ingredient-sheet .title-row{padding:0}.recipe-details-page .ingredient-sheet .title-row h2{margin:0;font-size:18px}.recipe-details-page .ingredient-sheet-close{width:48px;height:48px;padding:0;border:0;background:transparent;color:#424242;font-size:27px;line-height:1;cursor:pointer}.recipe-details-page .ingredient-sheet-main{display:grid;grid-template-columns:180px minmax(0,1fr)!important;gap:30px;padding:20px 0}.recipe-details-page .ingredient-image-button img{width:180px;height:180px;border-radius:20px;object-fit:cover}.recipe-details-page .ingredient-nutrition{align-content:center;color:#000}.recipe-details-page .ingredient-nutrition span{color:#9e9e9e;font-size:12px}.recipe-details-page .ingredient-nutrition strong{font-weight:400}.recipe-details-page .ingredient-shops{padding:16px 0}.recipe-details-page .recipe-floating-back{top:auto;bottom:25vh;bottom:25svh;width:50px;height:50px;border:1px solid #f5f5f5;border-left:0;border-radius:0 15px 15px 0;background:#607d8bcc;box-shadow:none;font-size:0}.recipe-details-page .recipe-floating-back:hover{background:#00bcd480}.recipe-details-page .recipe-floating-back svg{width:28px;height:28px;fill:currentColor;transform:translate(-2px)}.recipe-details-page .pay-stub{min-height:100dvh;padding:24px 20px;place-content:center;color:#000}.recipe-details-page .pay-stub-image{width:210px;height:210px;border:5px solid #fff}.recipe-details-page .pay-stub .page-subtitle{max-width:760px;color:#000;text-align:center}@media(max-width:560px){.recipe-details-page .detail-heading{padding-right:12px;padding-left:12px}.recipe-details-page .detail-heading .page-title{font-size:26px}.recipe-details-page .recipe-macro-header{flex-direction:row!important}.recipe-details-page .portion-button{width:64px}.recipe-details-page .tati-post{margin-right:20px;margin-left:20px}.recipe-details-page .ingredient-sheet-main{grid-template-columns:180px minmax(0,1fr)!important;gap:20px}.recipe-details-page .ingredient-sheet{overflow-x:hidden}}.ingredient-editor-page .ingredient-editor-search input{height:54px;min-height:54px;padding:0 18px 0 50px;border:1px solid #9e9e9e;border-radius:30px;background:#fff;color:#212121}.ingredient-editor-sheet .ingredient-editor-main-fields input,.ingredient-editor-sheet .ingredient-editor-macros input{height:48px;min-height:48px;padding:0 10px;border:0;border-radius:10px;background:#00bcd4;color:#fff}.ingredient-editor-sheet .ingredient-link-fields input{min-height:34px;padding:2px 0;border:0;border-bottom:1px solid #9e9e9e;border-radius:0;background:#fff;color:#212121}.app-shell-admin-users{min-height:100dvh;background:#fff;color:#1d1b20;font-family:Roboto,Segoe UI,Arial,sans-serif}.main-surface-admin-users{width:100%;max-width:none;min-height:100dvh;margin:0;padding:0}.admin-users-page{position:relative;min-height:100dvh;background:#fff;color:#1d1b20}.admin-users-appbar{position:sticky;top:0;z-index:20;display:flex;min-height:72px;align-items:center;gap:4px;padding:8px 4px;background:#fff;color:#000}.admin-users-appbar-button{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:#1d1b20;cursor:pointer}.admin-users-appbar-button:hover{background:#1d1b2014}.admin-users-appbar-button:focus-visible{outline:2px solid #00838f;outline-offset:2px}.admin-users-appbar-button svg,.admin-users-fab svg,.admin-user-actions svg{width:24px;height:24px;fill:currentColor}.admin-users-search{position:relative;min-width:0;flex:1}.admin-users-search>svg{position:absolute;top:50%;left:14px;z-index:1;width:24px;height:24px;color:#49454f;fill:currentColor;pointer-events:none;transform:translateY(-50%)}.admin-users-page .admin-users-search input{width:100%;height:56px;min-height:56px;padding:0 14px 0 50px;border:1px solid #79747e;border-radius:4px;outline:0;background:#fff;color:#1d1b20;font:inherit;font-size:16px}.admin-users-page .admin-users-search input::placeholder{color:#49454f;opacity:1}.admin-users-page .admin-users-search input:focus{border:2px solid #00838f;padding-left:49px}.admin-users-list{display:grid;gap:8px;padding:12px 12px 96px}.admin-users-page-state{display:grid;min-height:calc(100dvh - 96px);place-items:center;color:#1d1b20;text-align:center}.admin-user-card{display:block;padding:10px 12px;border:0;border-radius:12px;outline:0;background:#fff;color:#1d1b20;box-shadow:0 1px 2px #0000002e,0 1px 3px #0000001f;cursor:pointer}.admin-user-card:hover{background:#f8f8f8}.admin-user-card:focus-visible{outline:2px solid #00838f;outline-offset:2px}.admin-user-card-main{display:flex;min-width:0;align-items:flex-start;gap:12px}.admin-user-avatar{display:grid;width:40px;height:40px;flex:0 0 40px;place-items:center;overflow:hidden;border-radius:50%;background:#b2ebf2;color:#004d40;font-size:16px}.admin-user-card-copy{min-width:0;flex:1}.admin-user-card-copy strong{display:block;overflow:hidden;color:#1d1b20;font-size:16px;font-weight:500;line-height:24px;text-overflow:ellipsis;white-space:nowrap}.admin-user-card-copy>span{display:-webkit-box;margin-top:4px;overflow:hidden;color:#1d1b20;font-size:14px;line-height:20px;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:3}.admin-user-actions{margin-top:8px}.admin-user-actions>div{display:flex;justify-content:flex-end}.admin-user-actions button{display:grid;width:48px;height:42px;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:#49454f;cursor:pointer}.admin-user-actions button:hover{background:#1d1b2014}.admin-user-actions button:focus-visible{outline:2px solid #00838f;outline-offset:-2px}.admin-user-actions button:disabled{cursor:wait;opacity:.5}.admin-users-fab{position:fixed;right:24px;bottom:24px;z-index:25;display:grid;width:56px;height:56px;place-items:center;padding:0;border:0;border-radius:16px;background:#b2ebf2;color:#004d40;box-shadow:0 3px 8px #00000047;cursor:pointer}.admin-users-fab:hover{background:#9de4ed}.admin-users-fab:focus-visible{outline:2px solid #00838f;outline-offset:3px}.admin-users-dialog-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;overflow-y:auto;padding:24px 16px;background:#00000052}.admin-users-dialog{width:min(var(--admin-dialog-width),calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:hidden;border-radius:28px;background:#fff;color:#1d1b20;box-shadow:0 8px 30px #00000047}.admin-users-dialog>h2{margin:0;padding:24px 24px 16px;color:#1d1b20;font-size:24px;font-weight:400;line-height:32px}.admin-users-dialog-content{max-height:calc(100dvh - 186px);overflow-y:auto;padding:0 24px;overscroll-behavior:contain}.admin-users-dialog-actions{display:flex;min-height:72px;align-items:center;justify-content:flex-end;gap:8px;padding:12px 24px 16px}.admin-users-text-button,.admin-users-filled-button{min-width:64px;min-height:40px;padding:0 18px;border:0;border-radius:20px;font:inherit;font-size:14px;font-weight:500;letter-spacing:.1px;cursor:pointer}.admin-users-text-button{background:transparent;color:#00838f}.admin-users-filled-button{background:#00838f;color:#fff}.admin-users-text-button:hover{background:#00838f14}.admin-users-filled-button:hover{background:#006f79}.admin-users-text-button:disabled,.admin-users-filled-button:disabled{cursor:default;opacity:.45}.admin-user-editor-form,.admin-user-premium-form{display:grid;gap:10px;padding-top:8px}.admin-users-field{position:relative;display:block;padding-top:7px}.admin-users-field>span{position:absolute;top:0;left:12px;z-index:1;padding:0 4px;background:#fff;color:#49454f;font-size:12px;line-height:16px;pointer-events:none}.admin-users-page .admin-users-field input{width:100%;height:56px;min-height:56px;padding:8px 14px 0;border:1px solid #79747e;border-radius:4px;outline:0;background:#fff;color:#1d1b20;font:inherit;font-size:16px}.admin-users-page .admin-users-field input:focus{border:2px solid #00838f;padding-right:13px;padding-left:13px}.admin-users-field:focus-within>span{color:#00838f}.admin-users-page .admin-users-field input::placeholder{color:#79747e;opacity:1}.admin-users-page .admin-users-field input:disabled{background:#f4f2f4;color:#1d1b2061}.admin-users-field small{display:block;padding:4px 12px 0;color:#b3261e;font-size:12px}.admin-user-switch-row{display:flex;min-height:56px;align-items:center;justify-content:space-between;gap:16px;color:#1d1b20;font-size:16px;cursor:pointer}.admin-user-switch{position:relative;display:block;width:52px;height:32px;flex:0 0 52px;border:2px solid #79747e;border-radius:16px;background:#e6e0e9;transition:background .16s ease,border-color .16s ease}.admin-user-switch i{position:absolute;top:50%;left:6px;width:16px;height:16px;border-radius:50%;background:#79747e;transform:translateY(-50%);transition:left .16s ease,width .16s ease,height .16s ease,background .16s ease}.admin-user-switch-on{border-color:#00838f;background:#00838f}.admin-user-switch-on i{left:24px;width:24px;height:24px;background:#fff}.admin-user-switch-disabled{cursor:default;opacity:.45}.admin-user-books-list{max-height:420px;overflow-y:auto}.admin-user-book-tile{display:flex;min-height:64px;align-items:center;gap:16px;cursor:pointer}.admin-user-book-tile input{width:18px;height:18px;flex:0 0 18px;accent-color:#00838f}.admin-user-book-tile>span{display:grid;gap:2px;min-width:0}.admin-user-book-tile strong{color:#1d1b20;font-size:16px;font-weight:400}.admin-user-book-tile small{color:#49454f;font-size:14px}.admin-users-dialog-loading{display:grid;min-height:140px;place-items:center}.admin-users-dialog-error{min-height:100px;padding:24px 0;color:#b3261e}.admin-users-confirm-copy{margin:8px 0 12px;color:#1d1b20}.admin-users-payment-link{margin:8px 0 12px;color:#1d1b20;line-height:1.5;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}.admin-users-spinner{display:inline-block;width:20px;height:20px;border:2px solid rgba(0,131,143,.24);border-top-color:#00838f;border-radius:50%;animation:admin-users-spin .8s linear infinite}.admin-users-filled-button .admin-users-spinner,.admin-user-actions .admin-users-spinner{border-color:#ffffff59;border-top-color:currentColor}.admin-users-page-state .admin-users-spinner{width:96px;height:96px;border:3px solid #fff;background:transparent url(/assets/images/cookie.webp) center / cover no-repeat;box-shadow:0 0 0 1px #0000000f}@keyframes admin-users-spin{to{transform:rotate(360deg)}}.admin-users-snackbar{position:fixed;right:16px;bottom:24px;left:16px;z-index:100;max-width:560px;margin:0 auto;padding:14px 16px;border-radius:4px;background:#323232;color:#fff;box-shadow:0 4px 16px #0000004d;font-size:14px}@media(max-width:520px){.admin-users-appbar{padding-right:0;padding-left:0}.admin-users-list{padding-right:8px;padding-left:8px}.admin-users-dialog-backdrop{padding:12px 8px}.admin-users-dialog{width:min(var(--admin-dialog-width),calc(100vw - 16px));max-height:calc(100dvh - 24px)}.admin-users-dialog>h2{padding:20px 20px 14px;font-size:22px}.admin-users-dialog-content{max-height:calc(100dvh - 154px);padding:0 20px}.admin-users-dialog-actions{min-height:64px;padding:10px 20px 14px}}.app-shell-admin-analytics{min-height:100dvh;background:#0f172a;color:#e6e1e5;font-family:Roboto,Segoe UI,Arial,sans-serif}.main-surface-admin-analytics{width:100%;max-width:none;min-height:100dvh;margin:0;padding:0}.admin-analytics-page{min-height:100dvh;background:#0f172a;color:#e6e1e5}.admin-analytics-appbar{position:sticky;top:0;z-index:30;display:flex;min-height:64px;align-items:center;gap:4px;padding:4px 8px;background:#1e293b;color:#e6e1e5}.admin-analytics-appbar>button,.admin-analytics-icon-button{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:#e6e1e5;cursor:pointer}.admin-analytics-appbar>button:hover,.admin-analytics-icon-button:hover{background:#e6e1e514}.admin-analytics-appbar>button:focus-visible,.admin-analytics-icon-button:focus-visible{outline:2px solid #d0bcff;outline-offset:2px}.admin-analytics-appbar svg,.admin-analytics-icon-button svg,.admin-analytics-search-button svg,.admin-analytics-log-search label>svg,.admin-analytics-card-header svg{width:24px;height:24px;fill:currentColor}.admin-analytics-appbar h1{margin:0;padding:0 8px;color:#e6e1e5;font-size:22px;font-weight:400;line-height:28px}.admin-analytics-content{padding-bottom:24px}.admin-analytics-section-title{margin:0;padding:18px 16px 8px;color:#e6e1e5;font-size:22px;font-weight:400;line-height:28px}.admin-analytics-summary-toolbar{display:flex;min-height:48px;align-items:center;padding:0 12px}.admin-analytics-summary-toolbar>.admin-analytics-icon-button{margin-left:auto}.admin-analytics-segments{display:inline-flex;height:40px;align-items:stretch;overflow:hidden;border:1px solid #938f99;border-radius:20px}.admin-analytics-segments>button{position:relative;min-width:64px;padding:0 16px;border:0;border-left:1px solid #938f99;background:transparent;color:#e6e1e5;font:inherit;font-size:14px;font-weight:500;white-space:nowrap;cursor:pointer}.admin-analytics-segments>button:first-child{border-left:0}.admin-analytics-segments>button:hover{background:#e6e1e514}.admin-analytics-segments>button:focus-visible{z-index:1;outline:2px solid #d0bcff;outline-offset:-2px}.admin-analytics-segments>.admin-analytics-segment-selected{padding-left:34px;background:#4a4458;color:#eaddff}.admin-analytics-segments>.admin-analytics-segment-selected:before{position:absolute;top:50%;left:14px;width:12px;height:6px;border-bottom:2px solid currentColor;border-left:2px solid currentColor;content:"";transform:translateY(-70%) rotate(-45deg)}.admin-analytics-summary-cards{display:block}.admin-analytics-card,.admin-analytics-log-card{overflow:hidden;border:0;border-radius:12px;background:#1e293b;color:#e6e1e5;box-shadow:0 1px 2px #00000057,0 1px 3px #0000003d}.admin-analytics-card{margin:8px 12px}.admin-analytics-card-header{display:flex;width:100%;min-height:48px;align-items:center;justify-content:space-between;gap:12px;padding:10px 8px 10px 12px;border:0;background:transparent;color:#e6e1e5;font:inherit;text-align:left;cursor:pointer}.admin-analytics-card-header:hover{background:#e6e1e50f}.admin-analytics-card-header:focus-visible{outline:2px solid #d0bcff;outline-offset:-2px}.admin-analytics-card-header>span{min-width:0;flex:1;font-size:16px;font-weight:500;line-height:24px}.admin-analytics-card-header svg{flex:0 0 24px}.admin-analytics-card-body{padding:0 12px 12px;color:#e6e1e5;animation:admin-analytics-expand .18s ease-in-out}.admin-analytics-card-body[hidden]{display:none}@keyframes admin-analytics-expand{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.admin-analytics-metric-row{display:flex;min-width:0;align-items:center;padding:3px 0;gap:12px;font-size:14px;line-height:20px}.admin-analytics-metric-row>span{min-width:0;flex:1;overflow:hidden;color:#e6e1e5;text-overflow:ellipsis;white-space:nowrap}.admin-analytics-metric-row>strong{flex:0 0 auto;color:#e6e1e5;font-size:14px;font-weight:500}.admin-analytics-recipe-day{padding-bottom:10px}.admin-analytics-recipe-day:last-child{padding-bottom:0}.admin-analytics-recipe-day>strong{display:block;margin-bottom:4px;color:#e6e1e5;font-size:14px;font-weight:500;line-height:20px}.admin-analytics-loading{display:grid;min-height:88px;place-items:center;padding:24px}.admin-analytics-loading>span,.admin-analytics-pull-indicator>span{display:block;width:36px;height:36px;border:4px solid rgba(208,188,255,.25);border-top-color:#d0bcff;border-radius:50%;animation:admin-analytics-spin .8s linear infinite}@keyframes admin-analytics-spin{to{transform:rotate(360deg)}}.admin-analytics-info{margin:8px 12px;padding:12px;border-radius:8px;background:#49454f;color:#e6e1e5;font-size:14px;line-height:20px}.admin-analytics-info-error{background:#8c1d18;color:#f9dedc}.admin-analytics-logs-toolbar{padding:0 12px 8px}.admin-analytics-log-search{display:flex;align-items:center;gap:8px}.admin-analytics-log-search>label{position:relative;display:block;min-width:0;flex:1;padding-top:7px}.admin-analytics-log-search label>span{position:absolute;top:0;left:48px;z-index:2;padding:0 4px;background:#0f172a;color:#cac4d0;font-size:12px;line-height:16px;pointer-events:none}.admin-analytics-log-search label>svg{position:absolute;top:calc(50% + 3px);left:14px;z-index:1;color:#cac4d0;pointer-events:none;transform:translateY(-50%)}.admin-analytics-page .admin-analytics-log-search input{width:100%;height:56px;min-height:56px;padding:8px 14px 0 50px;border:1px solid #938f99;border-radius:4px;outline:0;background:transparent;color:#e6e1e5;font:inherit;font-size:16px}.admin-analytics-page .admin-analytics-log-search input:focus{border:2px solid #d0bcff;padding-left:49px}.admin-analytics-log-search label:focus-within>span{color:#d0bcff}.admin-analytics-search-button{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;padding:0;border:0;border-radius:50%;background:#d0bcff;color:#381e72;cursor:pointer}.admin-analytics-search-button:hover{background:#c5aef8}.admin-analytics-search-button:focus-visible{outline:2px solid #eaddff;outline-offset:2px}.admin-analytics-lines-row{display:grid;grid-template-columns:auto minmax(0,1fr) 48px 48px;align-items:center;gap:0;margin-top:8px}.admin-analytics-log-card{margin:8px 12px 16px}.admin-analytics-log-line{padding:10px;border-top:1px solid rgba(202,196,208,.22);color:#e6e1e5;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:17px;overflow-wrap:anywhere;white-space:pre-wrap;-webkit-user-select:text;user-select:text}.admin-analytics-log-line:first-child{border-top:0}.admin-analytics-pull-indicator{position:fixed;top:72px;left:50%;z-index:40;display:grid;width:48px;height:48px;place-items:center;border-radius:50%;background:#1e293b;box-shadow:0 2px 8px #00000059;transform:translate(-50%)}.admin-analytics-pull-indicator>span{width:26px;height:26px;border-width:3px}@media(max-width:430px){.admin-analytics-segments>button{min-width:54px;padding-right:12px;padding-left:12px}.admin-analytics-segments>.admin-analytics-segment-selected{padding-left:30px}.admin-analytics-segments>.admin-analytics-segment-selected:before{left:11px}.admin-analytics-lines-row{grid-template-columns:minmax(0,auto) 1fr 44px 44px}.admin-analytics-lines-row .admin-analytics-icon-button{width:44px;flex-basis:44px}}.app-shell-feedback{height:100dvh;min-height:100dvh;overflow:hidden;background:#0f172a;color:#e6e1e5;font-family:Roboto,Segoe UI,Arial,sans-serif}.main-surface-feedback{width:100%;max-width:none;height:100dvh;min-height:100dvh;margin:0;padding:0;overflow:hidden}.feedback-page{position:relative;display:flex;width:100%;height:100dvh;min-height:0;flex-direction:column;overflow:hidden;background:#0f172a;color:#e6e1e5}.feedback-appbar{position:relative;z-index:20;display:flex;width:100%;min-height:64px;flex:0 0 64px;align-items:center;padding:4px 8px;background:#1e293b;color:#e6e1e5}.feedback-appbar>button,.feedback-appbar-actions>button,.feedback-settings-menu>button{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:#e6e1e5;cursor:pointer}.feedback-appbar>button:hover,.feedback-appbar-actions>button:hover,.feedback-settings-menu>button:hover{background:#e6e1e514}.feedback-appbar>button:focus-visible,.feedback-appbar-actions>button:focus-visible,.feedback-settings-menu>button:focus-visible{outline:2px solid #d0bcff;outline-offset:2px}.feedback-appbar svg,.feedback-unread-switch>svg,.feedback-message-menu svg,.feedback-popup-menu svg,.feedback-composer button svg{width:24px;height:24px;fill:currentColor}.feedback-appbar h1{min-width:0;flex:1;margin:0;overflow:hidden;padding:0 8px;color:#e6e1e5;font-size:22px;font-weight:400;line-height:28px;text-overflow:ellipsis;white-space:nowrap}.feedback-appbar-actions{display:flex;flex:0 0 auto;align-items:center}.feedback-chat-body{display:flex;min-height:0;flex:1;flex-direction:column}.feedback-message-list,.feedback-thread-list{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.feedback-message-list{padding:12px 12px 16px}.feedback-loading,.feedback-page-state{display:grid;min-height:100%;place-items:center;padding:24px;color:#e6e1e5;text-align:center}.feedback-loading>span,.feedback-button-spinner{display:block;width:36px;height:36px;border:4px solid rgba(208,188,255,.25);border-top-color:#d0bcff;border-radius:50%;animation:feedback-spin .8s linear infinite}@keyframes feedback-spin{to{transform:rotate(360deg)}}.feedback-bubble-row{display:flex;width:100%;justify-content:flex-start}.feedback-bubble-row-right{justify-content:flex-end}.feedback-bubble{position:relative;max-width:320px;margin:4px 0;padding:8px 12px 6px;border-radius:12px;background:#36343b;color:#e6e1e5;font-size:14px;line-height:20px}.feedback-bubble-right{background:#4f378b;color:#eaddff}.feedback-bubble-main{display:flex;min-width:0;align-items:flex-start}.feedback-bubble p{min-width:0;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.feedback-bubble a{color:#d0bcff;font-weight:600;text-decoration:underline;text-decoration-color:currentColor}.feedback-bubble a.feedback-link-right{color:#eaddff}.feedback-deleted-message{color:#cac4d0;font-style:italic}.feedback-bubble small{display:block;margin-top:4px;color:#cac4d0;font-size:11px;line-height:16px}.feedback-message-menu{position:relative;width:28px;height:28px;flex:0 0 28px;margin-left:4px}.feedback-message-menu>button{display:grid;width:28px;height:28px;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}.feedback-message-menu>button:hover{background:#ffffff1a}.feedback-message-menu>button svg{width:18px;height:18px}.feedback-popup-menu{position:absolute;top:30px;right:0;z-index:60;min-width:176px;overflow:hidden;padding:8px 0;border-radius:4px;background:#211f26;color:#e6e1e5;box-shadow:0 4px 14px #00000073}.feedback-popup-menu>button{display:flex;width:100%;min-height:48px;align-items:center;gap:12px;padding:0 16px;border:0;background:transparent;color:#e6e1e5;font:inherit;font-size:14px;text-align:left;white-space:nowrap;cursor:pointer}.feedback-popup-menu>button:hover{background:#e6e1e514}.feedback-popup-menu>button svg{width:20px;height:20px}.feedback-composer{display:flex;flex:0 0 auto;align-items:flex-end;gap:8px;padding:8px 12px 12px;background:#0f172a}.feedback-page .feedback-composer textarea{field-sizing:content;width:100%;min-width:0;min-height:56px;max-height:136px;flex:1;resize:none;padding:15px 14px;border:1px solid #938f99;border-radius:4px;outline:0;background:transparent;color:#e6e1e5;font:inherit;font-size:16px;line-height:24px}.feedback-page .feedback-composer textarea::placeholder{color:#cac4d0;opacity:1}.feedback-page .feedback-composer textarea:focus{border:2px solid #d0bcff;padding:14px 13px}.feedback-composer>button{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;margin-bottom:4px;padding:0;border:0;border-radius:50%;background:#d0bcff;color:#381e72;cursor:pointer}.feedback-composer>button:hover{background:#c5aef8}.feedback-composer>button:disabled{cursor:default;opacity:.38}.feedback-composer>button:focus-visible{outline:2px solid #eaddff;outline-offset:2px}.feedback-button-spinner{width:18px;height:18px;border-width:2px;border-color:#381e7240;border-top-color:#381e72}.feedback-unread-switch{display:grid;min-height:64px;flex:0 0 64px;grid-template-columns:40px minmax(0,1fr) 52px;align-items:center;gap:16px;padding:4px 16px;color:#e6e1e5;cursor:pointer}.feedback-unread-switch>svg{color:#cac4d0}.feedback-unread-switch>span{font-size:16px}.feedback-unread-switch>i{position:relative;display:block;width:52px;height:32px;border:2px solid #938f99;border-radius:16px;background:#36343b}.feedback-unread-switch>i>b{position:absolute;top:50%;left:6px;width:16px;height:16px;border-radius:50%;background:#938f99;transform:translateY(-50%);transition:left .16s ease,width .16s ease,height .16s ease}.feedback-unread-switch>i.feedback-switch-on{border-color:#d0bcff;background:#d0bcff}.feedback-unread-switch>i.feedback-switch-on>b{left:24px;width:24px;height:24px;background:#381e72}.feedback-divider{height:1px;flex:0 0 1px;background:#cac4d038}.feedback-thread-tile{display:grid;width:100%;min-height:72px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 16px;border:0;border-top:1px solid rgba(202,196,208,.22);background:transparent;color:#e6e1e5;font:inherit;text-align:left;cursor:pointer}.feedback-thread-tile:first-child{border-top:0}.feedback-thread-tile:hover{background:#e6e1e50f}.feedback-thread-tile:focus-visible{outline:2px solid #d0bcff;outline-offset:-2px}.feedback-thread-avatar{display:grid;width:40px;height:40px;place-items:center;overflow:hidden;border-radius:50%;background:#4f378b;color:#eaddff;font-size:14px}.feedback-thread-copy{display:grid;min-width:0;gap:2px}.feedback-thread-copy strong{overflow:hidden;color:#e6e1e5;font-size:16px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.feedback-thread-copy small{display:-webkit-box;overflow:hidden;color:#cac4d0;font-size:14px;font-weight:400;line-height:19px;-webkit-box-orient:vertical;-webkit-line-clamp:2}.feedback-thread-trailing{display:flex;min-width:42px;flex-direction:column;align-items:flex-end;justify-content:center;gap:4px}.feedback-thread-trailing time{color:#cac4d0;font-size:12px;white-space:nowrap}.feedback-unread-badge{display:grid;min-width:22px;min-height:22px;place-items:center;padding:0 6px;border-radius:11px;background:#f2b8b5;color:#601410;font-size:12px;font-weight:600}.feedback-settings-menu{position:relative}.feedback-settings-popup{top:48px;right:0;min-width:232px}.feedback-menu-check{display:grid;width:24px;height:24px;flex:0 0 24px;place-items:center}.feedback-dialog-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;overflow-y:auto;padding:24px 16px;background:#0000008f}.feedback-dialog{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:hidden;border-radius:28px;background:#211f26;color:#e6e1e5;box-shadow:0 8px 30px #0000007a}.feedback-dialog>h2{margin:0;padding:24px 24px 16px;color:#e6e1e5;font-size:24px;font-weight:400;line-height:32px}.feedback-dialog-content{padding:0 24px}.feedback-dialog-content>p{margin:8px 0 12px;color:#e6e1e5}.feedback-page .feedback-dialog-content textarea{width:100%;min-height:56px;max-height:220px;resize:vertical;padding:14px;border:1px solid #938f99;border-radius:4px;outline:0;background:transparent;color:#e6e1e5;font:inherit;font-size:16px;line-height:24px}.feedback-page .feedback-dialog-content textarea:focus{border:2px solid #d0bcff;padding:13px}.feedback-dialog-content>small{display:block;padding-top:4px;color:#cac4d0;font-size:12px;text-align:right}.feedback-dialog-actions{display:flex;min-height:72px;align-items:center;justify-content:flex-end;gap:8px;padding:12px 24px 16px}.feedback-text-button,.feedback-filled-button{min-width:64px;min-height:40px;padding:0 18px;border:0;border-radius:20px;font:inherit;font-size:14px;font-weight:500;cursor:pointer}.feedback-text-button{background:transparent;color:#d0bcff}.feedback-filled-button{background:#d0bcff;color:#381e72}.feedback-text-button:hover{background:#d0bcff14}.feedback-filled-button:hover{background:#c5aef8}.feedback-filled-button:disabled{opacity:.38;cursor:default}.feedback-snackbar{position:fixed;right:16px;bottom:24px;left:16px;z-index:120;max-width:560px;margin:0 auto;padding:14px 16px;border-radius:4px;background:#e6e1e5;color:#1d1b20;box-shadow:0 4px 18px #0000006b;font-size:14px}@media(max-width:420px){.feedback-thread-tile{padding-right:12px;padding-left:12px}.feedback-bubble{max-width:calc(100vw - 72px)}.feedback-dialog-backdrop{padding:12px 8px}.feedback-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 24px)}}.app-shell-story-editor{min-height:100vh;background:#fff;color:#212121;font-family:Roboto,Segoe UI,Arial,sans-serif}.main-surface-story-editor{width:100%;max-width:none;min-height:100vh;margin:0;padding:0}.story-editor-page{position:relative;min-height:100vh;background:#fff;color:#212121}.story-editor-page svg{width:24px;height:24px;fill:currentColor}.story-editor-appbar{position:sticky;top:0;z-index:20;display:flex;min-height:64px;align-items:center;padding:4px 8px;background:#fff;color:#000;box-shadow:0 1px #0000000f}.story-editor-icon-button{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:#212121;cursor:pointer}.story-editor-icon-button:hover{background:#0000000f}.story-editor-icon-button:focus-visible,.story-editor-page button:focus-visible{outline:2px solid #00838f;outline-offset:2px}.story-editor-title{display:flex;min-width:0;flex:1;align-items:center;justify-content:space-around;gap:16px;padding-right:8px}.story-editor-title h1{margin:0;color:#212121;font-size:22px;font-weight:400;line-height:28px}.story-editor-add-set{display:inline-flex;min-height:44px;align-items:center;gap:8px;padding:0 16px;border:0;border-radius:8px;background:#ccff90;color:#1b1b1b;font:inherit;font-size:14px;font-weight:500;cursor:pointer;box-shadow:0 1px 2px #0000002e}.story-editor-add-set:hover{background:#bfff72}.story-set-list{min-height:calc(100vh - 64px);padding:8px}.story-set-card{margin:4px 0;padding:16px;overflow:hidden;border:1px solid #9e9e9e;border-radius:15px;background:#fff;color:#212121;box-shadow:0 3px 6px #0000001f;transition:background .2s ease,height .3s ease;cursor:pointer}.story-set-card-hidden{background:#e0e0e0}.story-set-summary{display:flex;min-height:24px;align-items:center;justify-content:space-between;gap:16px}.story-set-summary>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.story-set-summary svg{flex:0 0 24px}.story-set-expanded{padding-top:8px;cursor:default}.story-set-status{display:grid;min-height:48px;grid-template-columns:minmax(80px,1fr) minmax(0,1fr) 48px;align-items:center}.story-set-status>span:nth-child(2){color:#616161;text-align:center}.story-save-button{color:#d1c4e9}.story-save-active{color:#673ab7}.story-checkbox{display:inline-flex;min-height:48px;align-items:center;gap:8px;cursor:pointer}.story-checkbox input{width:18px;height:18px;margin:0;accent-color:#00838f}.story-field{position:relative;display:block;padding-top:7px}.story-field>span{position:absolute;top:0;left:12px;z-index:1;padding:0 4px;background:inherit;color:#616161;font-size:12px;line-height:16px;pointer-events:none}.main-surface-story-editor .story-field input,.main-surface-story-editor .story-field textarea{width:100%;min-height:48px;padding:13px 12px 7px;border:0;border-bottom:1px solid #757575;border-radius:4px 4px 0 0;outline:0;background:#00000009;color:#212121;font:inherit;font-size:16px;resize:none}.story-field textarea{line-height:22px}.story-field:focus-within>span{color:#00838f}.main-surface-story-editor .story-field input:focus,.main-surface-story-editor .story-field textarea:focus{border-bottom:2px solid #00838f}.main-surface-story-editor .story-field-outlined input,.main-surface-story-editor .story-field-outlined textarea{border:1px solid #79747e;border-radius:4px;background:#fff}.main-surface-story-editor .story-field-outlined input:focus,.main-surface-story-editor .story-field-outlined textarea:focus{border:2px solid #00838f;padding:12px 11px 6px}.story-field-outlined>span{background:#fff}.story-strip-label{margin:18px 0 4px}.story-editor-strip{display:flex;height:160px;align-items:center;overflow-x:auto;padding:4px 0 10px;scrollbar-width:thin}.story-add-story{display:grid;width:64px;height:64px;flex:0 0 64px;place-items:center;margin:0 8px 0 0;padding:0;border:0;border-radius:50%;background:transparent;color:#424242;cursor:pointer}.story-add-story svg{width:40px;height:40px}.story-editor-tile{position:relative;width:120px;height:150px;flex:0 0 120px;margin:0 4px;padding:0;overflow:hidden;border:0;border-radius:8px;background:#9e9e9e;cursor:pointer}.story-editor-tile>img{display:block;width:100%;height:100%;object-fit:cover}.story-editor-tile-hidden>img{opacity:.4}.story-broken-image{position:absolute;inset:0;display:grid;place-items:center;color:#424242}.story-broken-image[hidden]{display:none}.story-visibility{position:absolute;top:4px;right:4px;display:grid;width:24px;height:24px;place-items:center;padding:4px;border-radius:4px;background:#ffffffb3;color:#212121}.story-visibility svg{width:16px;height:16px}.story-visibility-hidden{background:#00000073;color:#fff}.story-delete-set{display:inline-flex;min-height:48px;align-items:center;gap:8px;margin:8px;padding:0 16px;border:0;border-radius:8px;background:#f44336;color:#fff;font:inherit;font-weight:500;cursor:pointer}.story-sheet-backdrop{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-end;justify-content:center;background:#00000057}.story-editor-sheet{position:relative;width:min(760px,100%);height:66dvh;min-height:30dvh;max-height:90dvh;overflow-y:auto;background:#fff;color:#212121;box-shadow:0 -5px 20px #0000003d}.story-sheet-close{position:sticky;top:8px;z-index:4;display:grid;width:48px;height:48px;place-items:center;margin:8px 8px 0 auto;padding:0;border:0;border-radius:50%;background:#fff;color:#212121;box-shadow:0 1px 4px #0000002e;cursor:pointer}.story-sheet-close-saving{color:#00838f}.story-sheet-content{padding:0 16px 24px}.story-sheet-saving{min-height:18px;color:#757575;font-size:12px;text-align:center}.story-sheet-meta{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:12px}.story-sheet-editor-row{display:flex;align-items:flex-start;gap:10px}.story-sheet-fields{display:grid;min-width:0;flex:1;gap:5px}.story-sheet-media{display:flex;width:110px;flex:0 0 110px;flex-direction:column;align-items:center}.story-image-upload{position:relative;display:grid;width:100px;height:100px;place-items:center;overflow:hidden;border:1px solid #9e9e9e;border-radius:8px;background:#eee;cursor:pointer}.story-image-upload img{width:100%;height:100%;object-fit:cover}.story-image-upload input{display:none}.story-image-upload>span{position:absolute;inset:0;display:grid;place-items:center;background:#fffc;font-size:12px}.story-recipe-button{display:inline-flex;width:60px;height:40px;align-items:center;justify-content:center;gap:2px;margin:12px 6px 0;padding:0;border:0;border-radius:20px;background:#c2e7ff;color:#001d35;cursor:pointer}.story-delete-story{min-width:78px;min-height:58px;margin:20px 0;padding:8px 16px;border:0;border-radius:20px;background:#f44336;color:#fff;font:inherit;cursor:pointer}.story-dialog-backdrop{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:24px 16px;background:#00000061}.story-dialog{width:min(560px,100%);max-height:calc(100dvh - 48px);overflow-y:auto;border-radius:28px;background:#fff;color:#212121;box-shadow:0 8px 30px #0000004d}.story-dialog h2{margin:0;padding:24px 24px 12px;font-size:24px;font-weight:400}.story-dialog-content{padding:0 24px;line-height:22px}.story-dialog-actions{display:flex;min-height:64px;align-items:center;justify-content:flex-end;gap:8px;padding:8px 16px 16px}.story-dialog-actions button{min-height:40px;padding:0 16px;border:0;border-radius:20px;background:transparent;color:#00838f;font:inherit;font-weight:500;cursor:pointer}.story-dialog-actions .story-dialog-danger{color:#d32f2f}.story-recipe-dialog{width:min(560px,calc(100vw - 32px))}.story-recipe-search{display:flex;align-items:flex-end;gap:8px;padding:0 24px}.story-recipe-search .story-field{flex:1}.story-recipe-search>button{display:grid;width:48px;height:48px;place-items:center;padding:0;border:0;border-radius:12px;background:#c2e7ff;color:#001d35;cursor:pointer}.story-recipe-results{height:200px;overflow-y:auto;padding:16px 24px 0}.story-recipe-results>button{display:flex;width:100%;min-height:56px;align-items:center;gap:8px;margin:4px 0;padding:8px 16px;border:0;border-radius:12px;background:#fff;color:#212121;box-shadow:0 1px 4px #0003;font:inherit;text-align:left;cursor:pointer}.story-recipe-results>button>span{flex:1}.story-recipe-results small{color:#00000042}.story-editor-loading{display:grid;min-height:calc(100dvh - 64px);place-items:center}.story-editor-loading-compact{min-height:200px}.story-editor-loading img{width:96px;height:96px;border:3px solid #fff;border-radius:50%;animation:story-editor-spin 1s linear infinite}@keyframes story-editor-spin{to{transform:rotate(360deg)}}.story-editor-snackbar{position:fixed;right:16px;bottom:24px;left:16px;z-index:150;max-width:560px;margin:auto;padding:14px 16px;border-radius:4px;background:#323232;color:#fff;box-shadow:0 4px 16px #0000004d}.story-editor-snackbar-error{background:#b3261e}@media(max-width:520px){.story-editor-title{gap:8px}.story-editor-title h1{font-size:20px}.story-editor-add-set{padding:0 12px}.story-set-card{padding:14px}.story-sheet-content{padding-right:12px;padding-left:12px}.story-sheet-meta{font-size:13px}.story-sheet-editor-row{gap:6px}.story-sheet-media{width:104px;flex-basis:104px}}.main-surface-recipe-editor .recipe-edit-field{min-height:48px;margin:10px 20px;padding:10px;border:0;border-radius:10px;background:#f3fffe;color:#111}.main-surface-recipe-editor .recipe-edit-inline-field .recipe-edit-field{width:150px;margin:6px 0}.main-surface-recipe-editor .recipe-section-card>.recipe-edit-field{width:100%;margin:7px 0;background:#e0f7fa}.main-surface-recipe-editor .recipe-ingredient-card>.recipe-edit-field{width:82px;min-height:44px;margin:0;background:#fff}.main-surface-recipe-editor .recipe-step-description textarea{min-height:56px;padding:10px;border:0;border-radius:10px;background:#a1f3ec}.main-surface-recipe-editor .recipe-step-note textarea{min-height:46px;padding:12px 10px;border:0;border-radius:10px;background:transparent}@media(max-width:600px){.main-surface-recipe-editor .recipe-ingredient-card>.recipe-edit-field{margin-left:42px}}.recipe-card-link-checking{pointer-events:none;opacity:.72}.app-shell-passkeys{min-height:100dvh;background:#0f172a;color:#fff;font-family:Roboto,Segoe UI,Arial,sans-serif}.main-surface-passkeys{width:100%;max-width:none;min-height:100dvh;margin:0;padding:0}.passkeys-page{position:relative;display:flex;min-height:100dvh;flex-direction:column;background:#0f172a;color:#fff}.passkeys-page svg{width:24px;height:24px;fill:currentColor}.passkeys-appbar{display:flex;min-height:64px;flex:0 0 64px;align-items:center;padding:4px 8px;background:#0f172a;color:#fff}.passkeys-appbar h1{margin:0 0 0 8px;font-size:22px;font-weight:400;line-height:28px}.passkeys-back,.passkeys-delete{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:#fff;cursor:pointer}.passkeys-back:hover,.passkeys-delete:hover{background:#ffffff14}.passkeys-content{display:flex;min-height:0;flex:1;flex-direction:column;padding:16px}.passkeys-message{width:100%;margin:0 0 12px;padding:12px;border:1px solid;border-radius:12px;font-size:14px;line-height:20px}.passkeys-message-warning{border-color:#fed7aa;background:#fff7ed;color:#7c2d12}.passkeys-message-error{border-color:#fecaca;background:#fef2f2;color:#7f1d1d}.passkeys-message+.passkeys-add{margin-top:4px}.passkeys-add{display:inline-flex;width:100%;min-height:40px;align-items:center;justify-content:center;gap:8px;padding:0 24px;border:0;border-radius:20px;background:#263449;color:#d0bcff;box-shadow:0 1px 2px #00000059;font:inherit;font-size:14px;font-weight:500;letter-spacing:.1px;cursor:pointer}.passkeys-add:hover:not(:disabled){background:#2e3d53}.passkeys-add:disabled,.passkeys-delete:disabled{opacity:.38;cursor:default}.passkeys-list-area{position:relative;min-height:160px;flex:1;margin-top:16px}.passkeys-list{display:grid;gap:8px}.passkeys-card{display:grid;min-height:104px;grid-template-columns:40px minmax(0,1fr) 48px;align-items:center;padding:8px 4px 8px 16px;border-radius:12px;background:#1e293b;color:#fff;box-shadow:0 1px 2px #0000004d;margin:4px}.passkeys-card>svg{color:#fff}.passkeys-card-copy{min-width:0;padding:0 8px}.passkeys-card-copy h2{margin:0 0 3px;overflow:hidden;font-size:16px;font-weight:400;line-height:24px;text-overflow:ellipsis;white-space:nowrap}.passkeys-card-copy span{display:block;color:#cac4d0;font-size:14px;line-height:19px}.passkeys-progress,.passkeys-empty{position:absolute;inset:0;display:grid;place-items:center;margin:0;text-align:center}.passkeys-progress>span{width:36px;height:36px;border:4px solid rgba(208,188,255,.25);border-top-color:#d0bcff;border-radius:50%;animation:passkeys-spin .8s linear infinite}@keyframes passkeys-spin{to{transform:rotate(360deg)}}.passkeys-snackbar{position:fixed;right:16px;bottom:max(24px,env(safe-area-inset-bottom));left:16px;z-index:150;max-width:560px;margin:auto;padding:14px 16px;border-radius:4px;background:#323232;color:#fff;box-shadow:0 4px 16px #0000004d;font-size:14px;line-height:20px;animation:passkeys-snackbar-in .18s ease-out both}@keyframes passkeys-snackbar-in{0%{opacity:0;transform:translateY(12px)}}.passkeys-page button:focus-visible{outline:2px solid #d0bcff;outline-offset:2px}
