/* Sandra Mühlberg kocht — editorial, warm and unmistakably personal. */
@font-face{font-family:"Montserrat";font-style:normal;font-weight:800;font-display:swap;src:url("/assets/fonts/montserrat-extra-bold-latin.woff2") format("woff2")}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:900;font-display:swap;src:url("/assets/fonts/montserrat-extra-bold-latin.woff2") format("woff2")}

:root{
  --bg:#f7efe7;
  --ink:#1b1713;
  --panel:#155c55;
  --accent:#d55327;
  --accent-d:#9f3619;
  --grey:#6d655d;
  --line:#dfd1c3;
  --soft:#f1e6da;
  --cream:#f7efe7;
  --tomato:#c84720;
  --butter:#e3bd5b;
  --peach:#efd3bd;
  --lavender:#d6ddd3;
  --powder:#c4d7cf;
  --sh:0 7px 24px rgba(45,31,21,.08);
  --sh-l:0 18px 52px rgba(45,31,21,.16);
  --button-radius:8px;
  --on-accent:#fff;
  --page-surface:var(--cream);
  --card-surface:#fff;
  --brand-display:"Montserrat","Avenir Next",Futura,sans-serif;
  --brand-wordmark:"Arial Narrow","Aptos Narrow","Helvetica Neue Condensed","Helvetica Neue",sans-serif;
}

body{background:var(--cream);font-family:"Helvetica Neue",Helvetica,system-ui,sans-serif;letter-spacing:-.015em}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.2;background-image:radial-gradient(rgba(125,79,49,.2) .55px,transparent .65px);background-size:7px 7px}
h1,h2,h3,h4,h5,h6,.sec-t h2,.week-head h3,.recipe-detail h4{font-family:var(--brand-display)!important;font-weight:800!important;letter-spacing:-.04em}
.brand-wordmark{display:inline-flex!important;align-items:baseline;gap:.2em;color:var(--accent);font-family:var(--brand-wordmark)!important;font-style:italic;font-weight:950!important;letter-spacing:-.075em!important;line-height:.86!important;text-transform:uppercase;transform:skewX(-8deg)}
.brand-wordmark span{display:inline-block;color:var(--ink);font-family:"Helvetica Neue",Helvetica,sans-serif;font-size:.31em;font-style:normal;font-weight:750;letter-spacing:.08em;line-height:1;text-transform:lowercase;transform:skewX(8deg)}

/* One tactile language for every primary, icon and selection control. */
button,
a.btn,
.chip,
.tab .plus-orb,
.ccard,
.collection-card,
.discover-card,
.sandra-video-card{border-radius:var(--button-radius)!important}
.sandra-video-card{overflow:hidden}
.pantry-add{border-radius:50%!important}

/* Orange actions always use one high-contrast foreground. */
:is(
  .ob .btn,
  .food-cta,
  .btn.accent,
  .cbtn.send,
  .planner-ai-compose button,
  .recipe-actions-sticky .cook-primary,
  .cook-timer.is-running,
  .pantry-add,
  .badd:not(.in)
),
.tab-plus .plus-orb,
.sandra-video-play{color:var(--on-accent)!important}
:is(
  .ob .btn,
  .food-cta,
  .btn.accent,
  .cbtn.send,
  .planner-ai-compose button,
  .recipe-actions-sticky .cook-primary,
  .cook-timer.is-running,
  .pantry-add,
  .badd:not(.in)
) *{color:inherit!important}
:is(
  .ob .btn,
  .food-cta,
  .btn.accent,
  .cbtn.send,
  .planner-ai-compose button,
  .recipe-actions-sticky .cook-primary,
  .cook-timer.is-running,
  .pantry-add,
  .badd:not(.in)
) svg{fill:currentColor!important;stroke:currentColor!important}

