html{scroll-behavior:smooth}body{margin:0;background:#eef2f5;font-family:Arial,Helvetica,sans-serif;color:#203040;font-size:16px;line-height:1.6}main{max-width:1000px;margin:auto;padding:24px;background:white}a{color:#145f8b;text-underline-offset:3px}a:hover{color:#853322}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #bb5e13;outline-offset:3px}button,input,select,textarea{font:inherit}button{cursor:pointer;background:#15384a;color:#fff;border:1px solid #15384a;padding:10px 15px;border-radius:3px}button:hover{background:#255771}.unit-action:hover{filter:brightness(1.12);transform:translateY(-1px)}.unit-action::after{content:" ↗";padding-left:8px}.unit-action{transition:filter .15s,transform .15s}.unit-action:focus-visible{outline:3px solid #bb5e13;outline-offset:4px}button:disabled{opacity:.55;cursor:default}nav{display:flex;gap:10px 18px;flex-wrap:wrap;margin:18px 0}h1,h2,h3{line-height:1.3}h2,h3{color:#15384a}blockquote{margin:18px 0;padding:14px 20px;border-left:4px solid #1e6091;background:#edf5fc}.meta{font-size:14px;color:#52616b}.panel{border:1px solid #b7c7d1;padding:20px;margin:20px 0}.activity{border-top:3px solid #15384a;margin:28px 0;padding-top:18px}fieldset{border:0;padding:0;margin:18px 0}legend{font-weight:bold;margin-bottom:12px}label.choice{display:flex;gap:10px;padding:10px;border:1px solid #cbd5dc;margin:6px 0;cursor:pointer}input[type=radio]{flex-shrink:0;width:18px;height:18px}.feedback{padding:14px;background:#eaf5ed;border-left:4px solid #287746;margin:14px 0}.feedback:empty{display:none}.notice{padding:14px;background:#fff5dc;border-left:4px solid #9b6500}details{padding:12px;border:1px solid #b7c7d1;margin:12px 0}summary{cursor:pointer;font-weight:bold}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}section{scroll-margin-top:15px}.counter{font-size:20px;font-weight:bold}ol li,ul li{margin:8px 0}.toolbar{padding:12px;background:#15384a;color:#fff}.toolbar a{color:white}img{max-width:100%;height:auto}select{max-width:100%;padding:8px}table{font-size:16px} .progress{font-weight:bold;color:#15384a}@media(max-width:650px){main{padding:16px}.grid{grid-template-columns:1fr}th,td{padding:8px!important}h1{font-size:25px!important}}@media print{body{background:#fff}main{max-width:none;padding:0}iframe,.toolbar,button,nav{display:none}article,.panel{break-inside:avoid}a{color:#111}h2{break-after:avoid}}