:root{--brand-paper: #fff1da;--brand-flour: #f8dfbd;--brand-biscuit: #e9b979;--brand-corn: #ffc758;--brand-orange: #f26a2e;--brand-orange-deep: #b83b18;--brand-marmalade: #d5531f;--brand-apron: #2e6f8e;--brand-skillet: #3a2419;--brand-pencil: #7a5948;--brand-on-orange: #fff9ee;--bg: var(--brand-paper);--bg-accent: var(--brand-biscuit);--surface: rgba(255, 244, 225, .82);--surface-strong: #fff7e8;--surface-warm: #ffe4bf;--brand-ink: var(--brand-skillet);--brand-ink-soft: var(--brand-pencil);--ink: var(--brand-ink);--ink-soft: var(--brand-ink-soft);--border: rgba(90, 54, 33, .18);--shadow: 0 22px 44px rgba(90, 54, 33, .14);--accent: var(--brand-orange);--accent-deep: var(--brand-orange-deep);--accent-soft: rgba(242, 106, 46, .16);--foodos-given: var(--brand-marmalade);--foodos-given-glow: rgba(255, 199, 88, .46)}*{box-sizing:border-box}html{font-size:16px;min-height:100%;background:var(--brand-paper)}body{margin:0;min-height:100vh;font-family:Avenir Next,Trebuchet MS,sans-serif;color:var(--ink);background:linear-gradient(180deg,#fff9eeeb,#fff1dadb),repeating-linear-gradient(90deg,rgba(242,106,46,.08) 0 1px,transparent 1px 42px),repeating-linear-gradient(0deg,rgba(46,111,142,.06) 0 1px,transparent 1px 42px),linear-gradient(180deg,var(--brand-paper) 0%,var(--brand-flour) 58%,#efc98d 100%)}body.is-native-webview{overscroll-behavior-y:none}body.is-modal-open{position:fixed;left:0;right:0;width:100%;overflow:hidden}img{display:block;max-width:100%;dynamic-range-limit:standard}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.avatar{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;flex:0 0 auto;overflow:hidden;aspect-ratio:1;border-radius:999px;object-fit:cover;max-width:none;border:2px solid rgba(255,249,238,.92);background:linear-gradient(145deg,#f6c779,#fff0d1);color:var(--accent-deep);box-shadow:0 10px 22px #5a362121}img.avatar{display:block}.avatar--medium{width:2.8rem;height:2.8rem}.avatar--large{width:3.25rem;height:3.25rem}.avatar--initials{background:var(--avatar-bg, linear-gradient(145deg, #f6c779 0%, #fff0d1 100%));color:var(--avatar-ink, var(--accent-deep));font-weight:800;letter-spacing:.04em;text-transform:uppercase}.avatar--medium.avatar--initials{font-size:.95rem}.avatar--large.avatar--initials{font-size:1.05rem}.page-shell{width:min(1120px,calc(100% - 2rem));margin:0 auto;padding:0 0 4rem}.post-card{border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}h1,h2,h3{margin:0;font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,serif;font-weight:700;letter-spacing:-.03em}h1{font-size:clamp(1.9rem,4.8vw,3rem);line-height:.98}h3{font-size:1.45rem}.post-card__caption,.post-card__meta,.foodos-summary__users,.current-user__label,.post-card__time,.foodos-summary__count{color:var(--ink-soft)}.topbar{position:relative;z-index:30;width:100vw;margin-left:calc(50% - 50vw);margin-top:0;margin-bottom:1.35rem;padding:0 max(1.25rem,env(safe-area-inset-right)) 0 max(1.25rem,env(safe-area-inset-left));overflow:visible;border-bottom:1px solid rgba(90,54,33,.14);background:#fff9eeb8;box-shadow:0 10px 28px #5a362114;-webkit-backdrop-filter:saturate(180%) blur(22px);backdrop-filter:saturate(180%) blur(22px);transition:background-color .18s ease,box-shadow .18s ease}.topbar.is-scrolled{background:#fff9eef5;box-shadow:0 14px 32px #5a36211f}.topbar__inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:1rem;width:min(100%,980px);min-height:4.5rem;margin:0 auto}.topbar__brand{display:inline-flex;grid-column:2;align-items:center;justify-content:center;min-width:0;overflow:hidden;pointer-events:none}.topbar__logo{width:min(100%,21rem);height:16.5rem;object-fit:contain;object-position:center}.topbar__actions{display:inline-flex;grid-column:3;align-items:center;justify-content:flex-end;gap:.75rem;min-width:0}.current-user-menu{position:relative;z-index:31}.current-user{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.2rem;border:0;border-radius:999px;background:var(--surface-warm);color:var(--ink);font:inherit;cursor:pointer}.create-post-button{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border:0;border-radius:999px;background:var(--accent);color:var(--brand-on-orange);cursor:pointer;box-shadow:0 12px 24px #b83b1833;transition:transform .16s ease,background-color .16s ease,box-shadow .16s ease}.create-post-button:hover{transform:translateY(-1px);background:var(--accent-deep)}.create-post-button span{font-size:2rem;line-height:1;font-weight:500;transform:translateY(-1px)}.create-post-button[hidden]{display:none}.topbar__auth-button,.topbar__secondary-button{border:0;border-radius:999px;padding:.85rem 1.15rem;font:inherit;font-weight:700;white-space:nowrap;cursor:pointer}.topbar__auth-button{background:var(--accent);color:var(--brand-on-orange);box-shadow:0 12px 24px #b83b1833}.topbar__secondary-button{background:var(--accent-soft);color:var(--accent-deep)}.topbar__auth-button[hidden],.topbar__secondary-button[hidden],.current-user[hidden],.current-user-menu[hidden],.topbar-menu[hidden]{display:none}.current-user__avatar:empty{display:inline-flex;align-items:center;justify-content:center}.current-user__avatar:empty:before{display:block;width:2.4rem;height:2.4rem;border-radius:50%;background:linear-gradient(145deg,#f6c779,#fff0d1);content:""}.current-user__name{max-width:9rem;padding-right:.55rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.topbar-menu{position:absolute;top:calc(100% + .55rem);right:0;z-index:32;min-width:11rem;display:grid;gap:.35rem;padding:.45rem;border:1px solid var(--border);border-radius:18px;background:#fff7e8fa;box-shadow:0 18px 38px #5a362129;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.topbar-menu__item{border:0;border-radius:14px;padding:.8rem .95rem;background:transparent;color:var(--ink);font:inherit;font-weight:700;text-align:left;cursor:pointer}.topbar-menu__item:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-deep)}.topbar-menu__item:disabled{color:var(--ink-soft);cursor:default;opacity:.7}.feed-section{margin-top:0}.feed-section[hidden],.profile-page[hidden]{display:none}.pull-refresh{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:.55rem;width:min(100%,980px);height:min(var(--pull-distance, 0px),4.5rem);margin:0 auto;overflow:hidden;opacity:var(--pull-opacity, 0);pointer-events:none;transition:height .18s ease,opacity .16s ease}.pull-refresh[hidden]{display:none}.pull-refresh__spinner{width:1.7rem;height:1.7rem;border:3px solid rgba(242,106,46,.24);border-top-color:var(--accent);border-radius:999px;transform:rotate(var(--pull-rotation, 0deg))}.pull-refresh.is-ready .pull-refresh__spinner,.pull-refresh.is-refreshing .pull-refresh__spinner{animation:pull-refresh-spin .82s linear infinite}.pull-refresh.is-refreshing{--pull-distance: 72px;opacity:1}@keyframes pull-refresh-spin{to{transform:rotate(360deg)}}.post-feed{display:grid;gap:1.1rem;grid-template-columns:minmax(0,1fr);width:min(100%,480px);margin:0 auto}.post-card{overflow:hidden;border-radius:20px;background:#fff7e8f0}.post-card--highlight{animation:post-card-highlight 2.2s ease}.post-card--skeleton{pointer-events:none}.skeleton-row{display:flex;align-items:center;gap:.75rem}.skeleton-row--footer{justify-content:space-between}.skeleton-stack{display:grid;flex:1;gap:.55rem}.skeleton{position:relative;overflow:hidden;border-radius:999px;background:#dcb98b57}.skeleton:after{position:absolute;inset:0;content:"";transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.48),transparent);animation:skeleton-shimmer 1.25s infinite}.skeleton--avatar{width:48px;height:48px}.skeleton--line{width:100%;height:.8rem}.skeleton--line-medium{width:68%}.skeleton--line-short{width:44%}.skeleton--line-tiny{width:28%}.skeleton--image{width:100%;aspect-ratio:4 / 3;border-radius:18px}.skeleton--button{width:104px;height:2.35rem}@keyframes skeleton-shimmer{to{transform:translate(100%)}}@keyframes post-card-highlight{0%,to{box-shadow:none}18%,72%{box-shadow:0 0 0 4px #f26a2e5c,0 18px 44px #90401433}}.post-card__image,.post-card__placeholder{position:absolute;inset:0;width:100%;height:100%}.post-card__image{object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.post-card__placeholder{display:grid;place-items:center;background:linear-gradient(145deg,#ffcd78d1,#f26a2e94),linear-gradient(180deg,#f7c77c,#d97844)}.post-card__placeholder[hidden]{display:none}.post-card__body{position:relative;display:flex;flex-direction:column;gap:1.1rem;padding:1.12rem}.post-card__topline{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.post-card__author-group{display:flex;align-items:center;gap:.85rem}.post-card__avatar-button{flex:0 0 auto;display:inline-flex;padding:0;border:0;border-radius:999px;background:transparent;cursor:pointer}.post-card__avatar-button:hover .avatar{transform:translateY(-1px)}.post-card__author{display:inline;margin:0;padding:0;border:0;background:transparent;color:var(--ink);font:inherit;font-size:1rem;font-weight:700;text-align:left;cursor:pointer}.post-card__author:hover{color:var(--accent-deep)}.post-card__time{display:block;margin-top:.1rem;color:var(--ink-soft);font-size:.82rem;line-height:1.2}.post-card__edit{display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;margin-left:auto;border:0;border-radius:999px;background:var(--accent-soft);color:var(--accent-deep);cursor:pointer;transition:transform .16s ease,background-color .16s ease}.post-card__edit:hover{transform:translateY(-1px);background:#f26a2e3d}.post-card__edit[hidden]{display:none}.post-card__edit svg{width:1.05rem;height:1.05rem;fill:currentColor}.post-card__meta,.post-card__caption,.post-card__time,.foodos-summary__count{margin:0}.post-card__headline{display:grid;gap:.35rem}.post-card__caption{font-size:.96rem;line-height:1.55}.post-card__media{position:relative;overflow:hidden;width:calc(100% + 2.24rem);margin-inline:-1.12rem;aspect-ratio:4 / 5;border-radius:8px;background:linear-gradient(145deg,#ffcd78d1,#f26a2e94),linear-gradient(180deg,#f7c77c,#d97844);touch-action:pan-y}.post-card__gallery-button{position:absolute;top:50%;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:0;border-radius:999px;background:#3a241994;color:var(--surface-strong);cursor:pointer;transform:translateY(-50%)}.post-card__gallery-button[hidden],.post-card__image-count[hidden],.post-card__gallery-dots[hidden]{display:none}.post-card__gallery-button--previous{left:.75rem}.post-card__gallery-button--next{right:.75rem}.post-card__gallery-button span{display:block;margin-top:-.1rem;font-size:2rem;line-height:1}.post-card__image-count{position:absolute;right:.75rem;bottom:.75rem;z-index:2;min-width:2.3rem;padding:.35rem .55rem;border-radius:999px;background:#3a24199e;color:var(--surface-strong);font-size:.8rem;font-weight:800;text-align:center}.post-card__gallery-dots{position:absolute;left:50%;bottom:.85rem;z-index:2;display:flex;align-items:center;gap:.35rem;padding:.35rem .45rem;border-radius:999px;background:#3a241961;transform:translate(-50%)}.post-card__gallery-dot{width:.42rem;height:.42rem;border-radius:999px;background:#fff7e89e}.post-card__gallery-dot.is-active{width:1rem;background:var(--surface-strong)}.post-card__footer{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding-top:.2rem}.post-card__engagement{display:flex;align-items:center;gap:1rem;min-width:0}.foodos-button{display:inline-flex;align-items:center;gap:.55rem;border:1px solid rgba(184,59,24,.22);border-radius:999px;padding:.9rem 1.15rem;background:var(--surface-strong);color:var(--accent-deep);font:inherit;font-weight:700;cursor:pointer;transition:transform .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease;box-shadow:0 10px 20px #5a36211a}.foodos-button:hover{transform:translateY(-1px);border-color:#b83b1857;background:var(--accent-soft)}.foodos-button.is-active{border-color:transparent;background:var(--foodos-given);color:var(--brand-on-orange);box-shadow:0 12px 24px #b83b1838,0 0 0 4px var(--foodos-given-glow)}.foodos-button.is-active:hover{background:var(--accent-deep)}.foodos-button__icon{width:1.05rem;height:1.05rem;fill:currentColor}.foodos-button__label{font-size:.92rem}.foodos-pat{position:absolute;right:clamp(.55rem,5vw,1.25rem);bottom:4.6rem;z-index:4;width:clamp(8.6rem,36vw,12rem);pointer-events:none;opacity:0;transform:translateY(.6rem) scale(.84);transform-origin:50% 100%;animation:foodos-pat-enter 1.8s ease-out both;filter:drop-shadow(0 1rem 1.6rem rgba(92,46,18,.22))}.foodos-pat--centered{inset:50% auto auto 50%;z-index:3;width:clamp(9.5rem,42vw,13rem);transform:translate(-50%,-46%) scale(.84);transform-origin:50% 72%;animation-name:foodos-pat-enter-centered;filter:drop-shadow(0 1rem 1.7rem rgba(58,36,25,.42)) drop-shadow(0 0 1.6rem rgba(255,247,232,.28))}.foodos-pat__scene{display:block;width:100%;height:auto;overflow:visible}.foodos-pat__shadow{fill:#3a241929}.foodos-pat__sleeve{fill:var(--accent)}.foodos-pat__bowl{fill:#c96b2e}.foodos-pat__body{fill:#ff944d}.foodos-pat__palm{fill:var(--surface-strong)}.foodos-pat__body,.foodos-pat__palm,.foodos-pat__sleeve{stroke:var(--ink);stroke-linecap:round;stroke-linejoin:round;stroke-width:7}.foodos-pat__bowl{stroke:none}.foodos-pat__mascot{transform-origin:90px 118px;animation:foodos-pat-bounce 1.8s cubic-bezier(.2,1.4,.3,1) both}.foodos-pat__dumpling{transform-origin:90px 100px;animation:foodos-pat-squish 1.8s cubic-bezier(.2,1.2,.25,1) both}.foodos-pat__fold,.foodos-pat__top-fold,.foodos-pat__eye,.foodos-pat__smile,.foodos-pat__finger,.foodos-pat__sparks path{fill:none;stroke-linecap:round;stroke-linejoin:round}.foodos-pat__fold{stroke:#b83b1894;stroke-width:7}.foodos-pat__top-fold{stroke:#b83b18a3;stroke-width:5}.foodos-pat__eye,.foodos-pat__smile{stroke:var(--ink);stroke-width:7}.foodos-pat__cheek{fill:var(--surface-strong)}.foodos-pat__hand{transform-origin:104px 46px;animation:foodos-pat-hand 1.8s cubic-bezier(.25,1.3,.3,1) both}.foodos-pat__finger{stroke:var(--ink);stroke-width:6}.foodos-pat__sparks{opacity:0;animation:foodos-pat-sparks 1.8s ease-out both}.foodos-pat__sparks path{stroke:var(--accent);stroke-width:7}@keyframes foodos-pat-enter{0%{opacity:0;transform:translateY(.8rem) scale(.78)}12%,74%{opacity:1}to{opacity:0;transform:translateY(-.25rem) scale(.9)}}@keyframes foodos-pat-enter-centered{0%{opacity:0;transform:translate(-50%,-42%) scale(.78)}12%,74%{opacity:1}to{opacity:0;transform:translate(-50%,-52%) scale(.9)}}@keyframes foodos-pat-hand{0%{transform:translate(1.1rem,-1.15rem) rotate(8deg)}24%,50%{transform:translateY(.65rem) rotate(-4deg)}38%{transform:translate(-.08rem,.3rem) rotate(-6deg)}72%,to{transform:translate(.5rem,-1.35rem) rotate(7deg)}}@keyframes foodos-pat-squish{0%,18%,to{transform:scale(1)}32%,52%{transform:translateY(.35rem) scale(1.06,.88)}68%{transform:translateY(-.15rem) scale(.96,1.04)}}@keyframes foodos-pat-bounce{0%,to{transform:translateY(0)}30%,52%{transform:translateY(.35rem)}68%{transform:translateY(-.25rem)}}@keyframes foodos-pat-sparks{0%,18%{opacity:0;transform:translateY(.25rem) scale(.7)}30%,54%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-.45rem) scale(1.08)}}.foodos-summary{display:grid;gap:.25rem}.foodos-summary__topline{display:flex;align-items:center;gap:.7rem}.foodos-summary__avatars-button,.foodos-summary__count{border:0;padding:0;background:transparent;font:inherit;cursor:pointer}.foodos-summary__avatars-button[hidden],.foodos-summary__count[hidden]{display:none}.foodos-summary__avatars{display:flex;align-items:center}.foodos-summary__avatar{width:1.7rem;height:1.7rem;border-radius:999px;object-fit:cover;border:2px solid rgba(255,247,232,.95);box-shadow:0 6px 16px #5a36211a}.foodos-summary__avatar.avatar--initials{font-size:.65rem}.foodos-summary__avatar+.foodos-summary__avatar{margin-left:-.65rem}.foodos-summary__count{color:var(--ink)}.foodos-summary__count,.comments-button{font-size:.9rem;font-weight:600}.foodos-summary__avatars-button:hover .foodos-summary__avatar,.foodos-summary__count:hover{transform:translateY(-1px)}.foodos-summary__avatar,.foodos-summary__count{transition:transform .16s ease,color .16s ease}.foodos-summary__count:hover{color:var(--accent-deep)}.comments-button{display:inline-flex;align-items:center;gap:.35rem;border:0;padding:0;background:transparent;color:var(--ink);font-family:inherit;cursor:pointer;transition:transform .16s ease,color .16s ease}.comments-button:hover{color:var(--brand-apron);transform:translateY(-1px)}.comments-button__icon{width:1.15rem;height:1.15rem;fill:currentColor}.comments-button__count{white-space:nowrap}.post-card__comment-preview{display:block;width:100%;margin-top:-.7rem;overflow:hidden;color:var(--ink);font-size:.94rem;line-height:1.45;text-align:left;text-overflow:ellipsis;white-space:nowrap}.post-card__comment-preview-author,.post-card__comment-preview-body{border:0;padding:0;background:transparent;font:inherit}button.post-card__comment-preview-author,button.post-card__comment-preview-body{cursor:pointer}button.post-card__comment-preview-author:hover,button.post-card__comment-preview-body:hover{color:var(--accent-deep)}.post-card__comment-preview-author{color:var(--ink);font-weight:700}.post-card__comment-preview-body{color:var(--ink-soft)}.comments{display:grid;gap:.9rem}.comments__list{display:grid;gap:.75rem}.comments__empty{margin:0;color:var(--ink-soft);font-size:.95rem}.comments__item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.7rem}.comments__avatar{width:2rem;height:2rem}.comments__avatar.avatar--initials{font-size:.72rem}.comments__body{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.35rem}.comments__main{min-width:0;display:grid;gap:.2rem}.comments__reaction{display:flex;align-items:center;align-self:center;justify-self:end;line-height:0}.comments__header{display:flex;align-items:baseline;gap:.5rem}.comments__author,.comments__time,.comments__text,.comments__status{margin:0}.comments__author{border:0;padding:0;background:transparent;color:var(--ink);font:inherit;font-weight:800}button.comments__author{cursor:pointer}button.comments__author:hover{color:var(--accent-deep)}.comments__time,.comments__status{color:var(--ink-soft);font-size:.85rem}.comments__text{overflow-wrap:anywhere;line-height:1.45}.comment-reaction-button{--pizza-crust: #b8b0a9;--pizza-cheese: #d0cbc4;--pizza-drip: #c4bdb5;--pizza-topping: #a79f97;position:relative;display:inline-flex;align-items:center;justify-content:flex-end;gap:.12rem;min-width:0;height:2.1rem;border:0;padding:0;appearance:none;-webkit-appearance:none;background:transparent;color:var(--ink-soft);font:inherit;font-size:.9rem;line-height:1;font-weight:800;cursor:pointer;opacity:.72;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:opacity .16s ease,color .16s ease}.comment-reaction-button:hover,.comment-reaction-button:focus-visible{color:var(--accent-deep);opacity:.94}.comment-reaction-button:before,.comment-reaction-button:after{position:absolute;right:-.1rem;top:50%;pointer-events:none;content:"";opacity:0;transform:translateY(-50%) scale(.35)}.comment-reaction-button:before{width:2.05rem;height:2.05rem;border-radius:999px;background:#ffc75847}.comment-reaction-button:after{width:.28rem;height:.28rem;border-radius:999px;background:var(--brand-corn);box-shadow:0 -1.25rem 0 var(--brand-orange-deep),.9rem -.85rem 0 var(--brand-corn),1.22rem 0 0 var(--brand-orange-deep),.82rem .86rem 0 var(--brand-corn),0 1.22rem 0 var(--brand-orange-deep),-.88rem .82rem 0 var(--brand-corn),-1.22rem 0 0 var(--brand-orange-deep),-.86rem -.88rem 0 var(--brand-corn)}.comment-reaction-button.is-animating:before{animation:pizza-reaction-ring .62s ease-out both}.comment-reaction-button.is-animating:after{animation:pizza-reaction-sparks .62s ease-out both}.comment-reaction-button:active{transform:none}.comment-reaction-button.is-active{--pizza-crust: #d87532;--pizza-cheese: var(--brand-corn);--pizza-drip: #ffd977;--pizza-topping: var(--brand-orange-deep);color:var(--accent-deep);opacity:1}.comment-reaction-button:disabled{cursor:default;opacity:.5}.comment-reaction-button__icon{display:block;width:1.78rem;height:1.78rem;flex:0 0 auto}.comment-reaction-button.is-animating .comment-reaction-button__icon{animation:pizza-reaction-pop .62s cubic-bezier(.2,1.45,.3,1) both;transform-origin:50% 70%}.comment-reaction-button.is-animating .comment-reaction-button__topping{animation:pizza-reaction-smile .62s ease both;transform-origin:center}.comment-reaction-button__crust{fill:var(--pizza-crust)}.comment-reaction-button__cheese{fill:var(--pizza-cheese)}.comment-reaction-button__cheese-drip{fill:var(--pizza-drip)}.comment-reaction-button__topping{fill:var(--pizza-topping)}.comment-reaction-button__count{display:inline-block;min-width:0;text-align:right;line-height:1;white-space:nowrap}.comment-reaction-button__count:empty{visibility:hidden}@keyframes pizza-reaction-pop{0%{transform:scale(1) rotate(0)}28%{transform:scale(1.38) rotate(-13deg)}52%{transform:scale(.94) rotate(8deg)}74%{transform:scale(1.08) rotate(-3deg)}to{transform:scale(1) rotate(0)}}@keyframes pizza-reaction-ring{0%{opacity:.82;transform:translateY(-50%) scale(.25)}72%{opacity:.22}to{opacity:0;transform:translateY(-50%) scale(1.7)}}@keyframes pizza-reaction-sparks{0%{opacity:0;transform:translateY(-50%) scale(.25) rotate(0)}28%{opacity:.95}to{opacity:0;transform:translateY(-50%) scale(1.35) rotate(24deg)}}@keyframes pizza-reaction-smile{0%,to{filter:none}34%{filter:drop-shadow(0 0 .12rem rgba(255,250,244,.85))}}.comments__form{display:grid;gap:.55rem}.comments__field{display:block}.comments__input{width:100%;min-height:4rem;max-height:12rem;resize:vertical;padding:.75rem .85rem;border:1px solid var(--border);border-radius:14px;background:var(--surface-strong);color:var(--ink);font:inherit;line-height:1.4}.comments__input:read-only{color:var(--ink-soft);cursor:pointer;opacity:1}.comments__actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.comments__submit{border:0;border-radius:999px;padding:.65rem .9rem;background:var(--accent-soft);color:var(--accent-deep);font:inherit;font-weight:800;cursor:pointer}.comments__submit:disabled{cursor:default;opacity:.62}.composer-overlay{position:fixed;inset:0;z-index:40;width:100%;height:100vh;height:100dvh;min-height:100vh;display:grid;place-items:center;padding:calc(env(safe-area-inset-top,0px) + 1rem) 1rem 1rem;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;isolation:isolate;background:transparent}.composer-overlay:before{content:"";position:fixed;inset:calc(-1*env(safe-area-inset-top,0px)) 0 calc(-1*env(safe-area-inset-bottom,0px));background:#3a241957;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);pointer-events:none;z-index:-1}.composer-overlay[hidden]{display:none}.composer{position:relative;z-index:1;width:min(100%,34rem);display:grid;gap:.85rem;padding:1.08rem;max-height:min(100dvh - 2rem,48rem);overflow-y:auto;border:1px solid var(--border);border-radius:24px;background:#fff7e8fa;box-shadow:var(--shadow)}.composer__header,.composer__footer{display:flex;justify-content:space-between;align-items:center;gap:1rem}.composer__title,.composer__eyebrow{margin:0}.composer__title{font-size:1.42rem}.composer__eyebrow{margin-bottom:.25rem;color:var(--ink-soft);font-size:.85rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.composer__close,.composer__secondary,.composer__submit{border:0;border-radius:999px;font:inherit}.composer__close{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:var(--accent-soft);color:var(--accent-deep);cursor:pointer}.composer__close svg{width:1.15rem;height:1.15rem;fill:currentColor}.composer__field{display:grid;gap:.45rem;font-weight:700}.composer__field[hidden]{display:none}.composer__field span{color:var(--ink)}.composer__field input,.composer__field textarea{width:100%;padding:.9rem 1rem;border:1px solid var(--border);border-radius:14px;background:var(--surface-strong);color:var(--ink);font:inherit}.composer__field textarea{resize:vertical;min-height:8rem}.composer__status{min-height:1.25rem;margin:0;color:var(--accent-deep)}.composer__hint{margin:-.35rem 0 0;color:var(--ink-soft);font-size:.9rem;line-height:1.4}.composer__admin-action{justify-self:start}.composer__admin-action[hidden]{display:none}.composer__footer{align-items:center}.composer__secondary,.composer__submit{padding:.85rem 1.15rem;font-weight:700;cursor:pointer}.composer__secondary{background:var(--accent-soft);color:var(--accent-deep)}.composer__submit{background:var(--accent);color:var(--brand-on-orange);box-shadow:0 12px 24px #b83b1833}.composer__secondary:disabled,.composer__submit:disabled,.composer__close:disabled{opacity:.6;cursor:wait}.composer--auth{width:min(100%,29rem)}.composer--settings{width:min(100%,32rem)}.composer--foodos{width:min(100%,28rem)}.composer--comments{width:min(100%,34rem)}.settings-profile{display:flex;align-items:center;gap:1rem;padding:.85rem .95rem;border:1px solid var(--border);border-radius:18px;background:var(--surface-strong)}.settings-profile__avatar{width:4.2rem;height:4.2rem}.settings-profile__copy{display:grid;gap:.2rem}.settings-profile__title,.settings-profile__hint{margin:0}.settings-profile__title{font-weight:800}.settings-profile__hint{color:var(--ink-soft);line-height:1.4}.notification-settings{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem .95rem;border:1px solid var(--border);border-radius:18px;background:var(--surface-strong)}.notification-settings__title,.notification-settings__hint{margin:0}.notification-settings__title{font-family:inherit;font-size:1rem;font-weight:800;letter-spacing:0}.notification-settings__hint{margin-top:.2rem;color:var(--ink-soft);line-height:1.4}.notification-settings__button{flex:0 0 auto}.notification-settings__button:disabled{cursor:default}.notification-settings__button.is-busy:disabled{cursor:wait}.notification-install-guide{padding:.85rem .95rem;border:1px solid var(--border);border-radius:18px;background:#ffe4bfad}.notification-install-guide[hidden]{display:none}.notification-install-guide__steps{display:grid;gap:.72rem;margin:0;padding:0;list-style:none}.notification-install-guide__step{display:grid;grid-template-columns:2rem minmax(0,1fr);align-items:center;gap:.7rem;color:var(--ink);font-size:.95rem;line-height:1.35}.notification-install-guide__icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid rgba(242,106,46,.22);border-radius:999px;background:var(--surface-strong);color:var(--accent-deep);box-shadow:0 8px 16px #5a362114}.notification-install-guide__icon svg{width:1.05rem;height:1.05rem;fill:currentColor}.notification-install-guide__icon img{width:1.45rem;height:1.45rem;border-radius:.42rem}.notification-install-guide__icon--app{padding:0;overflow:hidden}.auth-mode-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;padding:.35rem;border-radius:999px;background:#f26a2e1a}.auth-mode-toggle__button{border:0;border-radius:999px;padding:.75rem .9rem;background:transparent;color:var(--ink-soft);font:inherit;font-weight:700;cursor:pointer}.auth-mode-toggle__button.is-active{background:var(--surface-strong);color:var(--ink);box-shadow:0 10px 22px #5a36211a}.auth-footnote{margin:0;color:var(--ink-soft);font-size:.95rem}.foodos-list{display:grid;gap:.55rem}.foodos-list__empty{margin:0;color:var(--ink-soft)}.foodos-list__item{display:flex;align-items:center;gap:.85rem;width:100%;padding:.85rem .95rem;border:1px solid var(--border);border-radius:16px;background:var(--surface-strong);color:var(--ink);font:inherit;text-align:left}.foodos-list__avatar{width:2.7rem;height:2.7rem}.foodos-list__avatar.avatar--initials{font-size:.95rem}.foodos-list__name{margin:0;border:0;padding:0;background:transparent;color:var(--ink);font:inherit;font-weight:700}button.foodos-list__name{cursor:pointer}button.foodos-list__name:hover{color:var(--accent-deep)}.profile-page{padding-bottom:3rem}.profile-page__shell{width:min(100%,760px);margin:0 auto}.profile-page__back{display:inline-flex;grid-column:1;align-items:center;justify-self:start;gap:.1rem;min-width:0;min-height:2.75rem;margin:0;padding:0 .7rem 0 .2rem;border:0;border-radius:12px;background:transparent;color:var(--accent);font:inherit;font-size:1.05rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent}.profile-page__back:hover{background:var(--accent-soft)}.profile-page__back span{font-size:2.2rem;font-weight:400;line-height:.7;transform:translateY(-1px)}.profile-page__back[hidden]{display:none}.profile-page__header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1.35rem;align-items:center;padding:1.25rem;border:1px solid var(--border);border-radius:20px;background:#fff7e8f0;box-shadow:var(--shadow)}.profile-page__avatar,.profile-page__avatar .avatar{width:8rem;height:8rem}.profile-page__avatar .avatar--initials{font-size:2.2rem}.profile-page__identity{display:grid;gap:.45rem;min-width:0}.profile-page__eyebrow,.profile-page__name,.profile-page__meta,.profile-page__status{margin:0}.profile-page__eyebrow{color:var(--ink-soft);font-size:.85rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.profile-page__name{overflow-wrap:anywhere;font-size:clamp(2rem,6vw,3.2rem);line-height:.98}.profile-page__meta,.profile-page__status{color:var(--ink-soft);line-height:1.45}.profile-page__stats{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.35rem}.profile-page__stats div{min-width:6.25rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-strong)}.profile-page__stats strong,.profile-page__stats span{display:block}.profile-page__stats strong{font-size:1.35rem;line-height:1}.profile-page__stats span{margin-top:.22rem;color:var(--ink-soft);font-size:.82rem;font-weight:800;text-transform:uppercase}.profile-page__actions{display:flex;flex-direction:column;gap:.65rem;align-items:stretch}.profile-page__actions [hidden]{display:none}.profile-page__status{min-height:1.4rem;margin-top:.8rem;color:var(--accent-deep)}.profile-page__recent{margin-top:1.35rem}.profile-page__section-title{margin:0 0 .85rem;font-size:1.35rem}.profile-page__posts{width:100%;margin:0}.profile-page__empty{margin:0;padding:1rem;border:1px solid var(--border);border-radius:8px;background:#fff7e8f0;color:var(--ink-soft)}@media(max-width:860px){.post-feed{width:min(100%,480px)}}@media(max-width:640px){.page-shell{width:100%;padding-top:0}.post-feed{width:100%}.post-card{border-right:0;border-left:0;border-radius:0}.profile-page__shell{width:100%}.profile-page__header{grid-template-columns:auto minmax(0,1fr);border-right:0;border-left:0;border-radius:0}.profile-page__avatar,.profile-page__avatar .avatar{width:5.8rem;height:5.8rem}.profile-page__avatar .avatar--initials{font-size:1.55rem}.profile-page__actions{grid-column:1 / -1;flex-direction:row}.profile-page__status,.profile-page__section-title{padding-inline:.75rem}.post-card__body{padding:.96rem}.post-card__media{width:calc(100% + 1.92rem);margin-inline:-.96rem;border-radius:0}.topbar{position:sticky;top:0;margin-bottom:.75rem;padding-inline:max(.75rem,env(safe-area-inset-left)) max(.75rem,env(safe-area-inset-right))}.topbar__inner{display:grid;grid-template-columns:5.35rem minmax(0,1fr) 5.35rem;width:min(100%,640px);min-height:calc(54px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);gap:.25rem}.topbar__brand{grid-column:2;min-width:0;margin-block:0;overflow:hidden}.topbar__logo{width:min(100%,12.75rem);height:auto;max-height:3.35rem}.profile-page__back{grid-column:1;max-width:5.35rem;min-height:2.25rem;padding-right:.25rem;font-size:.95rem}.profile-page__back span{font-size:1.9rem}.topbar__actions{grid-column:3;gap:.35rem;min-width:0}.create-post-button{flex:0 0 2.45rem;width:2.45rem;min-width:2.45rem;height:2.45rem;min-height:2.45rem;aspect-ratio:1;border-radius:50%}.create-post-button span{font-size:1.7rem}.current-user{flex:0 0 auto;align-self:center;padding:.15rem}.current-user__avatar:empty:before,.current-user__avatar .avatar,.current-user__avatar.avatar{width:2.15rem;height:2.15rem}.current-user__name,.topbar__secondary-button{display:none}.topbar-menu{right:-.15rem;min-width:9.5rem}.post-card__topline{align-items:flex-start}.post-card__footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem}.post-card__engagement{flex-wrap:wrap;gap:.55rem .75rem}.foodos-button{justify-content:center;justify-self:end;width:2.9rem;height:2.9rem;gap:0;padding:0;white-space:nowrap}.foodos-button__icon{width:1.15rem;height:1.15rem}.foodos-button__label{display:none}.foodos-summary__topline{gap:.5rem}.foodos-summary{text-align:left}.composer{max-height:calc(100dvh - 1.25rem);padding:.85rem}.composer-overlay{padding-top:calc(env(safe-area-inset-top,0px) + .75rem)}.composer__header,.composer__footer{flex-direction:row;align-items:center}.composer__footer{flex-wrap:wrap;justify-content:space-between}}
