/* V2.80 CLEAN PRODUCTION BUNDLE — generated from locked V2.79 live cascade. */

/* ===== app-home-210.css ===== */
:root{
  --bg:#F6F0E5;--ink:#241A14;--muted:#6F716C;--coral:#D8613B;--coral2:#C85131;
  --sage:#66815F;--sage2:#51724D;--cream:#FFFDF9;--shadow:0 18px 44px rgba(73,55,38,.10);
  --shadow-soft:0 10px 28px rgba(73,55,38,.07);--dock-h:72px;--system-bottom:0px
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;width:100%;height:100%;background:var(--bg);color:var(--ink);overflow:hidden}
body{font-family:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;overscroll-behavior:none}
button,a{font:inherit;color:inherit}button{border:0;cursor:pointer}a{text-decoration:none}
.app-shell{width:min(100%,480px);height:100dvh;max-height:100dvh;margin:0 auto;position:relative;overflow:hidden;background:radial-gradient(circle at 8% 60%,rgba(239,202,180,.24),transparent 28%),radial-gradient(circle at 96% 24%,rgba(218,232,208,.34),transparent 27%),#F8F2E8}
.content{position:absolute;inset:0 0 calc(var(--dock-h) + 18px + var(--system-bottom) + env(safe-area-inset-bottom)) 0;padding:calc(8px + env(safe-area-inset-top)) 14px 4px;display:grid;grid-template-rows:minmax(0,1.34fr) minmax(0,1fr) 48px;gap:9px;overflow:hidden}
.video-hero{position:relative;min-height:0;border-radius:32px;overflow:hidden;box-shadow:0 22px 48px rgba(74,52,35,.14);background:#D9C7AE;isolation:isolate;border:1px solid rgba(255,255,255,.88)}
.hero-media{position:absolute;inset:0;z-index:0;overflow:hidden;background:#E9D9C7}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:61% 52%;opacity:0;transform:scale(1.02);transition:opacity 1.2s ease,transform 9s ease-out}
.hero-slide.is-visible{opacity:1}.hero-slide.is-zooming{transform:scale(1.045)}
.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(255,249,240,.97) 0%,rgba(255,248,238,.91) 34%,rgba(255,248,238,.52) 54%,rgba(255,248,238,.07) 75%)}
.hero-glow{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(255,255,255,.12),transparent 65%,rgba(117,85,57,.05))}
.profile-button{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.90);border:1px solid rgba(255,255,255,.98);box-shadow:var(--shadow-soft);position:relative;color:#2C2A25;backdrop-filter:blur(10px)}
.hero-profile{position:absolute;top:16px;right:16px;z-index:5}.profile-dot{position:absolute;right:5px;top:5px;width:8px;height:8px;border-radius:50%;background:#67A764;box-shadow:0 0 0 3px #F7F1E7}
.hero-content{position:absolute;z-index:3;left:19px;right:35%;top:16px;color:var(--ink)}
.eyebrow{display:inline-flex;align-items:center;min-height:32px;padding:0 13px;border-radius:999px;background:rgba(184,193,151,.30);border:1px solid rgba(255,255,255,.52);backdrop-filter:blur(14px) saturate(1.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.35);font-size:8.9px;font-weight:850;letter-spacing:.65px;color:#414331;white-space:nowrap}.eyebrow i{font-style:normal;font-size:12px;margin-right:8px;transform:rotate(-22deg);color:#5D7452;line-height:1}
.hero-content h1{margin:15px 0 9px;font-family:"Playfair Display",serif;font-size:clamp(42px,10.6vw,57px);line-height:.93;letter-spacing:-2.5px;font-weight:700;color:#2C1C14}.hero-content h1 span{color:var(--coral)}
.hero-content p{margin:0;color:#575B56;font-size:13px;line-height:1.48;font-weight:500;max-width:25ch}
.hero-badge{position:absolute;z-index:4;left:20px;bottom:13px;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:8px;align-items:center;color:#A64F2F;font-family:"Caveat",cursive;transform:rotate(-2deg);line-height:.92;text-shadow:0 1px 0 rgba(255,255,255,.45)}
.hero-badge strong{grid-column:1 / -1;font-size:22px;font-weight:600;letter-spacing:.1px}
.hero-badge span{font-size:18px;font-weight:600}
.hero-badge i{font-size:22px;color:var(--coral);font-style:normal;margin-left:1px;transform:translateY(1px)}
.main-actions{height:100%;min-height:0;display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:10px}
.feature-card{width:100%;height:100%;min-height:0;position:relative;text-align:left;display:grid;align-items:center;grid-template-columns:94px minmax(0,1fr) 42px;gap:8px;padding:11px 14px 11px 10px;border-radius:28px;box-shadow:var(--shadow);overflow:hidden;border:1px solid rgba(255,255,255,.93)}
.feature-card.weekly{background:linear-gradient(120deg,rgba(255,253,249,.96),rgba(255,244,235,.91));}.feature-card.today{background:linear-gradient(120deg,rgba(244,250,239,.96),rgba(225,239,218,.92));box-shadow:0 16px 36px rgba(82,109,73,.11)}
.feature-art{width:94px;height:88px;display:grid;place-items:center;position:relative;align-self:center;overflow:visible;isolation:isolate}
.feature-art::after{content:"";position:absolute;inset:14px 8px 4px;border-radius:50%;background:radial-gradient(ellipse,rgba(101,79,55,.13),transparent 67%);filter:blur(7px);z-index:-1}
.feature-art img{display:block;width:112%;height:112%;object-fit:contain;filter:drop-shadow(0 10px 13px rgba(71,52,37,.13));transform:translateX(-2px)}
.weekly-art img{width:119%;height:119%;transform:translate(-3px,1px)}
.fridge-art img{width:116%;height:116%;transform:translate(-4px,1px)}
.feature-copy{position:relative;z-index:2}.feature-kicker{display:block;font-size:8.6px;font-weight:900;letter-spacing:1.05px;color:var(--coral);margin-bottom:4px}.today .feature-kicker{color:#5E7D57}
.feature-copy h2{margin:0;font-family:"Playfair Display",serif;font-size:21px;line-height:1;letter-spacing:-.65px;color:#2A201B}.feature-copy p{margin:6px 0 0;color:#71746E;font-size:10.3px;line-height:1.33;font-weight:500;max-width:29ch}.today .feature-copy p{color:#60705D}
.feature-note{position:absolute;right:14px;top:8px;font-family:"Caveat",cursive;font-size:12px;line-height:1;color:#966B52;text-align:right;transform:rotate(-5deg);opacity:.92}.green-note{color:#67805E}
.round-arrow{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#DF6C47,#CC5736);box-shadow:0 9px 18px rgba(190,80,45,.18);position:relative;z-index:2}.round-arrow.green{background:linear-gradient(145deg,#6C8D64,#557650)}
.micro-benefits{display:grid;grid-template-columns:1fr 1px 1fr;align-items:center;gap:10px;padding:0 6px;color:#646862}.micro-benefits>i{width:1px;height:28px;background:rgba(83,76,66,.13)}.micro-benefits>div{display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:center;min-width:0}.benefit-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:9px}.orange-benefit{background:#F9E2D5;color:#D66640}.green-benefit{background:#E1EDD9;color:#67815F}.micro-benefits p{margin:0;display:grid;gap:1px;min-width:0}.micro-benefits strong{font-size:9.8px;white-space:nowrap}.micro-benefits small{font-size:8.1px;color:#8B8E88;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bottom-nav{position:absolute;left:10px;right:10px;bottom:calc(8px + var(--system-bottom) + env(safe-area-inset-bottom));z-index:30;height:var(--dock-h);padding:6px 7px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;background:rgba(255,255,255,.93);border:1px solid rgba(255,255,255,.99);border-radius:27px;backdrop-filter:blur(20px);box-shadow:0 16px 36px rgba(57,46,34,.13)}
.nav-item{appearance:none;background:transparent;height:55px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:18px;color:#737873;font-size:9.4px;font-weight:700}.nav-icon{width:31px;height:29px;border-radius:12px;display:grid;place-items:center}.nav-item.active{color:var(--coral);background:rgba(218,98,61,.07)}.nav-item.active .nav-icon{background:rgba(218,98,61,.08)}
.camera-nav{height:62px;background:transparent;color:#80857F;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:1px;padding:0;margin:-11px 0 0}.camera-bubble{width:52px;height:52px;border-radius:19px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#F4774D,#E35F37);border:2px solid rgba(255,255,255,.95);box-shadow:0 12px 24px rgba(211,78,35,.23)}.camera-label{font-size:9.2px;font-weight:800;line-height:1}
@media(max-width:390px){.hero-content{right:33%}.hero-content h1{font-size:45px}.feature-card{grid-template-columns:70px minmax(0,1fr) 38px;padding:11px 13px}.feature-art{width:70px;height:70px}.feature-copy h2{font-size:18.5px}.feature-copy p{font-size:9.8px}.feature-note{font-size:10.5px;top:7px}}
@media(max-width:355px){.content{padding-left:11px;padding-right:11px}.hero-content{left:16px;right:31%}.hero-content h1{font-size:39px}.hero-content p{font-size:11px}.hero-badge{left:16px}.hero-badge strong{font-size:15px}.hero-badge span{font-size:13px}.feature-card{grid-template-columns:58px minmax(0,1fr) 34px;gap:9px}.feature-art{width:58px;height:58px}.feature-copy h2{font-size:16.5px}.feature-copy p{font-size:8.8px}.round-arrow{width:34px;height:34px}.feature-note{display:none}.micro-benefits{gap:6px}.micro-benefits>div{grid-template-columns:28px 1fr;gap:6px}.benefit-icon{width:28px;height:28px}.micro-benefits strong{font-size:8.8px}.micro-benefits small{font-size:7.4px}}
@media(max-height:720px){.content{grid-template-rows:minmax(0,1.39fr) minmax(0,1fr) 38px;gap:8px}.hero-content h1{font-size:40px}.hero-content p{font-size:10.8px}.feature-copy h2{font-size:17px}.feature-copy p{font-size:9.1px}.micro-benefits{transform:scale(.96);transform-origin:center}}
@media(max-height:650px){:root{--dock-h:61px}.hero-content h1{font-size:34px}.eyebrow{min-height:26px;font-size:7.6px}.hero-badge strong{font-size:14px}.hero-badge span{font-size:12px}.feature-card{grid-template-columns:55px minmax(0,1fr) 32px;padding:9px 11px}.feature-art{width:55px;height:55px}.feature-copy h2{font-size:15.5px}.feature-copy p{font-size:8.4px}.bottom-nav{height:61px}.nav-item{height:47px}.camera-bubble{width:45px;height:45px}.camera-nav{height:54px}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none;transform:none!important}}
@media(min-width:481px){body{background:#E9E5DD}.app-shell{box-shadow:0 0 0 1px rgba(30,30,30,.03),0 20px 60px rgba(30,30,30,.08)}}

/* Premium install pop-in ---------------------------------------------------- */
.install-popover{
  position:fixed;inset:0;z-index:300;
  display:grid;place-items:center;
  padding:max(12px,env(safe-area-inset-top)) 14px max(12px,env(safe-area-inset-bottom));
  opacity:0;visibility:hidden;transition:opacity .24s ease,visibility .24s ease
}
.install-popover[hidden]{display:none}
.install-popover.is-open{opacity:1;visibility:visible}
.install-backdrop{position:absolute;inset:0;background:rgba(25,23,19,.46);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.install-card{
  position:relative;z-index:1;width:min(100%,382px);max-height:calc(100dvh - 26px);overflow:auto;overscroll-behavior:contain;
  border-radius:30px;background:#FFFDF8;border:1px solid rgba(255,255,255,.90);
  box-shadow:0 30px 80px rgba(38,31,23,.26),0 8px 24px rgba(38,31,23,.10);
  transform:translateY(16px) scale(.975);opacity:0;
  transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .24s ease
}
.install-popover.is-open .install-card{transform:translateY(0) scale(1);opacity:1}
.install-close{
  position:absolute;z-index:6;top:12px;right:12px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
  color:#2F312D;background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.92);box-shadow:0 7px 20px rgba(35,29,22,.12);backdrop-filter:blur(8px)
}
.install-visual{position:relative;height:158px;overflow:hidden;border-radius:29px 29px 0 0;background:#CFC6B8}
.install-food{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;transform:scale(1.035)}
.install-visual-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(35,27,20,.30),rgba(35,27,20,.06) 65%),linear-gradient(0deg,rgba(28,22,18,.27),transparent 56%)}
.install-app-icon{
  position:absolute;left:18px;bottom:16px;width:58px;height:58px;border-radius:17px;overflow:hidden;
  background:#F7E8CC;border:2px solid rgba(255,255,255,.88);box-shadow:0 10px 24px rgba(35,28,20,.22)
}
.install-app-icon img{width:100%;height:100%;object-fit:cover;display:block}
.install-pill{
  position:absolute;left:88px;bottom:30px;display:inline-flex;align-items:center;height:28px;padding:0 11px;border-radius:999px;
  color:#fff;background:rgba(30,25,20,.36);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(10px);
  font-size:8.7px;letter-spacing:.72px;font-weight:800
}
.install-body{padding:21px 20px 18px}
.install-view h2{margin:0;font-family:"Manrope",sans-serif;font-size:23px;line-height:1.08;letter-spacing:-.8px;color:#242722}
.install-lead,.install-guide-intro{margin:9px 0 0;color:#70746D;font-size:12.8px;line-height:1.48;font-weight:500}
.install-benefits{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0 17px}
.install-benefits span{display:inline-flex;align-items:center;gap:6px;height:29px;padding:0 10px;border-radius:999px;background:#F5F1E8;color:#6C7069;font-size:9.4px;font-weight:800}
.install-benefits i{width:6px;height:6px;border-radius:50%;background:#75A26D;box-shadow:0 0 0 3px rgba(117,162,109,.12)}
.install-primary{
  width:100%;min-height:50px;border-radius:17px;padding:0 17px;display:flex;align-items:center;justify-content:center;gap:9px;
  color:#fff;background:linear-gradient(145deg,#F17A49,#E95F31);font-family:"Manrope",sans-serif;font-size:13.5px;font-weight:800;
  box-shadow:0 12px 26px rgba(211,78,35,.22);touch-action:manipulation
}
.install-primary:active{transform:translateY(1px)}
.install-later{width:100%;height:38px;margin-top:5px;background:transparent;color:#858980;font-size:11px;font-weight:800}
.install-guide-label{display:inline-flex;height:25px;align-items:center;padding:0 9px;margin-bottom:9px;border-radius:999px;background:#EEF3E9;color:#60735C;font-size:8px;font-weight:900;letter-spacing:.65px}
.install-steps{list-style:none;margin:16px 0 16px;padding:0;display:grid;gap:10px}
.install-steps li{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:11px;min-height:50px;padding:8px 10px;border-radius:17px;background:#F8F5EE;border:1px solid rgba(49,48,42,.04)}
.step-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;color:#E86637;background:#FFF;box-shadow:0 5px 13px rgba(48,42,31,.07)}
.step-icon>strong{font-size:22px;line-height:1;font-weight:600}.install-steps div{display:grid;gap:2px}.install-steps strong{font-size:11.5px;color:#343730}.install-steps small{font-size:9.8px;line-height:1.32;color:#7B7F77;font-weight:600}
.install-ios-note{margin:-2px 3px 14px;color:#8A8E86;font-size:9.4px;line-height:1.38;font-weight:600}
.install-steps.compact{margin-bottom:17px}
body.install-open{overflow:hidden;touch-action:none}
body.install-open .install-card{touch-action:auto}

@media (max-height:700px){
  .install-visual{height:126px}.install-body{padding:16px 18px 14px}.install-view h2{font-size:20px}.install-lead,.install-guide-intro{font-size:11.7px}
  .install-benefits{margin:11px 0 13px}.install-primary{min-height:46px}.install-steps{gap:7px;margin:11px 0}.install-steps li{min-height:45px;padding:6px 9px}.install-app-icon{width:52px;height:52px;border-radius:15px}.install-pill{left:80px;bottom:25px}
}
@media (max-width:355px){
  .install-card{border-radius:26px}.install-visual{border-radius:25px 25px 0 0}.install-body{padding-left:16px;padding-right:16px}.install-view h2{font-size:19px}.install-pill{font-size:8px}
}
@media (prefers-reduced-motion:reduce){.install-popover,.install-card{transition:none}}


/* V2.10 — approved premium home, Samsung-safe + tactile 3D interactions */
html.is-android{--system-bottom:24px}
.app-shell{
  background:transparent;
  isolation:isolate;
}
.app-shell::before{
  content:"";
  position:absolute;
  inset:-20px;
  z-index:0;
  background:url('/assets/hero/hero-premium-271.webp') 67% 50% / cover no-repeat;
  filter:blur(11px) saturate(1.07) contrast(1.01);
  transform:scale(1.075);
  opacity:.68;
  pointer-events:none;
}
.app-shell::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,rgba(249,245,237,.40),rgba(248,242,232,.55) 52%,rgba(247,240,229,.66)),
    radial-gradient(circle at 85% 18%,rgba(225,239,214,.10),transparent 28%),
    radial-gradient(circle at 10% 72%,rgba(244,192,158,.10),transparent 30%);
  pointer-events:none;
}
.content{z-index:2}
.bottom-nav{z-index:30;background:rgba(255,252,247,.91);border-color:rgba(255,255,255,.94);box-shadow:0 18px 40px rgba(65,49,35,.15);}
.video-hero{box-shadow:0 20px 44px rgba(73,52,35,.13);}
.hero-overlay{background:linear-gradient(90deg,rgba(255,249,240,.97) 0%,rgba(255,248,238,.91) 32%,rgba(255,248,238,.48) 53%,rgba(255,248,238,.05) 76%)}
.hero-content{left:20px;right:33%;top:16px}
.hero-content h1{font-size:clamp(41px,10.4vw,55px)}
.feature-card{box-shadow:0 14px 32px rgba(70,51,36,.10),inset 0 1px 0 rgba(255,255,255,.66);}
.feature-card.weekly::before,.feature-card.today::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.20),transparent 38%);}
.feature-note{right:13px;top:8px;font-size:12.2px;}
.round-arrow{width:42px;height:42px;box-shadow:0 10px 0 rgba(170,68,34,.13),0 14px 22px rgba(190,80,45,.18);}
.round-arrow.green{box-shadow:0 10px 0 rgba(57,91,52,.13),0 14px 22px rgba(78,111,71,.18);}
.micro-benefits{background:rgba(255,248,238,.24);border-radius:18px;padding-left:7px;padding-right:7px;backdrop-filter:blur(8px)}

/* Real tactile/3D press feedback for every clickable UI control */
.profile-button,.feature-card,.nav-item,.camera-nav,.install-close,.install-primary,.install-later,.ready-home,
button[data-install-guide-done],button[data-install-action],button[data-install-later]{
  -webkit-user-select:none;user-select:none;touch-action:manipulation;
  transition:transform .13s cubic-bezier(.2,.8,.2,1),box-shadow .13s ease,filter .13s ease,background-color .13s ease;
  transform:translateZ(0);
}
.profile-button:hover,.feature-card:hover,.nav-item:hover,.camera-nav:hover{filter:brightness(1.015)}
.profile-button:active{transform:translateY(3px) scale(.955);box-shadow:0 4px 8px rgba(55,43,31,.12)}
.feature-card:active{transform:translateY(4px) scale(.985);box-shadow:0 5px 10px rgba(64,48,34,.10),inset 0 2px 4px rgba(74,54,38,.08)}
.feature-card:active .round-arrow{transform:translateY(3px) scale(.92);box-shadow:0 3px 5px rgba(89,51,35,.14)}
.nav-item:active{transform:translateY(3px) scale(.94);background:rgba(218,98,61,.10)}
.camera-nav:active{transform:translateY(4px) scale(.94)}
.camera-nav:active .camera-bubble{box-shadow:0 4px 8px rgba(211,78,35,.19);transform:scale(.95)}
.install-close:active,.install-primary:active,.install-later:active,button[data-install-guide-done]:active{transform:translateY(3px) scale(.975);box-shadow:0 4px 9px rgba(55,43,31,.11)}
.profile-button:focus-visible,.feature-card:focus-visible,.nav-item:focus-visible,.camera-nav:focus-visible{outline:3px solid rgba(220,99,59,.25);outline-offset:2px}
.camera-bubble{transition:transform .13s ease,box-shadow .13s ease}
.round-arrow{transition:transform .13s ease,box-shadow .13s ease}

@media(max-width:390px){
  .feature-card{grid-template-columns:84px minmax(0,1fr) 39px;padding:10px 12px 10px 8px;gap:7px}
  .feature-art{width:84px;height:80px}
  .feature-copy h2{font-size:19px}
  .feature-copy p{font-size:9.65px;line-height:1.29}
  .hero-badge strong{font-size:20px}.hero-badge span{font-size:16.5px}
}
@media(max-width:355px){
  .feature-card{grid-template-columns:72px minmax(0,1fr) 35px;gap:6px;padding:9px 10px 9px 7px}
  .feature-art{width:72px;height:68px}
  .feature-copy h2{font-size:17.2px}.feature-copy p{font-size:8.8px}
  .feature-note{display:none}
  .hero-badge strong{font-size:18px}.hero-badge span{font-size:15px}
}
@media(max-height:820px){
  .content{grid-template-rows:minmax(0,1.27fr) minmax(0,.98fr) 44px;gap:8px}
  .hero-content h1{font-size:40px;margin-top:12px;margin-bottom:7px}
  .hero-content p{font-size:10.8px;line-height:1.4}
  .eyebrow{min-height:28px;font-size:8.1px}
  .hero-badge{bottom:10px}.hero-badge strong{font-size:18px}.hero-badge span{font-size:15px}
  .feature-card{padding-top:9px;padding-bottom:9px}
  .feature-copy h2{font-size:17.5px}.feature-copy p{font-size:8.9px;line-height:1.27}
  .feature-art{height:69px}.micro-benefits{height:44px}
}
@media(max-height:740px){
  :root{--dock-h:66px}
  .content{grid-template-rows:minmax(0,1.19fr) minmax(0,.94fr) 38px;gap:7px;padding-top:calc(7px + env(safe-area-inset-top))}
  .video-hero{border-radius:27px}.hero-profile{top:11px;right:11px}.profile-button{width:39px;height:39px}
  .hero-content{top:11px;left:16px}.hero-content h1{font-size:35px;margin:9px 0 5px;letter-spacing:-1.8px}.hero-content p{font-size:9.7px}
  .eyebrow{min-height:25px;padding:0 10px;font-size:7.2px}.hero-badge{left:16px;bottom:8px}.hero-badge strong{font-size:16px}.hero-badge span{font-size:13.5px}.hero-badge i{font-size:17px}
  .feature-card{border-radius:24px;grid-template-columns:65px minmax(0,1fr) 34px;padding:7px 10px 7px 7px;gap:6px}.feature-art{width:65px;height:59px}.feature-copy h2{font-size:15.6px}.feature-copy p{font-size:8.1px;margin-top:4px}.feature-kicker{font-size:7.4px;margin-bottom:2px}.feature-note{font-size:9.5px;top:5px}.round-arrow{width:34px;height:34px}
  .micro-benefits{height:38px}.micro-benefits>div{grid-template-columns:28px 1fr;gap:6px}.benefit-icon{width:28px;height:28px}.micro-benefits strong{font-size:8.8px}.micro-benefits small{font-size:7.2px}
  .bottom-nav{height:66px;border-radius:24px}.nav-item{height:50px}.camera-bubble{width:47px;height:47px}.camera-nav{height:57px}
}
@media(prefers-reduced-motion:reduce){
  .profile-button,.feature-card,.nav-item,.camera-nav,.install-close,.install-primary,.install-later,.camera-bubble,.round-arrow{transition:none}
}

/* Final Samsung polish to match the approved reference more closely */
@media(max-height:820px) and (min-width:356px){
  .hero-content h1{font-size:43px;line-height:.92}
  .hero-content p{font-size:11.2px}
  .eyebrow{font-size:8.35px;min-height:29px}
  .hero-badge strong{font-size:20.5px}
  .hero-badge span{font-size:17px}
  .hero-badge i{font-size:20px}
  .feature-copy h2{font-size:18.8px}
  .feature-copy p{font-size:9.35px;line-height:1.3}
  .feature-kicker{font-size:8px}
  .nav-item{font-size:10px}
  .camera-label{font-size:9.7px}
}

/* V2.10.1 — home visual tightened to match approved mockup more closely */
.app-shell::before{
  background:url('/assets/hero/hero-premium-271.webp') 64% 46% / cover no-repeat;
  filter:blur(13px) saturate(1.12) contrast(1.03) brightness(1.02);
  transform:scale(1.12);
  opacity:.9;
}
.app-shell::after{
  background:
    linear-gradient(180deg,rgba(249,245,237,.08) 0%,rgba(248,242,232,.20) 48%,rgba(247,240,229,.30) 100%),
    radial-gradient(circle at 84% 18%,rgba(225,239,214,.08),transparent 28%),
    radial-gradient(circle at 11% 76%,rgba(244,192,158,.08),transparent 31%);
}
.video-hero{
  background:rgba(248,242,232,.56);
  border:1px solid rgba(255,255,255,.82);
  box-shadow:0 20px 44px rgba(73,52,35,.12), inset 0 1px 0 rgba(255,255,255,.34);
}
.hero-media{
  background:#E9D9C7;
}
.hero-slide{
  object-position:66% 52%;
  transform:scale(1.01);
}
.hero-slide.is-zooming{transform:scale(1.035)}
.hero-overlay{
  background:
    linear-gradient(90deg,
      rgba(250,245,237,.84) 0%,
      rgba(250,245,237,.74) 18%,
      rgba(250,245,237,.42) 34%,
      rgba(250,245,237,.12) 50%,
      rgba(250,245,237,0) 67%),
    radial-gradient(circle at 22% 79%,
      rgba(250,245,237,.94) 0%,
      rgba(250,245,237,.80) 16%,
      rgba(250,245,237,.44) 34%,
      rgba(250,245,237,.08) 52%,
      rgba(250,245,237,0) 67%);
}
.hero-glow{
  background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 55%,rgba(117,85,57,.03));
}
.profile-button{
  background:rgba(255,255,255,.96);
  border:1px solid rgba(255,255,255,.98);
  box-shadow:0 10px 24px rgba(73,55,38,.10);
}
.hero-content{left:20px;right:34%;top:16px}
.eyebrow{
  background:rgba(204,206,171,.66);
  border:1px solid rgba(255,255,255,.70);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.44),0 10px 24px rgba(91,85,63,.07);
}
.hero-content h1{
  margin:14px 0 10px;
  font-size:clamp(43px,10.9vw,58px);
  line-height:.92;
  letter-spacing:-2.6px;
}
.hero-content p{
  color:#656861;
  font-size:13px;
  line-height:1.44;
  max-width:20ch;
}
.hero-badge{
  left:18px;
  bottom:13px;
  max-width:182px;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  row-gap:0;
  column-gap:5px;
  transform:rotate(-2deg);
}
.hero-badge strong{font-size:24px;line-height:.94}
.hero-badge span{
  display:block;
  font-size:19px;
  line-height:.88;
}
.hero-badge i{
  align-self:end;
  font-size:24px;
  transform:translateY(-2px);
}
.feature-card.weekly{
  background:linear-gradient(120deg,rgba(255,252,248,.96),rgba(255,245,237,.92));
}
.feature-card.today{
  background:linear-gradient(120deg,rgba(243,249,239,.97),rgba(230,242,223,.93));
}
.feature-card.weekly::before,.feature-card.today::before{
  background:linear-gradient(90deg,rgba(255,255,255,.16),transparent 35%);
}
.feature-art img{
  filter:drop-shadow(0 10px 12px rgba(70,48,31,.12));
}
.bottom-nav{
  background:rgba(255,252,247,.94);
  backdrop-filter:blur(14px) saturate(1.06);
}
.micro-benefits{
  background:rgba(255,249,242,.34);
  border:1px solid rgba(255,255,255,.32);
}
@media(max-width:390px){
  .hero-content{right:35%}
  .hero-content h1{font-size:clamp(42px,11.4vw,54px)}
  .hero-badge{max-width:170px}
  .hero-badge strong{font-size:22px}
  .hero-badge span{font-size:17.5px}
}
@media(max-width:355px){
  .hero-content{right:31%;left:16px}
  .hero-content h1{font-size:39px;letter-spacing:-2px}
  .hero-content p{font-size:11px;max-width:18ch}
  .hero-badge{left:16px;bottom:10px;max-width:146px}
  .hero-badge strong{font-size:18px}
  .hero-badge span{font-size:15px}
  .hero-badge i{font-size:18px}
}
@media(max-height:820px){
  .hero-content h1{font-size:41px;margin-top:11px;margin-bottom:7px}
  .hero-content p{font-size:10.8px;line-height:1.4}
  .hero-badge{bottom:10px;max-width:158px}
  .hero-badge strong{font-size:18px}
  .hero-badge span{font-size:15.4px}
  .hero-badge i{font-size:18px}
}
@media(max-height:740px){
  .hero-content{top:11px;left:16px;right:32%}
  .hero-overlay{
    background:
      linear-gradient(90deg,
        rgba(250,245,237,.80) 0%,
        rgba(250,245,237,.68) 18%,
        rgba(250,245,237,.35) 34%,
        rgba(250,245,237,.10) 48%,
        rgba(250,245,237,0) 64%),
      radial-gradient(circle at 20% 81%,
        rgba(250,245,237,.92) 0%,
        rgba(250,245,237,.72) 16%,
        rgba(250,245,237,.32) 34%,
        rgba(250,245,237,.08) 49%,
        rgba(250,245,237,0) 64%);
  }
}

/* V2.10.2 — requested home detail pass only */
/* Page background: food stays recognizable, only gently softened. */
.app-shell::before{
  background:url('/assets/hero/hero-premium-271.webp') 64% 47% / cover no-repeat;
  filter:blur(5px) saturate(1.12) contrast(1.035) brightness(1.01);
  transform:scale(1.055);
  opacity:1;
}
.app-shell::after{
  background:
    linear-gradient(180deg,rgba(249,245,237,.025) 0%,rgba(248,242,232,.065) 48%,rgba(247,240,229,.12) 100%),
    radial-gradient(circle at 84% 18%,rgba(225,239,214,.035),transparent 28%),
    radial-gradient(circle at 11% 76%,rgba(244,192,158,.04),transparent 31%);
}

/* Keep hero food visible while making supporting copy clearly readable. */
.hero-overlay{
  background:
    linear-gradient(90deg,
      rgba(250,245,237,.73) 0%,
      rgba(250,245,237,.62) 17%,
      rgba(250,245,237,.31) 34%,
      rgba(250,245,237,.08) 49%,
      rgba(250,245,237,0) 64%),
    radial-gradient(circle at 20% 48%,
      rgba(250,245,237,.55) 0%,
      rgba(250,245,237,.36) 21%,
      rgba(250,245,237,.12) 39%,
      rgba(250,245,237,0) 57%);
}
.hero-content p{
  color:#3F423D;
  font-size:13.7px;
  line-height:1.43;
  font-weight:650;
  max-width:22ch;
  text-shadow:0 1px 1px rgba(255,255,255,.62),0 0 8px rgba(255,250,242,.34);
}

/* Handwritten tagline: larger, higher, more centered and slightly more tilted. */
.hero-badge{
  left:clamp(30px,9.5vw,48px);
  bottom:22px;
  max-width:none;
  display:grid;
  grid-template-columns:max-content auto;
  grid-template-rows:auto auto;
  column-gap:7px;
  row-gap:1px;
  transform:rotate(-5deg);
  transform-origin:left center;
  line-height:.9;
}
.hero-badge strong{
  grid-column:1 / -1;
  white-space:nowrap;
  font-size:27px;
  line-height:.92;
  font-weight:600;
}
.hero-badge span{
  white-space:nowrap;
  font-size:21px;
  line-height:.9;
  font-weight:600;
}
.hero-badge i{
  align-self:center;
  font-size:25px;
  transform:translateY(-1px) rotate(3deg);
}

/* Center the two premium action visuals and lift them slightly. */
.feature-art{
  justify-self:center;
  transform:translateY(-5px);
}
.feature-art img{
  width:112%;
  height:112%;
  transform:none;
}
.weekly-art img{transform:translate(2px,-2px) scale(1.035)}
.fridge-art img{transform:translate(2px,-3px) scale(1.035)}

@media(max-width:390px){
  .hero-content p{font-size:12.4px;max-width:21ch}
  .hero-badge{left:34px;bottom:18px}
  .hero-badge strong{font-size:24px}
  .hero-badge span{font-size:19px}
  .hero-badge i{font-size:22px}
  .feature-art{transform:translateY(-4px)}
}
@media(max-width:355px){
  .hero-content p{font-size:11.4px;max-width:20ch;font-weight:650}
  .hero-badge{left:27px;bottom:15px}
  .hero-badge strong{font-size:20px}
  .hero-badge span{font-size:16.2px}
  .hero-badge i{font-size:19px}
}
@media(max-height:820px){
  .hero-content p{font-size:11.7px;max-width:21ch;font-weight:650}
  .hero-badge{left:31px;bottom:14px}
  .hero-badge strong{font-size:21px}
  .hero-badge span{font-size:17px}
  .hero-badge i{font-size:20px}
  .feature-art{transform:translateY(-4px)}
}
@media(max-height:740px){
  .hero-content p{font-size:10.4px;max-width:20ch}
  .hero-badge{left:25px;bottom:11px}
  .hero-badge strong{font-size:18px}
  .hero-badge span{font-size:14.7px}
  .hero-badge i{font-size:17px}
  .feature-art{transform:translateY(-3px)}
}

/* V2.10C — micro polish requested after 90% match */
/* Hero: stronger cream fade under copy, but keep the food clearly visible. */
.hero-overlay{
  background:
    linear-gradient(90deg,
      rgba(250,245,237,.86) 0%,
      rgba(250,245,237,.78) 18%,
      rgba(250,245,237,.58) 36%,
      rgba(250,245,237,.30) 52%,
      rgba(250,245,237,.10) 66%,
      rgba(250,245,237,0) 78%),
    radial-gradient(circle at 22% 47%,
      rgba(250,245,237,.68) 0%,
      rgba(250,245,237,.48) 22%,
      rgba(250,245,237,.20) 42%,
      rgba(250,245,237,0) 62%);
}
.hero-content p{
  color:#383B37;
  font-weight:680;
  text-shadow:0 1px 0 rgba(255,255,255,.72),0 0 10px rgba(255,250,242,.38);
}
/* Handwritten signature: larger and lifted further into the hero. */
.hero-badge{
  left:clamp(36px,10.5vw,54px);
  bottom:34px;
  transform:rotate(-6.5deg);
}
.hero-badge strong{font-size:29px;line-height:.92}
.hero-badge span{font-size:22px;line-height:.92}
.hero-badge i{font-size:26px;margin-left:3px}

/* Main action cards: larger cutout art with equal breathing room around it. */
.feature-card{
  grid-template-columns:104px minmax(0,1fr) 46px;
  gap:9px;
  padding:9px 14px 9px 9px;
}
.feature-art{
  width:104px;
  height:94px;
  align-self:center;
  justify-self:start;
  transform:none;
}
.feature-art img{
  width:100%;
  height:100%;
  object-fit:contain;
  transform:none!important;
  filter:drop-shadow(0 9px 11px rgba(70,48,31,.13));
}
.feature-copy{transform:translateX(1px)}
.feature-kicker{font-size:9px;letter-spacing:1.08px;margin-bottom:4px}
.feature-copy h2{font-size:22px;line-height:.98;letter-spacing:-.72px}
.feature-copy p{font-size:10.6px;line-height:1.31;margin-top:6px;max-width:28ch}
.round-arrow{width:46px;height:46px}
.round-arrow svg{width:23px;height:23px}
.feature-note{
  right:18px;
  top:11px;
  font-size:13.3px;
  line-height:.96;
  transform:rotate(-5.5deg);
}

@media(max-width:390px){
  .feature-card{grid-template-columns:96px minmax(0,1fr) 44px;gap:8px;padding:8px 12px 8px 8px}
  .feature-art{width:96px;height:90px;transform:none}
  .feature-copy h2{font-size:20.2px}
  .feature-copy p{font-size:9.9px;line-height:1.28}
  .feature-kicker{font-size:8.25px}
  .round-arrow{width:44px;height:44px}
  .feature-note{right:16px;top:9px;font-size:11.6px}
  .hero-badge{left:38px;bottom:28px}
  .hero-badge strong{font-size:26px}
  .hero-badge span{font-size:20px}
  .hero-badge i{font-size:23px}
}
@media(max-width:355px){
  .feature-card{grid-template-columns:82px minmax(0,1fr) 38px;gap:6px;padding:7px 9px 7px 7px}
  .feature-art{width:82px;height:78px;transform:none}
  .feature-copy h2{font-size:17.6px}
  .feature-copy p{font-size:8.65px;line-height:1.27}
  .feature-kicker{font-size:7.35px}
  .round-arrow{width:38px;height:38px}
  .feature-note{display:block;right:11px;top:6px;font-size:8.8px}
  .hero-badge{left:29px;bottom:20px}
  .hero-badge strong{font-size:21px}
  .hero-badge span{font-size:16.4px}
  .hero-badge i{font-size:18px}
}
@media(max-height:820px){
  .hero-badge{left:34px;bottom:23px}
  .hero-badge strong{font-size:23px}
  .hero-badge span{font-size:18px}
  .hero-badge i{font-size:21px}
}
@media(max-height:740px){
  .feature-card{grid-template-columns:84px minmax(0,1fr) 38px;gap:6px;padding:7px 9px 7px 7px}
  .feature-art{width:84px;height:78px;transform:none}
  .feature-copy h2{font-size:17.4px}
  .feature-copy p{font-size:8.45px;line-height:1.25;margin-top:4px}
  .feature-kicker{font-size:7.35px;margin-bottom:2px}
  .round-arrow{width:38px;height:38px}
  .round-arrow svg{width:19px;height:19px}
  .feature-note{display:block;right:12px;top:6px;font-size:9px}
  .hero-badge{left:29px;bottom:18px}
  .hero-badge strong{font-size:20.5px}
  .hero-badge span{font-size:16px}
  .hero-badge i{font-size:18px}
}

/* V2.10D — final micro-adjust: stronger hero fade + handwritten note nudged up/left */
.hero-overlay{
  background:
    linear-gradient(90deg,
      rgba(250,245,237,.91) 0%,
      rgba(250,245,237,.84) 19%,
      rgba(250,245,237,.66) 38%,
      rgba(250,245,237,.38) 54%,
      rgba(250,245,237,.14) 68%,
      rgba(250,245,237,0) 80%),
    radial-gradient(circle at 22% 47%,
      rgba(250,245,237,.78) 0%,
      rgba(250,245,237,.58) 24%,
      rgba(250,245,237,.27) 45%,
      rgba(250,245,237,0) 64%);
}
.hero-badge{
  left:clamp(30px,9.2vw,46px);
  bottom:40px;
  transform:rotate(-7deg);
}
.hero-badge strong{font-size:31px;line-height:.91}
.hero-badge span{font-size:22.5px;line-height:.9}
.hero-badge i{font-size:27px;margin-left:4px}

@media(max-width:390px){
  .hero-badge{left:31px;bottom:33px}
  .hero-badge strong{font-size:27px}
  .hero-badge span{font-size:20px}
  .hero-badge i{font-size:24px}
}
@media(max-width:355px){
  .hero-badge{left:24px;bottom:24px}
  .hero-badge strong{font-size:22px}
  .hero-badge span{font-size:17px}
  .hero-badge i{font-size:19px}
}
@media(max-height:820px){
  .hero-badge{left:29px;bottom:29px}
  .hero-badge strong{font-size:24px}
  .hero-badge span{font-size:18.2px}
  .hero-badge i{font-size:21.5px}
}
@media(max-height:740px){
  .hero-badge{left:25px;bottom:22px}
  .hero-badge strong{font-size:21px}
  .hero-badge span{font-size:16px}
  .hero-badge i{font-size:18px}
}

/* V2.10E — home proportion pass: shorter hero, roomier action cards, stronger cutout depth */
.content{
  grid-template-rows:minmax(0,1.18fr) minmax(0,1.16fr) 48px;
}
@media(max-height:720px){
  .content{grid-template-rows:minmax(0,1.21fr) minmax(0,1.13fr) 38px;gap:8px}
}

/* Slightly shorter hero card so the two action cards can breathe more. */
.video-hero{
  border-radius:31px;
}
.hero-content{
  top:14px;
}
.hero-content h1{
  margin:12px 0 8px;
}
.hero-content p{
  max-width:21.5ch;
}

/* Weekly / fridge cards feel wider and more premium. */
.main-actions{gap:11px}
.feature-card{
  grid-template-columns:112px minmax(0,1fr) 52px;
  gap:10px;
  padding:10px 16px 10px 10px;
  border-radius:30px;
}
.feature-art{
  width:112px;
  height:100px;
  justify-self:start;
  align-self:center;
}
.feature-art::after{
  inset:16px 9px 2px;
  background:radial-gradient(ellipse,rgba(87,65,45,.19),transparent 68%);
  filter:blur(8px);
}
.feature-art img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 16px 16px rgba(74,52,35,.16)) drop-shadow(0 6px 5px rgba(74,52,35,.08));
}
.weekly-art img{transform:translate(1px,-1px) scale(1.06)!important}
.fridge-art img{transform:translate(1px,-1px) scale(1.055)!important}
.feature-copy{
  transform:translateX(0);
}
.feature-kicker{margin-bottom:5px}
.feature-copy h2{
  font-size:24px;
  line-height:.98;
}
.feature-copy p{
  font-size:11.2px;
  line-height:1.33;
  max-width:26ch;
}
.round-arrow{
  width:52px;
  height:52px;
  box-shadow:0 13px 24px rgba(190,80,45,.20), inset 0 1px 0 rgba(255,255,255,.18);
}
.round-arrow svg{width:24px;height:24px}
.feature-note{
  right:16px;
  top:10px;
  width:92px;
  text-align:left;
  font-size:13.5px;
  line-height:.95;
  transform:rotate(-5.5deg);
}
.green-note{width:96px}

@media(max-width:390px){
  .content{grid-template-rows:minmax(0,1.17fr) minmax(0,1.16fr) 46px}
  .feature-card{grid-template-columns:102px minmax(0,1fr) 48px;gap:9px;padding:9px 14px 9px 9px}
  .feature-art{width:102px;height:94px}
  .feature-copy h2{font-size:22px}
  .feature-copy p{font-size:10.5px;max-width:25ch}
  .round-arrow{width:48px;height:48px}
  .feature-note{width:86px;font-size:12.2px;right:14px;top:9px}
}
@media(max-width:355px){
  .content{grid-template-rows:minmax(0,1.14fr) minmax(0,1.18fr) 44px}
  .feature-card{grid-template-columns:88px minmax(0,1fr) 40px;gap:7px;padding:8px 10px 8px 8px}
  .feature-art{width:88px;height:81px}
  .feature-copy h2{font-size:18.8px}
  .feature-copy p{font-size:9px;max-width:25ch}
  .round-arrow{width:40px;height:40px}
  .round-arrow svg{width:20px;height:20px}
  .feature-note{display:block;width:74px;font-size:9.4px;right:10px;top:6px}
}
@media(max-height:820px){
  .content{grid-template-rows:minmax(0,1.16fr) minmax(0,1.17fr) 45px}
  .feature-card{grid-template-columns:96px minmax(0,1fr) 44px;gap:8px;padding:8px 12px 8px 8px}
  .feature-art{width:96px;height:88px}
  .feature-copy h2{font-size:20.8px}
  .feature-copy p{font-size:10px}
  .round-arrow{width:44px;height:44px}
  .feature-note{width:82px;font-size:11.1px;right:12px;top:7px}
}
@media(max-height:740px){
  .content{grid-template-rows:minmax(0,1.13fr) minmax(0,1.19fr) 38px}
  .feature-card{grid-template-columns:88px minmax(0,1fr) 39px;gap:7px;padding:7px 10px 7px 7px}
  .feature-art{width:88px;height:78px}
  .feature-copy h2{font-size:18px}
  .feature-copy p{font-size:8.7px;line-height:1.26}
  .round-arrow{width:39px;height:39px}
  .round-arrow svg{width:19px;height:19px}
  .feature-note{width:74px;font-size:9.2px;right:10px;top:5px}
}

/* V2.10F — LOCKED HOME behavior pass: no zoom, exact viewport fit, equal spacing */
:root{--home-gap:10px;--app-height:100svh}
html,body{
  width:100%;height:100%;
  overflow:hidden;
  overscroll-behavior:none;
  touch-action:pan-x pan-y;
}
body{position:fixed;inset:0}
.app-shell{
  position:fixed;
  left:50%;
  top:0;
  transform:translateX(-50%);
  width:min(100vw,480px);
  height:var(--app-height,100svh);
  min-height:0;
  max-height:var(--app-height,100svh);
  margin:0;
}
.content{
  gap:var(--home-gap);
}
.main-actions{
  gap:var(--home-gap);
}
.video-hero,.feature-card,.micro-benefits,.bottom-nav{
  min-width:0;
}
.feature-card{
  text-decoration:none;
  color:inherit;
  -webkit-touch-callout:none;
  touch-action:manipulation;
}
.feature-card:visited{color:inherit}
.hero-profile,.nav-item,.camera-nav,.round-arrow,.install-close,.install-primary,.install-later{
  touch-action:manipulation;
}
/* Do not allow browser text-size auto-adjust to alter the locked geometry. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}

/* Same vertical rhythm between hero -> weekly -> fridge -> benefits. */
@media(max-height:820px){
  .content{gap:var(--home-gap)}
  .main-actions{gap:var(--home-gap)}
}
@media(max-height:740px){
  :root{--home-gap:8px}
  .content{gap:var(--home-gap)}
  .main-actions{gap:var(--home-gap)}
}

/* V2.10G — final locked-home spacing + handwritten-note polish */
:root{
  --edge-gap:8px;
  --app-top:0px;
}
/* visualViewport already accounts for Android browser/system chrome, so no extra fake bottom reserve */
html.is-android{--system-bottom:0px}
.app-shell{
  top:var(--app-top,0px);
}
/* Match the outside breathing room: first block from top == footer from bottom. */
.content{
  top:0;
  padding-top:calc(var(--edge-gap) + env(safe-area-inset-top));
  bottom:calc(var(--dock-h) + var(--edge-gap) + var(--home-gap) + env(safe-area-inset-bottom));
}
.bottom-nav{
  bottom:calc(var(--edge-gap) + env(safe-area-inset-bottom));
}

/* No handwritten hearts anywhere on the three home blocks. */
.hero-badge{
  grid-template-columns:max-content;
}
.hero-badge i{display:none!important}

/* Lower two handwritten notes: larger, left aligned and visually tucked toward the arrow. */
.feature-note{
  right:8px;
  top:14px;
  width:104px;
  text-align:left;
  font-size:15.5px;
  line-height:.91;
  font-weight:600;
  letter-spacing:.05px;
  transform:rotate(-5.5deg);
  transform-origin:left center;
  pointer-events:none;
}
.green-note{width:108px}

@media(max-width:390px){
  .feature-note{right:7px;top:12px;width:96px;font-size:14px}
  .green-note{width:100px}
}
@media(max-width:355px){
  .feature-note{right:6px;top:8px;width:78px;font-size:10.6px}
  .green-note{width:82px}
}
@media(max-height:820px){
  .feature-note{right:7px;top:9px;width:88px;font-size:12.6px}
  .green-note{width:92px}
}
@media(max-height:740px){
  :root{--edge-gap:7px}
  .feature-note{right:6px;top:6px;width:76px;font-size:10.2px}
  .green-note{width:80px}
}

/* ===== home-feature-art-269.css ===== */
/* V2.69 — Home: keep the two premium action cutouts above the card sheen.
   Fixes the translucent-mask look on Calendar / Camera artwork after
   returning to Home from the planner. Card styling itself stays unchanged. */

.feature-card .feature-art{
  position:relative!important;
  z-index:2!important;
}

.feature-card .feature-art img{
  position:relative!important;
  z-index:2!important;
  opacity:1!important;
}

/* ===== home-feature-art-270.css ===== */
/* V2.70 — Home return repaint fix.
   Remove the decorative card sheen that can be composited above the premium
   cutout images after returning from planner, and avoid an idle GPU layer.
   Press feedback remains unchanged. */

.feature-card.weekly::before,
.feature-card.today::before{
  content:none!important;
  display:none!important;
  background:none!important;
}

.feature-card .feature-art,
.feature-card .feature-art img{
  position:relative!important;
  z-index:3!important;
  opacity:1!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}

/* Do not keep the full card in a stale compositing layer while idle. */
.feature-card:not(:active){
  transform:none!important;
}

/* ===== planner-premium-271.css ===== */
:root{
  --bg:#F5EFE4;--ink:#231A15;--muted:#73746F;--coral:#D8633E;--coral-2:#C95333;
  --sage:#66815F;--sage-2:#51724D;--cream:#FFFDF9;--line:rgba(255,255,255,.86);
  --shadow:0 18px 44px rgba(73,55,38,.10);--shadow-soft:0 10px 28px rgba(73,55,38,.07)
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-height:100%;background:#ECE6DD;color:var(--ink)}
body{font-family:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif}
button,input,select{font:inherit}button{border:0;color:inherit;cursor:pointer}
.planner-page{overflow-x:hidden}
.planner-bg{position:fixed;inset:0;z-index:0;overflow:hidden;background:#E9DFD2}
.planner-bg img{width:100%;height:100%;object-fit:cover;object-position:58% 50%;filter:blur(8px) saturate(.94);transform:scale(1.09);opacity:.70}
.planner-bg i{position:absolute;inset:0;background:linear-gradient(180deg,rgba(248,243,234,.50),rgba(248,243,234,.72) 34%,rgba(248,243,234,.86) 100%),radial-gradient(circle at 90% 12%,rgba(231,166,126,.14),transparent 31%)}
.planner-app{position:relative;z-index:1;width:min(100%,480px);min-height:100dvh;margin:0 auto;background:rgba(247,241,231,.12);box-shadow:0 0 0 1px rgba(255,255,255,.18)}

.planner-topbar{position:sticky;top:0;z-index:30;min-height:80px;padding:calc(11px + env(safe-area-inset-top)) 16px 11px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;background:linear-gradient(180deg,rgba(248,243,234,.95),rgba(248,243,234,.82));backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.82)}
.back-home{width:44px;height:44px;border-radius:17px;background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.98);display:grid;place-items:center;box-shadow:0 8px 18px rgba(52,40,29,.08)}
.planner-topbar>div{display:grid;gap:2px;min-width:0}.planner-topbar strong{font-size:18px;letter-spacing:-.45px}.planner-topbar span{font-size:10px;color:#767A73;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-mark{height:31px;padding:0 11px;display:inline-flex;align-items:center;border-radius:999px;background:rgba(255,250,244,.82);border:1px solid rgba(255,255,255,.94);font-size:8.7px!important;color:#7C675B!important;font-weight:850!important;letter-spacing:.55px}

.planner-scroll{padding:14px 14px 38px;display:flex;flex-direction:column;gap:14px}
.premium-section{border-radius:30px;background:rgba(255,252,247,.90);border:1px solid rgba(255,255,255,.92);box-shadow:var(--shadow);backdrop-filter:blur(14px);overflow:hidden}

/* Hero */
.planner-hero{position:relative;min-height:430px;padding:22px;background:linear-gradient(90deg,rgba(255,249,240,.97) 0%,rgba(255,249,240,.89) 41%,rgba(255,249,240,.43) 61%,rgba(255,249,240,.08) 76%),url('/assets/hero/hero-premium-271.webp') center/cover no-repeat}
.planner-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 60%);pointer-events:none}
.hero-copy{position:relative;z-index:3;width:61%;min-height:386px;display:flex;flex-direction:column;align-items:flex-start}
.hero-pill{display:inline-flex;align-items:center;min-height:38px;padding:0 16px;border-radius:999px;background:linear-gradient(145deg,#55684B,#41583C);color:#fff;font-size:9.3px;font-weight:900;letter-spacing:.9px;box-shadow:0 9px 18px rgba(65,88,60,.18)}
.hero-pill::before{content:"◆";font-size:8px;margin-right:7px;transform:rotate(45deg);opacity:.92}
.planner-hero h1{margin:17px 0 12px;font-family:"Playfair Display",serif;font-size:45px;line-height:.95;letter-spacing:-2px;color:#2A1A13}
.planner-hero p{margin:0;color:#565A54;font-size:13.2px;line-height:1.48;font-weight:500;max-width:28ch}
.planner-hero em{margin-top:auto;font-family:"Caveat",cursive;font-size:19px;color:#77513F;font-style:normal;transform:rotate(-2deg)}
.hero-food{position:absolute;right:-2%;bottom:-1%;width:59%;height:78%;border-radius:50% 0 0 0;background:url('/assets/hero/hero-premium-271.webp') 69% 55%/cover no-repeat;box-shadow:-22px 0 38px rgba(83,61,41,.05)}

/* Headings */
.step-section{padding:18px}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.section-heading>div{min-width:0;flex:1}.section-heading span{display:block;color:var(--coral);font-size:9px;font-weight:900;letter-spacing:1.18px}.section-heading h2{margin:7px 0 6px;font-family:"Playfair Display",serif;font-size:34px;line-height:1.02;letter-spacing:-1.2px;color:#241914}.section-heading p{margin:0;color:#70726D;font-size:12.2px;line-height:1.46;max-width:35ch}.section-heading em{font-family:"Caveat",cursive;font-style:normal;font-size:18px;line-height:1.05;color:#8A6650;text-align:right;max-width:116px;transform:rotate(-4deg);margin-top:20px;flex:0 0 auto}
.glass-panel{border-radius:24px;background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.94);box-shadow:0 12px 28px rgba(58,46,35,.055);backdrop-filter:blur(12px);padding:14px}.step-section>.glass-panel+.glass-panel{margin-top:11px}.panel-title{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:11px}.panel-title strong{font-family:"Manrope",sans-serif;font-size:13px}.panel-title small{font-size:9px;color:#999C95;font-weight:700;text-align:right}

/* Family */
.family-panel{background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,253,249,.82))}.family-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.family-card{border-radius:22px;padding:10px;background:linear-gradient(180deg,#FFF8F1,#FFFDFC);border:1px solid #F3DED1;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.kids-card{background:linear-gradient(180deg,#F2F8EE,#FAFCF7);border-color:#DCE8D7}
.family-visual{height:112px;border-radius:19px;overflow:hidden;background:#F9F3EA}.family-visual img{width:100%;height:100%;object-fit:cover;object-position:center 50%;display:block}.family-name{text-align:center;display:grid;margin:8px 0 9px}.family-name strong{font-family:"Playfair Display",serif;font-size:21px;line-height:1}.family-name small{font-size:9.5px;color:#898B85;font-weight:650;margin-top:2px}.counter-control{display:grid;grid-template-columns:42px 1fr 42px;gap:7px;align-items:center}.counter-control button{width:42px;height:42px;border-radius:14px;background:#fff;color:var(--coral);font-size:24px;box-shadow:0 8px 17px rgba(58,45,32,.07)}.counter-control.green button{color:var(--sage-2)}.counter-control b{text-align:center;font-family:"Manrope",sans-serif;font-size:28px}.family-card>p{margin:10px 0 0;color:#8A8D86;font-size:8.8px;line-height:1.38;text-align:center}.child-ages{margin-top:9px;padding:9px;border-radius:15px;background:rgba(255,255,255,.78)}.child-ages[hidden]{display:none!important}.child-ages>strong{display:block;font-size:9px;margin-bottom:7px}.child-ages>div{display:grid;grid-template-columns:1fr 1fr;gap:5px}.age-field{display:grid;gap:3px}.age-field span{font-size:7.8px;color:#8B8F88;font-weight:700}.age-field select{height:33px;border:0;border-radius:10px;background:#F3F4EF;padding:0 7px;color:#4A4D47;font-size:9px;font-weight:700;outline:0}
.days-panel{background:linear-gradient(180deg,rgba(255,250,245,.95),rgba(255,255,255,.86))}.days-title-line{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;margin-bottom:11px}.days-icon,.round-mini-icon{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:#FFF0E7;color:var(--coral);font-weight:900;box-shadow:0 7px 15px rgba(203,95,54,.07)}.days-title-line>div:nth-child(2){display:grid;gap:2px}.days-title-line strong{font-family:"Playfair Display",serif;font-size:18px;line-height:1.05}.days-title-line small{font-size:9.5px;color:#858983}.days-title-line em{font-family:"Caveat",cursive;color:#8B6852;font-style:normal;font-size:16px;line-height:1.05;text-align:right;transform:rotate(-3deg)}.days-row{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.days-row button{height:56px;border-radius:16px;background:#F4F3EF;color:#5F625D;display:grid;place-items:center;align-content:center;gap:1px;border:1px solid transparent}.days-row b{font-size:16px}.days-row small{font-size:7.5px;font-weight:700;color:#9A9D96}.days-row button.is-selected{background:linear-gradient(180deg,#E9845F,#D65D3B);color:#fff;border-color:#C95234;box-shadow:0 10px 17px rgba(202,83,48,.19)}.days-row button.is-selected small{color:#fff}.days-hint{margin-top:9px;text-align:center;color:#73766F;font-size:8.8px;font-weight:800}

/* Budget */
.budget-heading{min-height:235px;position:relative;padding-right:43%;overflow:hidden}.budget-heading img{position:absolute;right:-8px;bottom:-8px;width:48%;height:225px;object-fit:cover;object-position:51% 61%;border-radius:26px 0 0 24px;mask-image:linear-gradient(90deg,transparent 0,#000 22%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%)}
.budget-panel{position:relative;overflow:hidden;padding-bottom:10px;background:linear-gradient(180deg,rgba(255,251,247,.94),rgba(255,255,255,.88))}.budget-panel-head{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:start;margin-bottom:12px}.round-mini-icon.orange{background:#FFF0E7;color:var(--coral)}.round-mini-icon.green{background:#EAF2E6;color:#5A7553}.budget-panel-head>div:nth-child(2){display:grid;gap:3px}.budget-panel-head strong{font-family:"Manrope",sans-serif;font-size:13px}.budget-panel-head small{font-size:9px;color:#8D918A;line-height:1.35}.budget-panel-head em{font-family:"Caveat",cursive;color:#8A6853;font-style:normal;font-size:15px;line-height:1.05;text-align:right;transform:rotate(-4deg)}.budget-options,.time-options{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.budget-options button,.time-options button{height:50px;border-radius:16px;background:#F4F3EF;color:#686B65;font-weight:800;font-size:11px;border:1px solid transparent}.budget-options button.is-selected,.time-options button.is-selected{background:#FFF0E7;border-color:#D86B46;color:#C55734;box-shadow:0 8px 17px rgba(211,101,60,.09)}.money-field{display:block;margin-top:12px}.money-field>span,.text-field>span{display:block;font-size:9px;color:#92958E;font-weight:700;margin:0 0 5px 2px}.money-field>div{height:50px;border-radius:16px;border:1px solid #E7E3DB;background:#FAF9F5;display:flex;align-items:center;padding:0 13px}.money-field input{min-width:0;flex:1;border:0;outline:0;background:transparent;font:700 13px "DM Sans",sans-serif;color:#343631}.money-field b{font-size:9px;color:#8A8E86}.budget-bottom{min-height:93px;position:relative;display:flex;align-items:flex-end}.budget-bottom span{display:inline-flex;padding:8px 10px;border-radius:999px;background:#F7F5F0;color:#797D75;font-size:8.8px;font-weight:800}.budget-bottom img{position:absolute;right:-12px;bottom:-11px;width:142px;height:118px;object-fit:cover;object-position:50% 44%;border-radius:26px 0 0 0;mask-image:linear-gradient(90deg,transparent 0,#000 24%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 24%)}
.time-panel{background:linear-gradient(180deg,#F4F8F1,#FFF)}.time-head{margin-bottom:13px}.time-note{margin-top:10px;display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:center;padding:10px 11px;border-radius:15px;background:#F7F7F3;color:#6F746C}.time-note span{width:34px;height:34px;border-radius:12px;background:#E5EFDF;color:#597153;display:grid;place-items:center;font-size:16px}.time-note p{margin:0;font-size:9px;line-height:1.4;font-weight:650}

/* Taste / cuisines */
.taste-panel{background:linear-gradient(180deg,#F5F9F2,#FFF)}.diet-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.diet-grid button{grid-column:span 2;min-height:130px;padding:7px;border-radius:18px;background:#F8F6F2;border:1px solid transparent;display:grid;grid-template-rows:72px auto auto;align-items:start;text-align:center;overflow:hidden}.diet-grid button:nth-child(4),.diet-grid button:nth-child(5){grid-column:span 3;grid-template-columns:112px 1fr;grid-template-rows:auto auto;align-items:center;text-align:left;min-height:100px}.diet-grid img{width:100%;height:72px;object-fit:cover;border-radius:13px;display:block}.diet-grid button:nth-child(4) img,.diet-grid button:nth-child(5) img{grid-row:1/3;width:100%;height:84px}.diet-grid b{font-family:"Manrope",sans-serif;font-size:11px;margin-top:5px}.diet-grid small{font-size:8px;color:#90938D;font-weight:700}.diet-grid button.is-selected{position:relative;background:#E9F3E4;border-color:#98B78E;box-shadow:inset 0 0 0 1px rgba(99,135,86,.05)}.diet-grid button.is-selected::after{content:"✓";position:absolute;right:7px;top:7px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#6C8D64;color:#fff;font-size:11px;font-weight:900;box-shadow:0 5px 10px rgba(80,112,70,.16)}
.cuisine-panel{background:linear-gradient(180deg,#FFFDFC,#FFF9F4)}.cuisine-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.cuisine-grid label{position:relative;border-radius:17px;overflow:hidden;background:#F8F7F3;border:1px solid transparent;cursor:pointer;min-height:110px;display:grid;grid-template-rows:72px auto;text-align:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.62)}.cuisine-grid input{position:absolute;opacity:0;pointer-events:none}.cuisine-grid img{width:100%;height:72px;object-fit:cover;display:block}.cuisine-grid span{padding:7px 4px 8px;font-family:"Manrope",sans-serif;font-size:9px;line-height:1.1}.cuisine-grid label:has(input:checked){background:#E9F3E4;border-color:#93B488;box-shadow:0 8px 16px rgba(84,120,74,.08)}.cuisine-grid label:has(input:checked)::after{content:"✓";position:absolute;right:6px;top:6px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#698B61;color:#fff;font-size:11px;font-weight:900}
.allergy-panel{background:linear-gradient(180deg,#FFFDFC,#FFF9F4)}.allergen-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.allergen-grid button{min-height:44px;border-radius:15px;background:#F8F6F1;border:1px solid transparent;padding:7px 8px;display:flex;align-items:center;gap:7px;color:#5E625B;font-size:8.8px;font-weight:750;text-align:left}.allergen-grid span{width:28px;height:28px;border-radius:10px;background:#FFF;display:grid;place-items:center;font-size:14px;flex:0 0 auto}.allergen-grid button.is-selected{background:#FFF0E7;border-color:#E4AB93;color:#B85836}.allergen-grid .none-option.is-selected{background:#E8F1E4;border-color:#B8CEB1;color:#55734F}.text-field{display:block;margin-top:10px}.text-field[hidden]{display:none!important}.text-field input{width:100%;height:46px;border-radius:15px;border:1px solid #E7E3DC;background:#FAF9F5;padding:0 12px;outline:0;color:#3F423C;font-size:10px;font-weight:650}.avoid-panel{background:linear-gradient(180deg,#F8F8F3,#FFF)}

/* Review */
.review-card{background:linear-gradient(145deg,#FFFDFC,#FFF6EF)}.review-head{display:grid;grid-template-columns:66px 1fr;gap:11px;align-items:center;padding-bottom:12px;border-bottom:1px solid #ECE8E0}.review-head img{width:66px;height:66px;object-fit:contain;border-radius:18px;background:#FFF0E7}.review-head>div{display:grid}.review-head span{font-size:8px;color:#C36241;font-weight:900;letter-spacing:.7px;text-transform:uppercase}.review-head strong{font-family:"Manrope",sans-serif;font-size:15px;margin-top:2px}.review-head small{font-size:9px;color:#888C84;margin-top:2px}.review-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;padding:12px 0}.review-stats div{background:#F6F3EE;border-radius:13px;padding:8px 5px;text-align:center;display:grid;gap:2px}.review-stats div:nth-child(-n+3){grid-column:span 2}.review-stats div:nth-child(n+4){grid-column:span 3}.review-stats small{font-size:7.6px;color:#93968F;font-weight:700}.review-stats b{font-size:10px}.review-lines{display:grid;gap:8px;padding-top:10px;border-top:1px solid #ECE8E0}.review-lines>div{display:grid;grid-template-columns:92px 1fr;gap:8px}.review-lines>div[hidden]{display:none!important}.review-lines span{font-size:8px;color:#B86443;font-weight:900;text-transform:uppercase;letter-spacing:.4px}.review-lines p{margin:0;text-align:right;font-size:9.5px;font-weight:700;color:#5F635C}.review-extra{margin-top:9px;border-radius:12px;background:#F4F4EF;padding:9px 10px;font-size:9px;color:#676B64;font-weight:650}.review-extra[hidden]{display:none!important}.generate-plan{margin-top:12px;width:100%;height:60px;border-radius:20px;background:linear-gradient(145deg,#E97850,#D65A38);color:#fff;display:flex;align-items:center;justify-content:center;gap:9px;font-family:"Manrope",sans-serif;font-weight:800;font-size:13px;box-shadow:0 12px 25px rgba(202,82,46,.24)}.generate-plan:active{transform:scale(.985)}.generate-plan:disabled{opacity:.78}

@media(max-width:390px){
  .planner-scroll{padding-left:12px;padding-right:12px}.step-section{padding:15px}.planner-hero{min-height:405px;padding:18px}.hero-copy{min-height:369px;width:64%}.planner-hero h1{font-size:40px}.section-heading h2{font-size:30px}.budget-heading{min-height:205px}.budget-heading img{height:195px}.family-visual{height:99px}.diet-grid{gap:6px}.cuisine-grid{gap:6px}.allergen-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:355px){
  .planner-topbar{grid-template-columns:42px minmax(0,1fr)}.topbar-mark{display:none}.planner-hero{min-height:375px}.hero-copy{min-height:339px;width:68%}.planner-hero h1{font-size:35px}.planner-hero p{font-size:11px}.family-grid{grid-template-columns:1fr}.family-visual{height:118px}.days-row{gap:3px}.days-row button{height:50px}.budget-options,.time-options{gap:4px}.budget-options button,.time-options button{font-size:9.5px}.budget-panel-head{grid-template-columns:38px 1fr}.budget-panel-head em{display:none}.diet-grid{grid-template-columns:1fr 1fr}.diet-grid button,.diet-grid button:nth-child(4),.diet-grid button:nth-child(5){grid-column:auto;display:grid;grid-template-columns:1fr;grid-template-rows:64px auto auto;text-align:center;min-height:118px}.diet-grid button:nth-child(4) img,.diet-grid button:nth-child(5) img{grid-row:auto;width:100%;height:64px}.cuisine-grid{grid-template-columns:1fr 1fr}.days-title-line{grid-template-columns:36px 1fr}.days-title-line em{display:none}
}
@media(min-width:481px){body{background:#E9E5DD}.planner-app{box-shadow:0 0 0 1px rgba(30,30,30,.03),0 20px 60px rgba(30,30,30,.08)}}

/* ===== app-chrome-216.css ===== */
/* Shared app chrome — V2.16 */
:root{
  --chrome-bg:rgba(48,52,45,.94);
  --chrome-text:#F7F1E8;
  --chrome-muted:#BFC5BA;
  --chrome-accent:#E2724B;
  --chrome-header-h:58px;
  --chrome-footer-h:60px;
}

/* HEADER */
.global-app-header{
  position:fixed!important;
  left:0!important;
  right:0!important;
  top:0!important;
  width:100%!important;
  max-width:none!important;
  height:calc(var(--chrome-header-h) + env(safe-area-inset-top))!important;
  margin:0!important;
  padding:calc(env(safe-area-inset-top) + 7px) 14px 7px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  box-sizing:border-box!important;
  z-index:1000!important;
  background:var(--chrome-bg)!important;
  color:var(--chrome-text)!important;
  border:0!important;
  border-radius:0!important;
  transform:none!important;
  box-shadow:0 5px 16px rgba(22,24,20,.12)!important;
  backdrop-filter:blur(20px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(20px) saturate(1.08)!important;
}
.global-header-copy{display:grid;gap:1px;min-width:0}
.global-header-copy strong{
  margin:0!important;
  font:800 18px/1 "Manrope",sans-serif!important;
  letter-spacing:-.45px!important;
  color:var(--chrome-text)!important;
  white-space:nowrap;
}
.global-header-copy span{
  font:700 9.2px/1.2 "DM Sans",sans-serif!important;
  color:var(--chrome-muted)!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.global-app-header .global-profile-button{
  position:relative!important;
  inset:auto!important;
  width:36px!important;
  height:36px!important;
  margin:0!important;
  padding:0!important;
  border-radius:12px!important;
  display:grid!important;
  place-items:center!important;
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.15)!important;
  box-shadow:none!important;
  color:var(--chrome-text)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  transform:none!important;
}
.global-app-header .profile-dot{box-shadow:0 0 0 2px #30342D!important}

/* FOOTER — exact same geometry on every screen */
.bottom-nav,
.planner-bottom-nav,
.result-bottom-nav{
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:100%!important;
  max-width:none!important;
  height:calc(var(--chrome-footer-h) + env(safe-area-inset-bottom))!important;
  margin:0!important;
  padding:4px 8px calc(4px + env(safe-area-inset-bottom))!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  align-items:center!important;
  box-sizing:border-box!important;
  z-index:1000!important;
  background:var(--chrome-bg)!important;
  border:0!important;
  border-radius:0!important;
  transform:none!important;
  box-shadow:0 -5px 16px rgba(22,24,20,.12)!important;
  backdrop-filter:blur(20px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(20px) saturate(1.08)!important;
}
.bottom-nav .nav-item,
.planner-bottom-nav .nav-item,
.result-bottom-nav .nav-item{
  appearance:none!important;
  min-width:0!important;
  height:50px!important;
  margin:0!important;
  padding:0 2px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  border-radius:14px!important;
  background:transparent!important;
  color:var(--chrome-muted)!important;
  font:700 8.8px/1 "DM Sans",sans-serif!important;
  text-decoration:none!important;
}
.bottom-nav .nav-icon,
.planner-bottom-nav .nav-icon,
.result-bottom-nav .nav-icon{
  width:28px!important;
  height:28px!important;
  border-radius:10px!important;
  display:grid!important;
  place-items:center!important;
}
.bottom-nav .nav-item.active,
.planner-bottom-nav .nav-item.active,
.result-bottom-nav .nav-item.active{
  color:var(--chrome-accent)!important;
  background:transparent!important;
}
.bottom-nav .nav-item.active .nav-icon,
.planner-bottom-nav .nav-item.active .nav-icon,
.result-bottom-nav .nav-item.active .nav-icon{
  color:var(--chrome-accent)!important;
  background:rgba(226,114,75,.14)!important;
}
.bottom-nav .camera-nav,
.planner-bottom-nav .camera-nav,
.result-bottom-nav .camera-nav{
  height:54px!important;
  margin:-8px 0 0!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:1px!important;
  background:transparent!important;
  color:var(--chrome-text)!important;
  transform:none!important;
}
.bottom-nav .camera-bubble,
.planner-bottom-nav .camera-bubble,
.result-bottom-nav .camera-bubble{
  width:46px!important;
  height:46px!important;
  border-radius:14px!important;
  display:grid!important;
  place-items:center!important;
  color:#fff!important;
  background:linear-gradient(145deg,#F07C55,#D96843)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:0 8px 18px rgba(217,104,67,.18)!important;
}
.bottom-nav .camera-label,
.planner-bottom-nav .camera-label,
.result-bottom-nav .camera-label{
  font:800 8.6px/1 "DM Sans",sans-serif!important;
  color:var(--chrome-text)!important;
}

/* Reserve only the space occupied by the fixed bars. No card/layout styling here. */
body:not(.planner-page) .app-shell .content{
  top:calc(var(--chrome-header-h) + env(safe-area-inset-top))!important;
  bottom:calc(var(--chrome-footer-h) + env(safe-area-inset-bottom))!important;
}
body.planner-page .planner-scroll{
  padding-top:calc(var(--chrome-header-h) + env(safe-area-inset-top) + 12px)!important;
  padding-bottom:calc(var(--chrome-footer-h) + env(safe-area-inset-bottom) + 20px)!important;
}
.result-scroll{
  padding-top:calc(var(--chrome-header-h) + env(safe-area-inset-top) + 14px)!important;
  padding-bottom:calc(var(--chrome-footer-h) + env(safe-area-inset-bottom) + 18px)!important;
}

@media(max-width:355px){
  .global-app-header{padding-left:12px!important;padding-right:12px!important}
  .global-header-copy strong{font-size:16.5px!important}
  .global-header-copy span{font-size:8.6px!important}
}

/* V2.19 — profile status dot must be identical on every screen */
.global-app-header .global-profile-button .profile-dot{
  position:absolute!important;
  right:4px!important;
  top:4px!important;
  width:8px!important;
  height:8px!important;
  display:block!important;
  border-radius:50%!important;
  background:#67A764!important;
  border:0!important;
  box-shadow:0 0 0 2px #30342D!important;
  pointer-events:none!important;
}

/* ===== ui-polish-237.css ===== */
/* V2.36 — visual polish only, based on stable V2.32.
   1) Global header title uses the existing handwritten Caveat language.
   2) Home micro-benefit strip is removed and the two remaining rows fill the space.
   No JS, PWA, wizard or interaction logic is changed. */

/* Handwritten premium header title — shared by Home / Plan / Result. */
.global-header-copy{
  gap:0!important;
  align-content:center!important;
}
.global-header-copy strong{
  display:inline-block!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 1px 0!important;
  font-family:"Caveat",cursive!important;
  font-size:28px!important;
  font-weight:600!important;
  line-height:.78!important;
  letter-spacing:.05px!important;
  color:#FFF8EE!important;
  text-shadow:0 1px 0 rgba(0,0,0,.10),0 4px 12px rgba(0,0,0,.08)!important;
  transform:rotate(-.7deg)!important;
  transform-origin:left center!important;
}
.global-header-copy span{
  margin-left:2px!important;
  font-size:8.9px!important;
  line-height:1.18!important;
  letter-spacing:.08px!important;
  color:#C5C9C0!important;
}

@media(max-width:355px){
  .global-header-copy strong{font-size:25.5px!important}
  .global-header-copy span{font-size:8.3px!important}
}

/* Home: the old "Plan prema budžetu / Pamti šta volite" strip is gone.
   Keep the established hero/action proportion and simply let the two useful
   blocks use the freed space. */
body:not(.planner-page) .app-shell .content{
  grid-template-rows:minmax(0,1.18fr) minmax(0,1.16fr)!important;
}
@media(max-width:390px){
  body:not(.planner-page) .app-shell .content{
    grid-template-rows:minmax(0,1.17fr) minmax(0,1.16fr)!important;
  }
}
@media(max-width:355px){
  body:not(.planner-page) .app-shell .content{
    grid-template-rows:minmax(0,1.14fr) minmax(0,1.18fr)!important;
  }
}
@media(max-height:820px){
  body:not(.planner-page) .app-shell .content{
    grid-template-rows:minmax(0,1.16fr) minmax(0,1.17fr)!important;
  }
}
@media(max-height:740px){
  body:not(.planner-page) .app-shell .content{
    grid-template-rows:minmax(0,1.13fr) minmax(0,1.19fr)!important;
  }
}
@media(max-height:720px){
  body:not(.planner-page) .app-shell .content{
    grid-template-rows:minmax(0,1.21fr) minmax(0,1.13fr)!important;
  }
}


/* V2.37 — micro polish only.
   - Header subtitles hidden everywhere.
   - Home's three visual blocks get balanced breathing room between header/footer.
   No interaction, wizard, PWA or viewport logic changed. */

/* Header: keep the approved handwritten title, remove the secondary line. */
.global-header-copy span{
  display:none!important;
}
.global-header-copy{
  display:flex!important;
  align-items:center!important;
  min-height:100%!important;
}
.global-header-copy strong{
  margin:0!important;
  line-height:.88!important;
}

/* Home only: slightly more breathing room at the bottom and visually center
   hero + two action cards between the fixed header and footer. */
body:not(.planner-page) .app-shell .content{
  padding-top:8px!important;
  padding-bottom:10px!important;
}

/* Keep the internal rhythm unchanged; only make the outer spacing balanced. */
body:not(.planner-page) .app-shell .content,
body:not(.planner-page) .app-shell .main-actions{
  gap:var(--home-gap)!important;
}

@media(max-height:740px){
  body:not(.planner-page) .app-shell .content{
    padding-top:7px!important;
    padding-bottom:9px!important;
  }
}

/* ===== home-feature-art-271.css ===== */
/* V2.71 — iOS Safari/PWA transparent-PNG repaint fix.
   Safari can leave a stale compositing rectangle around transparent PNGs
   when CSS drop-shadow filters survive a page transition. Android unchanged. */

html.is-ios .feature-art img{
  -webkit-filter:none!important;
  filter:none!important;
  opacity:1!important;
  -webkit-backface-visibility:visible!important;
  backface-visibility:visible!important;
}

/* Existing soft radial shadow under the artwork keeps the intended depth
   without forcing the PNG itself into Safari's filtered compositor layer. */
html.is-ios .feature-art::after{
  display:block!important;
}

/* One-frame repaint pulse used by app-home-210.js on pageshow. */
html.is-ios.ios-home-art-repaint .feature-art img{
  opacity:.998!important;
}

/* ===== home-handwriting-273.css ===== */
/* V2.73 — Home handwritten copy final positioning.
   Built directly on V2.71.
   Same behavior on iOS and Android: no platform-specific positioning. */

/* HERO handwritten signature: visibly larger on every phone. */
.hero-badge strong{
  font-size:31px!important;
  line-height:.91!important;
}
.hero-badge span{
  font-size:23px!important;
  line-height:.90!important;
}

/* LOWER TWO CARDS: handwritten note stays at the TOP-RIGHT,
   directly above the arrow, never below it. */
.feature-card .feature-note{
  position:absolute!important;
  top:7px!important;
  bottom:auto!important;
  right:9px!important;
  width:96px!important;
  display:block!important;
  z-index:5!important;
  margin:0!important;
  font-family:"Caveat",cursive!important;
  font-size:16.5px!important;
  line-height:.90!important;
  font-weight:600!important;
  letter-spacing:.05px!important;
  text-align:right!important;
  transform:rotate(-5.5deg)!important;
  transform-origin:right center!important;
  pointer-events:none!important;
}
.feature-card .green-note{
  width:100px!important;
}

/* Only protect very narrow screens from collision; same rule on both platforms. */
@media(max-width:340px){
  .hero-badge strong{font-size:28px!important}
  .hero-badge span{font-size:21px!important}
  .feature-card .feature-note{
    top:6px!important;
    right:7px!important;
    width:88px!important;
    font-size:15px!important;
  }
  .feature-card .green-note{width:92px!important}
}

/* ===== home-planner-embed-278.css ===== */
/* V2.78 — Planner opens inside the current app document.
   This removes iOS/PWA native page push navigation entirely. */
.planner-embed-frame{
  position:fixed;
  inset:0;
  z-index:2147483000;
  width:100%;
  height:100%;
  height:100dvh;
  border:0;
  margin:0;
  padding:0;
  background:#F5EFE4;
  opacity:1;
  visibility:hidden;
  pointer-events:none;
  transform:none!important;
  transition:none!important;
  animation:none!important;
}
.planner-embed-frame.is-open{
  visibility:visible;
  pointer-events:auto;
}
body.planner-embed-open{
  overflow:hidden!important;
  touch-action:none;
}

/* V2.98.11 — first-entry important information */
html.important-info-open,
html.important-info-open body,
body.important-info-open{overflow:hidden!important;overscroll-behavior:none!important}
.important-info-modal{
  position:fixed;inset:0;z-index:13000;
  display:grid;place-items:center;
  padding:calc(18px + env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom));
  opacity:0;visibility:hidden;
  transition:opacity .22s ease,visibility 0s linear .22s;
}
.important-info-modal[hidden]{display:none!important}
.important-info-modal.is-open{opacity:1;visibility:visible;transition:opacity .24s ease,visibility 0s}
.important-info-backdrop{
  position:absolute;inset:0;
  background:rgba(38,31,26,.46);
  -webkit-backdrop-filter:blur(13px) saturate(.92);
  backdrop-filter:blur(13px) saturate(.92);
}
.important-info-card{
  position:relative;z-index:2;
  width:min(100%,420px);
  max-height:min(720px,calc(var(--app-height,100dvh) - 36px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));
  overflow-y:auto;overflow-x:hidden;
  padding:25px 20px 19px;
  border-radius:32px;
  background:linear-gradient(180deg,rgba(255,253,249,.98),rgba(248,243,235,.98));
  border:1px solid rgba(255,255,255,.98);
  box-shadow:0 30px 80px rgba(45,34,26,.24),0 8px 26px rgba(45,34,26,.10),inset 0 1px 0 rgba(255,255,255,.98);
  scrollbar-width:none;
  opacity:0;transform:translateY(10px) scale(.985);filter:blur(1.6px);
  transition:opacity .25s ease,transform .34s cubic-bezier(.22,1,.36,1),filter .24s ease;
}
.important-info-card::-webkit-scrollbar{display:none}
.important-info-modal.is-open .important-info-card{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
.important-info-top{text-align:center;display:grid;justify-items:center}
.important-info-kicker{
  min-height:25px;padding:0 11px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;
  background:#FFF0E7;border:1px solid rgba(216,100,66,.10);color:#D16845;
  font:900 7.8px/1 "Manrope",sans-serif;letter-spacing:1.08px;
}
.important-info-top h2{
  margin:12px 0 7px;
  font:700 29px/.98 "Playfair Display",serif;
  letter-spacing:-.9px;color:#2B211A;
}
.important-info-top p{
  margin:0;max-width:34ch;
  font:550 10px/1.5 "DM Sans",sans-serif;color:#75766F;
}
.important-info-list{display:grid;gap:7px;margin-top:18px}
.important-info-list article{
  display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:start;
  padding:10px 11px;border-radius:17px;
  background:rgba(255,255,255,.76);border:1px solid #EEE8E0;
}
.important-info-icon{
  width:38px;height:38px;border-radius:13px;display:grid;place-items:center;
  background:linear-gradient(145deg,#EEF5EA,#E6F0E1);color:#66805F;
}
.important-info-list article:nth-child(2) .important-info-icon{background:linear-gradient(145deg,#FFF0E7,#F9E4D8);color:#C26746}
.important-info-list article:nth-child(3) .important-info-icon{background:linear-gradient(145deg,#F7F0E6,#EDE4D8);color:#8A705A}
.important-info-list article:nth-child(4) .important-info-icon{background:linear-gradient(145deg,#F0F2E9,#E7ECE0);color:#6C775E}
.important-info-list article>div{display:grid;gap:3px;min-width:0}
.important-info-list strong{font:800 9.8px/1.2 "Manrope",sans-serif;color:#42362E}
.important-info-list p{margin:0;font:520 8.65px/1.43 "DM Sans",sans-serif;color:#77766F}
.important-info-consent{
  margin-top:14px;padding:11px 12px;border-radius:17px;
  background:#F4EFE7;border:1px solid #E9E2D8;
  display:grid;grid-template-columns:24px minmax(0,1fr);gap:9px;align-items:center;
  cursor:pointer;
}
.important-info-consent input{position:absolute;opacity:0;pointer-events:none}
.important-info-checkbox{
  width:24px;height:24px;border-radius:8px;border:1.5px solid #CDC5BA;background:#FFF;
  display:grid;place-items:center;color:#fff;font:900 12px/1 "Manrope",sans-serif;
  transition:background .16s ease,border-color .16s ease,transform .12s ease;
}
.important-info-consent input:checked+.important-info-checkbox{background:#6B865F;border-color:#6B865F}
.important-info-consent input:checked+.important-info-checkbox::after{content:'✓'}
.important-info-consent input:focus-visible+.important-info-checkbox{outline:2px solid rgba(216,100,66,.35);outline-offset:2px}
.important-info-consent>span:last-child{font:700 9px/1.35 "DM Sans",sans-serif;color:#5F5B55}
.important-info-continue{
  width:100%;height:48px;margin-top:10px;border:0;border-radius:16px;
  background:linear-gradient(145deg,#E1724E,#CE5E3D);color:#fff;
  font:800 10.5px/1 "Manrope",sans-serif;
  box-shadow:0 12px 26px rgba(190,82,48,.18);
  transition:opacity .16s ease,transform .12s ease,filter .16s ease;
}
.important-info-continue:disabled{opacity:.42;box-shadow:none;filter:saturate(.65);cursor:not-allowed}
.important-info-continue:not(:disabled):active{transform:scale(.985)}
@media(max-width:370px){
  .important-info-modal{padding-left:10px;padding-right:10px}
  .important-info-card{padding:21px 15px 16px;border-radius:28px}
  .important-info-top h2{font-size:26px}
  .important-info-list{gap:6px;margin-top:14px}
  .important-info-list article{grid-template-columns:34px minmax(0,1fr);gap:9px;padding:9px 10px}
  .important-info-icon{width:34px;height:34px;border-radius:11px}
  .important-info-list p{font-size:8.25px}
}
@media(max-height:700px){
  .important-info-card{padding-top:18px;padding-bottom:14px}
  .important-info-top h2{font-size:25px;margin-top:9px}
  .important-info-top p{font-size:9.3px}
  .important-info-list{margin-top:12px;gap:5px}
  .important-info-list article{padding:8px 9px}
  .important-info-icon{width:34px;height:34px}
  .important-info-list p{font-size:8.2px;line-height:1.37}
  .important-info-consent{margin-top:10px;padding:9px 10px}
  .important-info-continue{height:44px}
}
@media(prefers-reduced-motion:reduce){
  .important-info-modal,.important-info-card,.important-info-checkbox,.important-info-continue{transition:none!important}
}


/* V2.98.17 — clean Android install icon: no tile/shadow behind the app artwork */
html.is-android .install-app-icon{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
