/* Same visual language and controls in both chapters. */
.learning-activity{width:min(1100px,96vw);max-width:96vw;max-height:94dvh;padding:0!important;display:flex;flex-direction:column;overflow:hidden!important;background:#f5e7cb!important;color:#342718!important;border:2px solid #795735!important;border-radius:14px!important}
.learning-activity:not([open]){display:none}
.learning-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid #cbbb9b;flex-shrink:0;background:#f5e7cb}
.learning-header h2{margin:0;font:clamp(20px,3vw,30px) Georgia}
.learning-close{min-width:48px;min-height:48px;font-size:24px}
.learning-body{padding:16px;min-height:0;overflow:auto;overscroll-behavior:contain}
.learning-footer{display:flex;justify-content:flex-end;gap:10px;padding:10px 16px;border-top:1px solid #cbbb9b;flex-shrink:0;background:#f5e7cb}
.learning-activity button{min-height:48px;border-radius:10px;padding:10px 16px;font:600 16px system-ui}
.learning-activity :is(.rural-actions,.milking-actions,.picture-actions) button,.year-dialog button:not(.learning-secondary):not(.learning-close){background:#e4edcf;color:#263c28;border:2px solid #526442}
.learning-activity button.learning-secondary,.learning-activity button.learning-close{background:#f0ddb4;color:#342718;border:1px solid #9a7951}
.learning-activity button:focus-visible,.activity-access button:focus-visible{outline:3px solid #286f80;outline-offset:3px}
.learning-activity button:disabled{opacity:.6}
.learning-activity :is(.rural-actions,.milking-actions,.picture-actions){display:flex;justify-content:center;flex-wrap:wrap;gap:10px}
.learning-conversation{max-width:780px;margin:12px auto 18px;padding:20px;background:#ede1c8;border:2px solid #a08760;border-radius:14px;min-height:0}
.learning-conversation h3{font:24px Georgia;margin:0 0 10px}.learning-conversation p{font-size:clamp(16px,2vw,20px);line-height:1.5;margin:8px 0}
.learning-guidance:after{content:'';display:block;clear:both}.learning-portrait{float:left;width:76px;height:88px;object-fit:cover;object-position:50% 4%;margin:0 16px 8px 0;border-radius:12px;background:#dfd0b1}
.learning-activity .year-conversation-portrait{width:76px;height:88px;border-radius:12px;margin:0 16px 8px 0}
.learning-activity .year-dialog-position{font-size:13px}.learning-activity .year-eyebrow{font-size:12px}.learning-activity .year-speaker{display:none}
/* The activity selector belongs to the header, outside the scene. */
.activity-access{position:relative;display:inline-flex;align-items:stretch;pointer-events:auto}
.activity-access>button{min-height:48px}
.activity-access-list{position:absolute;top:100%;right:0;z-index:30;width:min(420px,calc(100vw - 24px));margin-top:6px;padding:8px;background:#f5e7cb;border:2px solid #9a7951;border-radius:12px;max-height:55dvh;overflow:auto;box-shadow:0 4px 14px #0005}
@media(max-width:600px){main>header .labelled-toolbar{flex-wrap:wrap}.activity-access-list{right:0;width:min(330px,calc(100vw - 24px))}}
.activity-access-list>button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;min-height:48px;margin:4px 0}.activity-access-list img{width:32px;height:32px;flex-shrink:0}.activity-access-list>button>span:first-child:not(:last-child){font-size:24px}
.assignment-list li>p:first-of-type{white-space:pre-line;line-height:1.45;font-size:clamp(12px,3.4vw,17px)}
@media(max-width:600px){.learning-header{padding:10px}.learning-body{padding:10px}.learning-footer{padding:8px 10px}.learning-conversation{padding:14px}.learning-activity :is(.rural-actions,.milking-actions,.picture-actions) button{width:100%}}

.stage{max-height:none}
#chapter-status,#year-progress{margin:0;padding:8px 16px;background:#ece0c5;color:#513f27;font:600 14px system-ui}
.learning-portrait{background-size:320% auto;background-position:50% 3%;border:2px solid #967e5c}

/* Getreide: Detailansichten mit gespeicherten Arbeitsportionen. */
.grain-work{position:relative;isolation:isolate;border-radius:14px;overflow:hidden;min-height:280px;background:#c4a05b}
.grain-background{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.grain-portions{position:absolute;inset:32% 3% 3%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:end}
.grain-portion{display:flex;flex-direction:column;align-items:center;min-width:0}.grain-portion img{width:100%;height:clamp(90px,18vw,180px);object-fit:contain;filter:drop-shadow(0 3px 3px #402e2160)}
.grain-portion button{width:100%;min-height:48px;padding:8px 4px;font-size:clamp(12px,2vw,16px)}
.grain-material{font-size:clamp(24px,5vw,48px);text-shadow:0 2px 3px #fff}
.grain-action-row{display:flex;gap:8px;flex-wrap:wrap}.grain-action-row button{flex:1;min-width:130px}
.grain-winnowing{position:absolute;inset:40% 10% 6%;display:flex;justify-content:center;align-items:center;gap:16px;background:#fff1d8d9;border-radius:14px;font-weight:bold;color:#49361f}
.grain-chaff{animation:grain-blow 2s ease-out infinite}.grain-kernels{animation:grain-fall 2s ease-in infinite}.grain-basket{font-size:70px}
@keyframes grain-blow{to{transform:translate(35px,-22px);opacity:.4}}@keyframes grain-fall{to{transform:translateY(20px)}}
@media(prefers-reduced-motion:reduce){.grain-chaff,.grain-kernels{animation:none}}
@media(max-width:520px){.grain-work{min-height:240px}.grain-background{height:240px}.grain-portions{gap:4px;inset:30% 2% 2%}.grain-winnowing{gap:8px;font-size:13px}}

.grain-tool{position:absolute;top:3%;right:3%;width:70px;height:70px;padding:8px;background:#fff4dfe6;border-radius:12px;box-shadow:0 2px 8px #0003}

.barn-tools-dialog{width:min(1000px,96vw);max-height:92dvh}
.barn-tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:12px}
.barn-tool-card{padding:14px;background:#fff5df;border:2px solid #b99b68;border-radius:12px;display:flex;flex-direction:column;align-items:center;text-align:center}
.barn-tool-card img{width:150px;height:150px;max-width:100%;object-fit:contain;filter:drop-shadow(0 4px 4px #4b341b22)}.barn-tool-card h3{margin:8px 0 0}.barn-tool-card p{font-size:15px;flex:1}.barn-tool-card button{width:100%;min-height:48px;background:#e4edcf;border:2px solid #526442}
.labelled-toolbar #inventory[aria-label^="Mitgebrachte Dinge"] .inventory-preview{flex-wrap:wrap;max-width:112px}.labelled-toolbar #inventory[aria-label^="Mitgebrachte Dinge"] .inventory-preview img{width:20px;height:20px}
@media(max-width:480px){.barn-tool-grid{grid-template-columns:1fr 1fr;gap:8px}.barn-tool-card{padding:9px}.barn-tool-card img{width:110px;height:110px}.barn-tool-card p{font-size:14px}.barn-tool-card button{font-size:14px;padding:8px}}

/* Realistische Erntebilder ersetzen die schematischen Halme in der Feldaufgabe. */
.grain-harvest .grain-portion img{height:clamp(105px,24vw,260px);filter:drop-shadow(0 4px 3px #4b351b35)}
.grain-harvest .grain-portion{justify-content:end}
@media(max-width:520px){.grain-harvest .grain-portion img{height:110px}}

.fixed-route-marker{position:absolute;opacity:1!important;z-index:4;transform:translate(-50%,-50%);pointer-events:auto}
.grain-stored-preview{position:absolute;bottom:5%;left:35%;width:30%;height:65%;object-fit:contain}

.thresh-work .grain-portions{position:relative;inset:auto;padding:12px;align-items:end;background:#f1dfba;border-top:2px solid #b89a65}
.thresh-work .grain-portion img{height:clamp(95px,14vw,150px);filter:drop-shadow(0 3px 3px #4b351b30)}
.thresh-work .grain-portion{touch-action:pan-y}
.thresh-tool-detail{width:240px!important;max-width:80%;height:260px!important;object-fit:contain!important;background:#fff3d8;border-radius:12px;padding:10px}
.thresh-tool-caption{font-size:14px;text-align:center;color:#63452a;font-weight:600}
@media(max-width:520px){.thresh-work .grain-portion img{height:80px}.thresh-work .grain-portion button{font-size:12px}}

.winnowing-panel{background:#fff5df;border:2px solid #b99b68;border-radius:14px;padding:14px;margin-top:12px;color:#49361f}
.winnowing-stage{position:relative;height:300px;max-width:540px;margin:auto;overflow:hidden;touch-action:pan-x;user-select:none;background:radial-gradient(ellipse at 50% 80%,#d2b17c80,transparent 65%)}
.winnowing-basket{position:absolute;left:8%;bottom:0;width:84%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 5px 3px #4b351b30)}
.winnowing-wind{position:absolute;right:2%;top:8%;font-size:16px;color:#55767c;font-weight:700}
.winnowing-kernels,.winnowing-chaff{position:absolute;inset:0;pointer-events:none}
.winnowing-kernels span,.winnowing-chaff span{position:absolute;top:56%;display:block}
.winnowing-kernels span{width:11px;height:6px;border-radius:60% 40%;background:#c89627;border:1px solid #88621a;transform:rotate(-20deg)}
.winnowing-chaff span{width:15px;height:4px;border-radius:50%;background:#e4c182;opacity:0}
.winnowing-lift .winnowing-basket{animation:winnow-basket .8s ease-out}
.winnowing-lift .winnowing-kernels span{animation:winnow-kernel 1s ease-out both}
.winnowing-lift .winnowing-chaff span{animation:winnow-chaff 1s ease-out both}
.winnowing-legend{font-size:14px;text-align:center}.winnowing-lift-button{min-height:48px;width:100%;background:#e4edcf;border:2px solid #526442;font-weight:700}
@keyframes winnow-basket{40%{transform:translateY(-12px)}100%{transform:translateY(0)}}
@keyframes winnow-kernel{0%,100%{transform:translateY(0) rotate(-20deg)}40%{transform:translateY(-85px) rotate(30deg)}}
@keyframes winnow-chaff{0%{transform:translate(0,0);opacity:0}20%{opacity:1}45%{transform:translate(45px,-95px);opacity:1}100%{transform:translate(155px,-65px);opacity:0}}
@media(max-width:520px){.winnowing-stage{height:230px}.winnowing-panel{padding:10px}.winnowing-legend{font-size:13px}}
@media(prefers-reduced-motion:reduce){.winnowing-lift .winnowing-basket,.winnowing-lift .winnowing-kernels span,.winnowing-lift .winnowing-chaff span{animation:none}}
