:root { --blue:#0072ce; --dark:#10243d; --pale:#eef6fc; --line:#dbe5ed; --text:#18232d; --muted:#607080; }
* { box-sizing:border-box; }
body { margin:0; font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--text); background:#f6f8fa; line-height:1.55; }
.wrap { width:min(1120px, calc(100% - 32px)); margin-inline:auto; }
.hero { background:linear-gradient(135deg,var(--dark),#173c64); color:white; padding:52px 0 44px; }
.hero h1 { max-width:850px; font-size:clamp(2rem,5vw,3.5rem); line-height:1.08; margin:.3rem 0 1rem; }
.lead { max-width:850px; font-size:1.12rem; color:#dfeaf4; }
.eyebrow { font-size:.78rem; font-weight:800; letter-spacing:.12em; color:var(--blue); margin:0 0 .5rem; }
.hero .eyebrow { color:#83c9ff; }
.layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr); gap:24px; align-items:start; padding:30px 0; }
.card { background:white; border:1px solid var(--line); border-radius:18px; box-shadow:0 8px 28px rgba(24,35,45,.07); }
.form-card { padding:28px; }
.result-card { padding:28px; position:sticky; top:20px; }
.progress { height:7px; background:#e8edf1; border-radius:20px; overflow:hidden; }
.progress span { display:block; height:100%; background:var(--blue); transition:width .25s; }
.step-label { color:var(--muted); font-size:.9rem; }
.step { display:none; min-height:490px; }
.step.active { display:block; }
h2 { font-size:1.65rem; line-height:1.2; color:var(--dark); }
h3 { font-size:1rem; color:var(--dark); margin-bottom:.35rem; }
label, fieldset { display:block; margin:24px 0; font-weight:650; }
small, .privacy { display:block; color:var(--muted); font-weight:400; margin-top:5px; }
input[type="range"], select, textarea { width:100%; margin-top:9px; }
select, textarea { padding:12px; border:1px solid #bccbd6; border-radius:10px; font:inherit; background:white; }
input[type="range"] { accent-color:var(--blue); }
fieldset { border:1px solid var(--line); border-radius:12px; padding:14px 16px; }
fieldset label { margin:10px 0; font-weight:500; }
legend { padding:0 7px; color:var(--dark); }
.checks { display:grid; grid-template-columns:1fr 1fr; gap:0 18px; }
.warning-box { background:#fff8ed; border-color:#f0d5a9; }
.buttons { display:flex; justify-content:space-between; gap:12px; border-top:1px solid var(--line); padding-top:20px; }
button { border:0; border-radius:10px; padding:12px 18px; background:var(--blue); color:white; font:inherit; font-weight:750; cursor:pointer; }
button.secondary { background:white; color:var(--dark); border:1px solid #b8c7d2; }
button:disabled { opacity:.45; cursor:not-allowed; }
.placeholder { text-align:center; color:var(--muted); padding:54px 10px; }
.compass { display:block; font-size:4rem; color:var(--blue); }
.alternative { padding:12px 14px; background:var(--pale); border-radius:10px; }
.result-section { border-top:1px solid var(--line); margin-top:18px; padding-top:14px; }
.result-section.action { background:var(--pale); border:0; border-left:4px solid var(--blue); border-radius:8px; padding:13px 15px; }
.result-section ul { padding-left:20px; }
details { margin-top:18px; color:var(--muted); }
.full { width:100%; margin-top:20px; }
.footer { color:var(--muted); padding:8px 0 35px; font-size:.9rem; }
@media (max-width:820px) { .layout { grid-template-columns:1fr; } .result-card { position:static; } .step { min-height:0; } }
@media (max-width:520px) { .checks { grid-template-columns:1fr; } .form-card,.result-card { padding:20px; } }
@media print { .hero,.form-card,.footer,button { display:none !important; } .layout { display:block; } .result-card { box-shadow:none; border:0; } }
input[type="text"],input:not([type]){width:100%;padding:11px;border:1px solid #bccbd6;border-radius:10px;font:inherit;margin-top:7px}.info-box{background:var(--pale);border-left:4px solid var(--blue);padding:12px 14px;border-radius:8px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.small-btn{padding:8px 11px}.med-section{margin:24px 0}.entry-list{display:grid;gap:12px}.med-entry{position:relative;border:1px solid var(--line);border-radius:12px;padding:15px;background:#fbfcfd}.med-entry label{margin:10px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.remove{position:absolute;right:8px;top:8px;background:transparent;color:var(--muted);font-size:1.4rem;padding:2px 8px}.inline-check{font-weight:500}.alert{margin:10px 0;padding:11px 13px;border-radius:8px;border-left:4px solid #c58b24;background:#fff8ed}.alert.notice{border-left-color:var(--blue);background:var(--pale)}.alert h3{margin-top:0}h4{margin-bottom:.3rem}@media(max-width:520px){.two-col{grid-template-columns:1fr}.section-head{align-items:flex-start}}
.score{display:flex;align-items:center;gap:16px;background:var(--pale);padding:16px;border-radius:12px}.score strong{font-size:2rem;color:var(--blue)}pre{white-space:pre-wrap;word-break:break-word;background:#f6f8fa;padding:12px;border-radius:8px;font-size:.78rem;max-height:420px;overflow:auto}.conditional{display:none}
.report-head{border-bottom:2px solid var(--dark);padding-bottom:18px}.report-lead{font-size:1.05rem}.meta{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:.9rem}.report-section{border-top:1px solid var(--line);padding-top:16px;margin-top:18px}.report-section h3{font-size:1.15rem}.report-section h4{margin-top:14px}.safety{background:#fff8ed;border:1px solid #f0d5a9;border-radius:10px;padding:15px}.weeks{display:grid;gap:12px}.week{border-left:4px solid var(--blue);padding:10px 14px;background:var(--pale);border-radius:8px}.week h4{margin:.1rem 0}.week-no{font-size:.72rem;letter-spacing:.1em;font-weight:800;color:var(--blue);margin:0}.report-actions{margin-top:22px}.report-actions button+button{margin-top:10px}@media print{body{background:white;font-size:10.5pt}.wrap{width:100%;max-width:none}.layout{padding:0}.result-card{padding:0;position:static}.report-head{break-after:avoid}.report-section,.week{break-inside:avoid}.report-actions,details{display:none!important}.weeks{display:block}.week{margin:8px 0;background:white;border:1px solid #ccd8e1;border-left:4px solid #0072ce}.report-section h3{font-size:13pt}.result-card h2{font-size:18pt}}

.brand-head{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:18px}.logo-mark{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:white;font-size:1.4rem}.brand-head strong{display:block;color:var(--dark);letter-spacing:.08em}.brand-head small{margin:0}.brand-head address{text-align:right;font-style:normal;font-size:.82rem;color:var(--muted)}.place-date{text-align:right;color:var(--muted);font-size:.88rem}.closing{text-align:center;margin:26px 0;padding:22px;border-top:2px solid var(--blue);border-bottom:1px solid var(--line)}.closing p{font-size:1.08rem;margin:.2rem}.planner{margin-top:24px;padding-top:18px;border-top:3px solid var(--blue)}.week-table{display:grid;gap:10px}.week-table article{border:1px solid var(--line);border-radius:10px;padding:12px}.week-table h5{margin:0 0 5px;color:var(--blue);font-size:1rem}.week-table p{margin:.25rem 0;font-size:.9rem}@media(max-width:600px){.brand-head{grid-template-columns:auto 1fr}.brand-head address{grid-column:1/-1;text-align:left}.place-date{text-align:left}}@media print{.no-print{display:none!important}.brand-head{display:grid!important}.closing{display:block!important}}
.required-note{font-size:.92rem;color:#4d5b66}.required-note+*{}label span[aria-hidden="true"]{color:#a33;font-weight:700}.trust-panel{margin-top:1rem}.trust-head{display:flex;justify-content:space-between;gap:1rem}.issue-list{padding-left:0;list-style:none}.issue-list li{display:grid;grid-template-columns:auto 1fr auto;gap:.65rem;align-items:center;padding:.75rem 0;border-bottom:1px solid #d7dde2}.issue-severity{display:inline-block;border-radius:999px;padding:.15rem .5rem;font-size:.78rem;font-weight:700;background:#eef2f5}.issue-severity.high{background:#f8dfdf;color:#7a2020}.link-button{border:0;background:transparent;color:#075f9f;text-decoration:underline;padding:.25rem;cursor:pointer}.responsibility-check{display:block;margin:1rem 0;padding:1rem;border:1px solid #c9d4dc;border-radius:.6rem;background:#f7fafc}.success-note{margin-top:1rem;padding:1rem;border-left:4px solid #2f7d4a;background:#f1f8f3}.success-note p{margin:.3rem 0 0}@media(max-width:650px){.issue-list li{grid-template-columns:1fr}.issue-severity{justify-self:start}.link-button{justify-self:start}}

.hero-brand{display:flex;align-items:center;gap:12px;margin-bottom:20px;font-weight:800;letter-spacing:.1em}.hero-brand img{width:88px;height:auto;display:block}.brand-logo{width:74px;height:auto;display:block}.brand-head{grid-template-columns:82px 1fr auto}.logo-mark{display:none}@media(max-width:600px){.brand-head{grid-template-columns:74px 1fr}.brand-logo{width:66px}}@media print{.brand-logo{width:68px}.hero-brand{display:none!important}}

/* V0.8.4 – Lernmodule */
.meal-learning{margin:.45rem 0;border:1px solid var(--line);border-radius:9px;background:#fbfcfd;color:inherit}.meal-learning summary{cursor:pointer;padding:.7rem .8rem;list-style-position:inside}.meal-learning summary span{float:right;color:var(--blue);font-size:.82rem}.learning-body{padding:0 .8rem .8rem;border-top:1px solid var(--line)}.health-chips{display:flex;flex-wrap:wrap;gap:.4rem}.health-chips span{display:inline-block;padding:.25rem .55rem;border-radius:999px;background:var(--pale);color:var(--dark);font-size:.78rem}.daily-learning{margin-top:.75rem;padding:.7rem .85rem;border-left:4px solid var(--blue);background:var(--pale);border-radius:7px}.daily-learning ul{margin:.35rem 0 0;padding-left:1.15rem}.learning-summary{margin:1.25rem 0;padding:1rem;border:1px solid var(--line);border-radius:10px}.article-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem}.article-card{border:1px solid var(--line);border-radius:10px;padding:.9rem}.article-card h5{margin:0 0 .35rem;color:var(--dark)}.article-card p{font-size:.88rem}.article-card a{color:var(--blue);font-weight:700;font-size:.88rem}@media print{.meal-learning{break-inside:avoid}.meal-learning[open] .learning-body{display:block}.article-card{break-inside:avoid}}

/* V0.8.5 – Rezeptkarten */
.recipe-card{margin-top:1rem;padding-top:1rem;border-top:1px solid #d8e0e8}.recipe-meta{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.7rem}.recipe-meta span{background:#eef6fc;border-radius:999px;padding:.28rem .65rem;font-size:.9rem}.nutrition-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;margin:.75rem 0 1rem}.nutrition-grid span{border:1px solid #d8e0e8;border-radius:.7rem;padding:.55rem;text-align:center}.nutrition-grid b,.nutrition-grid small{display:block}.nutrition-grid small{font-size:.72rem;color:#586775;margin-top:.18rem}.recipe-columns{display:grid;grid-template-columns:1fr 1.25fr;gap:1.2rem}.recipe-columns h6{font-size:1rem;margin:.2rem 0 .55rem}.recipe-columns ul,.recipe-columns ol{margin:.2rem 0;padding-left:1.25rem}.recipe-columns li{margin:.35rem 0}.recipe-columns ul li{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px dotted #d8e0e8;padding-bottom:.25rem}.recipe-columns ul li b{text-align:right;font-weight:500}.nutrition-note{font-size:.82rem;color:#586775;margin:.8rem 0 0}@media(max-width:650px){.nutrition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-columns{grid-template-columns:1fr}}@media print{.recipe-card{break-inside:avoid}.nutrition-grid{grid-template-columns:repeat(5,1fr)}}
.medical-food-panel{margin-top:1rem;padding:1rem;border:1px solid var(--line);border-radius:10px;background:#fbfcfd}.medical-food-panel>.alert{margin-top:0}.nested-safety{margin:.75rem 0 1rem;padding:.9rem;border-left:4px solid var(--blue);background:white}.allergen-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.safety-detail{margin:.75rem 0;padding:.7rem .85rem;border:1px solid var(--line);border-radius:8px;background:white}.safety-detail summary{cursor:pointer;font-weight:700;color:var(--dark)}@media(max-width:650px){.allergen-grid{grid-template-columns:1fr}.medical-food-panel{padding:.75rem}}


/* V0.9.3 – Ergebnisansichten über die volle Seitenbreite */
.layout.result-mode{display:block;max-width:1120px}
.layout.result-mode .form-card{display:none}
.layout.result-mode .result-card{position:static;width:100%;padding:clamp(24px,4vw,48px)}
.layout.result-mode .planner{max-width:none}
.layout.result-mode .week-table{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.layout.result-mode .week-table article{padding:16px}
.shopping-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:12px 0 24px}
.shopping-group{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:#fbfcfd}
.shopping-group h5{margin:0 0 8px;color:var(--dark);font-size:1rem}
.shopping-group ul{margin:0;padding-left:20px}
.shopping-group li{margin:.25rem 0}
@media(max-width:760px){.layout.result-mode .week-table{grid-template-columns:1fr}.layout.result-mode .result-card{padding:20px}.shopping-groups{grid-template-columns:1fr}}
.shopping-item{display:flex;flex-direction:column;gap:2px;margin:.65rem 0}
.shopping-item strong{color:var(--dark)}
.shopping-item span{font-size:.92rem}
.shopping-item small{color:var(--muted)}

/* V0.9.3 – Getränkeprofil und Wochenstrategie */
.beverage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.beverage-grid fieldset{margin:0}.drinking-strategy{margin:1.4rem 0;padding:1.2rem;border:1px solid #b9d7ee;border-left:6px solid #0072ce;background:#f5fbff;border-radius:12px}.drinking-strategy h4{margin-top:0}@media(max-width:760px){.beverage-grid{grid-template-columns:1fr}}

/* V0.9.5 – Kochbegleiter und freiwilliger Einsteigerbereich */
.hero-help{margin-top:1rem;background:#fff;color:var(--dark);border:1px solid rgba(255,255,255,.65)}
.step-by-step{margin-top:1rem;border-top:1px solid var(--line);padding-top:.75rem}.step-by-step summary{cursor:pointer;font-weight:700;color:var(--blue)}.step-by-step li{margin:.8rem 0}.step-by-step small{display:block;margin-top:.3rem;padding:.35rem .55rem;border-radius:.5rem}.stove-hint{background:#fff5e8}.parallel-hint{background:#eef7ff}.term-help{display:inline;padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.term-help span{display:inline-flex;align-items:center;justify-content:center;width:1.15rem;height:1.15rem;margin-left:.18rem;border-radius:50%;background:var(--blue);color:#fff;font-size:.72rem;text-decoration:none}.basics-callout{margin:.8rem 0 0}.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:1rem}.modal-backdrop{position:absolute;inset:0;background:rgba(8,24,38,.65)}.modal-panel{position:relative;z-index:1;width:min(820px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;padding:clamp(1.25rem,4vw,2.5rem);box-shadow:0 24px 70px rgba(0,0,0,.3)}.modal-close{position:sticky;float:right;top:0;border:0;background:#eef3f7;color:var(--dark);width:2.5rem;height:2.5rem;border-radius:50%;font-size:1.5rem}.modal-open{overflow:hidden}.basics-nav{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0 1.4rem}.basics-link{padding:.45rem .7rem;border:1px solid var(--line);border-radius:999px;background:#f7fafc;color:var(--dark)}.basics-card{scroll-margin-top:1rem;border-top:1px solid var(--line);padding:1rem 0}.basics-card h3{margin:.1rem 0 .35rem}.basics-card.highlight{background:#eef7ff;border-radius:10px;padding:1rem}.basics-card.highlight h3{color:var(--blue)}

/* Bewährte Layoutbausteine aus V0.9.6 */
.field-help{display:block;margin-top:.45rem;color:var(--muted);line-height:1.35}.week-tools{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:1rem 0 1.25rem;padding:1rem;border:1px solid var(--line);border-radius:14px;background:#fff}.week-tools p{margin:0}.goal-reasons{display:grid;gap:.65rem;margin:.5rem 0 1rem}.goal-reasons section{padding:.8rem 1rem;border-left:4px solid var(--blue);background:#f5f9fd;border-radius:0 10px 10px 0}.goal-reasons h6,.goal-reasons p{margin:.15rem 0}.strategy-result{font-size:1.15rem;padding:.8rem 1rem;background:#f5f9fd;border-radius:10px}
.strategy-grid,.hypothesis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:1rem 0 1.5rem}
.strategy-card,.hypothesis-card{display:block;border:2px solid #d9e1e8;border-radius:14px;padding:1rem;background:#fff}
.strategy-card{cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.strategy-card:hover,.strategy-card.selected{border-color:#0072ce;box-shadow:0 8px 24px rgba(0,114,206,.12);transform:translateY(-2px)}
.strategy-card>input{width:auto;margin:0 .55rem 0 0}
.strategy-card .rank{display:inline-block;padding:.18rem .55rem;border-radius:99px;background:#e7f3fc;color:#005a9e;font-size:.78rem;font-weight:700}
.week-quality{margin:1.5rem 0;padding:1rem;border:2px solid var(--dark);border-radius:12px;background:#fff}.quality-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.quality-head h4{margin:.1rem 0}.quality-status{padding:.3rem .65rem;border-radius:999px;background:var(--pale);font-weight:750}.quality-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0}.quality-check{padding:.85rem;border:1px solid var(--line);border-left:4px solid #c58b24;border-radius:9px}.quality-check.pass{border-left-color:#2f7d4a}.quality-check>div{display:flex;justify-content:space-between;gap:.5rem}.quality-check>div span{font-size:.78rem;font-weight:750;text-transform:uppercase}.quality-check p{margin:.45rem 0}.quality-action{padding-top:.45rem;border-top:1px solid var(--line)}@media(max-width:650px){.quality-grid{grid-template-columns:1fr}.quality-head{display:block}.quality-status{display:inline-block;margin-top:.5rem}}@media print{.week-quality,.quality-check{break-inside:avoid}}
.strategy-card h4,.hypothesis-card h4{margin:.65rem 0}
.strategy-card h5{margin:.9rem 0 .25rem}
.strategy-card small{display:block;margin-top:.8rem;color:#566573}
.strategy-layer{margin:.35rem 0}
.hypothesis-card{border-left:5px solid #0072ce}
.hypothesis-card .eyebrow{font-size:.72rem}
.decision-choice>label{margin-top:1rem}
@media(max-width:680px){.strategy-grid,.hypothesis-grid{grid-template-columns:1fr}.strategy-card:hover,.strategy-card.selected{transform:none}}

/* V0.15.1 - verständliche Ergebnisansicht und gezielte Sprungmarken */
.strategy-pick{display:block;margin:0;cursor:pointer}.strategy-pick>input{width:auto;margin:0 .55rem 0 0}.strategy-card>details{margin-top:.75rem;padding-top:.7rem;border-top:1px solid var(--line)}
.strategy-card>details summary,.hypothesis-card details summary,.data-quality summary,details.report-section>summary,.learning-summary>summary{cursor:pointer;color:var(--dark);font-weight:750}
.data-quality{margin-top:.85rem;padding:.75rem .9rem;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.data-quality p{margin:.65rem 0 0}.selection-outcome,#weekResult{scroll-margin-top:18px}.selection-outcome:focus{outline:none}
details.report-section{color:var(--text)}details.report-section>summary{font-size:1.05rem}details.report-section[open]{padding-bottom:.25rem}.learning-summary[open]{padding-bottom:1rem}
.week-overview{margin:1.4rem 0;padding:1rem;border:2px solid var(--blue);border-radius:12px;background:#fff}.week-overview h4{margin-top:0}.week-overview-scroll{overflow-x:auto}.week-overview table{width:100%;min-width:650px;border-collapse:collapse}.week-overview th,.week-overview td{padding:.65rem .75rem;border:1px solid var(--line);text-align:left;vertical-align:top}.week-overview thead th{background:var(--blue);color:#fff}.week-overview tbody th{background:var(--pale);color:var(--dark);white-space:nowrap}@media(max-width:650px){.week-overview{padding:.8rem}.week-overview-scroll{margin-right:-.8rem;padding-right:.8rem}}@media print{.week-overview{break-inside:avoid}.week-overview-scroll{overflow:visible}.week-overview table{min-width:0;font-size:8pt}}

/* V0.16.1 – Portionsprüfung und frei wählbare Ergänzungsbausteine */
.portion-choice{border:2px solid var(--blue);background:#f8fcff;scroll-margin-top:18px}.portion-choice:focus{outline:none}.portion-choice h4{font-size:1.25rem}.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.8rem;margin:1rem 0}.choice-card{position:relative;display:grid;grid-template-columns:auto 1fr;gap:.35rem .65rem;align-items:start;margin:0;padding:1rem;border:2px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}.choice-card:has(input:checked){border-color:var(--blue);box-shadow:0 6px 18px rgba(0,114,206,.12)}.choice-card input{margin-top:.25rem}.choice-card strong,.choice-card span,.choice-card small{grid-column:2}.choice-card span{font-weight:400;color:var(--muted)}.choice-card small{display:inline-block;width:max-content;padding:.15rem .5rem;border-radius:999px;background:var(--pale);color:var(--blue);font-weight:750}.portion-summary details{margin-top:.75rem}.portion-summary .info-box{margin-top:.8rem}@media(max-width:600px){.choice-grid{grid-template-columns:1fr}}
