/* RECIPI 1.6.1 – existing approved RECIPI artwork, corrected square icon crop. */
:root, :root[data-theme="light"] {
 --navy:#293C2D; --navy2:#465940; --orange:#AF8D5B; --orange-soft:#F1E7D7;
 --bg:#F2EDE4; --card:#FFFDF8; --ink:#2C342A; --muted:#70796D; --line:#DDD7C9;
 --green:#546B49; --green-soft:#E7EBDD; --blue-soft:#E6ECE7;
 --red:#A54E42; --red-soft:#FAEAE6;
 --shadow-sm:0 4px 17px rgba(53,53,34,.065); --shadow-md:0 12px 30px rgba(49,48,34,.10);
 --shadow-lg:0 17px 45px rgba(39,46,30,.14);
 --editorial-serif:Georgia,"Iowan Old Style","Baskerville","Times New Roman",serif;
 --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
 color-scheme:light;
}
@media (prefers-color-scheme:dark) {
 :root:not([data-theme="light"]) {
 --navy:#182B21; --navy2:#334936; --orange:#D2B581; --orange-soft:#3B3427;
 --bg:#131C17; --card:#202B23; --ink:#F4F0E7; --muted:#BEC3B5; --line:#3B473A;
 --green:#ADBE8E; --green-soft:#303D2F; --blue-soft:#2A3832;
 --red:#EC9A8B; --red-soft:#432B2A; color-scheme:dark;
 }
}
:root[data-theme="dark"] {
 --navy:#182B21; --navy2:#334936; --orange:#D2B581; --orange-soft:#3B3427;
 --bg:#131C17; --card:#202B23; --ink:#F4F0E7; --muted:#BEC3B5; --line:#3B473A;
 --green:#ADBE8E; --green-soft:#303D2F; --blue-soft:#2A3832;
 --red:#EC9A8B; --red-soft:#432B2A; color-scheme:dark;
}
body { background:var(--bg);color:var(--ink) }
.topbar { background:linear-gradient(115deg,#213429,#344934 74%,#405540); border-bottom:1px solid rgba(234,223,202,.15);box-shadow:0 5px 23px rgba(21,36,25,.2) }
.topbar .brand {font-family:var(--editorial-serif);font-size:23px;letter-spacing:.055em;font-weight:500;color:#F5EAD7}
.header-icon {background:#473B2B;border:1px solid rgba(238,224,194,.28);box-shadow:0 2px 12px rgba(8,18,12,.18)}
.header-icon img {object-fit:cover}
h2,.section-heading h2,.fs-banner h2,.onboard-brand h2 {font-family:var(--editorial-serif);font-weight:500;letter-spacing:-.018em;line-height:1.2}
h3 {font-family:var(--editorial-serif);font-weight:550;letter-spacing:-.01em}
.section-heading>a {color:var(--green)}
.nav {background:rgba(255,253,248,.94);border:1px solid #D9D4C8;box-shadow:0 10px 35px rgba(39,48,35,.16)}
@media (prefers-color-scheme:dark) {:root:not([data-theme="light"]) .nav{background:rgba(30,44,34,.96);border-color:#4E5949}}
:root[data-theme="dark"] .nav{background:rgba(30,44,34,.96);border-color:#4E5949}
.nav a.active {background:var(--green-soft);color:var(--green)}
.nav .nav-import {background:var(--orange-soft);color:var(--navy)}
.nav .nav-import.active,:root[data-theme="dark"] .nav .nav-import {background:var(--orange);color:#201A10}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .nav .nav-import {background:var(--orange);color:#201A10}}
.btn {border-radius:13px;font-weight:650}
.btn.primary {background:linear-gradient(135deg,#C5AB7D,#A78553);border:1px solid #B69B6F;color:#201C13;box-shadow:0 4px 12px rgba(90,64,32,.14)}
.btn.dark {background:var(--navy)}
.chip[aria-pressed=true],.chips .chip[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#FFF9EB}
.card,.rcard {background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.card {border-radius:19px}.rcard {border-radius:19px}.rcard .img {aspect-ratio:4/3;background-color:#344936}
.rcard .body {padding:14px}.rcard .body b,.rcard .body strong {font-family:var(--editorial-serif);font-weight:550}
.rcard .img::after {background:linear-gradient(180deg,transparent 32%,rgba(27,34,25,.77) 100%)}
.detail-art,.detail-photo {border-radius:19px;box-shadow:var(--shadow-md)}
.hero {background-image:linear-gradient(95deg,rgba(25,44,32,.96) 0%,rgba(27,45,33,.9) 51%,rgba(27,43,32,.4) 100%),url('../assets/recipi-kitchen-detail.webp');background-size:cover;background-position:center right;box-shadow:0 13px 32px rgba(31,48,36,.19);border:1px solid rgba(227,215,189,.16);border-radius:22px}
.hero::before {width:160px;height:160px;right:-50px;top:-75px;border:1px solid rgba(244,233,207,.18)}
.hero::after {background:transparent}
.hero-eyebrow {color:#E2CA9D;font-size:10px;letter-spacing:.18em}
.hero h2 {font-family:var(--editorial-serif);font-size:clamp(34px,7vw,49px);font-weight:500;line-height:1.04;letter-spacing:-.035em;color:#FBF3E7}
.hero h2 em {font-style:italic;font-weight:400;color:#E0CBA4}
.hero p {color:#F1E9DD;font-size:13px;max-width:250px}
.hero-secondary {border-color:rgba(238,227,201,.45)!important;color:#FFF6E8!important}
.fs-home-card,.fs-banner {background:linear-gradient(125deg,#293C2D,#53634B);box-shadow:0 8px 22px rgba(29,46,31,.16)}
.fs-banner h2 {font-size:29px}
.fs-dark-dashboard {background:linear-gradient(153deg,#17271D 0%,#212C22 100%);border:1px solid #516149;box-shadow:0 12px 28px rgba(27,42,31,.15)}
.fs-meal-card {background:#2B392F;border-color:#435447}.fs-meal-icon {background:#3D4B3D}
.fs-meal-between {background:#374333;border-color:#83906A}.fs-meal-between:before {border-color:#75856E}
.fs-dash-cta {background:linear-gradient(110deg,#ADB888,#CBB581);color:#263325}
.fs-calorie-ring {filter:drop-shadow(0 4px 7px rgba(0,0,0,.12))}
.fs-macro strong {font-family:var(--font)}
.onboard-brand img {width:174px;height:174px;object-fit:cover;border-radius:24px;box-shadow:0 9px 21px rgba(39,49,34,.21)}
.settings-intro img {width:80px;height:80px;object-fit:cover;border-radius:18px;box-shadow:0 7px 18px rgba(34,48,38,.21)}
.settings-intro b {font-family:var(--editorial-serif);font-weight:500;font-size:26px}
input:focus,textarea:focus,select:focus {outline:2px solid var(--orange);outline-offset:1px}
:focus-visible {outline-color:var(--orange)}
@media(max-width:480px){.hero {padding:23px 19px;min-height:227px}.hero h2 {max-width:240px}.topbar .brand{font-size:21px}.nav a.active {color:var(--green)}}
@media(prefers-reduced-motion:reduce){.fs-calorie-ring,.rcard {animation:none;transition:none}}

/* 1.6.1: one controlled corner mask, no second border/background behind the approved logo */
.header-icon { background:transparent; border:0; overflow:hidden; }
.header-icon img { width:100%; height:100%; object-fit:cover; display:block; }
.onboard-brand img { display:block; margin-inline:auto; aspect-ratio:1; background:transparent; border:0; object-fit:cover; }
.settings-intro img { display:block; flex:0 0 80px; aspect-ratio:1; background:transparent; border:0; object-fit:cover; }
