
:root{--jmd-blue:#19448e;--jmd-navy:#17365d;--jmd-teal:#2a7f8e;--jmd-bg:#f5f7fb;--jmd-text:#172033;--jmd-muted:#5e6a7d;--jmd-border:#d7deea;--jmd-good:#2e7d32;--jmd-warn:#a65d00;--jmd-danger:#b3261e}
.jmd-app{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;color:var(--jmd-text);max-width:920px;margin:24px auto;background:#fff;border:1px solid var(--jmd-border);border-radius:18px;box-shadow:0 10px 32px rgba(23,54,93,.08);overflow:hidden}
.jmd-app *{box-sizing:border-box}.jmd-shell{min-height:520px}.jmd-loading,.jmd-center{padding:52px 24px;text-align:center}.jmd-start{padding:34px 24px}.jmd-start h2,.jmd-result h2{font-size:clamp(24px,5vw,36px);line-height:1.35;margin:0 0 14px}.jmd-lead{font-size:17px;line-height:1.9}.jmd-notice{background:#fff8df;border:1px solid #e8d38e;border-radius:12px;padding:14px 16px;line-height:1.75}.jmd-privacy{background:var(--jmd-bg);border-radius:12px;padding:14px 16px;font-size:14px;line-height:1.75}.jmd-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.jmd-btn{appearance:none;border:0;border-radius:12px;padding:13px 20px;font-weight:700;font-size:16px;cursor:pointer;min-height:48px}.jmd-btn:focus-visible,.jmd-choice:focus-within{outline:3px solid #f2b84b;outline-offset:2px}.jmd-btn-primary{background:var(--jmd-blue);color:#fff}.jmd-btn-secondary{background:#e9eef7;color:var(--jmd-navy)}.jmd-btn-ghost{background:#fff;border:1px solid var(--jmd-border);color:var(--jmd-navy)}.jmd-btn[disabled]{opacity:.5;cursor:not-allowed}.jmd-header{position:sticky;top:0;z-index:3;background:#fff;border-bottom:1px solid var(--jmd-border);padding:12px 18px}.jmd-header-line{display:flex;justify-content:space-between;gap:12px;font-size:14px;font-weight:700}.jmd-progress{height:8px;background:#e7ebf2;border-radius:99px;margin-top:9px;overflow:hidden}.jmd-progress>span{display:block;height:100%;background:var(--jmd-blue);transition:width .2s}.jmd-save{font-size:12px;color:var(--jmd-muted);margin-top:7px}.jmd-question{padding:24px 22px 96px}.jmd-question-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.jmd-chip{background:#eef3fa;color:var(--jmd-navy);border-radius:99px;padding:5px 10px;font-size:13px;font-weight:700}.jmd-stem{white-space:pre-wrap;font-size:18px;line-height:1.9;font-weight:600;margin:0 0 18px}.jmd-figure{margin:16px auto 22px;text-align:center}.jmd-figure img{display:block;max-width:100%;height:auto;margin:auto;border:1px solid var(--jmd-border);border-radius:12px;background:#fff}.jmd-figure button{margin-top:8px;background:none;border:0;color:var(--jmd-blue);text-decoration:underline;cursor:pointer}.jmd-options,.jmd-fields{display:grid;gap:12px}.jmd-choice{display:flex;align-items:flex-start;gap:11px;border:1px solid var(--jmd-border);border-radius:12px;padding:14px;background:#fff;min-height:52px;cursor:pointer;line-height:1.6}.jmd-choice:hover{border-color:#8ca4c7;background:#f9fbff}.jmd-choice input{margin-top:5px;transform:scale(1.2)}.jmd-field{display:grid;gap:7px}.jmd-field label,.jmd-field legend{font-weight:700}.jmd-field input,.jmd-field select{width:100%;min-height:48px;border:1px solid #aeb9ca;border-radius:10px;padding:10px 12px;font-size:17px;background:#fff}.jmd-footer{position:sticky;bottom:0;z-index:3;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid var(--jmd-border);padding:12px 16px;display:grid;grid-template-columns:1fr auto 1fr;gap:10px}.jmd-footer .jmd-next{justify-self:end}.jmd-review{padding:28px 22px}.jmd-grid{display:grid;grid-template-columns:repeat(6,minmax(44px,1fr));gap:8px;margin:20px 0}.jmd-qcell{border:1px solid var(--jmd-border);border-radius:10px;min-height:46px;background:#fff;font-weight:700;cursor:pointer}.jmd-qcell.answered{background:#e5f3e7;border-color:#8bc493}.jmd-qcell.review{box-shadow:inset 0 0 0 3px #f2b84b}.jmd-qcell.blank{background:#fff4e5}.jmd-result{padding:30px 22px}.jmd-score{display:flex;align-items:baseline;justify-content:center;gap:6px;margin:20px 0}.jmd-score strong{font-size:64px;color:var(--jmd-blue)}.jmd-score span{font-size:22px;color:var(--jmd-muted)}.jmd-card{border:1px solid var(--jmd-border);border-radius:14px;padding:18px;margin:16px 0;background:#fff}.jmd-card h3{margin-top:0;color:var(--jmd-navy)}.jmd-bars{display:grid;gap:12px}.jmd-bar-line{display:grid;grid-template-columns:minmax(110px,1fr) 3fr auto;gap:10px;align-items:center}.jmd-bar{height:12px;background:#e9edf4;border-radius:99px;overflow:hidden}.jmd-bar span{display:block;height:100%;background:var(--jmd-teal)}.jmd-priority{counter-reset:priority;list-style:none;padding:0}.jmd-priority li{counter-increment:priority;position:relative;padding:14px 14px 14px 52px;margin:10px 0;background:#f7f9fc;border-radius:12px}.jmd-priority li:before{content:counter(priority);position:absolute;left:14px;top:14px;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:var(--jmd-blue);color:#fff;font-weight:800}.jmd-trend{border-left:4px solid #e0a12b;padding:8px 12px;margin:8px 0}.jmd-explanations details{border-top:1px solid var(--jmd-border);padding:12px 0}.jmd-explanations summary{cursor:pointer;font-weight:700;line-height:1.6}.jmd-answer-row{font-size:14px;color:var(--jmd-muted);margin:10px 0}.jmd-correct{color:var(--jmd-good)}.jmd-incorrect{color:var(--jmd-danger)}.jmd-offline{background:#fff0f0;color:#8b1e19;padding:8px 14px;text-align:center;font-weight:700}.jmd-modal{position:fixed;inset:0;background:rgba(0,0,0,.78);display:grid;place-items:center;z-index:99999;padding:16px}.jmd-modal img{max-width:96vw;max-height:90vh;background:#fff}.jmd-modal button{position:fixed;top:12px;right:12px;background:#fff;border:0;border-radius:50%;width:44px;height:44px;font-size:24px}.jmd-error{padding:22px;color:var(--jmd-danger);background:#fff3f2;border-radius:12px;margin:16px}.jmd-hidden{display:none!important}
@media(max-width:640px){.jmd-app{margin:0;border-radius:0;border-left:0;border-right:0}.jmd-start,.jmd-question,.jmd-review,.jmd-result{padding-left:16px;padding-right:16px}.jmd-grid{grid-template-columns:repeat(5,1fr)}.jmd-footer{grid-template-columns:1fr 1fr}.jmd-footer .jmd-review-toggle{grid-column:1/-1;grid-row:1}.jmd-bar-line{grid-template-columns:1fr auto}.jmd-bar{grid-column:1/-1;grid-row:2}.jmd-score strong{font-size:54px}}
@media(prefers-reduced-motion:reduce){.jmd-app *{scroll-behavior:auto!important;transition:none!important}}
.jmd-learning-list{display:grid;gap:14px}.jmd-learning-item{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:16px;border:1px solid #dce5f0;border-radius:13px;background:#f9fbfe}.jmd-learning-rank{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--jmd-blue);color:#fff;font-weight:800}.jmd-learning-item h4{margin:0 0 4px;color:var(--jmd-navy);font-size:18px}.jmd-learning-item p{margin:6px 0}.jmd-learning-label{display:inline-block;background:#eaf1fb;color:var(--jmd-navy);border-radius:999px;padding:3px 10px;font-size:13px;font-weight:700}.jmd-learning-evidence{font-size:14px;color:var(--jmd-muted)}.jmd-learning-preparing{display:inline-block;margin-top:8px;padding:9px 13px;border-radius:10px;background:#f0f1f3;color:#606773;font-weight:700}
@media(max-width:640px){.jmd-learning-item{grid-template-columns:34px 1fr;padding:14px}.jmd-learning-rank{width:30px;height:30px}.jmd-learning-item .jmd-btn{width:100%;text-align:center}}
.jmd-learning-footnote{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--jmd-border);font-size:14px;color:var(--jmd-muted)}
.jmd-learning-evidence strong{color:var(--jmd-navy)}
