:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#142238;background:#f5f7fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;flex-direction:column}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}a{color:inherit;text-decoration:none}.top{background:#132846;color:white;display:flex;align-items:center;justify-content:space-between;padding:17px max(22px,calc((100vw - 1120px)/2));gap:15px}.brand{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:800;letter-spacing:.1em}.brand small{display:block;font-size:11px;font-weight:400;letter-spacing:0;color:#c8d7e7;margin-top:3px}.mark{background:#e15a52;color:#fff;border-radius:8px;padding:7px 9px;font-size:25px;font-family:serif}.top nav{display:flex;gap:20px;font-size:14px;color:#e5edf5}main{width:min(1120px,100%);margin:0 auto;flex:1;padding:42px 22px 80px}footer{padding:28px;text-align:center;color:#6d7c8e;font-size:13px}h1{font-size:clamp(30px,4vw,49px);line-height:1.13;letter-spacing:-.035em;margin:10px 0 14px}h2{font-size:22px;margin:0 0 14px}h3{margin:0 0 12px}p{line-height:1.6}.eyebrow{color:#cc554d;text-transform:uppercase;letter-spacing:.13em;font-weight:800;font-size:12px}.muted{color:#68798e}.hero{max-width:720px;margin:18px 0 42px}.hero p{font-size:17px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.card,.panel{background:white;border:1px solid #dfe6ef;border-radius:15px;box-shadow:0 5px 22px rgba(30,50,75,.04)}.card{padding:26px;display:block;transition:transform .15s,box-shadow .15s}.card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(30,50,75,.09)}.card strong{font-size:20px;display:block}.card .meta{display:flex;gap:13px;margin-top:25px;color:#54657a;font-size:13px}.panel{padding:28px}.layout{display:grid;grid-template-columns:1fr 300px;gap:25px}.row{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.tag{font-size:12px;font-weight:700;color:#346078;background:#eaf3f5;border-radius:99px;padding:7px 11px}.button{border:0;border-radius:9px;background:#193e69;color:white;padding:12px 19px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:7px}.button:hover{background:#265386}.button.secondary{background:#edf1f6;color:#193e69}.button.danger{background:#b64942}.button.wide{width:100%}.field{display:block;margin:19px 0}.field span{display:block;margin-bottom:7px;font-size:13px;font-weight:700}.field input{display:block;width:100%;border:1px solid #bdcbd9;background:#fff;border-radius:8px;padding:12px;color:#142238}.field input:focus{outline:2px solid #8ebadd}.help{font-size:13px;color:#64768a}.error{margin:16px 0;border:1px solid #e8aaa6;background:#fff4f3;color:#933a35;border-radius:9px;padding:13px;white-space:pre-wrap}.success{margin:16px 0;border:1px solid #a8d4bd;background:#eefaf3;color:#246342;border-radius:9px;padding:13px}.question{min-height:420px}.question h2{font-family:"Yu Gothic",Meiryo,sans-serif;font-size:clamp(21px,3vw,29px);line-height:1.8;white-space:pre-wrap;margin:20px 0}.underlined{text-decoration:underline;text-underline-offset:4px}.passage{white-space:pre-wrap;font-family:"Yu Gothic",Meiryo,sans-serif;line-height:1.8;background:#f4f7fa;border-left:3px solid #5c85a8;padding:16px;margin:18px 0;max-height:320px;overflow:auto}.options{display:grid;gap:10px;margin:20px 0}.option{display:flex;align-items:center;gap:12px;border:1px solid #d6e0e9;border-radius:9px;padding:12px;cursor:pointer;font-family:"Yu Gothic",Meiryo,sans-serif;line-height:1.55}.option input{accent-color:#193e69}.option:has(input:checked){border-color:#346a9a;background:#ecf4fb}.number-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.number-grid button{min-width:0;border:1px solid #d5e1ea;border-radius:6px;background:white;padding:8px 0}.number-grid .answered{background:#d9ebf6;border-color:#9cc9df}.number-grid .current{outline:2px solid #193e69}.timer{font-variant-numeric:tabular-nums;font-size:25px;font-weight:800;color:#193e69}.timer.urgent{color:#bb3c35}.topline{margin-bottom:20px}.progress{background:#e2eaf0;height:8px;border-radius:9px;overflow:hidden;margin:15px 0}.progress i{display:block;background:#477ca5;height:100%}.notice{font-size:13px;color:#667b8e;margin:15px 0}.result-score{font-size:64px;font-weight:800;letter-spacing:-.05em;color:#193e69}.result-score small{font-size:22px;color:#6d8091}.stats{display:flex;gap:12px;flex-wrap:wrap}.stat{border:1px solid #e1e9f0;border-radius:10px;background:#f8fafc;padding:15px 20px;min-width:145px}.stat strong{display:block;font-size:28px}.stat span{font-size:13px;color:#66798b}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:12px;border-bottom:1px solid #e6ebf0;white-space:nowrap}th{color:#5e7186;background:#f5f8fb}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-grid .panel{min-width:0}.exam-item{border-bottom:1px solid #e2e9ef;padding:14px 0}.exam-item:last-child{border:0}.exam-item strong{display:block;margin-bottom:7px}.exam-item .row{justify-content:flex-start}.review{border-top:1px solid #e5eaf0;padding:16px 0}.review p{margin:6px 0}.loading{padding:80px 0;text-align:center;color:#66798b}@media(max-width:760px){.top{padding:15px}.brand{font-size:14px}.brand small{font-size:10px}.top nav{gap:10px;font-size:12px}main{padding:25px 15px 55px}.layout,.admin-grid{grid-template-columns:1fr}.panel{padding:20px}.question{min-height:0}.row .button{font-size:13px;padding:10px 12px}}
