.ct-section,.ct-section *{box-sizing:border-box}.ct-section{font-family:inherit;color:var(--text,#e6d8b5)}.ct-section button{font:inherit;touch-action:manipulation}.ct-section button:focus-visible{outline:2px solid var(--text);outline-offset:3px}
.ct-section{position:relative;isolation:isolate}
.ct-grid{position:relative;display:grid;grid-template-columns:minmax(0,.90fr) minmax(0,1.48fr) minmax(0,1.08fr);gap:18px}
.ct-grid[hidden]{display:none}
.ct-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
.ct-card{position:relative;min-width:0;height:354px;border:1px solid #b8a07152;border-radius:18px;background:radial-gradient(ellipse at 10% 0%,#f1d5a316,transparent 45%),linear-gradient(135deg,#272824a8,#151718d9 55%,#25241f80);box-shadow:inset 0 1px 2px #ffe8b93a,inset 1px 0 1px #f4deb727,inset 0 -1px 3px #e9c98b21,0 12px 25px #0002;overflow:hidden}
.ct-card:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,#fff0ca09,transparent 30%,transparent 70%,#ffe9b405);box-shadow:inset 0 0 24px #080a0a66}
.ct-card:after{content:"";position:absolute;left:7%;right:40%;top:0;height:1px;background:linear-gradient(90deg,transparent,#fce7ba9e,transparent);filter:blur(.4px)}
:root[data-theme=light] .ct-card{background:radial-gradient(ellipse at 10% 0%,#fffaf0d9,transparent 55%),linear-gradient(135deg,#f9f1dfd9,#eee2cacc);border-color:#c3a87780;box-shadow:inset 0 1px 2px #fffae5,inset 1px 0 2px #fff9eacc,inset 0 -1px 3px #c8a46570,0 9px 22px #49391d14}
:root[data-theme=light] .ct-card:before{box-shadow:inset 0 0 20px #c4ac7e0c}
.ct-heading{position:relative;z-index:3;margin:21px 20px 0;font-size:10px;line-height:1.5;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ct-heading strong{display:block;color:var(--text);font-weight:600;font-size:14px;letter-spacing:0;text-transform:none;margin-top:5px}
.ct-viewport{position:absolute;left:15px;right:15px;top:72px;height:202px;z-index:3}
.ct-viewport.ct-donut-view{top:70px;height:192px;cursor:pointer}
.ct-periods{position:absolute;z-index:4;top:263px;left:15px;right:15px;display:grid;grid-template-columns:1fr 1fr;text-align:center;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);pointer-events:none}
.ct-nutrients{position:absolute;z-index:4;left:14px;right:14px;bottom:17px;display:flex;justify-content:center;gap:5px}
.ct-nutrients button{min-height:36px;padding:5px 8px;background:transparent;border:1px solid transparent;border-radius:20px;color:var(--muted);font-size:10px;cursor:pointer;white-space:nowrap}
.ct-nutrients button[aria-pressed=true]{background:#e4c78b0b;border-color:#c4a26a55;color:var(--text)}
.ct-swatch{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px;background:#922f2c}
.ct-nutrients button:nth-child(2) .ct-swatch{background:#dfc995}
.ct-nutrients button:nth-child(3) .ct-swatch{background:#958771}
.ct-detail{margin:14px 0 0;color:var(--muted);font-size:12px;min-height:22px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.ct-detail output{color:var(--text)}
.ct-disclosure{font-size:11px;color:var(--muted);margin:12px 0 0}
.ct-fallback img{width:100%;height:auto;display:block;border-radius:14px}
.ct-still-light{display:none!important}
:root[data-theme=light] .ct-still-dark{display:none!important}
:root[data-theme=light] .ct-still-light{display:block!important}
.ct-fallback[hidden]{display:none}
.ct-description{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.ct-status{font-size:11px;color:var(--muted);margin:8px 0}
.ct-metrics{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums;margin:20px 0;white-space:pre-wrap}
@media(max-width:840px){.ct-grid{grid-template-columns:1fr}
.ct-card{height:350px}
.ct-heading{margin-top:20px}
.ct-card.ct-calendar{height:365px}
.ct-viewport{left:22px;right:22px}
.ct-donut-view{max-width:390px;margin:auto}
.ct-detail{gap:6px;flex-direction:column}
.ct-nutrients button{font-size:11px;padding:6px 12px;min-height:40px}
.ct-nutrients{gap:7px}}
@media(prefers-reduced-motion:reduce){.ct-section *{transition:none!important;animation:none!important}}
.ct-card{border-color:#c6aa796b;box-shadow:inset 0 1px 3px #ffe8b96b,inset 1px 0 2px #f4deb738,inset 0 -1px 4px #e9c98b40,0 12px 25px #0002}
.ct-card:after{right:15%;left:2%;height:2px;background:linear-gradient(90deg,#f4d49c66,transparent 35%,transparent 75%,#f7deb36b);filter:blur(.6px)}
.ct-value{display:block;font-size:9px;letter-spacing:.01em;margin:3px 0 0 9px;font-variant-numeric:tabular-nums}
.ct-nutrients button{min-width:64px}
.ct-nutrients{bottom:12px}
.ct-day{position:absolute;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text);padding:0;cursor:pointer;z-index:4}
.ct-day-gap{pointer-events:none;cursor:default}
.ct-day[aria-pressed=true]:not([data-day="1"]){border-color:#f2c983;background:#e6aa5228;box-shadow:0 0 19px #eeb665a6,inset 0 0 13px #ffcc7366,0 0 0 1px #f2c98370}
:root[data-theme=light] .ct-day[aria-pressed=true]:not([data-day="1"]){border-color:#9d2824;background:#c8423a36;box-shadow:0 0 0 1px #9d2824aa,0 0 13px 3px #c8423aa6,0 0 25px 5px #c8423a52,inset 0 0 12px #c8423a6b}
.ct-day:focus-visible{outline:2px solid var(--text);outline-offset:2px}
.ct-calendar-note{position:absolute;z-index:4;bottom:22px;left:20px;right:20px;text-align:center;color:var(--muted);font-size:10px;line-height:1.6;margin:0}
.ct-energy-view{top:74px;height:210px;z-index:3}
.ct-y-labels span{position:absolute;left:3px;font-size:10px;line-height:14px;color:var(--muted);pointer-events:none}
.ct-change-label{position:absolute;top:-3px;font-size:8px;letter-spacing:.04em;color:#c17d62;white-space:nowrap;pointer-events:none}
.ct-mean-label{position:absolute;z-index:5;font-size:9px;color:var(--text);line-height:14px;background:color-mix(in srgb,var(--card) 86%,transparent);border-radius:3px;padding:1px 3px;pointer-events:none;font-variant-numeric:tabular-nums}
.ct-chart-hit{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;cursor:crosshair;border-radius:6px}
.ct-x-labels{position:absolute;left:26px;right:9px;bottom:0;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.02em;color:var(--muted);pointer-events:none}
.ct-energy-note{position:absolute;bottom:20px;left:20px;right:20px;margin:0;font-size:9px;color:var(--muted);display:flex;justify-content:space-between;gap:7px}
.ct-canvas{pointer-events:none}
.ct-mean-label,.ct-heading{pointer-events:none}
.ct-fallback-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:16px 0;color:var(--muted);font-size:12px}
.ct-fallback-summary p{margin:0}
.ct-fallback-summary strong{color:var(--text)}
@media(max-width:840px){.ct-fallback-summary{grid-template-columns:1fr;gap:10px}}
@media(prefers-color-scheme:light){:root:not([data-theme]) .ct-still-dark{display:none!important}
:root:not([data-theme]) .ct-still-light{display:block!important}}
@media(max-width:840px){.ct-calendar-view{left:16px;right:16px;height:244px}
.ct-nutrients button{min-height:44px}}

.ct-heading{font-family:inherit}

.ct-card:after{box-shadow:0 0 9px #f4d49c24}

.ct-local-detail{display:block;margin-top:3px;font-size:11px;line-height:1.5;color:var(--text)}.ct-energy-note{bottom:43px}.ct-energy-local{position:absolute;z-index:4;bottom:18px;left:20px;right:20px;margin:0;pointer-events:none}
@media(max-width:840px){.ct-card.ct-calendar{height:394px}}

/* Glass card light remains independent of the quantitative marks. */
.ct-card:before{background:radial-gradient(ellipse at 1% 0%,#f8c77e19,transparent 28%),radial-gradient(ellipse at 100% 100%,#f4c8890c,transparent 25%),linear-gradient(112deg,#fff0ca09,transparent 34%,transparent 72%,#ffe9b405)}
.ct-card:after{inset:0;left:0;right:0;height:auto;border-radius:inherit;filter:none;pointer-events:none;background:linear-gradient(90deg,#ffe4b6a8,transparent 38%,transparent 72%,#f4c99745) top/100% 1px no-repeat,linear-gradient(90deg,#f4c99737,transparent 40%,#ffe4b695) bottom/100% 1px no-repeat,linear-gradient(#ffe4b65c,transparent 44%,#f4c99728) left/1px 100% no-repeat,linear-gradient(#f4c99729,transparent 60%,#ffe4b66c) right/1px 100% no-repeat;box-shadow:inset 0 0 3px #ffe6ba1f,0 0 12px #efb96f0a}
:root[data-theme=light] .ct-card:after{box-shadow:inset 0 0 3px #fff3d5ac,0 0 12px #b889440b}

.ct-section{-webkit-tap-highlight-color:transparent}

.ct-mean-before{white-space:normal}

/* Scroll light touches real checked days; it never changes a day's value or selection. */
.ct-day{transition:border-color .3s ease,background-color .3s ease,box-shadow .3s ease}
.ct-day[data-day="1"]{border-color:#b44035;box-shadow:0 0 12px #d9533e88,inset 0 0 8px #d9533e44}
.ct-nutrients button{transition:background-color .28s ease,border-color .28s ease,box-shadow .28s ease,transform .28s ease}
.ct-nutrients button[aria-pressed=true]{transform:translateY(-2px);box-shadow:0 0 18px #d879422a,inset 0 0 12px #e4c78b12}
@media(prefers-reduced-motion:reduce){.ct-day,.ct-nutrients button{transition:none!important;transform:none!important}}
:root[data-motion=off] .ct-day,:root[data-motion=off] .ct-nutrients button{transition:none!important;transform:none!important}

.ct-split-handle{position:absolute;z-index:6;top:12px;bottom:24px;width:26px;padding:0;border:0;background:transparent;transform:translateX(-50%);cursor:ew-resize;touch-action:none}
.ct-split-handle::after{content:"";position:absolute;top:5px;left:50%;width:12px;height:16px;border:1px solid #ffb89c;border-radius:4px;background:#8c2e27;box-shadow:0 0 10px #e9603c99,inset 0 1px #ffddd0;transform:translateX(-50%)}
.ct-section .ct-split-handle:focus-visible{outline:0}
.ct-split-handle:hover::after,.ct-split-handle:focus-visible::after{box-shadow:0 0 17px #e9603cdd,inset 0 1px #ffddd0}
.ct-section .ct-reset-split{position:absolute;z-index:6;right:17px;top:17px;padding:2px 4px;border:0;background:transparent;color:var(--text);font-size:10px;line-height:1.2;text-decoration:underline;cursor:pointer}
.ct-nutrients button[aria-pressed=true]{border-color:#e7b983;color:var(--text);background:#d57e4030;box-shadow:0 0 15px #d8794288,inset 0 0 12px #e4c78b40}
:root[data-theme=light] .ct-nutrients button[aria-pressed=true]{border-color:#a98255;background:#e7d4b477;box-shadow:0 0 0 1px #ab875b66,0 0 13px 2px #c9aa8199,inset 0 0 9px #fff0d0bf}

/* Each food-share ring has its own controls. The comparison occupies the quiet
   heading corner and only shows nutrients selected in both periods. */
.ct-card.ct-donuts{height:376px}
.ct-viewport.ct-donut-view{top:80px;height:182px}
.ct-diff{position:absolute;z-index:5;top:10px;right:14px;width:calc(100% - 155px);display:flex;flex-direction:column;align-items:stretch;gap:1px;text-align:right;color:var(--text);font-variant-numeric:tabular-nums;pointer-events:none}
.ct-diff-kicker{font-size:9px;line-height:12px;font-weight:650;letter-spacing:.06em;color:#d8a28d;white-space:nowrap}
.ct-diff-empty{font-size:10px;line-height:14px;color:var(--muted)}
.ct-diff-row,.ct-diff-total{display:flex;justify-content:space-between;gap:4px;font-size:10px;line-height:13px;white-space:nowrap}
.ct-diff-row strong,.ct-diff-total strong{font-size:10px;font-weight:650}
.ct-diff-total{margin-top:2px;padding-top:2px;border-top:1px solid #c7aa7d40;color:var(--muted)}
.ct-diff-total strong{color:var(--text)}
:root[data-theme=light] .ct-diff-kicker{color:#993d33}
.ct-card.ct-donuts .ct-nutrients{left:14px;right:14px;bottom:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.ct-nutrient-group{display:grid;grid-template-rows:repeat(3,28px);gap:2px;min-width:0}
.ct-card.ct-donuts .ct-nutrients button{display:flex;align-items:center;justify-content:flex-start;width:100%;min-width:0;min-height:28px;height:28px;padding:0 7px;border-radius:9px;font-size:10px;line-height:1}
.ct-card.ct-donuts .ct-nutrients .ct-value{display:inline;margin:0 0 0 auto;font-size:9px;color:var(--muted)}
.ct-card.ct-donuts .ct-nutrients button[aria-pressed=true] .ct-value{color:var(--text)}
.ct-card.ct-donuts .ct-swatch{flex:0 0 6px}
.ct-card.ct-donuts .ct-swatch-1{background:#dfc995}
.ct-card.ct-donuts .ct-swatch-2{background:#958771}
@media(max-width:370px){.ct-diff{right:9px;width:calc(100% - 146px)}.ct-diff-row,.ct-diff-row strong,.ct-diff-total,.ct-diff-total strong{font-size:8px}}
