/* IsItFODMAP hard rule: color continuity top-to-bottom */
*{box-sizing:border-box}
:root{--bg:#03040a;--ink:#e7eefc;--muted:rgba(231,238,252,.72);--dim:rgba(231,238,252,.42);--cyan:#00e5ff;--green:#34f0a1;--yellow:#ffd166;--red:#ff4d6d;--magenta:#ff2bd6;--violet:#7a5cff;--line:rgba(231,238,252,.12);--card:rgba(10,13,26,.66);--max:1280px}
body{margin:0;overflow-x:hidden;background:radial-gradient(980px 780px at 9% 10%,rgba(0,229,255,.20),transparent 58%),radial-gradient(840px 680px at 89% 18%,rgba(255,77,109,.18),transparent 60%),radial-gradient(760px 720px at 15% 46%,rgba(52,240,161,.14),transparent 58%),radial-gradient(900px 760px at 88% 55%,rgba(122,92,255,.18),transparent 62%),radial-gradient(900px 760px at 10% 78%,rgba(0,229,255,.15),transparent 60%),radial-gradient(880px 740px at 34% 88%,rgba(52,240,161,.13),transparent 58%),radial-gradient(900px 760px at 70% 86%,rgba(255,209,102,.13),transparent 58%),radial-gradient(1020px 820px at 93% 96%,rgba(255,77,109,.21),transparent 60%),linear-gradient(180deg,#03040a 0%,#050714 22%,#070516 44%,#031019 67%,#09050f 100%);color:var(--ink);font-family:Inter,system-ui,sans-serif;line-height:1.68;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(90deg,rgba(0,229,255,.035),transparent 28%,rgba(255,77,109,.035) 70%,transparent),repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,transparent 1px 110px);opacity:.85}
nav,main,footer{max-width:var(--max);margin:0 auto;padding-left:clamp(20px,4vw,56px);padding-right:clamp(20px,4vw,56px)}
main{position:relative}
main::before,main::after{content:"";position:absolute;left:clamp(20px,4vw,56px);right:clamp(20px,4vw,56px);z-index:0;pointer-events:none;border-radius:44px}
main::before{top:34%;height:34%;background:linear-gradient(105deg,rgba(0,229,255,.10),rgba(52,240,161,.08),rgba(255,209,102,.07),rgba(255,77,109,.10));filter:blur(42px);opacity:.78}
main::after{bottom:3%;height:30%;background:linear-gradient(115deg,rgba(52,240,161,.10),rgba(0,229,255,.09),rgba(122,92,255,.10),rgba(255,77,109,.14));filter:blur(46px);opacity:.82}
main>*{position:relative;z-index:1}
nav{padding-top:28px;padding-bottom:24px;display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}
a{color:var(--cyan);text-decoration:none;border-bottom:1px solid rgba(0,229,255,.28)}
a:hover{border-bottom-color:var(--cyan)}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);border:0;font-family:"Instrument Serif",serif;font-size:24px;letter-spacing:.03em}
.brand i{width:8px;height:8px;border-radius:999px;background:var(--cyan);box-shadow:0 0 16px var(--cyan)}
.navlinks{display:flex;gap:16px;flex-wrap:wrap}
.navlinks a{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);border:0}
.crumbs{display:flex;align-items:center;gap:10px;margin:4px 0 18px;font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.20em;text-transform:uppercase;color:var(--dim);flex-wrap:wrap}
.crumbs a{color:var(--muted);border:0}
.crumbs a:hover{color:var(--cyan)}
.crumbs strong{font-weight:500;color:rgba(231,238,252,.78)}
.hero{position:relative;margin:18px auto 42px;padding:54px clamp(28px,4vw,68px);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.86fr);gap:clamp(28px,5vw,72px);align-items:center;border:1px solid rgba(255,255,255,.11);border-radius:44px;background:radial-gradient(circle at 16% 16%,rgba(0,229,255,.28),transparent 28%),radial-gradient(circle at 76% 12%,rgba(255,209,102,.22),transparent 30%),radial-gradient(circle at 84% 74%,rgba(255,77,109,.28),transparent 30%),radial-gradient(circle at 40% 88%,rgba(52,240,161,.18),transparent 32%),linear-gradient(135deg,rgba(7,10,22,.96),rgba(9,9,20,.84) 42%,rgba(17,10,29,.92));box-shadow:0 38px 120px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.10),inset 0 0 0 1px rgba(255,255,255,.06);overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 0 28%,rgba(255,255,255,.08) 36%,transparent 46% 100%),repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 82px);opacity:.48}
.hero>*{position:relative;z-index:1}
.eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;padding:9px 13px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.045);box-shadow:0 0 28px rgba(0,229,255,.10);font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:rgba(231,238,252,.72)}
.eyebrow::before{content:"";width:9px;height:9px;border-radius:99px;background:linear-gradient(135deg,var(--green),var(--cyan));box-shadow:0 0 18px var(--cyan)}
h1,h2,h3{font-family:"Instrument Serif",serif;font-weight:400;letter-spacing:-.025em;line-height:1.05}
h1{font-size:86px;line-height:.94;letter-spacing:-.052em;margin:0 0 20px;color:#f8f6f0;text-shadow:0 24px 90px rgba(0,0,0,.62)}
h1 .line{display:block}
h2{font-size:54px;margin:0 0 14px}
h3{font-size:30px;margin:0 0 10px}
em{font-style:italic;color:transparent;background:linear-gradient(92deg,#35f2ff 0%,#9cf871 24%,#ffd166 48%,#ff6d8b 72%,#a78bfa 100%);-webkit-background-clip:text;background-clip:text}
p,li{color:var(--muted);font-size:16px}
.deck{font-size:19px;max-width:640px;margin:0 0 28px;color:rgba(231,238,252,.76);line-height:1.62}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 22px;border-radius:999px;border:1px solid rgba(0,229,255,.34);font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;box-shadow:0 18px 46px rgba(0,229,255,.10)}
button.btn{cursor:pointer;font-family:"JetBrains Mono",monospace}
.btn.primary{background:var(--cyan);color:#001018;border-color:var(--cyan);box-shadow:0 20px 58px rgba(0,229,255,.25)}
.btn.secondary{color:var(--cyan);background:rgba(0,229,255,.06)}
.panel,.card,.callout{position:relative;border:1px solid rgba(255,255,255,.14);background:linear-gradient(145deg,rgba(7,10,24,.78),rgba(11,9,23,.58)),radial-gradient(circle at 18% 18%,rgba(0,229,255,.18),transparent 32%),radial-gradient(circle at 92% 82%,rgba(255,77,109,.13),transparent 36%),radial-gradient(circle at 54% 102%,rgba(52,240,161,.08),transparent 38%);border-radius:28px;padding:24px;box-shadow:0 30px 100px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.08);overflow:hidden}
.panel::before,.card::before,.callout::before,.money a::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.12),transparent 32%);opacity:.16}
.panel>* ,.card>* ,.callout>* ,.money a>*{position:relative;z-index:1}
.panel{display:grid;gap:12px}
.hero-panel{align-self:stretch}
.hero-panel .metric{background:rgba(3,4,10,.74)}
.toc-card,.source-card{position:relative;margin:26px 0;border:1px solid rgba(255,255,255,.14);border-radius:26px;background:linear-gradient(145deg,rgba(7,10,24,.78),rgba(11,9,23,.58)),radial-gradient(circle at 14% 12%,rgba(0,229,255,.12),transparent 34%),radial-gradient(circle at 88% 82%,rgba(255,209,102,.10),transparent 36%);padding:22px;box-shadow:0 24px 80px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.07);overflow:hidden}
.toc-card::before,.source-card::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.10),transparent 34%);opacity:.18}
.toc-card>* ,.source-card>*{position:relative;z-index:1}
.toc-card h2,.source-card h2{font-size:34px;margin:0 0 12px}
.toc-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:0;padding:0;list-style:none}
.toc-list a,.source-links a{display:block;border:1px solid rgba(255,255,255,.10);border-radius:16px;background:rgba(3,4,10,.42);padding:13px 14px;color:var(--ink);font-size:14px}
.toc-list a:hover,.source-links a:hover{border-color:rgba(0,229,255,.45);box-shadow:0 0 26px rgba(0,229,255,.10)}
.source-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-top:16px}
.trust-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:24px 0}
.trust-strip div{border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(3,4,10,.46);padding:16px}
.trust-strip b{display:block;color:var(--ink);font-family:"Instrument Serif",serif;font-size:26px;font-weight:400;line-height:1.05}
.trust-strip span{display:block;margin-top:5px;color:var(--muted);font-size:13px}
.photo-banner{position:relative;display:block;margin:0;min-height:292px;aspect-ratio:16/9;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.18);background:#0a0f16;box-shadow:0 26px 86px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.10)}
.photo-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.1) contrast(1.04)}
.photo-banner::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(3,4,10,.02) 0%,rgba(3,4,10,.18) 56%,rgba(3,4,10,.74) 100%),radial-gradient(circle at 18% 16%,rgba(0,229,255,.18),transparent 32%),radial-gradient(circle at 88% 18%,rgba(255,209,102,.16),transparent 30%),radial-gradient(circle at 86% 84%,rgba(255,77,109,.18),transparent 34%);pointer-events:none}
.banner-label,.banner-note{position:absolute;z-index:2}
.banner-label{top:16px;left:16px;display:inline-flex;align-items:center;gap:8px;max-width:calc(100% - 32px);padding:8px 11px;border:1px solid rgba(255,255,255,.26);border-radius:999px;background:rgba(3,4,10,.64);backdrop-filter:blur(10px);font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#f8f6f0;box-shadow:0 14px 34px rgba(0,0,0,.30)}
.banner-label::before{content:"";width:8px;height:8px;border-radius:999px;background:linear-gradient(135deg,var(--green),var(--cyan));box-shadow:0 0 16px rgba(0,229,255,.78)}
.banner-note{left:16px;right:16px;bottom:16px;padding:15px 16px;border-radius:18px;background:rgba(3,4,10,.70);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(12px);box-shadow:0 18px 52px rgba(0,0,0,.38)}
.banner-note b{display:block;font-family:"Instrument Serif",serif;font-size:30px;line-height:1.02;font-weight:400;color:#fff}
.banner-note span{display:block;margin-top:5px;color:rgba(231,238,252,.76);font-size:13px;line-height:1.35}
.wide-photo-banner{width:100%;min-height:clamp(260px,28vw,370px);aspect-ratio:auto;margin:-12px 0 38px;border-radius:34px;box-shadow:0 34px 110px rgba(0,0,0,.48),0 0 60px rgba(0,229,255,.08),inset 0 1px 0 rgba(255,255,255,.12)}
.wide-photo-banner .banner-label{top:20px;left:20px}
.wide-photo-banner .banner-note{left:20px;right:auto;bottom:20px;width:min(520px,calc(100% - 40px));padding:18px 20px}
.wide-photo-banner .banner-note b{font-size:36px}
.meal-shot .banner-label::before{background:linear-gradient(135deg,var(--yellow),var(--green));box-shadow:0 0 16px rgba(255,209,102,.74)}
.trigger-shot .banner-label{border-color:rgba(255,77,109,.42)}
.trigger-shot .banner-label::before{background:linear-gradient(135deg,var(--red),var(--yellow));box-shadow:0 0 16px rgba(255,77,109,.74)}
.metric{padding:20px;border-radius:18px;background:rgba(3,4,10,.62);border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}
.metric span{display:block;font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim);margin-bottom:8px}
.metric strong{display:block;font-family:"Instrument Serif",serif;font-size:38px;line-height:1.02;font-weight:400}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:30px 0}
.section{position:relative;padding:34px 0}
.section::before{content:"";position:absolute;inset:10px -18px;z-index:0;pointer-events:none;border-radius:32px;background:linear-gradient(115deg,rgba(0,229,255,.055),transparent 38%,rgba(255,209,102,.045) 58%,rgba(255,77,109,.055));opacity:.72}
.section>*{position:relative;z-index:1}
.section p{max-width:76ch}
.card ul{padding-left:20px;margin:0}
.money{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.money a{position:relative;display:block;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:22px;background:linear-gradient(145deg,rgba(11,14,30,.82),rgba(8,9,20,.56)),radial-gradient(circle at 18% 12%,rgba(0,229,255,.12),transparent 34%);min-height:158px;box-shadow:0 22px 70px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.07)}
.money a:nth-child(2){background:linear-gradient(145deg,rgba(11,14,30,.82),rgba(8,9,20,.56)),radial-gradient(circle at 88% 16%,rgba(255,209,102,.15),transparent 36%)}
.money a:nth-child(3){background:linear-gradient(145deg,rgba(11,14,30,.82),rgba(8,9,20,.56)),radial-gradient(circle at 84% 82%,rgba(255,77,109,.14),transparent 38%)}
.money b{display:block;color:var(--ink);font-family:"Instrument Serif",serif;font-size:26px;font-weight:400;line-height:1.1}
.money span{display:block;color:var(--muted);margin-top:6px;font-size:14px}
.checklist-shell{margin-top:24px;border:1px solid rgba(255,255,255,.14);border-radius:28px;background:linear-gradient(145deg,rgba(7,10,24,.80),rgba(11,9,23,.60)),radial-gradient(circle at 18% 14%,rgba(0,229,255,.13),transparent 34%),radial-gradient(circle at 88% 82%,rgba(52,240,161,.10),transparent 36%);box-shadow:0 30px 100px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.08);padding:24px;overflow:hidden}
.checklist-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end;margin-bottom:20px}
.custom-add{display:grid;gap:8px}
.custom-add span,.checklist-group h3{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.20em;text-transform:uppercase;color:var(--dim)}
.custom-row{display:flex;gap:10px}
.custom-row input{width:100%;min-height:48px;border-radius:16px;border:1px solid rgba(255,255,255,.14);background:rgba(3,4,10,.64);color:var(--ink);font:500 15px Inter,system-ui,sans-serif;padding:0 14px;outline:none}
.custom-row input:focus{border-color:rgba(0,229,255,.55);box-shadow:0 0 0 3px rgba(0,229,255,.10)}
.checklist-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.checklist-actions .btn{min-height:48px;padding:12px 16px;font-size:10px;letter-spacing:.16em}
.checklist-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.checklist-group{padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:rgba(3,4,10,.42)}
.checklist-group h3{margin:0 0 12px;font-family:"JetBrains Mono",monospace}
.check-item{display:flex;align-items:flex-start;gap:10px;padding:9px 0;color:var(--muted);font-size:15px;border-bottom:1px solid rgba(255,255,255,.07)}
.check-item:last-child{border-bottom:0}
.check-item input{width:18px;height:18px;margin-top:3px;accent-color:var(--cyan);flex:0 0 auto}
.check-item span{line-height:1.4}
.checklist-status{min-height:22px;margin:16px 0 0;font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--green)}
.guide-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:32px 0 0}
.guide-nav a{position:relative;display:block;min-height:132px;padding:22px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:linear-gradient(145deg,rgba(7,10,24,.78),rgba(11,9,23,.58)),radial-gradient(circle at 16% 14%,rgba(0,229,255,.12),transparent 34%);box-shadow:0 22px 70px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.07);overflow:hidden}
.guide-nav a:nth-child(2){background:linear-gradient(145deg,rgba(7,10,24,.78),rgba(11,9,23,.58)),radial-gradient(circle at 86% 18%,rgba(255,209,102,.13),transparent 36%)}
.guide-nav a:nth-child(3){background:linear-gradient(145deg,rgba(7,10,24,.78),rgba(11,9,23,.58)),radial-gradient(circle at 84% 78%,rgba(255,77,109,.13),transparent 38%)}
.guide-nav b{display:block;color:var(--ink);font-family:"Instrument Serif",serif;font-size:26px;font-weight:400;line-height:1.1}
.guide-nav span{display:block;margin-top:7px;color:var(--muted);font-size:14px}
table{width:100%;border-collapse:collapse;margin-top:18px;background:linear-gradient(145deg,rgba(7,10,24,.78),rgba(11,9,23,.58));border:1px solid rgba(255,255,255,.10);border-radius:18px;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.26)}
th,td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line)}
th{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
td{color:var(--ink)}
.disclaimer{margin:30px 0 0;border:1px solid rgba(255,77,109,.24);background:linear-gradient(135deg,rgba(255,77,109,.10),rgba(255,209,102,.045)),rgba(10,7,18,.62);border-radius:22px;padding:18px;color:var(--muted);font-size:14px;box-shadow:0 20px 70px rgba(255,77,109,.10),inset 0 1px 0 rgba(255,255,255,.06)}
.disclaimer b{display:block;color:var(--red);font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px}
footer{margin-top:38px;border:1px solid rgba(255,255,255,.14);border-radius:26px;padding-top:24px;padding-bottom:24px;color:var(--dim);font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;background:linear-gradient(105deg,rgba(0,229,255,.13),rgba(52,240,161,.07),rgba(255,209,102,.07),rgba(255,77,109,.14)),rgba(6,8,18,.66);box-shadow:0 24px 90px rgba(255,77,109,.10),0 20px 80px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.06)}
@media(max-width:860px){
  nav{align-items:flex-start}
  .navlinks{width:100%;gap:12px 16px}
  .hero{grid-template-columns:1fr;gap:24px;margin-top:8px;padding:30px 20px;border-radius:30px}
  .hero>*{min-width:0}
  h1{font-size:clamp(30px,9vw,36px);line-height:1.08;letter-spacing:0;overflow-wrap:anywhere;word-break:break-word}
  h2{font-size:38px}
  .deck{font-size:16px}
  .actions .btn{width:100%;white-space:normal;letter-spacing:.10em}
  .meal-spectrum{max-width:100%;overflow:hidden}
  .meal-spectrum span{min-width:0;font-size:9px;letter-spacing:.08em;padding:0 6px}
  .card,.info-card{min-width:0}
  .card h3,.info-card b{display:block;line-height:1.14;overflow-wrap:anywhere;margin-bottom:6px}
  .info-card span{display:block;margin-top:6px;line-height:1.55}
  .grid,.money{grid-template-columns:1fr}
  .trust-strip{grid-template-columns:1fr}
  .checklist-toolbar{grid-template-columns:1fr}
  .checklist-actions{justify-content:flex-start}
  .checklist-groups{grid-template-columns:1fr}
  .guide-nav{grid-template-columns:1fr}
  .panel{order:0}
  .photo-banner{min-height:220px;border-radius:20px}
  .wide-photo-banner{min-height:220px;margin:-4px 0 28px;border-radius:24px}
  .banner-label{top:12px;left:12px;font-size:9px;letter-spacing:.14em}
  .banner-note{left:12px;right:12px;bottom:12px;padding:12px}
  .wide-photo-banner .banner-label{top:12px;left:12px}
  .wide-photo-banner .banner-note{left:12px;right:12px;bottom:12px;width:auto}
  .banner-note b{font-size:24px}
  .wide-photo-banner .banner-note b{font-size:26px}
  .btn{font-size:10px;letter-spacing:.14em;padding-left:16px;padding-right:16px}
  table{display:block;overflow-x:auto}
}