.auth-gate{background:var(--cream)}
.auth-gate::before{background:var(--accent);opacity:.38}.auth-gate::after{background:var(--panel);opacity:.26}
.auth-shell{margin-top:clamp(18px,7vh,68px)}
.auth-brand{font-size:31px!important;margin:0 0 22px}.auth-card{border-radius:8px;border-color:var(--line);box-shadow:var(--sh-l)}
.auth-card h1{font-family:var(--brand-display);font-size:37px;font-weight:900;text-transform:uppercase}.auth-tabs button.on,.btn{background:var(--panel)}
.auth-link{color:var(--accent-d)}.auth-demo{color:var(--accent-d)!important}

.bar{background:rgba(247,239,231,.95);border-bottom:1px solid rgba(35,27,21,.1)}
.bar-in{padding-top:17px;padding-bottom:15px}.logo{font-size:19px}.mbtn{border-radius:0;background:transparent;border:1px solid var(--ink);font-size:15px}
.menu{border-radius:7px}.menu button.on,.menu button:active{background:var(--soft)}

#scStart{background:var(--cream)}
.ob{align-items:flex-start;text-align:left;padding:72px 30px 58px;justify-content:flex-end;background:linear-gradient(180deg,rgba(20,83,76,.9),rgba(20,83,76,.18) 58%,var(--cream) 58%)}
.ob::before{content:"";position:absolute;inset:0 0 42%;background:linear-gradient(135deg,rgba(10,37,33,.46),rgba(18,91,82,.1)),url("/assets/home-gnocchi-hero.webp") center/cover;mix-blend-mode:multiply;opacity:.87}
.ob h1{display:block!important;font-size:clamp(46px,14vw,66px)!important;color:var(--accent);position:relative}.ob h1 span{position:absolute;right:-16px;bottom:2px}.ob p{max-width:288px;margin:19px 0 28px;color:var(--ink);font-size:16px;font-weight:600}.ob .btn{max-width:250px;margin:0;border-radius:0;background:var(--accent);color:var(--ink);font-weight:850}
.ob-e{display:none}

