.jsed-app{--jsed:#19448e;--jsed-dark:#123568;--jsed-bg:#f5f8fc;--jsed-line:#dce5f1;--jsed-text:#202733;--jsed-muted:#697386;max-width:900px;margin:24px auto;color:var(--jsed-text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.7}
.jsed-app *{box-sizing:border-box}.jsed-panel{background:#fff;border:1px solid var(--jsed-line);border-radius:18px;padding:clamp(20px,4vw,40px);box-shadow:0 8px 30px rgba(20,50,90,.07)}
.jsed-hero{text-align:center}.jsed-kicker{color:var(--jsed);font-weight:800;font-size:.92rem;letter-spacing:.04em}.jsed-app h2{font-size:clamp(1.55rem,4vw,2.25rem);line-height:1.35;margin:.35em 0 .5em}.jsed-app h3{line-height:1.55}.jsed-app p{margin:.6em 0 1.2em}
.jsed-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:28px 0}.jsed-test-card{appearance:none;text-align:left;border:2px solid var(--jsed-line);background:#fff;border-radius:16px;padding:22px;cursor:pointer;transition:.18s;color:inherit}.jsed-test-card:hover,.jsed-test-card:focus{border-color:var(--jsed);transform:translateY(-2px);box-shadow:0 8px 22px rgba(25,68,142,.12)}.jsed-test-card strong{display:block;font-size:1.5rem;color:var(--jsed);margin:.2em 0}.jsed-test-card small{display:block;min-height:3.4em}.jsed-card-grade,.jsed-card-meta{display:block;color:var(--jsed-muted);font-size:.88rem}.jsed-card-meta{margin-top:12px;font-weight:700}
.jsed-note{margin-top:24px;background:var(--jsed-bg);padding:14px 16px;border-radius:12px;color:var(--jsed-muted);font-size:.9rem;text-align:left}
.jsed-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.jsed-profile label{display:block;font-weight:700;font-size:.94rem}.jsed-profile input,.jsed-profile select{width:100%;margin-top:6px;padding:12px 13px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;font:inherit}.jsed-profile input:focus,.jsed-profile select:focus{outline:3px solid rgba(25,68,142,.13);border-color:var(--jsed)}
.jsed-required{color:#b42318;font-size:.75rem}.jsed-optional{color:var(--jsed-muted);font-size:.75rem;font-weight:500}.jsed-consent{display:flex!important;gap:10px;align-items:flex-start;margin-top:20px;font-weight:500!important}.jsed-consent input{width:auto;margin-top:5px}.jsed-actions{display:flex;gap:12px;margin-top:26px}.jsed-actions-between{justify-content:space-between}
.jsed-primary,.jsed-secondary,.jsed-link{font:inherit;cursor:pointer;border-radius:10px;font-weight:800}.jsed-primary{border:1px solid var(--jsed);background:var(--jsed);color:#fff;padding:12px 22px}.jsed-primary:hover{background:var(--jsed-dark)}.jsed-secondary{border:1px solid #bdc8d7;background:#fff;color:var(--jsed-text);padding:11px 18px}.jsed-secondary:disabled{opacity:.4;cursor:not-allowed}.jsed-link{border:0;background:transparent;color:var(--jsed);padding:0;margin-bottom:10px}
.jsed-topbar{display:flex;justify-content:space-between;gap:16px;align-items:center}.jsed-progress-text{display:block;color:var(--jsed-muted);font-size:.86rem}.jsed-timer{font-variant-numeric:tabular-nums;font-weight:900;color:var(--jsed)}.jsed-timer.is-low{color:#b42318}.jsed-progress{height:7px;background:#e8eef7;border-radius:999px;margin:14px 0 26px;overflow:hidden}.jsed-progress span{display:block;height:100%;background:var(--jsed)}
.jsed-qmeta{display:flex;justify-content:space-between;gap:12px;align-items:center;color:var(--jsed-muted);font-size:.88rem}.jsed-flag{border:1px solid #d8e1ec;background:#fff;border-radius:999px;padding:6px 10px;cursor:pointer}.jsed-flag.is-on{border-color:#d59e00;background:#fff9df}.jsed-question{font-size:1.18rem;margin:15px 0}.jsed-passage{white-space:pre-wrap;background:#f8fafc;border-left:4px solid var(--jsed);padding:18px;border-radius:8px;margin:18px 0;font-size:1rem}
.jsed-choices{display:grid;gap:11px}.jsed-choice{display:flex;align-items:flex-start;gap:12px;border:1px solid #d8e1ec;border-radius:12px;padding:14px 15px;cursor:pointer;font-weight:600}.jsed-choice:hover{border-color:#8da5c8;background:#fbfdff}.jsed-choice.is-selected{border:2px solid var(--jsed);background:#f4f8ff}.jsed-choice input{margin-top:5px}.jsed-choice-mark{display:inline-grid;place-items:center;flex:0 0 28px;height:28px;border-radius:50%;background:#edf2f8;color:var(--jsed);font-size:.82rem;font-weight:900}.jsed-statusline{margin-top:16px;color:var(--jsed-muted);font-size:.88rem}
.jsed-review-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.jsed-review-summary>div{background:var(--jsed-bg);padding:14px;text-align:center;border-radius:12px}.jsed-review-summary strong{display:block;font-size:1.6rem;color:var(--jsed)}.jsed-review-summary span{font-size:.82rem;color:var(--jsed-muted)}.jsed-alert,.jsed-review-list,.jsed-good,.jsed-exam,.jsed-weak,.jsed-mail-status{padding:15px 16px;border-radius:12px;margin:14px 0}.jsed-alert{background:#fff4e5}.jsed-review-list{background:#fffbe8}.jsed-good{background:#effaf3}.jsed-alert button,.jsed-review-list button{border:0;background:#fff;border-radius:7px;padding:7px 9px;margin:3px;cursor:pointer}
.jsed-result-head{text-align:center}.jsed-score{display:flex;justify-content:center;align-items:baseline;gap:8px;margin:12px 0}.jsed-score strong{font-size:clamp(3.4rem,10vw,5.8rem);line-height:1;color:var(--jsed)}.jsed-score span{font-size:1.15rem;font-weight:800}.jsed-score-comment{max-width:650px;margin:16px auto 28px}.jsed-categories{display:grid;gap:13px}.jsed-cat{display:grid;grid-template-columns:minmax(130px,210px) 1fr 46px;gap:12px;align-items:center}.jsed-cat>div:first-child{display:flex;justify-content:space-between;gap:8px}.jsed-cat>div:first-child span{color:var(--jsed-muted);font-size:.82rem}.jsed-catbar{height:9px;background:#e7edf5;border-radius:999px;overflow:hidden}.jsed-catbar span{display:block;height:100%;background:var(--jsed)}.jsed-cat small{text-align:right}.jsed-weak{background:#fff7ed}.jsed-weak span{display:inline-block;background:#fff;border:1px solid #fed7aa;border-radius:999px;padding:5px 9px;margin:3px}.jsed-exam{background:#f4f7ff;border:1px solid #cfdbf3}.jsed-mail-status{background:#f8fafc;color:var(--jsed-muted)}.jsed-cta{display:block;text-align:center;text-decoration:none!important;margin:24px auto 8px;max-width:520px}
.jsed-loading{text-align:center}.jsed-spinner{width:46px;height:46px;border:4px solid #dfe7f2;border-top-color:var(--jsed);border-radius:50%;margin:0 auto 18px;animation:jsedspin .9s linear infinite}@keyframes jsedspin{to{transform:rotate(360deg)}}
@media(max-width:680px){.jsed-panel{border-radius:12px;padding:18px 15px}.jsed-cards,.jsed-grid2{grid-template-columns:1fr}.jsed-cards{gap:12px}.jsed-test-card small{min-height:0}.jsed-cat{grid-template-columns:1fr 42px}.jsed-cat>div:first-child{grid-column:1/-1}.jsed-review-summary{gap:7px}.jsed-actions .jsed-primary,.jsed-actions .jsed-secondary{flex:1;padding-left:10px;padding-right:10px}.jsed-question{font-size:1.08rem}}

.jsed-wrong{margin:20px 0;border:1px solid var(--jsed-line);border-radius:12px;background:#fff}.jsed-wrong summary{cursor:pointer;padding:14px 16px;font-weight:800;color:var(--jsed)}.jsed-wrong>div{padding:0 16px 16px}.jsed-wrong-item{padding:14px 0;border-top:1px solid var(--jsed-line)}.jsed-wrong-item p{margin:.4em 0}.jsed-wrong-item small{color:var(--jsed-muted)}

/* RC2: WordPressテーマ側の見出し装飾を診断UI内ではリセット */
.jsed-app h2,.jsed-app h3,.jsed-app h2::before,.jsed-app h2::after,.jsed-app h3::before,.jsed-app h3::after{
  background:none!important;background-image:none!important;border:0!important;box-shadow:none!important;
}
.jsed-app h2::before,.jsed-app h2::after,.jsed-app h3::before,.jsed-app h3::after{display:none!important;content:none!important}
.jsed-app .jsed-question{
  background:#f4f8ff!important;
  border:0!important;
  border-left:5px solid var(--jsed)!important;
  padding:14px 16px!important;
  border-radius:8px!important;
  color:var(--jsed-text)!important;
}
.jsed-app .jsed-section-title{
  background:#eef4fc!important;
  border:0!important;
  border-left:5px solid var(--jsed)!important;
  padding:10px 14px!important;
  border-radius:7px!important;
  color:var(--jsed-dark)!important;
  margin:20px 0 16px!important;
}
.jsed-app .jsed-weak{background:#f7faff!important;border:1px solid #d5e2f4}
.jsed-app .jsed-weak>div{display:flex;flex-wrap:wrap;gap:8px}
.jsed-app .jsed-weak span{
  display:inline-flex;align-items:center;gap:6px;background:#fff!important;border:1px solid #bfd0e9!important;
  border-radius:999px;padding:6px 10px!important;margin:0!important;color:var(--jsed-dark)
}
.jsed-app .jsed-weak span b{
  display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--jsed);color:#fff;font-size:.78rem
}
.jsed-app .jsed-other-weak{margin:12px 0 0!important;color:var(--jsed-muted);font-size:.9rem}
.jsed-app .jsed-exam{background:#f4f7ff!important;border:1px solid #cfdbf3!important}

/* RC3: 国語長文の開閉 */
.jsed-app .jsed-passage-wrap{margin:18px 0}
.jsed-app .jsed-passage-toggle{
  width:100%;text-align:left;border:1px solid #bfd0e9;background:#f4f8ff;color:var(--jsed-dark);
  border-radius:10px;padding:11px 14px;font:inherit;font-weight:800;cursor:pointer
}
.jsed-app .jsed-passage-toggle:hover{background:#eef4fc}
.jsed-app .jsed-passage{
  display:none;
  white-space:pre-wrap;background:#f8fafc;border-left:4px solid var(--jsed);
  padding:18px;border-radius:8px;margin:10px 0 0;font-size:1rem;line-height:1.95
}
.jsed-app .jsed-passage.is-open{display:block}
.jsed-app .jsed-cta-note{
  margin:18px 0 8px;padding:14px 16px;border:1px dashed #bfd0e9;border-radius:10px;
  background:#f8fbff;color:var(--jsed-muted);font-size:.92rem
}
