.practice-record{padding:20px 22px;margin:22px 0;background:#f4f8f1;border:1px solid #b9cdc5;border-radius:16px;color:#304844;font-size:14px;line-height:1.8}.practice-record[hidden]{display:none}.record-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.record-heading h2{font-size:17px;margin:0;font-weight:600}.record-heading .progress-line{margin:0;font-size:14px}.record-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.record-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;border:1px solid #9bb6a9;border-radius:9px;background:white;color:#366c61;text-decoration:none}.record-actions a[hidden]{display:none}.record-actions .primary{background:#366c61;color:white}.save-status,.restore-status{font-size:12px;color:#536c60;margin:4px 0}.restore-status:empty{display:none}.record-list{margin:12px 0 0}.record-list summary,.clear-record summary{min-height:44px;cursor:pointer;line-height:1.6;padding:10px 0}.record-list nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:8px 0}.record-list a{padding:8px;min-height:44px;background:white;border:1px solid #bccdc2;border-radius:8px;text-decoration:none;color:#456254;font-size:12px;display:flex;align-items:center;justify-content:center;line-height:1.5}.record-list a[data-state="done"]{background:#e5f1e7;border-color:#83a78d}.record-list a[data-state="retry"]{background:#fff3e4;border-color:#c89968;color:#775332}.record-list a[data-state="started"]{background:#edf3f8}.clear-record{font-size:12px;margin-top:4px}.clear-record button{font-size:14px;min-height:44px;padding:8px 14px;border-radius:9px;border:1px solid #9bb6a9;background:white;color:#366c61}.clear-record p{margin:0 0 10px}.practice-hints{margin:20px 0 12px;padding:0 16px;border:1px solid #ddcead;border-radius:12px;background:#fffaf0;color:#574e37;font-size:15px;line-height:1.9}.practice-hints>summary{padding:12px 0;min-height:48px;cursor:pointer;font-size:15px;font-weight:600}.practice-hints p{margin:0 0 14px}.practice-hints .next-hint{min-height:44px;margin:0 0 16px;padding:8px 14px;border:1px solid #cbb58c;border-radius:9px;background:white;color:#655331;font-size:14px}.practice-hints [hidden]{display:none!important}.question{scroll-margin-top:20px}.question:focus{outline:2px solid #94b2a2;outline-offset:5px}.practice-record a:focus-visible,.practice-hints button:focus-visible,.practice-hints summary:focus-visible{outline:3px solid #b66a3e;outline-offset:3px}
.resume-card{box-sizing:border-box;max-width:960px;width:calc(100% - 28px);margin:18px auto;padding:18px 22px;border:1px solid #b9cdc5;border-radius:15px;background:#f2f8ef;color:#304844;font-family:"Hiragino Sans","Yu Gothic","Meiryo",system-ui,sans-serif;line-height:1.8;text-align:left}.resume-card[hidden]{display:none}.resume-card h2{font-size:17px;margin:0 0 4px}.resume-card p{font-size:14px;margin:4px 0 10px}.resume-card a{font-size:14px;display:inline-flex;align-items:center;min-height:44px;padding:7px 16px;border:1px solid #91b19c;border-radius:9px;color:#366c61;text-decoration:none;background:white}
@media(max-width:600px){.practice-record{padding:17px 16px}.record-actions{flex-direction:column}.record-actions a{width:100%}.record-list nav{grid-template-columns:repeat(3,minmax(0,1fr))}.practice-hints{padding:0 14px}.practice-nav a,.jump-links a{min-height:44px}.answer-input input,.answer-input select,textarea{font-size:16px!important}.actions button{min-height:44px}.answer-grid{min-width:0}.question .answer-field{min-width:0}.practice-shell{overflow-wrap:break-word}}
@media print{.practice-record,.practice-hints,.resume-card{display:none!important}}

.practice-restart-button{
  display:inline-flex;align-items:center;justify-content:center;
  box-sizing:border-box;flex:0 1 auto;min-width:0;max-width:100%;min-height:44px;
  margin:10px 0 0;padding:8px 16px;
  border:1px solid #91b19c;border-radius:11px;
  background:#fffaf0;color:#366c61;
  font:inherit;font-size:14px;font-weight:600;line-height:1.6;
  text-align:center;white-space:normal;overflow-wrap:anywhere;cursor:pointer;
}
.practice-restart-button:hover{background:#f1f6ec;border-color:#6e9782}
.practice-restart-button:focus-visible{outline:3px solid #b66a3e;outline-offset:3px}
.practice-restart-button[hidden]{display:none}
.record-actions>.practice-restart-button,.practice-record-row>.practice-restart-button{margin-top:0}
.practice-restart-note,#restart-practice-status,#practice-restart-status{
  box-sizing:border-box;flex:1 1 100%;min-width:0;max-width:100%;width:100%;
  margin:6px 0 0;color:#536c60;font-size:12px;line-height:1.7;overflow-wrap:anywhere;
}
#restart-practice-status:empty,#practice-restart-status:empty{margin:0}
.practice-restart-note[role="status"]:empty{margin:0}
#practice-question-restart{
  box-sizing:border-box;min-width:0;max-width:100%;
  margin-top:14px;padding:14px 16px;
  border:1px solid #b9cdc5;border-radius:12px;background:#f4f8f1;
}
#practice-question-restart[hidden]{display:none!important}
#practice-question-restart>.practice-restart-button{margin-top:0}
@media(max-width:600px){
  .practice-restart-button{width:100%}
}
@media print{
  .practice-restart-button,.practice-restart-note,#restart-practice-status,#practice-restart-status,#practice-question-restart{display:none!important}
}
