:root{--veg: #6fd38e;--pro: #ff7b8a;--carb: #f0c46a}.d-hero{display:grid;grid-template-columns:minmax(300px,460px) 1fr;gap:24px 48px;padding-top:24px;align-items:start}.d-intro{grid-column:1 / -1;max-width:760px}.d-hero>*{min-width:0}.d-intro h1{margin:0;font-size:clamp(40px,5vw,72px);line-height:.98;letter-spacing:-.03em;font-weight:600}.d-intro h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1.5px var(--veg)}.calc{display:grid;gap:18px;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.calc-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.seg{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.seg legend{color:var(--muted);font-size:13px;margin-bottom:8px;width:100%}.seg label{position:relative;cursor:pointer}.seg input{position:absolute;opacity:0}.seg span{display:inline-flex;align-items:center;min-height:40px;padding:8px 16px;border-radius:999px;border:1px solid var(--line);color:var(--muted);font-size:14px}.seg input:checked+span{color:#032;background:var(--veg);border-color:var(--veg);font-weight:600}.seg input:focus-visible+span{outline:2px solid var(--cyan);outline-offset:2px}.result{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:32px;align-items:center}.plate-wrap{position:relative;aspect-ratio:1}.plate{width:100%;height:100%;display:block}.plate-rim{fill:#0d1828;stroke:#ffffff14;stroke-width:2}.plate-in{fill:#0a1320}.seg-veg,.seg-pro,.seg-carb{fill:none;stroke-width:34;stroke-linecap:butt}.seg-veg{stroke:var(--veg)}.seg-pro{stroke:var(--pro)}.seg-carb{stroke:var(--carb)}.kcal-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center;pointer-events:none}.kcal-num{font-size:clamp(30px,3.6vw,44px);font-weight:600;font-variant-numeric:tabular-nums}.kcal-unit{color:var(--muted);font-size:12px}.result-side{display:grid;gap:18px}.plate-legend{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:14px;color:#c4d6e2}.plate-legend b{color:var(--ink);font-weight:500;margin-left:4px}.sw{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:8px;vertical-align:-1px}.sw-veg{background:var(--veg)}.sw-pro{background:var(--pro)}.sw-carb{background:var(--carb)}.macros,.meals{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin:0}.macro,.meal{padding:12px;border-radius:12px;border:1px solid var(--line);background:#5ee7ff0a}.macro dt,.meal dd{font-size:20px;font-weight:600;margin:0}.macro dd,.meal dt{margin:4px 0 0;color:var(--muted);font-size:12px}.meal{display:flex;flex-direction:column-reverse}.macro.protein dt{color:var(--pro)}.macro.fat dt{color:var(--carb)}.macro.carbs dt{color:var(--cyan)}.macro.fiber dt{color:var(--veg)}.result-note{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.result-note.warn{color:#ffd2a8;padding-left:12px;border-left:2px solid #ff9f5a}.d-kcal,.d-week,.d-gear{padding-top:72px}.d-kcal .chips{margin-bottom:16px}.kcal-list{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:6px}.kcal-item{display:grid;grid-template-columns:minmax(150px,230px) 1fr 90px 120px;gap:14px;align-items:center;padding:8px 12px;border-radius:10px;background:var(--panel);font-size:14px}.k-bar{height:14px;border-radius:7px;background:#0d1828;overflow:hidden}.k-fill{display:block;height:100%;border-radius:7px}.g-gemuese,.g-obst{background:var(--veg)}.g-eiweiss,.g-milch{background:var(--pro)}.g-beilage{background:var(--carb)}.g-fett,.g-suess{background:#c98cff}.g-getraenk{background:var(--cyan)}.k-amount{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.k-protein{color:var(--muted);font-size:12px;text-align:right}.d-cook{padding-top:72px}.filter-line{margin:0 0 16px;color:var(--veg);font-size:14px}.filter-line[hidden]{display:none}.link-btn{background:none;border:0;padding:4px 0;color:var(--cyan);text-decoration:underline;cursor:pointer;font-size:14px}.cook-foods{display:grid;gap:10px;margin-bottom:8px}.cook-group{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.cook-group-name{min-width:120px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.cook-list{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.cook-card{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--panel);display:grid;gap:6px;align-content:start}.cook-card h3{margin:0;font-size:17px}.cook-meal{color:var(--veg);font-size:11px;text-transform:uppercase;letter-spacing:.12em}.cook-match{margin:0;color:var(--muted);font-size:13px}.cook-bar{height:6px;border-radius:3px;background:#0d1828;overflow:hidden}.cook-bar span{display:block;height:100%;background:var(--veg)}.cook-need{margin:0;font-size:13px;color:#c4d6e2}.cook-empty{color:var(--muted);font-size:14px}.kcal-item.not-ok{opacity:.45}.kcal-item small{color:#ffb38a;font-size:11px}.w-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px}.w-actions{display:flex;gap:10px;margin-bottom:24px}.week{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.day-card{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--panel);display:grid;gap:6px;align-content:start}.day-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px}.day-head h3{margin:0;font-size:17px}.day-kcal{color:var(--muted);font-size:12px}.meal-item{border-top:1px solid var(--line);padding-top:6px}.meal-item summary{display:grid;grid-template-columns:1fr auto;gap:2px 8px;cursor:pointer;list-style:none;padding:4px 0}.meal-item summary::-webkit-details-marker{display:none}.m-meal{grid-column:1 / -1;color:var(--veg);font-size:11px;text-transform:uppercase;letter-spacing:.12em}.m-name{font-size:14px}.m-kcal{color:var(--muted);font-size:12px;white-space:nowrap}.m-ing,.m-steps{margin:6px 0;padding-left:18px;color:#c4d6e2;font-size:13px;line-height:1.5}.m-time{margin:0 0 6px;color:var(--muted);font-size:12px}.shopping{margin-top:24px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.shopping h3{margin:0 0 12px}.shop-list{list-style:none;margin:0;padding:0;columns:3 220px;column-gap:24px}.shop-list li{break-inside:avoid;padding:4px 0}.shop-list label{display:flex;gap:10px;align-items:center;cursor:pointer;font-size:14px}.shop-list input{width:18px;height:18px;accent-color:var(--veg)}.shop-list input:checked~span{text-decoration:line-through;color:var(--muted)}.shop-amount{min-width:64px;font-variant-numeric:tabular-nums;color:var(--veg)}@media(max-width:900px){.d-hero,.result{grid-template-columns:1fr}.plate-wrap{max-width:280px;margin:0 auto;width:100%}.kcal-item{grid-template-columns:1fr auto}.k-bar{grid-column:1 / -1;grid-row:2}.k-protein{display:none}}@media(max-width:420px){.calc-row{grid-template-columns:1fr 1fr}.calc-row .field:first-child{grid-column:1 / -1}}.print-only{display:none}.print-target{font-weight:600}.warn-soft:empty{display:none}.warn-soft{color:#ffd2a8;margin:0 0 16px}@media print{:root{--ink: #111;--muted: #555;--line: #ccc;--panel: #fff}body{background:#fff;color:#111}.top,.d-hero,.d-kcal,.d-gear,.w-actions{display:none!important}.d-week{padding-top:0}.print-only{display:block!important}.page-legal{border:0;margin-top:16px;padding:0;color:#333}.day-card,.shopping{break-inside:avoid;border-color:#ccc}.m-meal,.shop-amount{color:#333}}
