*{box-sizing:border-box} [hidden]{display:none!important} :root{font-family:system-ui,sans-serif;color:#172e3a;background:#f4f5ef;line-height:1.55} body{margin:0} main{max-width:1060px;margin:auto;padding:24px} header{display:flex;justify-content:space-between;gap:20px;align-items:start;border-bottom:1px solid #bdccc7;padding-bottom:18px} .eyebrow{font-size:.8rem;font-weight:750;text-transform:uppercase;letter-spacing:.12em;color:#3b6659} h1{font-size:clamp(1.7rem,4vw,2.6rem);line-height:1.15;margin:.5rem 0} h2{line-height:1.2} h3{margin-top:0} nav{display:flex;gap:12px;flex-wrap:wrap} a{color:#135e70} button{font:inherit;background:#176351;color:white;border:2px solid #176351;border-radius:8px;padding:10px 17px;cursor:pointer} button.secondary{background:white;color:#176351} button:disabled{opacity:.5;cursor:wait} button:hover{filter:brightness(.92)} :focus-visible{outline:3px solid #b35a00;outline-offset:4px} section{background:white;border:1px solid #cbd8d0;border-radius:16px;padding:24px;margin:24px 0} .intro{max-width:720px} .progress{font-size:.85rem;font-weight:650;color:#3b6659;margin-bottom:0} .grid{display:grid;grid-template-columns:1fr 1fr;gap:20px} .card{border-radius:10px;background:#f1f5f1;padding:16px} label{cursor:pointer} .choices label{display:block;padding:9px 12px;border:1px solid #b9cbc2;border-radius:7px;margin:7px 0} input{accent-color:#176351} input[type=number]{font:inherit;padding:9px;width:120px;border:1px solid #799488;border-radius:6px} fieldset{border:0;padding:0;margin:15px 0} legend{font-weight:700;margin-bottom:5px} .feedback{padding:12px;background:#edf3f4;border-left:4px solid #4a6a75;margin:15px 0;min-height:3em} .good{background:#e9f4ec;border-color:#176351} .retry{background:#fff2e5;border-color:#a64b08} .scroll{overflow-x:auto} table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums;font-size:.92rem} th,td{text-align:right;padding:10px 7px;border-bottom:1px solid #dce3dd} th:first-child,td:first-child{text-align:left} caption{text-align:left;font-weight:650;margin:12px 0} .totals{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0} .totals div{background:#edf4ef;padding:12px;border-radius:8px} .totals strong{display:block;font-size:1.5rem} .bar{display:flex;height:32px;border:1px solid #a3b7ab;margin:6px 0;background:#f0f2ed} .bar span{display:block;height:100%} .cs{background:#217891}.ps{background:#32704c}.rev{background:#a25307}.lost{background:repeating-linear-gradient(135deg,#d5c2b4 0 5px,#faf5ef 5px 10px)} .key{font-size:.9rem}.key span{display:inline-block;padding:3px 8px;color:white;margin:4px}.key .lost{color:#172e3a} .finish{border:2px solid #176351;background:#eff8f0} footer{font-size:.82rem;color:#435c63;margin:30px 0} details{margin:15px 0} summary{cursor:pointer;font-weight:650} .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px} .large{font-size:120%} @media(max-width:650px){main{padding:14px}header{display:block}.grid{grid-template-columns:1fr}section{padding:18px}.totals{grid-template-columns:1fr 1fr}nav{margin-top:14px}th,td{padding:8px 5px}} @media print{nav,button,.choices,.progress,footer{display:none}section[hidden]{display:block!important}section{break-inside:avoid}main{padding:0}}

.scroll-hint{display:none}@media(max-width:650px){.scroll-hint{display:block;font-size:.85rem;color:#435c63;margin-bottom:4px}}
