/* Additive family-planning UI; core analysis and brand rules remain unchanged. */
.report-grid{align-items:start}.result-overview-link{display:inline-flex;align-items:center;min-height:44px;margin-top:20px;font-weight:600}
.training-plan>h2{margin-bottom:20px}.training-goals{margin:28px 0;border-left:3px solid var(--sc-red);padding-left:20px}.training-goals h3{font-size:1.1rem;margin:0 0 12px}.training-goals .text-list{margin:0}
.training-calendar{min-width:0;border-top:1px solid var(--line);padding-top:28px;margin-top:28px}.training-calendar h3{font:400 italic 1.65rem/1.2 Newsreader,Georgia,serif;margin:0 0 16px}
.training-guidance{margin-top:28px}.report-detail{margin-top:12px;padding:0}.report-detail>summary{font-weight:600;line-height:1.5}
.report-detail p{font-size:.92rem}.report-sources{font-size:.85rem;color:var(--muted)}.competition-now h3{font-size:1rem;margin-top:0}.competition-now strong{font-weight:600}
.observation-help{margin-top:28px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.observation-help h2{font:400 italic 1.45rem/1.2 Newsreader,Georgia,serif;margin:0 0 12px}
.observation-help p{font-size:.95rem;margin:0 0 16px}.observation-help small{display:block;margin-top:12px;color:var(--muted)}
.observation-help .button{white-space:normal;text-align:left;max-width:100%}
.planner-intro{margin-bottom:24px}.planner-group{min-width:0;border:0;border-top:1px solid var(--line);padding:24px 0;margin:24px 0 0}
.planner-group>legend{font-weight:600;color:var(--sc-dark);padding-right:16px}.planner-field small{color:var(--muted);line-height:1.5}
.planner-day-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.planner-day-input{min-width:0;border:1px solid var(--line);padding:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.planner-day-input legend{font-weight:600}.planner-day-input label{display:grid;gap:6px;font-size:.85rem;min-width:0}
.planner-day-input input,.planner-day-input select{width:100%;min-width:0;min-height:44px}.planner-day-input .planner-check{grid-column:1/-1}
.planner-check{display:flex!important;align-items:center;gap:10px;min-height:44px;font-size:.85rem}
.planner-check input{width:20px;height:20px;min-height:20px;flex-shrink:0;accent-color:var(--sc-dark)}
.planner-totals{font-weight:600}.planner-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.planner-heading h3{margin-top:0}
.planner-actions{display:flex;gap:10px;flex-wrap:wrap}.planner-actions .button{white-space:normal}
.planner-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin:20px 0}
.planner-summary>span{padding:18px;background:var(--sc-dark);color:var(--sc-off);font-size:.82rem}.planner-summary strong{display:block;font-size:1.4rem;font-weight:600}
.planner-goals{border-left:3px solid var(--sc-red);padding:0 0 0 20px;margin-block:24px}.planner-goals h4{font-size:1rem;margin:0 0 8px}
.planner-week-select{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-weight:600}.planner-week-select select{min-height:44px;max-width:100%}
.planner-phase{margin:24px 0 16px;padding:12px 16px;background:var(--soft);border-top:2px solid var(--sc-sky)}
.planner-phase p{font-size:.9rem;margin:8px 0}.planner-phase small{display:block;font-size:.8rem;color:var(--muted)}
.planner-week{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.planner-day{min-width:0;border:1px solid var(--line);padding:16px;overflow-wrap:anywhere}
.planner-day header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:12px}.planner-day header h4{margin:0;font-size:1rem}.planner-day time{font-size:.75rem;color:var(--muted)}
.planner-event{padding:12px 0;border-bottom:1px solid var(--line)}.planner-event:last-child{border-bottom:0}.planner-event-type{display:block;font-size:.75rem;letter-spacing:.025em;color:var(--sc-blue)}
.planner-event>strong{display:block;font-size:1.25rem}.planner-event h5{font-size:.95rem;margin:8px 0}.planner-event p{font-size:.85rem;line-height:1.6;margin:8px 0}
.planner-event--optional{border-left:3px solid var(--sc-red);padding-left:12px}.planner-event--rest{color:var(--muted)}.planner-period{color:var(--muted)}
.planner-day.is-omitted{background:var(--soft)}.planner-notes{margin-top:20px}.planner-notes summary{cursor:pointer;font-weight:600;min-height:44px}.planner-source,.planner-print-note{font-size:.8rem;color:var(--muted)}
.planner-week{align-items:start}.planner-task summary{cursor:pointer;font-size:.82rem;min-height:44px;display:list-item;padding-block:10px}.planner-summary strong{white-space:nowrap}
/* Visible, square-edged accordions with a full-width touch target. */
.report-detail,.planner-task,.planner-notes{background:var(--soft);border:1px solid var(--line)}
.report-detail>summary,.planner-task>summary,.planner-notes>summary{cursor:pointer;min-height:44px;padding:12px 16px;color:var(--sc-dark)}
.report-detail>summary::marker,.planner-task>summary::marker,.planner-notes>summary::marker{color:var(--sc-blue)}
.report-detail>summary:hover,.planner-task>summary:hover,.planner-notes>summary:hover{background:#e6f0f3}
.report-detail>summary:focus-visible,.planner-task>summary:focus-visible,.planner-notes>summary:focus-visible{outline:2px solid var(--sc-blue);outline-offset:2px}
.report-detail[open]>summary,.planner-task[open]>summary,.planner-notes[open]>summary{background:#e6f0f3;border-bottom:1px solid var(--line);margin-bottom:12px}
.report-detail>:not(summary),.planner-notes>:not(summary){margin-left:16px;margin-right:16px}
.report-detail>:last-child,.planner-notes>:last-child{margin-bottom:16px}
.planner-task{margin-top:10px}.planner-task>summary{padding:10px 12px}.planner-task>p{margin:10px 12px}
@media(max-width:950px){.planner-week{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-heading{flex-direction:column}}
@media(max-width:650px){.planner-day-inputs,.planner-week,.planner-summary{grid-template-columns:minmax(0,1fr)}.planner-summary>span{display:flex;align-items:center;gap:16px}.planner-summary strong{min-width:90px}.planner-day-input{padding:12px}.planner-heading,.planner-actions{width:100%}.planner-actions .button{width:100%}.planner-week-select{display:grid}.planner-week-select select{width:100%}.training-calendar.report-card{padding:20px}}
@media print{
 @page{size:A4;margin:14mm}
 .main-shell{padding:0;min-height:0}.shell{width:100%}
 /* Compact report typography; screen size and all analysis content stay intact. */
 #resultScreen{font-size:10pt;line-height:1.4}
 #resultScreen .info-wrap{display:none!important}
 #resultScreen p,#resultScreen li,#resultScreen dd{font-size:10pt;line-height:1.4}
 #resultScreen p{margin:6px 0 10px}#resultScreen .text-list{gap:6px}
 #resultScreen .report-grid{display:block}
 #resultScreen .report-card{break-inside:auto;padding:14px 0;margin:0;border:0;border-top:1px solid var(--line)}
 #resultScreen .report-card h2{font-size:17pt;line-height:1.15;margin:0 0 10px}
 #resultScreen .report-card h3{font-size:11pt;line-height:1.35;margin:12px 0 6px}
 #resultScreen .recommendation-list{gap:0}#resultScreen .recommendation-item{padding:6px 0}
 #resultScreen .recommendation-item dt{font-size:8.5pt;line-height:1.35}#resultScreen .recommendation-item dd{margin-top:2px}
 #resultScreen .result-tool{margin-top:10px;padding:10px 0 0}#resultScreen .result-tool a{font-size:10pt;min-height:0;padding:0}
 #resultScreen .result-tool p,#resultScreen .report-sources{font-size:8.5pt;line-height:1.4}
 #resultScreen .gate,#resultScreen .notice{font-size:9pt;line-height:1.4;padding:10px;margin:8px 0}
 #resultScreen .result-hero{grid-template-columns:1.15fr .85fr;margin-bottom:14px;break-inside:avoid}
 #resultScreen .result-hero-main,#resultScreen .result-hero-side{padding:16px}
 #resultScreen #resultTitle{font-size:28pt;line-height:1.1}#resultScreen .result-hero-side h2{font-size:18pt;margin-bottom:12px}
 #resultScreen .key-list{gap:8px}#resultScreen .key-list div{padding-bottom:8px}#resultScreen .key-list span{font-size:8pt}
 #resultScreen .profile-pair{gap:6px;margin:10px 0}#resultScreen .profile-badge{font-size:8pt;padding:4px 7px}
 #resultScreen .confidence{margin-top:12px}#resultScreen .confidence strong{font-size:15pt}#resultScreen .confidence small{font-size:8pt;line-height:1.4}
 #resultScreen .eyebrow{font-size:8pt;margin-bottom:6px}
 #resultScreen .dimension-bars{gap:7px}#resultScreen .dimension-row{grid-template-columns:52mm minmax(0,1fr) 14mm;gap:10px}
 #resultScreen .dimension-row>span:first-child{font-size:9pt;grid-column:1;grid-row:1}#resultScreen .dimension-row .bar-track{grid-column:2;grid-row:1;height:7px}#resultScreen .dimension-value{grid-column:3;grid-row:1;font-size:9pt}
 #resultScreen .report-detail,#resultScreen .planner-task,#resultScreen .planner-notes{background:transparent;border:0;padding:0;margin-top:10px}
 #resultScreen .report-detail>summary,#resultScreen .planner-notes>summary{display:block;background:transparent;border:0;min-height:0;padding:0;font-size:10pt;margin:0 0 6px}
 #resultScreen .report-detail>:not(summary),#resultScreen .planner-task>p,#resultScreen .planner-notes>:not(summary){margin-left:0;margin-right:0}
 #resultScreen .report-detail>:last-child,#resultScreen .planner-notes>:last-child{margin-bottom:8px}
 #resultScreen .training-guidance{margin-top:16px}
 .planner-actions,.planner-omit,.planner-week-select,.planner-source,.cc-overlay,.cc-revoke,.cc-modal{display:none!important}
 .planner-day{break-inside:avoid}.planner-heading{display:block}.planner-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.planner-summary>span{color:#1d3557;background:#fff}.planner-day header h4{font-size:11pt}
 .training-plan{break-inside:auto}.training-goals,.competition-now{break-inside:avoid}.training-calendar{margin-top:16px;padding-top:16px}.training-guidance .report-detail>summary{min-height:0;padding:6px 0}.result-overview-link{display:none}
 body.printing-planner #resultContent>:not(.report-grid),body.printing-planner .report-grid>:not(.training-plan):not(#einordnung-und-sicherheitshinweise),body.printing-planner .training-plan>:not(h2):not(#training-goals):not(#trainingskalender){display:none!important}
 body.printing-planner .report-grid{display:block}body.printing-planner .training-plan{border:0;padding:0}body.printing-planner #trainingskalender{border:0;padding:0}
 body.printing-planner #einordnung-und-sicherheitshinweise{border:0;border-top:1px solid var(--line);margin-top:16px;padding:12px 0;font-size:8pt;line-height:1.4}body.printing-planner #einordnung-und-sicherheitshinweise h2{font:600 10pt/1.3 Inter,Arial,sans-serif;margin:0 0 6px}body.printing-planner #einordnung-und-sicherheitshinweise p,body.printing-planner #einordnung-und-sicherheitshinweise li{font-size:8pt;line-height:1.4;margin:4px 0}
 .planner-week{display:block}.planner-day{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;padding:8px;margin-bottom:6px}.planner-day header{display:block;border:0;margin:0;padding:0}.planner-day time{display:block}.planner-event{padding:0;border:0}.planner-event h5{font-size:9pt;margin:2px 0}.planner-event>strong{font-size:10pt}.planner-event p{font-size:8pt;line-height:1.35;margin:3px 0}.planner-task summary{display:none}.planner-task{grid-column:2}.planner-notes{font-size:8pt;line-height:1.35;margin-top:8px}.planner-notes summary{min-height:0}.planner-goals{margin-block:12px}.planner-goals p,.planner-goals li{font-size:9pt;line-height:1.4}.planner-summary{margin:8px 0}.planner-summary>span{padding:8px}.planner-heading .eyebrow{margin-bottom:4px}.planner-heading p,.training-calendar>p{font-size:9pt}.planner-phase{margin:10px 0}.planner-day>.planner-event:nth-of-type(2){grid-column:2}
 #trainingskalender h3{font-size:18pt;line-height:1.15;margin:0 0 6px}.planner-heading p,.training-calendar>p{margin:5px 0;line-height:1.35}.planner-summary strong{font-size:15pt}.planner-summary>span{font-size:8pt}.planner-goals h4{font-size:10pt;margin:0 0 5px}.planner-goals p,.planner-goals ul{margin:5px 0}.planner-goals li{font-size:8pt}.planner-phase{font-size:9pt;padding:8px 12px}.planner-phase p,.planner-phase small{font-size:8pt;line-height:1.3;margin:4px 0}.planner-day>p{font-size:9pt;margin:4px 0}.planner-print-note{line-height:1.3}.planner-notes ul{padding-left:15px;margin:4px 0}
 .training-goals{margin:12px 0;padding-left:14px}.training-goals h3{font-size:10pt;margin:0 0 5px}.training-goals li,.training-goals p{font-size:9pt;line-height:1.4}.training-plan>h2{margin-bottom:12px}
 .report-card h2,.training-goals h3,.training-calendar h3,.report-detail>summary,.planner-notes>summary{break-after:avoid}.recommendation-item,.result-tool,.gate{break-inside:avoid}.report-card p{orphans:3;widows:3}body:not(.printing-planner) .training-plan{break-before:page}
 .planner-heading,.planner-summary,.planner-checks,.planner-phase{break-inside:avoid}.planner-heading{break-after:avoid}
 /* Keep the calendar denser than the report without making task text tiny. */
 #resultScreen .training-goals h3{font-size:10pt;margin:0 0 5px}#resultScreen .training-goals li,#resultScreen .training-goals p{font-size:9pt;line-height:1.4}
 #resultScreen #trainingskalender h3{font-size:16pt;margin:0 0 6px}#resultScreen .training-calendar>p,#resultScreen .planner-heading p{font-size:9pt;line-height:1.35;margin:5px 0}
 #resultScreen .planner-goals p,#resultScreen .planner-goals li,#resultScreen .planner-phase p,#resultScreen .planner-event p,#resultScreen .planner-notes li{font-size:8pt;line-height:1.35;margin:3px 0}
 #resultScreen .planner-summary strong{font-size:13pt}#resultScreen .planner-summary>span{padding:6px}
 #resultScreen .planner-day{padding:6px;margin-bottom:5px}#resultScreen .planner-day header h4{font-size:10pt}#resultScreen .planner-day time,#resultScreen .planner-event-type{font-size:8pt}
 #resultScreen .planner-task{margin-top:3px}#resultScreen .planner-event>strong{font-size:9pt}#resultScreen .planner-event h5{font-size:8.5pt}
 body.printing-planner #resultScreen #einordnung-und-sicherheitshinweise p,body.printing-planner #resultScreen #einordnung-und-sicherheitshinweise li{font-size:8pt;line-height:1.4;margin:4px 0}
}
