:root{font-family:-apple-system,BlinkMacSystemFont,"Yu Gothic",Meiryo,sans-serif;color:#172f36;background:#edf2f3;font-size:16px;font-synthesis:none;--teal:#123e48;--muted:#536b73;--line:#d4e0e3}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;min-height:48px;border:1px solid var(--line);border-radius:12px;background:#fff;color:inherit;padding:13px 16px;text-align:left;line-height:1.5}button:hover{border-color:#537e87}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #da8800;outline-offset:3px}button:disabled{cursor:default;opacity:1}.shell{max-width:640px;margin:auto;padding:0 20px max(22px,env(safe-area-inset-bottom))}header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:26px 0 23px;border-bottom:1px solid var(--line);margin-bottom:26px}#brand{color:var(--teal);font-size:24px;text-decoration:none;font-weight:800;letter-spacing:.08em}#brand span{font-size:17px;background:var(--teal);color:white;border-radius:6px;padding:4px 7px;letter-spacing:0}.edition{font-size:13px;color:var(--muted)}h1{font-size:27px;line-height:1.5;letter-spacing:.015em;margin:0 0 8px}h2{font-size:19px;margin:25px 0 13px}p{line-height:1.8;margin:8px 0}.muted,.meta{color:var(--muted);font-size:14px}.eyebrow{font-size:13px;letter-spacing:.13em;font-weight:700;color:#277080}.primary{display:block;width:100%;background:var(--teal);border-color:var(--teal);color:white;font-weight:700;text-align:center;margin-top:18px;font-size:18px;min-height:58px}.primary:hover{background:#205967}.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:22px;margin:18px 0}.summary{display:flex;gap:12px;margin:22px 0}.stat{flex:1;border-left:3px solid #90bac0;padding-left:12px}.stat strong{display:block;font-size:25px}.stat span{font-size:13px;color:var(--muted)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field{display:block}.field strong{display:block;font-size:16px}.field small{display:block;color:var(--muted);font-size:13px;margin-top:4px}.field:last-child:nth-child(odd){grid-column:span 2}.row{display:flex;gap:10px;align-items:center}.row>*{flex:1}select{min-height:48px;max-width:100%;background:white;color:inherit;border:1px solid var(--line);border-radius:10px;padding:10px}.secondary{width:100%;text-align:center;margin-top:10px}.badge{font-size:13px;display:inline-block;background:#e5eff1;color:#21515c;padding:5px 9px;border-radius:6px;margin-right:6px}.quiz-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.quiz-head button{min-height:44px;padding:7px 12px;background:transparent}.progress{height:5px;background:#d7e3e6;margin:15px 0 23px;border-radius:5px;overflow:hidden}.progress span{display:block;background:#287b89;height:100%}.question{font-size:20px;line-height:1.85;margin:18px 0 22px;font-weight:700;overflow-wrap:anywhere}.choices{display:grid;gap:12px}.choice{display:flex;align-items:flex-start;gap:12px;padding:17px 14px;min-height:62px;width:100%}.letter{flex-shrink:0;display:grid;place-items:center;width:28px;height:28px;background:#eef3f4;border-radius:7px;font-size:14px;font-weight:700}.choice.correct{border:2px solid #147a54;background:#eefaf4}.choice.wrong{border:2px solid #b44238;background:#fff2f0}.choice .choice-text{line-height:1.75}.mark{font-size:13px;font-weight:700;margin-left:7px}.feedback{border-left:5px solid #147a54;scroll-margin-top:15px}.feedback.bad{border-left-color:#b44238}.feedback h2{margin:0 0 8px}.source{overflow-wrap:anywhere;font-size:13px;color:var(--muted)}details{margin-top:20px;font-size:14px;line-height:1.8}summary{cursor:pointer;padding:10px 0;min-height:44px}footer{font-size:12px;color:var(--muted);text-align:center;padding-top:30px}footer p{font-size:12px}#update{min-height:44px;margin-left:8px;font-size:14px}.notice{background:#fff5db;border:1px solid #e8ce8a;border-radius:10px;padding:12px;font-size:14px}.score{font-size:52px;color:var(--teal);font-weight:800}.score small{font-size:20px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:12px 5px;text-align:left;border-bottom:1px solid var(--line)}.result-list{padding-left:22px;line-height:1.8}.result-list li{margin:12px 0}@media(max-width:380px){.shell{padding-left:14px;padding-right:14px}.edition{font-size:12px}h1{font-size:24px}.panel{padding:17px}.question{font-size:18px}.grid{gap:8px}.field{padding:12px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,border-color .15s}}

