:root{--dp-accent:#e78936;--dp-accent-soft:#fdf0e2;--dp-green:#23794c;--dp-green-soft:#e5f3ea;--dp-p:#3b6fd0;--dp-c:#d08a1c;--dp-f:#c0507a;--dp-k:#23794c;--dp-warn:#a0461b;--dp-warn-soft:#fdebe0;--dp-shadow:0 1px 2px #281e0a0f, 0 6px 18px #281e0a12;--dp-ease:cubic-bezier(.2, .75, .2, 1)}:root[data-theme=dark]{--dp-accent:#efab6b;--dp-accent-soft:#3a2b1d;--dp-green:#7fcf9f;--dp-green-soft:#1b3326;--dp-p:#8fb6ff;--dp-c:#f2c46b;--dp-f:#f59bbd;--dp-k:#7fcf9f;--dp-warn:#ffb08a;--dp-warn-soft:#3a241a;--dp-shadow:0 1px 2px #0000004d, 0 8px 22px #00000047}.dp-app{gap:16px;max-width:860px;scroll-margin-top:80px;display:grid}.dp-results{gap:16px;display:grid}.dp-app h2{margin:0 0 8px;font-size:clamp(22px,5.6vw,28px)}.dp-app h3{margin:0 0 6px;font-family:inherit;font-size:17px;font-weight:700}.dp-small{color:var(--muted);margin:4px 0;font-size:13.5px}.dp-strong{font-weight:600}.dp-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--dp-accent);margin:0 0 4px;font-size:12.5px;font-weight:700}.dp-private,.dp-disclaimer{color:var(--muted);margin:8px 0 0;font-size:13px}.dp-list{gap:6px;margin:6px 0 0;padding-left:1.15em;display:grid}.dp-btn{border:1.5px solid var(--line);background:var(--surface);min-height:46px;color:var(--ink);font:inherit;cursor:pointer;transition:transform .15s var(--dp-ease), background-color .2s, border-color .2s, opacity .2s;touch-action:manipulation;border-radius:999px;padding:10px 18px;font-weight:650}.dp-btn:active:not(:disabled){transform:scale(.96)}.dp-btn:focus-visible,.dp-card:focus-visible,.dp-chip:focus-visible,.dp-tab:focus-visible,.dp-swap:focus-visible,.dp-toggle:focus-visible{outline:3px solid var(--dp-accent);outline-offset:2px}.dp-btn.primary{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.dp-btn.ghost{background:0 0}.dp-btn.link{color:var(--muted);text-underline-offset:3px;background:0 0;border-color:#0000;text-decoration:underline}.dp-btn.sm{min-height:44px;padding:8px 14px;font-size:14px}.dp-btn:disabled{opacity:.45;cursor:not-allowed}.dp-intro{grid-template-columns:104px 1fr;align-items:center;gap:6px 16px;display:grid}.dp-intro>.dp-intro-b,.dp-intro>.dp-private{grid-column:1/-1}@media (width>=620px){.dp-intro{grid-template-columns:150px 1fr}}.dp-thali{aspect-ratio:1;background:radial-gradient(circle at 50% 50%, var(--surface) 0 58%, var(--soft) 59% 100%);border:3px solid var(--line);width:100%;box-shadow:var(--dp-shadow);border-radius:50%;margin:0;position:relative}.dp-thali>span{animation:dpDrop .55s var(--dp-ease) both;border-radius:50%;position:absolute}.dp-katori{border:2px solid #c9b79c;width:26%;height:26%;box-shadow:inset 0 -6px #0000000f}.dp-katori.k1{background:#e8b04a;animation-delay:.1s;top:11%;left:18%}.dp-katori.k2{background:#7aa95c;animation-delay:.22s;top:8%;right:20%}.dp-katori.k3{background:#f4efe4;animation-delay:.34s;top:37%;right:8%}.dp-roti{background:radial-gradient(circle at 35% 40%,#d7a463 0 6%,#0000 7%),radial-gradient(circle at 62% 64%,#c98f4b 0 5%,#0000 6%),#ecc58a;width:38%;height:38%;animation-delay:.46s;bottom:12%;left:11%}.dp-rice{background:#fbf8f1;border:2px solid #e6dfd0;border-radius:50% 50% 46% 46%;width:31%;height:24%;animation-delay:.58s;bottom:13%;right:24%}:root[data-theme=dark] .dp-katori{border-color:#7d6d58}@keyframes dpDrop{0%{opacity:0;transform:translateY(-18px)scale(.85)}to{opacity:1;transform:none}}.dp-intro-t{margin:0;font-size:16px;font-weight:600}.dp-intro-b{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.dp-intro-b .dp-btn{flex:180px}.dp-go{min-height:54px;font-size:17px}.dp-quiz{padding-top:18px;position:relative;overflow:hidden}.dp-progress{background:var(--soft);border-radius:999px;height:6px;overflow:hidden}.dp-progress-bar{border-radius:inherit;background:linear-gradient(90deg, var(--dp-accent), var(--dp-green));transform-origin:0;height:100%;transition:transform .45s var(--dp-ease);display:block}.dp-count{color:var(--muted);font-variant-numeric:tabular-nums;margin:8px 0 2px;font-size:12.5px}.dp-q{min-height:260px}.dp-q-title{outline:none;margin:4px 0 6px;font-size:clamp(22px,6vw,28px)}.dp-q-help{color:var(--muted);margin:0 0 14px;font-size:15px}.dp-fwd{animation:dpInRight .34s var(--dp-ease) both}.dp-bwd{animation:dpInLeft .34s var(--dp-ease) both}@keyframes dpInRight{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:none}}@keyframes dpInLeft{0%{opacity:0;transform:translate(-28px)}to{opacity:1;transform:none}}.dp-cards{gap:10px;margin-top:10px;display:grid}@media (width>=620px){.dp-cards{grid-template-columns:1fr 1fr}}.dp-card{text-align:left;border:1.5px solid var(--line);background:var(--surface);min-height:58px;color:var(--ink);font:inherit;cursor:pointer;transition:transform .15s var(--dp-ease), border-color .2s, background-color .2s, box-shadow .2s;animation:dpRise .36s var(--dp-ease) both;animation-delay:calc(var(--i,0) * 35ms);touch-action:manipulation;border-radius:16px;gap:2px;padding:12px 44px 12px 16px;display:grid;position:relative}.dp-card:active{transform:scale(.98)}.dp-card[aria-checked=true]{border-color:var(--dp-accent);background:var(--dp-accent-soft);box-shadow:var(--dp-shadow)}.dp-card-t{font-size:16.5px;font-weight:700}.dp-card-s{color:var(--muted);font-size:14px}.dp-tick{border:2px solid var(--line);border-radius:50%;width:22px;height:22px;margin-top:-11px;transition:border-color .2s;position:absolute;top:50%;right:14px}.dp-tick:after{content:"";background:var(--dp-accent);transition:transform .22s var(--dp-ease);border-radius:50%;position:absolute;inset:3px;transform:scale(0)}.dp-card[aria-checked=true] .dp-tick{border-color:var(--dp-accent)}.dp-card[aria-checked=true] .dp-tick:after{transform:scale(1)}.dp-chips{flex-wrap:wrap;gap:8px;display:flex}.dp-chip{border:1.5px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;transition:transform .15s var(--dp-ease), background-color .2s, border-color .2s, color .2s;animation:dpRise .3s var(--dp-ease) both;animation-delay:calc(var(--i,0) * 22ms);touch-action:manipulation;border-radius:999px;padding:8px 15px;font-size:15px}.dp-chip:active{transform:scale(.95)}.dp-chip[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.dp-chip-none[aria-pressed=true]{background:var(--dp-green);border-color:var(--dp-green)}.dp-stack{gap:12px;display:grid}.dp-sub{gap:8px;display:grid}.dp-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dp-label{color:var(--muted);font-size:14px;font-weight:650}.dp-num{border:1.5px solid var(--line);background:var(--surface);border-radius:16px;align-items:center;gap:8px;min-height:56px;padding:0 16px;transition:border-color .2s;display:inline-flex}.dp-num:focus-within{border-color:var(--dp-accent)}.dp-num input{width:5.2ch;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;background:0 0;border:0;outline:none;padding:6px 0;font-size:26px;font-weight:700}.dp-num-u{color:var(--muted);font-weight:600}.dp-stepper{align-items:center;gap:12px;display:flex}.dp-round{border:1.5px solid var(--line);background:var(--surface);width:48px;height:48px;color:var(--ink);cursor:pointer;transition:transform .15s var(--dp-ease);border-radius:50%;font-size:24px;line-height:1}.dp-round:active{transform:scale(.9)}.dp-date,.dp-text input{border:1.5px solid var(--line);background:var(--surface);min-height:48px;color:var(--ink);font:inherit;border-radius:12px;padding:8px 12px}.dp-text{gap:6px;display:grid}.dp-text input{width:100%}.dp-times .dp-text{flex:140px}.dp-toggle{min-height:48px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:6px 2px;display:flex}.dp-switch{background:var(--line);border-radius:999px;flex:none;width:46px;height:28px;transition:background-color .2s;position:relative}.dp-switch:after{content:"";width:22px;height:22px;transition:transform .22s var(--dp-ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.dp-toggle[aria-checked=true] .dp-switch{background:var(--dp-green)}.dp-toggle[aria-checked=true] .dp-switch:after{transform:translate(18px)}.dp-links{color:var(--muted);margin:0;font-size:14px}.dp-review{gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.dp-review li{background:var(--soft);animation:dpRise .34s var(--dp-ease) both;border-radius:12px;padding:10px 14px}.dp-review li:nth-child(2){animation-delay:50ms}.dp-review li:nth-child(3){animation-delay:.1s}.dp-review li:nth-child(4){animation-delay:.15s}.dp-review li:nth-child(5){animation-delay:.2s}.dp-nav{padding:10px 4px calc(6px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--surface) 75%, transparent);align-items:center;gap:8px;margin:18px -4px 0;display:flex;position:sticky;bottom:0}.dp-nav .primary{min-width:128px;margin-left:auto}@keyframes dpRise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.dp-rise{animation:dpRise .42s var(--dp-ease) both;animation-delay:calc(var(--i,0) * 60ms)}.dp-skel{gap:12px;display:grid}.dp-making{color:var(--dp-accent);margin:0;font-weight:650}.dp-skel-card,.dp-skel-row span{border-radius:var(--dt-radius,18px);background:var(--soft);height:130px;position:relative;overflow:hidden}.dp-skel-card.tall{height:260px}.dp-skel-row{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.dp-skel-row span{height:54px}.dp-skel-card:after,.dp-skel-row span:after{content:"";background:linear-gradient(90deg,#0000,#ffffff73,#0000);animation:1.2s ease-in-out infinite dpShimmer;position:absolute;inset:0;transform:translate(-100%)}:root[data-theme=dark] .dp-skel-card:after,:root[data-theme=dark] .dp-skel-row span:after{background:linear-gradient(90deg,#0000,#ffffff12,#0000)}@keyframes dpShimmer{to{transform:translate(100%)}}.dp-summary{background:linear-gradient(160deg, var(--dp-accent-soft), var(--surface) 55%)}.dp-big{margin:2px 0 0;line-height:1}.dp-big-n{letter-spacing:-.02em;color:var(--dp-green);font-variant-numeric:tabular-nums;font-family:DM Serif Display,Georgia,serif;font-size:clamp(52px,15vw,72px)}.dp-big-u{color:var(--muted);font-size:18px;font-weight:650}.dp-rate{margin:6px 0 14px;font-size:15.5px}.dp-macros{gap:10px;display:grid}.dp-macro{grid-template-columns:74px 1fr 64px;align-items:center;gap:10px;font-size:14.5px;display:grid}.dp-macro-g{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.dp-macro-bar,.dp-bar{background:var(--soft);border-radius:999px;height:10px;display:block;overflow:hidden}.dp-fill{border-radius:inherit;transform-origin:0;height:100%;transition:transform .6s var(--dp-ease);animation:dpGrow .9s var(--dp-ease) both;animation-delay:calc(.15s + var(--i,0) * .1s);display:block}@keyframes dpGrow{0%{transform:scaleX(0)}}.dp-fill.p{background:var(--dp-p)}.dp-fill.c{background:var(--dp-c)}.dp-fill.f{background:var(--dp-f)}.dp-fill.k{background:var(--dp-k)}.dp-pills{flex-wrap:wrap;gap:6px;margin:14px 0 0;padding:0;list-style:none;display:flex}.dp-pills li{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 11px;font-size:13.5px}.dp-meta{color:var(--muted);margin:12px 0 0;font-size:13px}.dp-note{border-left:4px solid var(--dp-green)}.dp-note p{margin:6px 0}.dp-warn{border-left-color:var(--dp-warn);background:var(--dp-warn-soft)}.dp-warn h3{color:var(--dp-warn)}.dp-hints{border-left:4px solid var(--dp-accent)}.dp-hint{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;display:flex}.dp-chart{width:100%;height:auto;display:block;overflow:visible}.dp-grid{stroke:var(--line);stroke-width:1px;stroke-dasharray:3 4}.dp-axis{fill:var(--muted);font-family:inherit;font-size:10px}.dp-area{fill:var(--dp-green);opacity:0;transition:opacity .8s .6s}.dp-line{fill:none;stroke:var(--dp-green);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 1.4s var(--dp-ease)}.dp-pt{transform-box:fill-box;transform-origin:50%}.dp-pt.start{fill:var(--surface);stroke:var(--dp-green);stroke-width:2.5px}.dp-pt.goal{fill:var(--dp-accent);transition:transform .4s cubic-bezier(.3,1.6,.5,1) 1.3s;transform:scale(0)}.dp-pt.log{fill:var(--dp-p)}.dp-chart.on .dp-line{stroke-dashoffset:0}.dp-chart.on .dp-area{opacity:.1}.dp-chart.on .dp-pt.goal{transform:scale(1)}.dp-week{gap:12px;display:grid}.dp-week-head h2{margin:0}.dp-tabs{top:var(--dp-sticky,76px);z-index:2;background:var(--bg);grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:6px 0;display:grid;position:sticky}.dp-tab{border:1.5px solid var(--line);background:var(--surface);min-height:56px;color:var(--ink);font:inherit;cursor:pointer;transition:transform .15s var(--dp-ease), background-color .2s, border-color .2s, color .2s;border-radius:14px;justify-items:center;gap:1px;padding:6px 2px;display:grid;position:relative}.dp-tab:active{transform:scale(.95)}.dp-tab[aria-selected=true]{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.dp-tab-wd{opacity:.85;font-size:12px}.dp-tab-d{font-variant-numeric:tabular-nums;font-size:18px;font-weight:750}.dp-dot{background:var(--dp-accent);border-radius:50%;width:7px;height:7px;position:absolute;top:5px;right:6px}.dp-day{animation:dpRise .34s var(--dp-ease) both;gap:10px;display:grid}.dp-fast-badge{background:var(--dp-accent-soft);color:var(--ink);border-radius:999px;justify-self:start;margin:0;padding:6px 12px;font-size:14px;font-weight:650}.dp-meal{border-radius:var(--dt-radius,18px);background:var(--surface);border:1px solid var(--line);box-shadow:var(--dp-shadow);animation:dpRise .4s var(--dp-ease) both;animation-delay:calc(var(--i,0) * 55ms);padding:14px 14px 12px;position:relative}.dp-meal-h{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.dp-meal-h h3{margin:0}.dp-time{color:var(--muted);margin:0;font-size:13px}.dp-meal-k{background:var(--dp-green-soft);color:var(--dp-green);font-variant-numeric:tabular-nums;border-radius:999px;flex:none;padding:4px 10px;font-size:13.5px;font-weight:700}.dp-items{gap:8px;margin:10px 0 6px;padding:0;list-style:none;display:grid}.dp-items li,.dp-shop li{grid-template-columns:1fr auto;grid-template-areas:"n k""q k";align-items:center;column-gap:10px;display:grid}.dp-item-n{grid-area:n;font-weight:600}.dp-item-q{color:var(--muted);grid-area:q;font-size:13.5px}.dp-item-k{color:var(--muted);font-variant-numeric:tabular-nums;grid-area:k;font-size:13.5px}.dp-swapped li{animation:dpSwap .42s var(--dp-ease) both;animation-delay:calc(var(--j,0) * 60ms)}@keyframes dpSwap{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:none}}.dp-swap{min-height:44px;color:var(--brand);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;margin-left:-6px;padding:6px 12px;font-size:14.5px;font-weight:650;transition:background-color .2s;display:inline-flex}.dp-swap:hover{background:var(--soft)}.dp-swap svg{transition:transform .35s var(--dp-ease)}.dp-swap:active svg{transform:rotate(180deg)}.dp-daytotal{border-radius:var(--dt-radius,18px);background:var(--soft);gap:10px;padding:14px;display:grid}.dp-bar-row{gap:6px;font-size:14.5px;display:grid}.dp-tip{color:var(--ink)}.dp-cond+.dp-cond{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.dp-cost{margin:0;font-size:16px}.dp-shop{border-top:1px solid var(--line);padding:4px 0}.dp-shop summary,.dp-tips summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:46px;font-weight:700;list-style:none;display:flex}.dp-shop summary::-webkit-details-marker,.dp-tips summary::-webkit-details-marker{display:none}.dp-shop summary:after,.dp-tips summary:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);width:9px;height:9px;transition:transform .25s var(--dp-ease);margin-left:10px;transform:rotate(45deg)}.dp-shop[open] summary:after,.dp-tips[open] summary:after{transform:rotate(225deg)}.dp-shop-c{color:var(--dp-green);margin-left:auto}.dp-shop ul{gap:6px;margin:0;padding:0 0 8px;list-style:none;display:grid}.dp-shop li{grid-template-columns:1fr auto 56px;grid-template-areas:"n q k";font-size:14.5px}.dp-shop li>span:first-child{grid-area:n}.dp-shop .dp-item-k{text-align:right}.dp-shop[open] ul{animation:dpRise .3s var(--dp-ease) both}.dp-tips+.dp-tips{border-top:1px solid var(--line)}.dp-logs{flex-wrap:wrap;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.dp-logs li{background:var(--soft);border-radius:12px;padding:6px 10px;font-size:13px;display:grid}.dp-advice{margin:12px 0 8px;font-weight:600}.dp-actions{flex-wrap:wrap;gap:8px;display:flex}.dp-actions .primary{flex:100%}@media (width>=560px){.dp-actions .primary{flex:none}}.dp-msg{min-height:1.4em;color:var(--dp-green);margin:0;font-size:14px}.dp-gate{border-left:4px solid var(--dp-green)}.dp-gate-why{font-size:16px}.dp-plate{justify-items:center;gap:8px;margin:0 auto 8px;display:grid}.dp-plate svg{width:170px;height:170px}.dp-plate-rim{fill:var(--soft);stroke:var(--line);stroke-width:3px}.dp-plate-veg{fill:#7aa95c}.dp-plate-grain{fill:#e8b04a}.dp-plate-prot{fill:#c97b4a}.dp-plate path{transform-origin:100px 100px;animation:dpPop .5s var(--dp-ease) both}.dp-plate path:nth-of-type(2){animation-delay:.12s}.dp-plate path:nth-of-type(3){animation-delay:.24s}@keyframes dpPop{0%{opacity:0;transform:scale(.8)}}.dp-plate figcaption{color:var(--muted);text-align:center;font-size:13.5px}.dp-plate .k{border-radius:3px;width:10px;height:10px;margin:0 4px 0 10px;display:inline-block}.dp-plate .k.veg{background:#7aa95c}.dp-plate .k.grain{background:#e8b04a}.dp-plate .k.prot{background:#c97b4a}.dp-print-all{display:none}@media print{.dp-results>:not(.dp-print-all):not(.dp-summary):not(.dp-disclaimer){display:none!important}.dp-print-all{display:block}.dp-print-day{break-inside:avoid;margin-bottom:10px}.dp-print-day p{margin:2px 0}.dp-summary{box-shadow:none;background:0 0}.dp-pills li{border:0;padding:0 8px 0 0}}@media (prefers-reduced-motion:reduce){.dp-app *,.dp-app :before,.dp-app :after{transition:none!important;animation:none!important}.dp-line{stroke-dashoffset:0}.dp-area{opacity:.1}.dp-pt.goal{transform:none}}