#scDash{--home-section-gap:28px;background:transparent}.dhead{padding-top:14px}.dhead .hi{color:var(--accent-d);letter-spacing:.17em}.dhead h1{font-size:clamp(38px,10.5vw,51px);text-transform:uppercase}.dhead .range i{background:var(--panel)}
.food-hero{border-radius:var(--button-radius);box-shadow:none;border:1px solid rgba(27,23,19,.14);height:372px;background:var(--panel)}
.food-hero::after{background:linear-gradient(180deg,rgba(11,44,40,.02) 20%,rgba(11,44,40,.92) 100%)}
.food-copy{left:20px;right:20px;bottom:19px}.food-copy h2{font-family:var(--brand-display);font-size:34px;text-transform:uppercase}.food-copy p{font-size:13px;color:rgba(255,255,255,.88)}
.food-cta{border-radius:0;background:var(--accent);color:#fff;font-weight:850}.week-card,.tile,.next-plan-card{border-radius:6px;border:1px solid rgba(27,23,19,.1);box-shadow:none}
.week-card{background:rgba(255,255,255,.72)}.week-head h3{text-transform:uppercase}.week-head span{border-radius:0}.recipe-facts span{border-radius:var(--button-radius)}.meal-emoji,.tile i{border-radius:0}.tile{background:#fff}
.recipe-detail .recipe-tab-panel+h4{margin-top:40px}
#scDash .food-hero,#scDash .week-card,#scDash .next-plan-card{margin-bottom:var(--home-section-gap)}
#scDash .home-actions-shell{margin:0;padding:0}
.home-actions-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 2px 13px}
.home-actions-head h2{font:900 27px/.95 var(--brand-display)!important;letter-spacing:-.045em;text-transform:uppercase;max-width:270px}
#scDash .home-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
#scDash .home-action{position:relative;isolation:isolate;min-width:0;margin:0;border:1px solid rgba(27,23,19,.12)!important;border-radius:var(--button-radius)!important;box-shadow:none!important;overflow:hidden;color:var(--ink);cursor:pointer;transition:transform .16s ease,border-color .16s ease,background-color .16s ease}
#scDash .home-action::before{content:"";position:absolute;z-index:-1;border-radius:50%;pointer-events:none}
#scDash .home-action:active{transform:scale(.98)}
#scDash .home-action:focus-visible{outline:3px solid rgba(213,83,39,.3);outline-offset:2px}
#scDash .home-action>i{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;margin:0;border:1px solid currentColor!important;border-radius:50%!important;background:transparent!important;color:inherit;font-style:normal}
#scDash .home-action>i svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
#scDash .home-action>i .home-action-icon-fill{fill:currentColor;stroke:none}
#scDash .home-action>div{min-width:0}
#scDash .home-action b{display:block;font-family:var(--brand-display);font-weight:800;letter-spacing:-.035em;line-height:1.04}
#scDash .home-action span{display:block;margin-top:6px;color:inherit;font-size:11.5px;font-weight:500;line-height:1.35;opacity:.68}
#scDash .home-action>em{position:absolute;right:14px;top:13px;color:inherit;font-size:17px;font-style:normal;font-weight:400;line-height:1}
.home-action--fridge{grid-column:1/-1;min-height:154px;padding:19px 102px 19px 19px!important;display:flex!important;align-items:flex-end!important;background:var(--panel)!important;color:#fff!important}
.home-action--fridge::before{right:-28px;top:-38px;width:148px;height:148px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}
.home-action--fridge>i{position:absolute;right:22px;bottom:22px;width:58px!important;height:58px!important;border-color:rgba(255,255,255,.56)!important}
.home-action--fridge>i svg{width:28px!important;height:28px!important}
.home-action--fridge b{font-size:25px;max-width:260px;text-transform:uppercase}
.home-action--fridge span{max-width:230px;color:#fff!important;opacity:.72!important}
.home-action--wish,.home-action--planner{min-height:178px;padding:16px!important;display:flex!important;flex-direction:column;align-items:flex-start!important;gap:0!important;text-align:left}
.home-action--wish{background:var(--peach)!important}
.home-action--wish::before{right:-34px;bottom:-48px;width:118px;height:118px;background:rgba(255,255,255,.24)}
.home-action--planner{background:#fff!important}
.home-action--planner::before{right:-28px;bottom:-38px;width:94px;height:94px;background:var(--butter);opacity:.28}
.home-action--wish>div,.home-action--planner>div{margin-top:auto;padding-top:20px;padding-right:4px}
.home-action--wish b,.home-action--planner b{font-size:18px}
.home-action--import,.home-action--video{min-height:94px;padding:13px 35px 13px 13px!important;display:grid!important;grid-template-columns:38px minmax(0,1fr);align-items:center!important;gap:10px!important;text-align:left}
.home-action--import{background:rgba(255,255,255,.64)!important}
.home-action--video{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}
.home-action--import>i,.home-action--video>i{width:38px!important;height:38px!important}
.home-action--import b,.home-action--video b{font-size:13px}
.home-action--import span,.home-action--video span{margin-top:4px!important;font-size:10px!important}
.home-action--video span{color:#fff!important;opacity:.76!important}
.sandra-video-action>i{background:transparent!important;color:inherit!important;font-size:inherit!important}
@media (hover:hover){#scDash .home-action:hover{transform:translateY(-2px);border-color:rgba(27,23,19,.28)!important}.home-action--fridge:hover{background:#104f49!important}.home-action--video:hover{background:#c64a22!important}}
@media (max-width:360px){.home-actions-head{display:block}.home-actions-head h2{font-size:25px!important}.home-action--fridge{padding-right:88px!important}.home-action--fridge b{font-size:22px}.home-action--wish,.home-action--planner{min-height:186px;padding:14px!important}.home-action--wish b,.home-action--planner b{font-size:16px}.home-action--import,.home-action--video{grid-template-columns:32px minmax(0,1fr);padding-left:10px!important;gap:8px!important}.home-action--import>i,.home-action--video>i{width:32px!important;height:32px!important}.home-action--import span,.home-action--video span{display:none!important}}
#scDash .sec-t,#scDash .discover-section{margin-top:var(--home-section-gap)}
.tiles{gap:8px}.tiles .section-label{font-family:var(--brand-display);font-size:25px;text-transform:uppercase}.tile{min-height:128px}.tile:nth-of-type(2) i{background:var(--powder)}.tile:nth-of-type(3) i{background:var(--butter)}.tile:nth-of-type(4) i{background:var(--peach)}
.ccard{border-radius:4px;box-shadow:none;border:1px solid rgba(27,23,19,.1)}.recipe-thumb{border-radius:0}.sec-t h2,.discover-head h2{text-transform:uppercase}.sec-t a{color:var(--accent-d)}

.tabs{background:rgba(247,239,231,.97);border-top-color:var(--line)}.tab.on{color:var(--accent-d)}.tab.on::after{background:var(--accent);border-radius:0;width:20px;height:2px}.tab-plus .plus-orb{background:var(--accent)!important;transform:rotate(0)!important}
.chat,.comp{background:var(--cream)}.msg:not(.me) .bub{border-radius:5px!important}.msg.me .bub{background:var(--panel)!important;border-radius:5px!important}.comp-in{border-radius:0!important;border-color:var(--line)!important}.cbtn.send{background:var(--accent)!important;color:#fff!important}

.book-heading h2,.planner-head h2,.head h2,.mhead h2{text-transform:uppercase}.book-add,.planner-nav button,.mnav{border-radius:0!important}.profile-hero,.profile-card{border-radius:6px!important}.profile-card{border-color:var(--line)!important;box-shadow:none!important}.profile-card-head i{border-radius:0!important;background:var(--peach)!important}.chip.on{background:var(--panel)!important;color:#fff!important}.feature-overlay,.sheet,.feature-dialog,.recipe-card2{border-radius:6px!important}.recipe-card2{box-shadow:none!important}.btn.accent{background:var(--accent);color:#fff}.btn.ghost{border-radius:0}.planner-ai-launch{border-radius:6px!important;background:var(--panel)!important}.planner-ai-compose{border-radius:0!important}

.sandra-video-action>i{background:var(--accent)!important;color:#fff;font-size:17px!important}.sandra-video-hub{display:grid;gap:14px}.sandra-video-intro{padding:14px 15px;background:var(--panel);color:#fff;border-radius:4px}.sandra-video-intro b{display:block;font:850 24px/1 var(--brand-display);letter-spacing:-.03em;text-transform:uppercase}.sandra-video-intro p{margin:6px 0 0;font-size:12px;color:rgba(255,255,255,.78)}
.sandra-video-grid{display:grid;gap:10px}.sandra-video-card{display:grid;grid-template-columns:132px minmax(0,1fr);gap:12px;padding:0;border:0;background:transparent;text-align:left;cursor:pointer;color:var(--ink)}.sandra-video-thumb{position:relative;min-height:82px;background:var(--panel);overflow:hidden}.sandra-video-thumb img{display:block;width:100%;height:100%;object-fit:cover}.sandra-video-play{position:absolute;left:9px;bottom:9px;display:grid;place-items:center;width:30px;height:30px;background:var(--accent);color:#fff;font-size:12px}.sandra-video-copy{padding:4px 2px}.sandra-video-copy small{display:block;color:var(--accent-d);font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;margin-bottom:5px}.sandra-video-copy b{display:block;font-size:13px;line-height:1.2}.sandra-video-copy span{display:block;color:var(--grey);font-size:10.5px;margin-top:5px}.sandra-video-stage{display:none;position:relative;padding-top:56.25%;background:#111}.sandra-video-stage.on{display:block}.sandra-video-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.sandra-video-channel{display:inline-flex;align-items:center;gap:8px;color:var(--accent-d);font-size:12px;font-weight:850;text-decoration:none;padding:3px 0}.sandra-video-channel::after{content:"↗";font-size:15px}

/* Planner: size the layout from its real canvas, not the outer browser window. */
.planner-wrap{max-width:520px;container:planner / inline-size}
.planner-head{display:block;margin:12px 0 20px}.planner-head>div:first-child{min-width:0}.planner-head h2{color:var(--ink)}
.planner-nav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;width:100%;margin-top:16px}
.planner-nav button,.mnav,.book-add{border-radius:var(--button-radius)!important}
.planner-nav button{width:100%;min-width:0;min-height:44px;border-color:var(--line)!important;background:#fff!important;color:var(--ink)!important}
.planner-nav #plannerToday{border-color:var(--panel)!important;background:var(--panel)!important;color:#fff!important}
.planner-board{gap:12px;padding:2px 0 14px}.planner-board::after{display:none}
.plan-day{flex:0 0 clamp(250px,calc(100% - 80px),400px);background:#fff!important;border-color:var(--line);box-shadow:0 7px 20px rgba(57,37,24,.045)}
.plan-day.today{border-color:var(--accent);box-shadow:0 0 0 2px rgba(213,83,39,.14),0 9px 24px rgba(57,37,24,.06)}
.plan-day.today .plan-day-head span{background:var(--accent);color:var(--ink)}
.empty-meal{border-color:var(--line);color:#746A63}
.planner-ai-launch{grid-template-columns:minmax(0,1fr);margin:18px 0 10px;padding:20px;border:1px solid var(--line)!important;border-radius:var(--button-radius)!important;background:#fff!important;box-shadow:none!important}
.planner-ai-copy>span{color:var(--accent-d)!important}.planner-ai-copy h3{color:var(--ink)!important}.planner-ai-copy p{color:var(--grey)!important}
.planner-ai-compose{border:1px solid var(--line)!important;border-radius:var(--button-radius)!important;background:#fff!important;box-shadow:none!important}
.planner-ai-compose:focus-within{border-color:var(--accent)!important;box-shadow:0 0 0 3px rgba(213,83,39,.25)!important}
.planner-ai-compose button{border-radius:var(--button-radius)!important;background:var(--accent)!important;color:#fff!important}

/* Stable page canvas; every screen sits on cream and every surface card stays white. */
html,
body,
.screen,
#scStart,
#scDash,
#scProfil,
#scChat,
#scBook,
#scPlanner,
#scList,
#scRate,
#scMonth,
.auth-gate,
.cook-mode{background:var(--cream)!important}

.mbtn{width:42px;height:42px;padding:0;border:0!important;background:transparent!important;color:var(--ink)!important;display:grid;place-items:center}
.mbtn:active{background:var(--soft)!important}
.mbtn svg{display:block;width:21px;height:21px;fill:currentColor}

@media (min-width:600px){html{background:var(--cream)!important}}

@media (min-width:600px){
  .planner-wrap{max-width:960px}
  .planner-board{padding-bottom:18px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
  .planner-board::-webkit-scrollbar{display:block;height:5px}
  .planner-board::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px}
}

@container planner (min-width:760px){
  .planner-head{display:flex;align-items:flex-end}
  .planner-nav{display:flex;width:auto;margin-top:0}
  .planner-nav button{width:auto;min-width:44px}
  .plan-day{flex:0 0 calc(50% - 6px)}
}

@media (min-width:600px){.food-hero{height:410px}.ob{max-width:520px;margin:auto;min-height:100svh}.ob::before{left:calc(50% - 260px);right:calc(50% - 260px)}}
