/* Shared project layout and A4 worksheet styles. */
:root{--ink:#183e3b;--muted:#586662;--paper:#fffdf8;--accent:#b85839;--line:#deded3}
*{box-sizing:border-box}
body{margin:0;background:#eeeae0;color:var(--ink);font:17px/1.65 system-ui,sans-serif}
a{color:inherit;text-underline-offset:4px}
.site-header{position:relative;--ink:#1e1e1b;font:16px var(--sans)}
.site-header a,.footer a{text-decoration:none}
.site-header .brand-logo{width:clamp(188px,19vw,330px);height:auto}
.site-header .brand{letter-spacing:normal}
main{max-width:1080px;margin:35px auto 50px;background:var(--paper);padding:55px 76px;box-shadow:0 8px 45px #28352c0b}
.project-back{font-size:14px;margin:0 0 25px}
h1{font:normal clamp(34px,5vw,58px)/1.12 Georgia,serif;margin:0 0 26px;letter-spacing:-.025em}
h2{font:normal 29px/1.25 Georgia,serif;margin:0 0 15px}
.intro{font-size:19px;max-width:760px;color:var(--muted);margin-bottom:28px}
.meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;border-block:1px solid var(--line);padding:22px 0;margin:0 0 28px}
.meta dt{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700}
.meta dd{margin:5px 0 0;font-size:15px}
.teacher{margin-bottom:22px;border-bottom:1px solid var(--line);padding-bottom:22px}
.teacher summary{cursor:pointer;font-weight:700}
.teacher p{font-size:15px}
.paper-notice{font-size:14px;color:var(--muted);margin:0 0 20px}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 35px}
main button,main .button{font:inherit;cursor:pointer;border:1px solid var(--ink);border-radius:5px;padding:11px 18px;text-decoration:none;display:inline-block;background:var(--ink);color:white}
main .button.secondary{background:transparent;color:var(--ink)}
main :focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.actions>button,.actions>a{min-height:48px;line-height:1.4;display:inline-flex;align-items:center;justify-content:center}
.work-note{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;border-top:1px solid var(--line);padding-top:24px;margin:0 0 18px}
.project-label{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#765f48;margin:0 0 8px}
.worksheet-opening>h2{font-size:34px;margin-bottom:22px}
.case-link{display:flex;align-items:center;gap:18px;margin:20px 0 24px;padding:15px;border:1px solid var(--line);text-decoration:none;border-radius:6px}
.case-link img{width:130px;height:80px;object-fit:cover;border-radius:3px}
.case-copy{min-width:0;flex:1}
.case-copy small{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.case-copy strong{display:block;font-size:16px}
.case-difficulty{display:block;font-size:13px;color:var(--muted);margin-top:5px}
.case-visible-url{display:block;font-size:11px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere;margin-top:6px}
.case-arrow{font-size:22px}
.case-resolved{margin:24px 0 32px;padding:20px 0;border-block:1px solid #cbd8d0}
.case-resolved p{margin:8px 0}
.case-resolved .resolved-label{font-size:12px;letter-spacing:.13em;font-weight:800;color:#405b47;margin:0 0 12px}
.step{display:grid;grid-template-columns:45px minmax(0,1fr);gap:18px;margin-top:38px}
.number{font-size:23px;font-weight:700;line-height:1.2;color:var(--accent);padding-top:3px}
.step p{margin:10px 0}
.evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;list-style:none;padding:0;margin:18px 0}
.evidence-grid li{padding:0;margin:0}
.evidence-grid figure{margin:0;padding:9px 6px 8px;border:1px solid var(--line);border-radius:4px;background:#f5f1e7;text-align:center}
.evidence-grid img{display:block;width:100%;height:85px;object-fit:contain;margin:0 auto 6px}
.evidence-grid figcaption{font-size:13px;font-weight:600}
.ranking{list-style:none;padding:0;display:flex;flex-direction:column;gap:12px}
.ranking li{font-size:14px}
.ranking span{display:inline-block;width:55%;border-bottom:1px solid #aaa;margin-left:10px}
.answer-space{display:none}
.trace-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;list-style:none;padding:0;margin:24px 0}
.trace-flow li{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:16px 10px;margin:0;border:1px solid #cbd8d0;border-radius:8px;background:#edf2ed;min-width:0;min-height:145px}
.trace-flow li:nth-child(2){background:#edf3f3;border-color:#ccdddd}
.trace-flow li:nth-child(3){background:#f1f2e8;border-color:#d7d9c5}
.trace-flow li:nth-child(4){background:#f4eee3;border-color:#dfd4c1}
.trace-flow li:not(:last-child)::after{content:"→";position:absolute;right:-17px;top:46%;color:#687c72;font-size:20px}
.trace-index{font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:#5b6c62;display:block;margin-bottom:12px}
.trace-flow img{width:44px;height:44px;object-fit:contain;margin:0 0 6px}
.trace-flow strong{font-size:14px;line-height:1.4}
.chain-blank{display:block;border-bottom:1px solid #82978c;width:85%;height:32px;margin-top:15px}
.residue-choice{padding:14px 0;border-block:1px solid #d5d9cb}
.residue-choice strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#765f48}
.residue-choice span{display:block;margin-top:10px;font-size:14px}
.reconstruction,.battery-questions{padding-left:22px}
.question-answer{break-inside:avoid}
.final-challenge{margin:40px 0 0 63px;padding-top:24px;border-top:1px solid #aabca9}
.action-prompts{display:grid;grid-template-columns:1fr;gap:15px;margin:24px 0}
.action-proposal>p{margin:0}
.action-proposal>p>span:first-child{color:#765f48;font-size:12px;letter-spacing:.08em;margin-right:10px}
.action-question{display:block;font-size:14px;color:var(--muted);margin:4px 0 0 29px}
.self-check{margin:25px 0 0 63px}
.self-check h2{font:700 11px/1.4 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.self-check ul{list-style:none;margin:8px 0 0;padding:0;font-size:13px;color:var(--muted)}
.self-check li::before{content:"□";margin-right:8px}
.project-footer{margin:30px 0 0;padding-top:15px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.footer{font:16px var(--sans);--ink:#1e1e1b}
@media(max-width:650px){main{padding:30px 22px;margin:18px auto 0}.site-header .container,.footer .container{width:calc(100% - 36px)}.meta{grid-template-columns:1fr 1fr}.step{grid-template-columns:28px minmax(0,1fr);gap:10px}.number{font-size:21px}.case-link{gap:12px;padding:12px}.case-link img{width:85px;height:65px}.case-copy strong{font-size:14px}.trace-flow{grid-template-columns:1fr 1fr;gap:18px}.trace-flow li:nth-child(2)::after{content:"↓";right:50%;top:auto;bottom:-18px}.trace-flow li:nth-child(3){grid-column:2;grid-row:2}.trace-flow li:nth-child(4){grid-column:1;grid-row:2}.trace-flow li:nth-child(3)::after{content:"←";right:auto;left:-17px}.evidence-grid{gap:8px}.evidence-grid img{height:65px}.evidence-grid figcaption{font-size:11px}.final-challenge,.self-check{margin-left:38px}.worksheet-opening>h2{font-size:30px}}
@page{size:A4;margin:12mm 14mm}
@media print{
 html,body{background:white!important;height:auto;min-height:0;margin:0;color:#151b17;font:10pt/1.3 Arial,sans-serif}
 .site-header,.footer,.screen-only,.project-heading,.project-back,.teacher,.paper-notice,.actions,.print-status{display:none!important}
 main{display:block!important;width:auto;max-width:none;margin:0;padding:0;background:white;box-shadow:none}
 main>#actividades{display:block!important;visibility:visible;overflow:visible}
 .sheet-page{break-after:page}.sheet-page:last-child{break-after:auto}
 h2{font:700 13pt/1.2 Arial,sans-serif;margin:0 0 2mm;break-after:avoid}
 p{margin:1.5mm 0;orphans:2;widows:2}
 .project-label{font-size:7.5pt;margin:0 0 1mm;color:#484d44}
 .worksheet-opening>h2{font-size:21pt;margin:0 0 3mm}
 .worksheet-opening>p{margin:1.5mm 0}
 .case-link{gap:4mm;padding:2.5mm;margin:3mm 0;border-color:#bbb;break-inside:avoid}
 .case-link img{width:25mm;height:15mm}.case-copy small{font-size:6.5pt;color:#444}.case-copy strong{font-size:10pt}.case-difficulty{font-size:8pt;margin-top:.5mm}.case-visible-url{font-size:7pt;margin-top:1mm;color:#444}.case-arrow{display:none}
 .case-resolved{padding:2mm 0;margin:3mm 0}.case-resolved p{margin:1mm 0}.case-resolved .resolved-label{font-size:8pt;margin:0 0 1mm;color:#333}
 .step{display:grid;grid-template-columns:8mm minmax(0,1fr);gap:3mm;margin-top:4mm;break-inside:avoid}
 .number{font-size:16pt;padding-top:0;color:#555}
 .step p{margin:1.5mm 0}
 .evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2mm;margin:2.5mm 0}
 .evidence-grid figure{padding:1.5mm 1mm;border-radius:1mm;background:#f5f3ed;border-color:#ccc;break-inside:avoid}
 .evidence-grid img{height:12mm;margin-bottom:1mm}.evidence-grid figcaption{font-size:8pt;line-height:1.2}
 .ranking{flex-direction:row;gap:3mm;margin:2mm 0 3mm}.ranking li{font-size:8pt;flex:1}.ranking span{display:block;width:100%;margin:2mm 0 0}
 .answer-space{display:block;height:10mm;background:none;border:0}.answer-space.short{height:6mm}.answer-space.source{height:5mm}.answer-space.proposal{height:11mm}
 .trace-flow{grid-template-columns:repeat(4,minmax(0,1fr));gap:3mm;margin:2mm 0}
 .trace-flow li{min-height:25mm;padding:2mm 1mm;border-radius:1.5mm;grid-column:auto!important;grid-row:auto!important;break-inside:avoid}
 .trace-index{font-size:6.5pt;margin-bottom:2mm;line-height:1.2}.trace-flow strong{font-size:8.5pt}.trace-flow img{width:8mm;height:8mm;margin:0 0 1mm}.chain-blank{height:7mm;margin-top:2mm}
 .trace-flow li:not(:last-child)::after{content:"→";right:-3mm;left:auto;top:45%;bottom:auto;font-size:12pt}
 .sheet-page-two>.step:first-child{margin-top:0}
 .residue-choice{padding:1.5mm 0;margin:2mm 0}.residue-choice strong{font-size:7pt}.residue-choice span{font-size:9pt;margin-top:1mm}
 .reconstruction,.battery-questions{margin:2mm 0 0;padding-left:5mm}.reconstruction li,.battery-questions li{padding:0;margin:0;break-inside:avoid}
 .reconstruction p,.battery-questions p{margin:0}
 .source-answer p{font-size:8pt}
 .final-challenge{margin:4mm 0 0 11mm;padding-top:3mm;break-inside:avoid}
 .final-challenge>p{margin:1.5mm 0}
 .action-prompts{display:block;margin:2mm 0 0}.action-proposal{break-inside:avoid}.action-proposal>p{margin:0;font-size:9pt}.action-proposal>p>span:first-child{font-size:8pt;margin-right:2mm}.action-question{display:inline;font-size:8pt;margin:0 0 0 1mm;color:#333}
 .self-check{margin:3mm 0 0 11mm;break-inside:avoid}.self-check h2{font:700 7.5pt/1.2 Arial,sans-serif;margin:0 0 1mm}.self-check ul{font-size:8pt;line-height:1.5;margin:0;color:#333}
 .project-footer{font-size:7pt;margin:3mm 0 0;padding-top:2mm}
 .evidence-grid,.trace-flow{print-color-adjust:exact;-webkit-print-color-adjust:exact}
}
.trace-flow .trace-icon{display:block;width:44px;height:44px;margin:0 0 6px;color:#4d756d;flex-shrink:0}
@media print{.trace-flow .trace-icon{width:8mm;height:8mm;margin:0 0 1mm;color:#444}}
.trace-flow li{display:grid;grid-template-rows:28px 44px 40px;align-content:center;justify-items:center;align-items:center;row-gap:6px;min-height:160px}
.trace-flow .trace-index{align-self:start;margin:0;width:100%;line-height:1.35}
.trace-flow img,.trace-flow .trace-icon{grid-row:2;margin:0;width:44px;height:44px}
.trace-flow strong{grid-row:3;align-self:center;margin:0}
.trace-flow .chain-blank{grid-row:3;margin:0;height:28px;align-self:center}
@media print{
 .trace-flow li{grid-template-rows:6mm 8mm 7mm;row-gap:1mm;min-height:27mm;align-content:center}
 .trace-flow .trace-index{font-size:6.5pt;margin:0}
 .trace-flow img,.trace-flow .trace-icon{width:8mm;height:8mm;margin:0}
 .trace-flow .chain-blank{height:5mm;margin:0}
}
.print-feedback{display:none;margin:12px 0 24px;padding:14px 18px;border:1px solid #c5d3cb;border-left:4px solid #557569;border-radius:5px;background:#edf3ee;color:#29453a;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.print-feedback:not(:empty){display:block}
.print-feedback[data-state="error"]{background:#fff0ea;border-color:#dfb3a4;border-left-color:#a4432c;color:#78321f}
.print-feedback[data-state="warning"]{background:#faf3e5;border-color:#ddc9a3;border-left-color:#9b7538;color:#665027}
@media print{.print-feedback{display:none!important}}
.case-resolved{border:0;padding:0;margin:28px 0 0}
.case-resolved .resolved-label{font-size:12px;letter-spacing:.08em;margin:0 0 10px}
.worksheet-opening+.step{margin-top:42px}
@media print{
 .case-resolved{border:0;padding:0;margin:4mm 0 0}
 .case-resolved .resolved-label{font-size:8pt;margin-bottom:1.5mm}
 .worksheet-opening+.step{margin-top:7mm}
}
.final-challenge.step{margin:38px 0 0;padding:0;border:0}
@media print{.final-challenge.step{margin:4mm 0 0;padding:0;border:0;break-inside:avoid}}
.self-check{padding:16px 20px;border:1px solid #d2dace;border-radius:5px;background:#f1f4ec}
.self-check h2{margin-bottom:9px}
@media print{.self-check{padding:2.5mm 3mm;border:1px solid #ccc;border-radius:1mm;background:#f5f5f2;print-color-adjust:exact;-webkit-print-color-adjust:exact}.self-check h2{margin-bottom:1mm}}
@media screen{
 #actividades{margin-top:30px;border:1px solid #cbd3c8;border-radius:7px;background:#fffdf8;box-shadow:0 5px 20px #28352c08;overflow:hidden}
 #actividades>.work-note{margin:0;padding:16px 24px;border:0;border-bottom:1px solid #cbd3c8;background:#e8ede3;color:#354c3d;font-size:12px;font-weight:700;letter-spacing:.07em;line-height:1.5}
 #actividades>.sheet-page{padding:28px 26px 0}
 #actividades>.sheet-page-two{padding-top:0;padding-bottom:26px}
}
@media screen and (max-width:650px){
 #actividades{margin-inline:-8px}
 #actividades>.work-note{padding:14px 16px;font-size:11px}
 #actividades>.sheet-page{padding:24px 14px 0}
 #actividades>.sheet-page-two{padding-top:0;padding-bottom:20px}
}
.trace-flow li{grid-template-columns:minmax(0,1fr)}
.trace-flow li>.trace-index{grid-area:1 / 1}
.trace-flow li>img,.trace-flow li>.trace-icon{grid-area:2 / 1}
.trace-flow li>strong,.trace-flow li>.chain-blank{grid-area:3 / 1}
@media print{.case-resolved{border:0!important;border-block:0!important}}
@media print{
 .trace-flow li{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;height:27mm;min-height:27mm;gap:1mm}
 .trace-flow .trace-index{height:6mm;min-height:6mm;flex-shrink:0}
 .trace-flow li>img,.trace-flow li>.trace-icon{height:8mm;min-height:8mm;flex-shrink:0}
 .trace-flow li>strong{display:block;min-height:7mm;line-height:1.3}
 .trace-flow li>.chain-blank{margin-top:9mm;height:5mm;min-height:5mm;flex-shrink:0}
}
