*{box-sizing:border-box}body{margin:0;background:#d9e2da;color:#213d35;font:17px/1.65 system-ui,sans-serif}main{margin:auto;max-width:520px;height:100vh;height:100dvh;background:#faf8ee;display:flex;flex-direction:column}header,nav{padding:12px 18px;background:#153f37;color:#faf9df}header small,.eyebrow{font-size:12px;letter-spacing:.12em;font-weight:700}h1{font:600 24px/1.3 serif;margin:3px 0}h2{font:700 27px/1.4 serif;margin:.4em 0}h3{font-size:19px}article{flex:1;min-height:0;overflow:auto;padding:18px}nav{display:flex;gap:6px;padding-bottom:max(10px,env(safe-area-inset-bottom))}button,input{font:inherit}button,.file{background:#fffdf4;color:#173f35;border:1px solid #91a69a;border-radius:10px;padding:10px 12px;min-height:45px;cursor:pointer}button:disabled{opacity:.55}nav button{flex:1;font-size:15px;padding:6px}.primary{background:#216654;color:white}.row{display:block;width:100%;text-align:left;margin:9px 0}.panel,figure{margin:14px 0;padding:14px;background:#e6eddf;border-radius:14px}.hint{border-left:4px solid #c7923e;padding:8px 12px;background:#fff4d8}.stage{overflow:auto;border-radius:10px;background:#d3dabf}.stage svg,figure svg{display:block;width:100%;height:auto}svg text{font:15px system-ui}button:focus-visible{outline:3px solid #cd802c}input[type=search]{width:100%;padding:10px}.meta,figcaption{font-size:13px}a{color:#165949}.big{font:700 38px serif}.file{display:inline-block}.file input{max-width:100%}@media(pointer:coarse) and (min-width:600px) and (max-width:1366px){main{max-width:none}}

.study-map details{background:#fff;border:1px solid #a9c0c8;border-radius:6px;margin:9px 0;color:#123847}.study-map summary{padding:12px;cursor:pointer;display:block}.study-map summary b{float:right;font-size:.9em}.study-map small,.study-map button small,#unit-rating section small{display:block;font-size:.75em}.study-map progress{display:block;width:100%;height:8px;margin-top:7px;accent-color:#007e85}.study-map details button{display:block;width:100%;text-align:left;padding:.65rem;border-top:1px solid #cad7da}#unit-rating{flex:none;background:#f4f8f9;color:#173746;padding:5px 8px;font-size:13px}#unit-rating[hidden]{display:none}#unit-rating div button{float:right;background:transparent;padding:0 4px;color:inherit;border:none;font-size:12px;min-height:0}#unit-rating section{clear:both;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}#unit-rating section button{width:100%;min-width:0;padding:6px 0;border:2px solid transparent;border-radius:6px;color:#263944;background:#fce4df;font-size:13px}#unit-rating section button:nth-child(2){background:#ffebcc}#unit-rating section button:nth-child(3){background:#d8efe7}#unit-rating section button:nth-child(4){background:#daebf5}#unit-rating section button[aria-pressed=true]{border-color:#14736d}
