@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;1,400;1,600&family=Instrument+Sans:wght@300;400;500;600&display=swap";@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.static{position:static}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--vh:1vh;--cream:#faf8f4;--cream2:#f3efe8;--cream3:#eae4da;--ink:#1a1814;--ink2:#3d3a35;--ink3:#7a7570;--sage:#7c9a7e;--sage-light:#e8f0e8;--terra:#c4714a;--terra-light:#f5eae3;--gold:#c9a84c;--gold-light:#f7f0de;--rose:#c47a7a;--white:#fff;--shadow-sm:0 1px 3px #1a18140f, 0 1px 2px #1a18140a;--shadow-md:0 4px 16px #1a181414, 0 2px 6px #1a18140d;--shadow-lg:0 12px 40px #1a18141f, 0 4px 12px #1a18140f;--shadow-xl:0 24px 64px #1a181429;--r:20px;--r-sm:12px;--r-xs:8px;--font-d:"Playfair Display", Georgia, serif;--font-b:"Instrument Sans", sans-serif}html{height:-webkit-fill-available}html,body{background:var(--cream);height:100%}body{font-family:var(--font-b);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;margin:0}.app,#root{min-height:100dvh}.pressable{-webkit-tap-highlight-color:transparent;transition:transform .15s cubic-bezier(.34,1.56,.64,1)}.pressable:active{transform:scale(.97)}*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}button,[role=button],.pressable{cursor:pointer}@keyframes pageIn{0%{opacity:0;filter:blur(4px);transform:translateY(12px)scale(.99)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes modalOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}.page{animation:.4s ease-out pageIn}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:430px;background:#faf8f4f0;-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);border-top:1px solid rgba(26,24,20,.07);display:flex;justify-content:space-around;padding:10px 8px 24px;z-index:100}.nav-btn{display:flex;flex-direction:column;align-items:center;gap:5px;background:none;border:none;color:var(--ink3);cursor:pointer;padding:6px 10px;border-radius:14px;transition:all .2s;font-family:var(--font-b);font-size:10px;font-weight:500;letter-spacing:.3px}.nav-btn.active{color:var(--ink);background:var(--cream3)}.nav-btn svg{width:20px;height:20px;transition:transform .2s}.nav-btn.active svg{transform:scale(1.1)}.toast-global{position:fixed;top:56px;left:50%;transform:translate(-50%);padding:11px 22px;border-radius:30px;font-size:13px;font-weight:500;font-family:var(--font-b);z-index:999;white-space:nowrap;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:8px;animation:toastSlideIn .35s cubic-bezier(.34,1.56,.64,1),toastFadeOut .3s ease 2.5s forwards}.toast-success{background:var(--sage-light);color:var(--sage)}.toast-error{background:var(--terra-light);color:var(--terra)}.toast-info{background:var(--cream2);color:var(--ink2)}.toast-warning{background:var(--gold-light);color:var(--gold)}.toast-icon{font-size:14px;font-weight:700;line-height:1}.toast-msg{line-height:1}@keyframes toastSlideIn{0%{opacity:0;top:44px}to{opacity:1;top:56px}}@keyframes toastFadeOut{to{opacity:0;top:44px}}.ptr-indicator{display:flex;align-items:center;justify-content:center;overflow:hidden;transition:height .2s ease,opacity .2s ease}.ptr-spinner{font-size:28px;transition:transform .1s linear}.ptr-spinner.spinning{animation:ptrSpin 1s linear infinite}@keyframes ptrSpin{to{transform:rotate(360deg)}}.page{padding-bottom:100px;animation:pageIn .4s cubic-bezier(.16,1,.3,1)}@keyframes pageIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.hero{padding:60px 24px 28px}.hero-eye{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--sage);margin-bottom:10px}.hero-title{font-family:var(--font-d);font-size:34px;line-height:1.15;font-weight:600}.hero-title em{font-style:italic;color:var(--terra)}.hero-sub{margin-top:8px;font-size:14px;color:var(--ink3);line-height:1.6;font-weight:300}.cta-dark{margin:0 20px 16px;background:var(--ink);border-radius:var(--r);padding:22px 22px 22px 24px;display:flex;align-items:center;gap:16px;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.cta-dark:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 50%,rgba(201,168,76,.15) 0%,transparent 60%)}.cta-dark:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.cta-dark:active{transform:scale(.99)}.cta-icon{width:48px;height:48px;background:var(--gold);border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:22px}.cta-body{flex:1}.cta-title{font-family:var(--font-d);font-size:17px;font-weight:600;color:#faf8f4;margin-bottom:3px}.cta-sub{font-size:12px;color:#faf8f480;font-weight:300}.cta-arrow{color:var(--gold);opacity:.8}.scan-remaining{text-align:center;font-size:12px;color:var(--ink3);font-weight:400;margin:-6px 20px 16px;letter-spacing:.2px}.alert-strip{margin:0 20px 16px;background:var(--terra-light);border:1px solid rgba(196,113,74,.15);border-radius:var(--r);padding:16px 18px}.alert-head{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;color:var(--terra);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}.alert-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid rgba(196,113,74,.1)}.alert-row:last-child{border-bottom:none;padding-bottom:0}.alert-emoji{font-size:24px}.alert-info{flex:1}.alert-name{font-size:14px;font-weight:500}.alert-sub{font-size:12px;color:var(--terra);margin-top:1px}.alert-btn{font-size:11px;font-weight:600;color:var(--terra);background:#fff;border:none;border-radius:20px;padding:5px 12px;cursor:pointer}.sec-head{display:flex;align-items:baseline;justify-content:space-between;padding:20px 24px 12px}.sec-title{font-family:var(--font-d);font-size:20px;font-weight:600}.sec-title em{font-style:italic}.sec-link{font-size:12px;color:var(--terra);font-weight:500;cursor:pointer}.rx-scroll{display:flex;gap:14px;padding:0 20px 4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.rx-scroll::-webkit-scrollbar{display:none}.rx-card{flex-shrink:0;width:220px;background:var(--white);border-radius:var(--r);box-shadow:var(--shadow-md);overflow:hidden;cursor:pointer;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s;border:1px solid rgba(26,24,20,.05)}.rx-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:var(--shadow-lg)}.rx-top{height:120px;display:flex;align-items:center;justify-content:center;font-size:56px;position:relative}.rx-top.sage{background:var(--sage-light)}.rx-top.terra{background:var(--terra-light)}.rx-top.gold{background:var(--gold-light)}.rx-match{position:absolute;top:10px;right:10px;background:#fff;font-size:10px;font-weight:700;color:var(--sage);padding:3px 8px;border-radius:20px;box-shadow:var(--shadow-sm)}.rx-body{padding:14px 16px 16px}.rx-name{font-family:var(--font-d);font-size:15px;font-weight:600;line-height:1.3;margin-bottom:8px}.rx-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pill{font-size:10px;font-weight:500;padding:3px 9px;border-radius:20px}.pill-sage{background:var(--sage-light);color:var(--sage)}.pill-terra{background:var(--terra-light);color:var(--terra)}.pill-gold{background:var(--gold-light);color:var(--gold)}.pill-n{background:var(--cream2);color:var(--ink3)}.rx-miss{margin-top:10px;font-size:11px;color:var(--terra)}.welcome-steps{margin:8px 20px 24px;background:var(--white);border-radius:var(--r);box-shadow:var(--shadow-sm);border:1px solid rgba(26,24,20,.05);overflow:hidden;animation:fadeSlideUp .5s ease-out .2s both}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.welcome-step{display:flex;align-items:center;gap:14px;padding:18px 20px;border-bottom:1px solid rgba(26,24,20,.05)}.welcome-step:last-child{border-bottom:none}.welcome-step-num{width:28px;height:28px;border-radius:50%;background:var(--sage-light);color:var(--sage);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.welcome-step-content{flex:1;min-width:0}.welcome-step-title{font-family:var(--font-d);font-size:15px;font-weight:600;margin-bottom:2px}.welcome-step-sub{font-size:12px;color:var(--ink3);font-weight:300}.welcome-step-emoji{font-size:24px;flex-shrink:0}.welcome-tips{margin:0 20px 24px;animation:fadeSlideUp .5s ease-out .4s both}.welcome-tips-title{font-family:var(--font-d);font-size:17px;font-weight:600;margin-bottom:12px;padding:0 4px}.welcome-tip-cards{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:4px}.welcome-tip-cards::-webkit-scrollbar{display:none}.welcome-tip-card{flex-shrink:0;width:160px;background:var(--white);border-radius:16px;padding:18px 16px;box-shadow:var(--shadow-sm);border:1px solid rgba(26,24,20,.05);display:flex;flex-direction:column;gap:10px}.welcome-tip-icon{font-size:28px}.welcome-tip-text{font-size:12px;line-height:1.55;color:var(--ink2);font-weight:300}.welcome-tip-text strong{font-weight:600;color:var(--ink)}.bottom-sheet-overlay{position:fixed;inset:0;background:#1a181466;z-index:150;animation:bsOverlayIn .2s ease}.bottom-sheet{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:430px;background:var(--white);border-radius:var(--r) var(--r) 0 0;padding:12px 24px 40px;padding-bottom:max(40px,env(safe-area-inset-bottom));z-index:151;animation:bsSlideUp .35s cubic-bezier(.34,1.56,.64,1);max-height:85vh;overflow-y:auto;-webkit-overflow-scrolling:touch}@keyframes bsSlideUp{0%{transform:translate(-50%) translateY(100%)}to{transform:translate(-50%) translateY(0)}}.sheet-handle{width:36px;height:4px;background:var(--cream3);border-radius:2px;margin:0 auto 20px}.sheet-header{display:flex;align-items:center;gap:14px;margin-bottom:24px}.sheet-emoji{font-size:40px;line-height:1}.sheet-header-info{flex:1;min-width:0}.sheet-name{font-family:var(--font-d);font-size:18px;font-weight:600;color:var(--ink)}.sheet-badge{display:inline-block;font-size:10px;font-weight:700;padding:3px 8px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.sheet-badge.b-ok{background:var(--sage-light);color:var(--sage)}.sheet-badge.b-warn{background:var(--terra-light);color:var(--terra)}.sheet-badge.b-low{background:var(--gold-light);color:var(--gold)}.sheet-section{margin-bottom:20px}.sheet-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--ink3);margin-bottom:10px}.qty-row{display:flex;align-items:center;gap:12px}.qty-btn{width:36px;height:36px;border-radius:50%;background:var(--cream2);border:none;font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s;flex-shrink:0}.qty-btn:hover{background:var(--cream3)}.qty-input{width:48px;text-align:center;background:none;border:none;font-family:var(--font-d);font-size:24px;font-weight:600;color:var(--ink);outline:none}.unit-chips{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-left:12px}.unit-chips::-webkit-scrollbar{display:none}.unit-chip{padding:5px 12px;background:var(--cream2);border:1.5px solid transparent;border-radius:20px;font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .15s;font-family:var(--font-b);color:var(--ink3)}.unit-chip.active{background:var(--sage-light);border-color:var(--sage);color:var(--sage)}.status-row{display:flex;gap:10px}.status-card{flex:1;padding:12px 8px;border-radius:var(--r-sm);border:1.5px solid var(--cream3);background:var(--cream2);display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;transition:all .15s;font-family:var(--font-b);font-size:11px;font-weight:600;color:var(--ink3)}.status-card .status-card-icon{font-size:18px}.status-card.ok.active{background:var(--sage-light);border-color:var(--sage);color:var(--sage)}.status-card.warn.active{background:var(--gold-light);border-color:var(--gold);color:var(--gold)}.status-card.low.active{background:var(--terra-light);border-color:var(--terra);color:var(--terra)}.actions-row{display:flex;gap:10px}.action-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;background:var(--cream2);border:none;border-radius:var(--r-sm);font-family:var(--font-b);font-size:11px;font-weight:500;color:var(--ink2);cursor:pointer;transition:all .15s}.action-btn:hover{background:var(--cream3)}.action-btn-icon{font-size:22px}.note-input{width:100%;min-height:60px;background:var(--cream2);border:1.5px solid transparent;border-radius:var(--r-xs);padding:10px 12px;font-family:var(--font-b);font-size:13px;color:var(--ink);outline:none;resize:none;margin-top:8px;transition:border-color .2s}.note-input:focus{border-color:var(--sage)}.done-btn{width:100%;padding:14px;background:var(--cream2);border:none;border-radius:var(--r);font-family:var(--font-b);font-size:14px;font-weight:500;color:var(--ink3);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;transition:background .15s}.done-btn:hover{background:var(--cream3)}.delete-btn{width:100%;padding:12px;background:none;border:none;font-family:var(--font-b);font-size:13px;font-weight:500;color:var(--terra);cursor:pointer;margin-top:8px;transition:opacity .15s}.delete-btn:hover{opacity:.7}.confirm-row{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 0 4px}.confirm-text{font-size:13px;color:var(--ink2);font-weight:500}.confirm-yes{padding:6px 16px;background:var(--terra);color:var(--white);border:none;border-radius:20px;font-family:var(--font-b);font-size:12px;font-weight:600;cursor:pointer}.confirm-no{padding:6px 16px;background:var(--cream2);color:var(--ink3);border:none;border-radius:20px;font-family:var(--font-b);font-size:12px;font-weight:600;cursor:pointer}.cta-sage{background:var(--sage)}.cta-sage .cta-icon{background:#fff3}.cta-sage .cta-arrow{color:#ffffffb3}.inv-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 20px}.inv-card{background:var(--white);border-radius:var(--r);padding:16px;box-shadow:var(--shadow-sm);border:1px solid rgba(26,24,20,.05);position:relative;overflow:hidden;transition:box-shadow .2s}.inv-card:hover{box-shadow:var(--shadow-md)}.inv-card.warn{border-color:#c4714a40;background:var(--terra-light)}.inv-card.low{border-color:#c4714a66}.inv-emoji{font-size:32px;margin-bottom:8px;display:block}.inv-name{font-size:14px;font-weight:500}.inv-qty{font-size:12px;color:var(--ink3);margin-top:2px;font-weight:300}.inv-badge{position:absolute;top:10px;right:10px;font-size:9px;font-weight:700;padding:3px 7px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px}.b-ok{background:var(--sage-light);color:var(--sage)}.b-warn{background:var(--terra-light);color:var(--terra)}.b-low{background:var(--gold-light);color:var(--gold)}.fridge-clear-btn{display:flex;align-items:center;gap:5px;padding:6px 12px;background:none;border:1px solid rgba(196,113,74,.3);border-radius:var(--r-sm);font-family:var(--font-b);font-size:12px;font-weight:500;color:var(--terra);cursor:pointer;transition:background .2s,border-color .2s}.fridge-clear-btn:hover{background:var(--terra-light);border-color:var(--terra)}.fridge-clear-btn svg{opacity:.8}.fridge-confirm-overlay{position:fixed;inset:0;background:#1a181480;z-index:400;display:flex;align-items:center;justify-content:center;padding:24px;animation:bsOverlayIn .15s ease}.fridge-confirm-box{background:var(--white);border-radius:var(--r);padding:28px 24px 20px;width:100%;max-width:320px;text-align:center;animation:fridge-confirm-in .2s ease}@keyframes fridge-confirm-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.fridge-confirm-icon{font-size:36px;margin-bottom:12px}.fridge-confirm-title{font-family:var(--font-d);font-size:18px;font-weight:600;margin-bottom:8px}.fridge-confirm-sub{font-size:14px;color:var(--ink3);margin-bottom:20px;line-height:1.5}.fridge-confirm-actions{display:flex;gap:10px}.fridge-confirm-cancel{flex:1;padding:12px;background:var(--cream2);border:none;border-radius:var(--r-sm);font-family:var(--font-b);font-size:14px;font-weight:500;color:var(--ink2);cursor:pointer}.fridge-confirm-delete{flex:1;padding:12px;background:var(--terra);border:none;border-radius:var(--r-sm);font-family:var(--font-b);font-size:14px;font-weight:500;color:#fff;cursor:pointer}.fridge-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.fridge-empty-icon{font-size:56px;margin-bottom:16px}.fridge-empty-title{font-family:var(--font-d);font-size:20px;font-weight:600;margin-bottom:8px}.fridge-empty-sub{font-size:14px;color:var(--ink3);font-weight:300;line-height:1.6;max-width:260px;margin-bottom:24px}.fridge-empty-cta{display:flex;align-items:center;gap:8px;padding:12px 24px;background:var(--sage);border:none;border-radius:var(--r-sm);font-family:var(--font-b);font-size:14px;font-weight:500;color:#fff;cursor:pointer;transition:opacity .2s}.fridge-empty-cta:hover{opacity:.9}.limit-overlay{position:fixed;inset:0;background:#1a181480;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;animation:fadeIn .2s ease}.limit-card{background:var(--cream);border-radius:var(--r);padding:32px;max-width:340px;width:100%;text-align:center;box-shadow:var(--shadow-xl);animation:scaleIn .3s cubic-bezier(.34,1.56,.64,1)}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.limit-emoji{font-size:56px;margin-bottom:16px}.limit-title{font-family:var(--font-d);font-size:20px;font-weight:600;color:var(--ink);margin-bottom:12px;line-height:1.3}.limit-sub{font-size:14px;color:var(--ink3);font-weight:300;line-height:1.6;margin-bottom:20px}.limit-counter{font-size:13px;font-weight:500;color:var(--ink2);margin-bottom:10px}.limit-bar-bg{height:8px;background:var(--cream2);border-radius:4px;overflow:hidden;margin-bottom:24px}.limit-bar-fill{height:100%;background:var(--terra);border-radius:4px;transition:width .5s ease}.limit-btn-primary{width:100%;padding:14px 24px;background:var(--ink);color:var(--cream);border:none;border-radius:var(--r);font-family:var(--font-d);font-size:15px;font-weight:600;font-style:italic;cursor:pointer;margin-bottom:10px}.limit-btn-secondary{width:100%;padding:12px 24px;background:transparent;color:var(--ink3);border:none;font-family:var(--font-b);font-size:14px;font-weight:400;cursor:pointer}.upload-zone{margin:0 20px;border:2px dashed var(--cream3);border-radius:var(--r);min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;cursor:pointer;transition:all .2s;background:var(--white);padding:32px 20px;text-align:center}.upload-zone:hover{border-color:var(--terra);background:var(--terra-light)}.upload-icon{font-size:48px}.upload-label{font-family:var(--font-d);font-size:18px;font-weight:600}.upload-sub{font-size:13px;color:var(--ink3);font-weight:300}.analyzing{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:20px;text-align:center;padding:0 32px}.pulse{width:64px;height:64px;border-radius:50%;background:var(--terra-light);display:flex;align-items:center;justify-content:center;position:relative;font-size:28px}.pulse:before{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid var(--terra);opacity:.3;animation:pulseAnim 1.5s ease-in-out infinite}.pulse:after{content:"";position:absolute;inset:-16px;border-radius:50%;border:2px solid var(--terra);opacity:.1;animation:pulseAnim 1.5s ease-in-out .3s infinite}@keyframes pulseAnim{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.05);opacity:.15}}.an-title{font-family:var(--font-d);font-size:22px;font-weight:600}.an-sub{font-size:14px;color:var(--ink3);font-weight:300;line-height:1.6}.tkt-result{margin:16px 20px 0;background:var(--white);border-radius:var(--r);box-shadow:var(--shadow-md);overflow:hidden}.tkt-head{padding:16px 20px;background:var(--sage-light);border-bottom:1px solid rgba(26,24,20,.06);display:flex;align-items:center;gap:10px}.tkt-head-title{font-family:var(--font-d);font-size:16px;font-weight:600}.tkt-row{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid rgba(26,24,20,.05);gap:12px}.tkt-row:last-child{border-bottom:none}.tkt-left{display:flex;align-items:center;gap:10px}.tkt-name{font-size:14px;font-weight:400}.tkt-price{font-size:13px;color:var(--ink3);font-weight:300}.tkt-total{padding:14px 20px;display:flex;justify-content:space-between;background:var(--cream2);font-weight:600;font-size:14px}.tkt-total-price{color:var(--terra)}.modal-cta{margin:24px 24px 32px;padding:17px;background:var(--ink);color:var(--cream);border:none;border-radius:var(--r);font-family:var(--font-d);font-size:17px;font-weight:600;font-style:italic;cursor:pointer;width:calc(100% - 48px);transition:opacity .15s,transform .15s;letter-spacing:.2px}.modal-cta:disabled{opacity:.3;cursor:not-allowed}.modal-cta:not(:disabled):hover{opacity:.88;transform:scale(.99)}.rcp-filters{display:flex;gap:8px;padding:0 20px 16px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.rcp-filters::-webkit-scrollbar{display:none}.rcp-chip{flex-shrink:0;padding:8px 16px;border-radius:30px;border:none;background:var(--cream2);color:var(--ink2);font-family:var(--font-b);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.rcp-chip.active{background:var(--ink);color:var(--cream)}.rcp-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 24px 14px}.rcp-count{font-size:13px;color:var(--ink3);font-weight:400}.rcp-view-toggle{display:flex;gap:4px;background:var(--cream2);border-radius:10px;padding:3px}.rcp-view-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:none;border-radius:8px;cursor:pointer;color:var(--ink3);transition:all .2s}.rcp-view-btn.active{background:var(--white);color:var(--ink);box-shadow:var(--shadow-sm)}.rcp-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 20px}.rcp-card-grid{background:var(--white);border-radius:var(--r);box-shadow:var(--shadow-sm);border:1px solid rgba(26,24,20,.05);overflow:hidden;cursor:pointer;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s}.rcp-card-grid:active{transform:scale(.97)}.rcp-card-top{height:100px;display:flex;align-items:center;justify-content:center;position:relative}.rcp-card-top.sage{background:var(--sage-light)}.rcp-card-top.terra{background:var(--terra-light)}.rcp-card-top.gold{background:var(--gold-light)}.rcp-card-emoji{font-size:44px}.rcp-fav-btn{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:50%;border:none;background:#ffffffd9;display:flex;align-items:center;justify-content:center;font-size:15px;cursor:pointer;transition:transform .2s;box-shadow:var(--shadow-sm);line-height:1}.rcp-fav-btn.active{transform:scale(1.1)}.rcp-fav-btn:active{transform:scale(.9)}.rcp-cooked-badge{position:absolute;top:8px;left:8px;width:24px;height:24px;border-radius:50%;background:var(--sage);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.rcp-card-body{padding:12px 12px 14px}.rcp-card-name{font-family:var(--font-d);font-size:14px;font-weight:600;line-height:1.3;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rcp-card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.rcp-list-wrap{padding:0 20px;display:flex;flex-direction:column;gap:10px}.rcp-card-list{background:var(--white);border-radius:var(--r);box-shadow:var(--shadow-sm);border:1px solid rgba(26,24,20,.05);padding:14px 16px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:transform .2s}.rcp-card-list:active{transform:scale(.98)}.rcp-list-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0}.rcp-list-icon.sage{background:var(--sage-light)}.rcp-list-icon.terra{background:var(--terra-light)}.rcp-list-icon.gold{background:var(--gold-light)}.rcp-list-body{flex:1;min-width:0}.rcp-list-body .rcp-card-name{font-size:15px}.rcp-list-miss{font-size:11px;color:var(--terra);margin-top:4px}.rcp-list-actions{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0}.rcp-cooked-badge-list{width:22px;height:22px;border-radius:50%;background:var(--sage);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.rcp-list-actions .rcp-fav-btn{position:static;width:28px;height:28px;font-size:14px}.rcp-empty{text-align:center;padding:60px 40px}.rcp-empty-emoji{font-size:64px;margin-bottom:16px}.rcp-empty-title{font-family:var(--font-d);font-size:20px;font-weight:600;margin-bottom:8px}.rcp-empty-sub{font-size:14px;color:var(--ink3);font-weight:300;line-height:1.6;margin-bottom:24px}.rcp-empty-btn{background:var(--ink);color:var(--cream);border:none;border-radius:30px;padding:14px 24px;font-family:var(--font-b);font-size:14px;font-weight:500;cursor:pointer;box-shadow:var(--shadow-lg);transition:transform .2s}.rcp-empty-btn:active{transform:scale(.97)}.rcp-generating{text-align:center;padding:60px 40px}.rcp-gen-text{font-size:14px;color:var(--ink3);margin-top:12px;font-weight:300}.rcp-fab{position:fixed;bottom:90px;right:20px;background:var(--ink);color:var(--cream);border:none;border-radius:30px;padding:14px 20px;font-family:var(--font-b);font-size:13px;font-weight:500;cursor:pointer;box-shadow:var(--shadow-lg);z-index:50;transition:transform .2s,opacity .2s;max-width:calc(100% - 40px)}.rcp-fab:active{transform:scale(.95)}.rcp-fab:disabled{opacity:.7}.rcp-delete-all-wrap{padding:32px 20px 100px}.rcp-delete-all-btn{display:block;width:100%;padding:14px 20px;background:none;color:var(--ink3);border:1px solid rgba(26,24,20,.1);border-radius:14px;font-family:var(--font-b);font-size:13px;font-weight:500;cursor:pointer;transition:transform .2s;text-align:center}.rcp-delete-all-btn:active{transform:scale(.97)}.rcp-confirm-delete{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fef2f2;border-radius:14px;border:1px solid #fecaca}.rcp-confirm-text{font-size:13px;font-weight:600;color:#991b1b}.rcp-confirm-actions{display:flex;gap:8px}.rcp-confirm-cancel{padding:8px 14px;border-radius:10px;border:none;background:none;font-family:var(--font-b);font-size:13px;font-weight:500;color:var(--ink3);cursor:pointer}.rcp-confirm-yes{padding:8px 14px;border-radius:10px;border:none;background:#dc2626;color:#fff;font-family:var(--font-b);font-size:13px;font-weight:600;cursor:pointer;transition:transform .2s}.rcp-confirm-yes:active{transform:scale(.95)}.rcp-confirm-yes:disabled{opacity:.6}.skel{background:var(--cream2);animation:skelPulse 1.5s ease-in-out infinite}.skel-card{border-radius:var(--r)}.skel-text{border-radius:4px}.skel-circle{border-radius:50%}.skel-inventory{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 20px}.skel-inventory .skel-card{height:120px}.skel-text-group{display:flex;flex-direction:column;gap:8px}@keyframes skelPulse{0%,to{opacity:.4}50%{opacity:1}}.shopping-list{padding:0 20px}.shopping-item{background:var(--white);border-radius:var(--r-sm);padding:14px 16px;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:12px;margin-bottom:8px;cursor:pointer;transition:all .2s}.shopping-item:hover{box-shadow:var(--shadow-md)}.shopping-checkbox{width:22px;height:22px;border-radius:50%;border:2px solid var(--cream3);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s}.shopping-checkbox.checked{background:var(--sage);border-color:var(--sage)}.shopping-emoji{font-size:20px;flex-shrink:0}.shopping-name{flex:1;font-size:15px;font-weight:500;color:var(--ink)}.clear-btn{margin:24px 20px;width:calc(100% - 40px);padding:14px;background:transparent;border:1.5px solid rgba(26,24,20,.15);border-radius:var(--r);font-family:var(--font-b);font-size:14px;color:var(--ink3);cursor:pointer;transition:all .2s}.clear-btn:hover{border-color:#1a181440;background:#1a181405}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 40px;text-align:center}.empty-icon{font-size:64px;margin-bottom:16px;opacity:.3}.empty-text{font-size:15px;color:var(--ink3);line-height:1.5;max-width:240px}.prof-section{padding:0 20px 16px}.skel-block{background:var(--cream2);border-radius:var(--r);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.streak-card{background:var(--ink);border-radius:var(--r);padding:24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.streak-left{display:flex;align-items:center;gap:14px}.streak-fire{font-size:36px}.streak-num{font-family:var(--font-d);font-size:48px;font-weight:600;color:var(--cream);line-height:1}.streak-label{font-size:12px;color:var(--cream3);font-weight:300;margin-top:4px}.streak-week{display:flex;gap:6px}.streak-day{display:flex;flex-direction:column;align-items:center;gap:4px}.streak-dot{width:10px;height:10px;border-radius:50%;background:var(--cream3);opacity:.3}.streak-dot.done{background:var(--gold);opacity:1}.streak-dot.today{background:transparent;border:2px solid var(--gold);opacity:1;width:10px;height:10px;box-sizing:border-box}.streak-day-label{font-size:9px;color:var(--cream3);font-weight:400}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 20px 16px}.stat-tile{background:var(--white);border-radius:var(--r);padding:20px 16px;box-shadow:var(--shadow-sm);border:1px solid rgba(26,24,20,.05)}.stat-val{font-family:var(--font-d);font-size:32px;font-weight:600;line-height:1}.stat-lbl{font-size:12px;color:var(--ink3);margin-top:5px;font-weight:300}.health-card{background:var(--white);border-radius:var(--r);padding:20px;box-shadow:var(--shadow-sm);border:1px solid rgba(26,24,20,.05)}.health-title{font-family:var(--font-d);font-size:16px;font-weight:600;margin-bottom:14px}.health-bar{display:flex;height:10px;border-radius:5px;overflow:hidden;background:var(--cream2);gap:2px}.health-seg{border-radius:5px;transition:width .6s cubic-bezier(.34,1.56,.64,1)}.health-seg.ok{background:var(--sage)}.health-seg.warn{background:var(--terra)}.health-seg.low{background:#d4634f}.health-legend{display:flex;gap:16px;margin-top:12px;flex-wrap:wrap}.health-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink3);font-weight:300}.health-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.health-dot.ok{background:var(--sage)}.health-dot.warn{background:var(--terra)}.health-dot.low{background:#d4634f}.member-card{background:var(--cream2);border-radius:var(--r);padding:20px;text-align:center}.member-since{font-size:13px;color:var(--ink3);font-weight:300;margin-bottom:6px}.member-stats{font-size:14px;font-weight:500;color:var(--ink);margin-bottom:12px}.member-badge{display:inline-block;background:var(--sage-light);color:var(--sage);font-size:12px;font-weight:600;padding:6px 14px;border-radius:20px}.badge-card{background:var(--ink);border-radius:var(--r);padding:24px;text-align:center}.badge-title{font-family:var(--font-d);font-size:18px;font-weight:600;color:var(--cream);margin-bottom:6px}.badge-title em{font-style:italic}.badge-sub{font-size:13px;color:var(--cream3);font-weight:300;margin-bottom:18px}.badge-preview{margin:0 auto 18px;width:200px;height:200px}.badge-preview img{width:100%;height:100%;border-radius:var(--r-sm, 8px);-o-object-fit:cover;object-fit:cover}.badge-actions{display:flex;gap:10px}.badge-btn{flex:1;padding:12px 16px;border-radius:var(--r-sm, 10px);font-family:var(--font-b);font-size:13px;font-weight:600;cursor:pointer;border:none;transition:transform .2s}.badge-btn:active{transform:scale(.97)}.badge-btn.primary{background:var(--gold);color:var(--ink)}.badge-btn.secondary{background:#ffffff1f;color:var(--cream);border:1px solid rgba(255,255,255,.15)}.invite-card{background:var(--sage-light);border-radius:var(--r);padding:24px;text-align:center}.invite-title{font-family:var(--font-d);font-size:18px;font-weight:600;color:var(--ink);margin-bottom:6px}.invite-title em{font-style:italic}.invite-sub{font-size:13px;color:var(--ink3);font-weight:300;margin-bottom:16px}.invite-link-row{display:flex;gap:8px;margin-bottom:10px}.invite-input{flex:1;padding:10px 14px;border-radius:var(--r-sm, 10px);border:1px solid rgba(26,24,20,.1);background:var(--white);font-family:var(--font-b);font-size:12px;color:var(--ink2);min-width:0}.invite-copy-btn{padding:10px 18px;border-radius:var(--r-sm, 10px);background:var(--sage);color:#fff;border:none;font-family:var(--font-b);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:transform .2s}.invite-copy-btn:active{transform:scale(.97)}.invite-share-btn{width:100%;padding:12px;border-radius:var(--r-sm, 10px);background:var(--ink);color:var(--white);border:none;font-family:var(--font-b);font-size:13px;font-weight:600;cursor:pointer;margin-bottom:14px;transition:transform .2s}.invite-share-btn:active{transform:scale(.97)}.invite-count{font-size:13px;color:var(--ink3);font-weight:300}.pref-grid{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px}.pref-chip{padding:8px 16px;background:var(--cream2);border:1.5px solid transparent;border-radius:30px;font-size:13px;color:var(--ink2);cursor:pointer;transition:all .2s}.pref-chip.on{background:var(--sage-light);border-color:var(--sage);color:var(--sage);font-weight:500}.wcard{margin:0 20px 16px;background:var(--white);border-radius:var(--r);box-shadow:var(--shadow-sm);overflow:hidden;border:1px solid rgba(26,24,20,.05)}.notif-row{display:flex;align-items:center;padding:14px 24px;border-bottom:1px solid rgba(26,24,20,.05);gap:14px}.notif-row:last-child{border-bottom:none}.notif-icon{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.notif-body{flex:1}.notif-name{font-size:14px;font-weight:500}.notif-sub{font-size:12px;color:var(--ink3);margin-top:1px;font-weight:300}.toggle{width:44px;height:26px;border-radius:13px;background:var(--sage);flex-shrink:0;position:relative;cursor:pointer;transition:background .2s}.toggle:after{content:"";position:absolute;top:3px;right:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #00000026;transition:right .2s,left .2s}.toggle.off{background:var(--cream3)}.toggle.off:after{right:auto;left:3px}.cta-dark{margin:16px 20px;width:calc(100% - 40px);padding:14px;background:var(--ink);border:none;border-radius:var(--r);font-family:var(--font-b);font-size:14px;color:var(--white);cursor:pointer;transition:all .2s}.cta-dark:active{transform:scale(.98)}.sh-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center}.sh-empty-icon{font-size:56px;margin-bottom:16px}.sh-empty-title{font-family:var(--font-d);font-size:20px;font-weight:600;margin-bottom:8px}.sh-empty-sub{font-size:14px;color:var(--ink3);font-weight:300;line-height:1.6}.sh-list{display:flex;flex-direction:column;gap:16px;padding:0 20px}.sh-card{background:var(--white);border-radius:var(--r);box-shadow:var(--shadow-sm);border:1px solid rgba(26,24,20,.05);overflow:hidden;animation:pageIn .35s cubic-bezier(.16,1,.3,1)}.sh-card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px}.sh-card-info{display:flex;flex-direction:column;gap:3px}.sh-card-date{font-family:var(--font-d);font-size:15px;font-weight:600;color:var(--ink)}.sh-card-meta{font-size:12px;color:var(--ink3);font-weight:400;display:flex;align-items:center;gap:8px}.sh-card-dot{width:3px;height:3px;border-radius:50%;background:var(--cream3)}.sh-card-delete{width:34px;height:34px;background:none;border:none;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--ink3);transition:background .15s,color .15s}.sh-card-delete:hover{background:var(--terra-light);color:var(--terra)}.sh-photos-grid{display:grid;gap:2px;padding:0 2px 2px}.sh-photos-grid[data-count="1"]{grid-template-columns:1fr}.sh-photos-grid[data-count="2"],.sh-photos-grid[data-count="3"],.sh-photos-grid[data-count="4"]{grid-template-columns:1fr 1fr}.sh-photos-grid[data-count="5"],.sh-photos-grid[data-count="6"]{grid-template-columns:1fr 1fr 1fr}.sh-photo-thumb{position:relative;aspect-ratio:4 / 3;overflow:hidden;cursor:pointer;border-radius:4px}.sh-photos-grid[data-count="1"] .sh-photo-thumb{aspect-ratio:16 / 9;border-radius:0 0 18px 18px}.sh-photos-grid[data-count="3"] .sh-photo-thumb:first-child{grid-column:1 / -1;aspect-ratio:16 / 9}.sh-photo-thumb img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.sh-photo-thumb:hover img{transform:scale(1.03)}.sh-fullscreen{position:fixed;inset:0;background:#000000f2;z-index:350;display:flex;flex-direction:column;animation:bsOverlayIn .2s ease}.sh-fs-header{display:flex;justify-content:space-between;align-items:center;padding:56px 20px 16px;color:#fff;flex-shrink:0}.sh-fs-close{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:4px 8px}.sh-fs-counter{font-size:14px;opacity:.7;font-family:var(--font-b)}.sh-fs-image{flex:1;-o-object-fit:contain;object-fit:contain;width:100%;min-height:0}.sh-fs-dots{display:flex;justify-content:center;gap:6px;padding:16px 24px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.sh-fs-dot{width:8px;height:8px;border-radius:4px;background:#ffffff4d;transition:all .3s}.sh-fs-dot.active{width:20px;background:#fff}.sh-confirm-overlay{position:fixed;inset:0;background:#1a181480;z-index:400;display:flex;align-items:center;justify-content:center;padding:24px;animation:bsOverlayIn .15s ease}.sh-confirm-box{background:var(--white);border-radius:var(--r);padding:28px 24px 20px;width:100%;max-width:320px;text-align:center}.sh-confirm-title{font-family:var(--font-d);font-size:18px;font-weight:600;margin-bottom:8px}.sh-confirm-sub{font-size:14px;color:var(--ink3);margin-bottom:20px;line-height:1.5}.sh-confirm-actions{display:flex;gap:10px}.sh-confirm-cancel{flex:1;padding:12px;background:var(--cream2);border:none;border-radius:var(--r-sm);font-family:var(--font-b);font-size:14px;font-weight:500;color:var(--ink2);cursor:pointer}.sh-confirm-delete{flex:1;padding:12px;background:var(--terra);border:none;border-radius:var(--r-sm);font-family:var(--font-b);font-size:14px;font-weight:500;color:#fff;cursor:pointer}.auth-container{min-height:100vh;min-height:100dvh;background:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;animation:pageIn .4s cubic-bezier(.16,1,.3,1)}.auth-hero{text-align:center;margin-bottom:32px}.auth-emoji{font-size:64px;margin-bottom:20px}.auth-title{font-family:var(--font-d);font-size:32px;line-height:1.2;font-weight:600;color:var(--ink);margin-bottom:8px}.auth-title em{font-style:italic;color:var(--terra)}.auth-subtitle{font-size:14px;color:var(--ink3);font-weight:300}.auth-card{width:100%;max-width:380px;background:var(--white);border-radius:var(--r);box-shadow:var(--shadow-lg);padding:24px;border:1px solid rgba(26,24,20,.05)}.auth-toggle{display:flex;gap:8px;margin-bottom:24px;background:var(--cream2);border-radius:12px;padding:4px}.auth-toggle-btn{flex:1;padding:10px 16px;background:transparent;border:none;border-radius:8px;font-family:var(--font-b);font-size:14px;font-weight:500;color:var(--ink3);cursor:pointer;transition:all .2s}.auth-toggle-btn.active{background:var(--white);color:var(--ink);box-shadow:var(--shadow-sm)}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-label{font-size:13px;font-weight:500;color:var(--ink2)}.auth-input{padding:12px 14px;border:1.5px solid var(--cream3);border-radius:10px;font-family:var(--font-b);font-size:14px;color:var(--ink);background:var(--white);transition:border-color .2s}.auth-input:focus{outline:none;border-color:var(--sage)}.auth-input::-moz-placeholder{color:var(--ink3);opacity:.6}.auth-input::placeholder{color:var(--ink3);opacity:.6}.auth-error{background:var(--terra-light);border:1px solid rgba(196,113,74,.2);border-radius:10px;padding:12px 14px;font-size:13px;color:var(--terra);font-weight:400}.support-page{min-height:100vh;min-height:100dvh;background:var(--cream);color:var(--ink);font-family:var(--font-b);display:flex;flex-direction:column}.support-header{background:var(--ink);border-bottom:1px solid var(--cream3);position:sticky;top:0;z-index:10}.support-header-inner{max-width:960px;margin:0 auto;padding:16px 24px;display:flex;align-items:center}.support-logo{display:flex;align-items:center;gap:12px}.support-logo-img{width:36px;height:36px;border-radius:8px}.support-logo-text{font-family:var(--font-d);font-size:20px;font-weight:600;font-style:italic;color:var(--cream)}.support-main{flex:1;max-width:960px;margin:0 auto;padding:0 24px 64px;width:100%}.support-hero{padding:48px 0 40px;text-align:center}.support-title{font-family:var(--font-d);font-size:36px;font-weight:600;font-style:italic;color:var(--ink);margin-bottom:12px;line-height:1.2}.support-subtitle{font-size:16px;color:var(--ink3);max-width:520px;margin:0 auto;line-height:1.6;font-weight:300}.support-grid{display:grid;grid-template-columns:1fr 380px;gap:24px;align-items:start}.support-sidebar{display:flex;flex-direction:column;gap:24px}.support-card{background:var(--white);border-radius:var(--r);padding:32px;box-shadow:var(--shadow-sm);border:1px solid var(--cream3)}.support-card-icon{width:48px;height:48px;background:var(--sage-light);color:var(--sage);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;margin-bottom:20px}.support-card h2{font-family:var(--font-d);font-size:20px;font-weight:600;margin-bottom:16px;color:var(--ink)}.support-card p{font-size:14px;color:var(--ink3);line-height:1.6;font-weight:300}.support-faq{display:flex;flex-direction:column;gap:0}.support-faq dt{font-weight:500;font-size:15px;color:var(--ink);padding:20px 0 8px;border-top:1px solid var(--cream3)}.support-faq dt:first-child{border-top:none;padding-top:0}.support-faq dd{font-size:14px;color:var(--ink3);line-height:1.6;font-weight:300;padding-bottom:4px}.support-contact-link{display:inline-block;margin-top:12px;padding:12px 24px;background:var(--sage);color:var(--white);text-decoration:none;border-radius:var(--r-sm);font-size:14px;font-weight:500;transition:opacity .2s}.support-contact-link:hover{opacity:.9}.support-response-time{margin-top:12px;font-size:13px!important;color:var(--ink3)!important;font-style:italic}.support-privacy-list,.support-requirements-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:12px}.support-privacy-list li,.support-requirements-list li{font-size:14px;color:var(--ink2);line-height:1.5;font-weight:300;padding-left:20px;position:relative}.support-privacy-list li:before{content:"";position:absolute;left:0;top:7px;width:8px;height:8px;background:var(--sage);border-radius:50%}.support-requirements-list li:before{content:"";position:absolute;left:0;top:7px;width:8px;height:8px;background:var(--gold);border-radius:50%}.support-requirements-list li strong{font-weight:500;color:var(--ink)}.support-footer{background:var(--ink);margin-top:auto}.support-footer-inner{max-width:960px;margin:0 auto;padding:24px;display:flex;justify-content:space-between;align-items:center}.support-footer p{font-size:13px;color:var(--ink3);font-weight:300}.support-footer a{color:var(--sage);text-decoration:none;font-weight:400}.support-footer a:hover{text-decoration:underline}@media(max-width:768px){.support-hero{padding:32px 0 28px}.support-title{font-size:28px}.support-subtitle{font-size:15px}.support-grid{grid-template-columns:1fr}.support-card{padding:24px}.support-footer-inner{flex-direction:column;gap:8px;text-align:center}}.analyzing{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;min-height:70vh;text-align:center}.loader-circle{position:relative;width:180px;height:180px;margin-bottom:2.5rem}.circle-svg{width:100%;height:100%;transform:rotate(-90deg)}.circle-bg{fill:none;stroke:#0000000d;stroke-width:8}.circle-progress{fill:none;stroke:#2d5f3f;stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .3s ease}.loader-emoji{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:3.5rem;animation:pulse 2s ease-in-out infinite}.loader-percent{position:absolute;bottom:30px;left:50%;transform:translate(-50%);font-size:.875rem;font-weight:600;color:#2d5f3f;letter-spacing:.05em}@keyframes pulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:1}50%{transform:translate(-50%,-50%) scale(1.1);opacity:.8}}.an-title{font-size:1.75rem;font-weight:700;color:#1a1a1a;margin-bottom:.75rem;letter-spacing:-.02em}.an-current-step{font-size:1rem;color:#2d5f3f;font-weight:500;margin-bottom:2.5rem;min-height:1.5rem}.steps-list{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:400px;margin-top:1rem}.step-item{display:flex;align-items:center;gap:1rem;padding:.75rem 1.25rem;border-radius:12px;transition:all .3s ease;background:transparent}.step-item.completed{background:#2d5f3f14}.step-item.active{background:#2d5f3f1f;box-shadow:0 0 0 2px #2d5f3f33}.step-indicator{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.step-item.completed .step-indicator{color:#2d5f3f}.step-spinner{width:16px;height:16px;border:2px solid rgba(45,95,63,.2);border-top-color:#2d5f3f;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.step-dot{width:8px;height:8px;border-radius:50%;background:#00000026}.step-label{font-size:.9375rem;color:#1a1a1a;font-weight:500}.step-item.pending .step-label{color:#999}.step-item.completed .step-label{color:#2d5f3f}.error-state{padding:4rem 2rem}.error-icon{font-size:4rem;margin-bottom:1.5rem;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.error-state .an-title{color:#dc2626;margin-bottom:1rem}.error-state .an-sub{font-size:1rem;color:#666;margin-bottom:1.5rem;line-height:1.6}.error-hint{font-size:.875rem;color:#999;background:#dc26260d;padding:1rem 1.5rem;border-radius:12px;border:1px dashed rgba(220,38,38,.2);max-width:400px;line-height:1.5}@media(max-width:640px){.analyzing{padding:2rem 1.5rem}.loader-circle{width:150px;height:150px}.loader-emoji{font-size:3rem}.an-title{font-size:1.5rem}.an-current-step{font-size:.9375rem}.steps-list{max-width:100%}.step-item{padding:.625rem 1rem}.step-label{font-size:.875rem}}.validation-overlay{position:fixed;inset:0;background:var(--cream);z-index:210;max-width:430px;margin:0 auto;display:flex;flex-direction:column;animation:pageIn .35s cubic-bezier(.16,1,.3,1)}.validation-nav{display:flex;align-items:center;gap:14px;padding:56px 24px 12px}.validation-hero{padding:0 24px 20px}.validation-title{font-family:var(--font-d);font-size:26px;font-weight:600;line-height:1.2}.validation-title em{font-style:italic;color:var(--terra)}.validation-subtitle{margin-top:6px;font-size:13px;color:var(--ink3);font-weight:300}.validation-list{flex:1;overflow-y:auto;padding:0 24px 16px;-webkit-overflow-scrolling:touch}.validation-item{background:var(--white);border-radius:var(--r-sm);padding:14px 16px;margin-bottom:10px;box-shadow:var(--shadow-sm);border:1.5px solid transparent;transition:border-color .2s,opacity .3s,transform .3s}.validation-item:focus-within{border-color:var(--sage)}.validation-item.removing{opacity:0;transform:translate(-100%)}.validation-item-row{display:flex;align-items:center;gap:10px}.validation-emoji-btn{width:44px;height:44px;background:var(--cream2);border:none;border-radius:var(--r-xs);font-size:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s}.validation-emoji-btn:hover{background:var(--cream3)}.validation-item input{background:var(--cream2);border:none;border-radius:var(--r-xs);padding:6px 10px;font-family:var(--font-b);font-size:14px;color:var(--ink);outline:none;width:100%;transition:background .15s}.validation-item input:focus{background:var(--cream3)}.validation-item-name{flex:1;min-width:0}.validation-delete-btn{width:36px;height:36px;background:none;border:none;font-size:18px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:var(--r-xs);transition:background .15s;opacity:.5}.validation-delete-btn:hover{background:var(--terra-light);opacity:1}.validation-qty-row{display:flex;align-items:center;gap:10px;margin-top:8px;padding-left:54px}.validation-qty-row input{max-width:140px}.status-toggle{display:flex;gap:6px;margin-top:8px;padding-left:54px}.status-btn{flex:1;padding:5px;border-radius:var(--r-xs);border:1.5px solid transparent;font-size:11px;font-weight:600;cursor:pointer;font-family:var(--font-b);transition:all .15s;background:var(--cream2);color:var(--ink3)}.status-btn.ok.active{background:var(--sage-light);border-color:var(--sage);color:var(--sage)}.status-btn.warn.active{background:var(--gold-light);border-color:var(--gold);color:var(--gold)}.status-btn.low.active{background:var(--terra-light);border-color:var(--terra);color:var(--terra)}.validation-add-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;background:none;border:2px dashed var(--cream3);border-radius:var(--r-sm);font-family:var(--font-b);font-size:14px;font-weight:500;color:var(--ink3);cursor:pointer;transition:all .15s;margin-bottom:10px}.validation-add-btn:hover{border-color:var(--sage);color:var(--sage);background:var(--sage-light)}.validation-footer{padding:16px 24px;padding-bottom:max(24px,env(safe-area-inset-bottom));background:var(--cream);border-top:1px solid var(--cream3)}.validation-summary{font-size:12px;color:var(--ink3);text-align:center;margin-bottom:12px}.validation-confirm-btn{width:100%;padding:16px;background:var(--ink);color:#faf8f4;border:none;border-radius:var(--r);font-family:var(--font-d);font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm)}.validation-confirm-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.validation-confirm-btn:disabled{opacity:.4;cursor:not-allowed}.emoji-picker-overlay{position:fixed;inset:0;z-index:220;display:flex;align-items:flex-end;justify-content:center}.emoji-picker-backdrop{position:absolute;inset:0;background:#1a18144d;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.emoji-picker-sheet{position:relative;z-index:1;background:var(--white);border-radius:var(--r) var(--r) 0 0;padding:20px;padding-bottom:max(20px,env(safe-area-inset-bottom));max-width:430px;width:100%;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.emoji-picker-handle{width:36px;height:4px;background:var(--cream3);border-radius:2px;margin:0 auto 16px}.emoji-picker-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}.emoji-picker-item{width:100%;aspect-ratio:1;background:none;border:none;font-size:24px;cursor:pointer;border-radius:var(--r-xs);display:flex;align-items:center;justify-content:center;transition:background .1s}.emoji-picker-item:hover{background:var(--cream2)}.emoji-picker-item.selected{background:var(--sage-light)}.modal{position:fixed;inset:0;background:var(--cream);z-index:200;max-width:430px;margin:0 auto;display:flex;flex-direction:column;animation:pageIn .35s cubic-bezier(.16,1,.3,1);overflow-y:auto}.modal-nav{display:flex;align-items:center;gap:14px;padding:56px 24px 20px}.back-btn{width:38px;height:38px;background:var(--cream2);border:none;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s;flex-shrink:0}.back-btn:hover{background:var(--cream3)}.modal-title{font-family:var(--font-d);font-size:22px;font-weight:600}.step-bar{display:flex;gap:5px;padding:0 24px 24px}.step-seg{flex:1;height:3px;border-radius:2px;background:var(--cream3);transition:background .4s}.step-seg.done{background:var(--sage)}.step-seg.active{background:var(--terra)}.photo-zone{margin:0 24px;border:2px dashed var(--cream3);border-radius:var(--r);min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;cursor:pointer;overflow:hidden;transition:border-color .2s;background:var(--white);position:relative}.photo-zone:hover{border-color:var(--terra)}.photo-zone img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.pz-emoji{font-size:52px}.pz-label{font-size:14px;color:var(--ink3);font-weight:300;text-align:center;padding:0 16px}.pz-cta{font-size:13px;font-weight:600;color:var(--terra);background:var(--terra-light);padding:7px 18px;border-radius:20px}.tip-box{margin:14px 24px 0;background:var(--sage-light);border-radius:var(--r-sm);padding:12px 16px;display:flex;gap:10px;font-size:13px;color:var(--sage);line-height:1.5}.q-box{margin:14px 24px 0;background:var(--white);border-radius:var(--r);padding:16px;box-shadow:var(--shadow-sm)}.q-text{font-size:14px;font-weight:500;margin-bottom:12px}.q-opts{display:flex;flex-wrap:wrap;gap:8px}.q-opt{padding:8px 16px;background:var(--cream2);border:1.5px solid transparent;border-radius:30px;font-size:13px;color:var(--ink2);cursor:pointer;transition:all .15s;font-family:var(--font-b)}.q-opt.sel{background:var(--terra-light);border-color:var(--terra);color:var(--terra);font-weight:500}.modal-cta{margin:auto 24px 24px;padding:16px;background:var(--sage);color:var(--white);border:none;border-radius:var(--r);font-family:var(--font-d);font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm)}.modal-cta:hover:not(:disabled){background:var(--sage-dark);transform:translateY(-1px);box-shadow:var(--shadow)}.modal-cta:disabled{opacity:.4;cursor:not-allowed}input[type=file]{display:none}.photo-zone--has-image{cursor:pointer;border-style:solid;border-color:#1a181414}.photo-counter{position:absolute;bottom:10px;right:10px;background:#1a181499;color:#fff;font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px;font-family:var(--font-b)}.photo-dots{display:flex;justify-content:center;gap:6px;padding:12px 24px 0}.photo-dot{width:8px;height:8px;border-radius:4px;background:var(--cream3);transition:all .3s}.photo-dot.active{width:20px;background:var(--terra)}.photo-actions-row{display:flex;gap:8px;padding:12px 24px 0}.photo-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 8px;background:var(--cream2);border:none;border-radius:var(--r-sm);font-family:var(--font-b);font-size:12px;font-weight:500;color:var(--ink2);cursor:pointer;transition:background .15s}.photo-action-btn:hover{background:var(--cream3)}.photo-action-btn--delete{color:var(--terra)}.fullscreen-preview{position:fixed;inset:0;background:#000;z-index:300;display:flex;flex-direction:column;animation:bsOverlayIn .2s ease}@keyframes bsOverlayIn{0%{opacity:0}to{opacity:1}}.fp-header{display:flex;justify-content:space-between;align-items:center;padding:56px 20px 16px;color:#fff;flex-shrink:0}.fp-close{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:4px 8px}.fp-counter{font-size:14px;opacity:.7;font-family:var(--font-b)}.fp-delete{background:none;border:none;color:var(--terra);font-size:20px;cursor:pointer;padding:4px 8px}.fp-image{flex:1;-o-object-fit:contain;object-fit:contain;width:100%;min-height:0}.wcard-head{padding:16px 20px;border-bottom:1px solid rgba(26,24,20,.05);display:flex;align-items:center;gap:10px}.wcard-icon{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:16px}.wcard-title{font-family:var(--font-d);font-size:15px;font-weight:600}.rx-steps{margin:0 20px}.rx-step{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid rgba(26,24,20,.06)}.rx-step:last-child{border-bottom:none}.step-num{width:28px;height:28px;background:var(--terra);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0;margin-top:1px}.step-txt{font-size:14px;line-height:1.65;color:var(--ink2);font-weight:300;padding-top:3px}.rd-actions{padding:8px 20px 32px;display:flex;flex-direction:column;gap:10px}.rd-actions .modal-cta{display:block;width:100%;margin:0;padding:14px 20px;border:none;border-radius:14px;font-family:var(--font-b);font-size:14px;font-weight:600;cursor:pointer;transition:transform .2s;text-align:center}.modal-cta:active{transform:scale(.97)}.modal-cta:disabled{opacity:.6}.rd-cook-btn{background:var(--sage);color:#fff}.rd-missing-btn{background:var(--cream2);color:var(--ink)}.rd-share-btn{background:var(--cream2);color:var(--ink2);border:1px solid var(--cream3)}.rd-cooked-label{text-align:center;padding:14px 20px;background:var(--sage-light);border-radius:14px;color:var(--sage);font-size:14px;font-weight:600}.rd-delete-btn{background:none;color:var(--ink3);border:1px solid rgba(26,24,20,.1);font-size:13px;font-weight:500}.rd-confirm-delete{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fef2f2;border-radius:14px;border:1px solid #fecaca}.rd-confirm-text{font-size:13px;font-weight:600;color:#991b1b}.rd-confirm-actions{display:flex;gap:8px}.rd-confirm-cancel{padding:8px 14px;border-radius:10px;border:none;background:none;font-family:var(--font-b);font-size:13px;font-weight:500;color:var(--ink3);cursor:pointer}.rd-confirm-yes{padding:8px 14px;border-radius:10px;border:none;background:#dc2626;color:#fff;font-family:var(--font-b);font-size:13px;font-weight:600;cursor:pointer;transition:transform .2s}.rd-confirm-yes:active{transform:scale(.95)}.rd-confirm-yes:disabled{opacity:.6}.app{max-width:430px;margin:0 auto;min-height:100vh;min-height:100dvh;background:var(--cream);position:relative;font-family:var(--font-b);color:var(--ink);overflow-x:hidden}
