/* Component typography is explicit so theme paragraph sizes cannot overwhelm results. */
.ybs-diagnosis{--ybs-border:#dce5eb;--ybs-muted:#526575;box-sizing:border-box;width:100%;max-width:1080px;margin:32px auto;padding:clamp(20px,4vw,44px);border:1px solid var(--ybs-border);border-top:5px solid var(--ybs-primary);border-radius:24px;background:linear-gradient(145deg,#fff 35%,var(--ybs-background));color:var(--ybs-text);font:15px/1.75 -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;box-shadow:0 12px 40px #203d5010;text-align:left;overflow-wrap:anywhere}
/* Expand only the diagnostic block in a WordPress constrained layout. Never change siblings. */
.is-layout-constrained>.ybs-diagnosis{width:calc(100% - 32px);max-width:1080px!important}
.ybs-diagnosis *{box-sizing:border-box}
.ybs-diagnosis :is(p,li,label,span,a,button,input,select,textarea){font-size:inherit;line-height:inherit}
.ybs-diagnosis p{margin:12px 0;font-size:15px}
.ybs-diagnosis :is(h2,h3,h4,h5){font-family:inherit;font-style:normal;letter-spacing:normal;line-height:1.5;color:var(--ybs-text);padding:0;border:0;background:none}
.ybs-diagnosis h2{font-size:26px;font-weight:750;margin:0 0 24px;max-width:none}
.ybs-diagnosis h3{font-size:19px;font-weight:700;margin:28px 0 16px}
.ybs-diagnosis h4,.ybs-diagnosis h5{font-size:17px;font-weight:700;margin:16px 0 8px}
.ybs-diagnosis ul{padding-left:22px;margin:12px 0}
.ybs-diagnosis li{margin:6px 0;font-size:15px}
.ybs-diagnosis [hidden]{display:none!important}
.ybs-diagnosis :focus-visible{outline:3px solid var(--ybs-primary);outline-offset:4px}
.ybs-diagnosis :is(.ybs-question,.ybs-result-title,.ybs-pr):focus:not(:focus-visible){outline:none}
.ybs-diagnosis .ybs-progress-label{display:inline-block;margin:0 12px 8px 0;color:var(--ybs-primary);font-size:13px;font-weight:700}
.ybs-diagnosis .ybs-progress-count{display:inline-block;font-size:13px;color:var(--ybs-muted);margin:0 0 8px}
.ybs-diagnosis .ybs-progress{display:block;appearance:none;width:100%;height:8px;border:0;border-radius:8px;overflow:hidden;background:#e8eef2;margin:0 0 20px;accent-color:var(--ybs-primary)}
.ybs-diagnosis .ybs-progress::-webkit-progress-bar{background:#e8eef2}
.ybs-diagnosis .ybs-progress::-webkit-progress-value{background:var(--ybs-primary);border-radius:8px;transition:width .15s}
.ybs-diagnosis .ybs-progress::-moz-progress-bar{background:var(--ybs-primary);border-radius:8px}
.ybs-diagnosis .ybs-auto-hint{font-size:13px;color:var(--ybs-muted);margin-bottom:20px}
.ybs-diagnosis .ybs-fieldset{border:0;padding:0;margin:0;min-width:0}
.ybs-diagnosis .ybs-question{float:none;width:100%;font-size:20px;font-weight:700;margin:0 0 16px;color:var(--ybs-text)}
.ybs-diagnosis .ybs-option{display:flex;align-items:center;gap:12px;min-height:52px;padding:14px 18px;margin:10px 0;border:1px solid var(--ybs-border);border-radius:12px;background:#fff;cursor:pointer;line-height:1.6;font-size:15px;transition:background .15s,border-color .15s,box-shadow .15s}
.ybs-diagnosis .ybs-option:hover{border-color:var(--ybs-primary);box-shadow:0 3px 12px #203d5010}
.ybs-diagnosis .ybs-option:has(input:checked){border-color:var(--ybs-primary);background:var(--ybs-background);box-shadow:inset 4px 0 var(--ybs-primary);font-weight:700}
.ybs-diagnosis input{appearance:auto;position:static;opacity:1;flex:none;width:18px;height:18px;margin:0;accent-color:var(--ybs-primary)}
.ybs-diagnosis .ybs-controls{display:flex;justify-content:space-between;gap:12px;margin-top:20px}
.ybs-diagnosis .ybs-button{line-height:1.5;font-family:inherit;font-size:15px;font-weight:600;min-height:46px;padding:11px 22px;margin:0;border:1px solid var(--ybs-primary);border-radius:10px;background:#fff;color:var(--ybs-primary);cursor:pointer}
.ybs-diagnosis .ybs-next,.ybs-diagnosis .ybs-lead-form button[type=submit]{background:var(--ybs-primary);color:#fff;box-shadow:0 4px 12px #203d5018}
.ybs-diagnosis .ybs-button:disabled{opacity:.45;cursor:default}
.ybs-diagnosis .ybs-error{color:#a31919;margin:8px 0;min-height:0}
.ybs-diagnosis .ybs-error:empty{display:none}
.ybs-diagnosis .ybs-pr{font-size:15px;font-weight:400;line-height:1.75;color:var(--ybs-text);background:none;border:0;border-radius:0;padding:0;margin:0 0 24px}
.ybs-diagnosis .ybs-pr strong{font-weight:400}
.ybs-diagnosis .ybs-result-title{display:inline-block;font-size:15px;letter-spacing:.08em;color:var(--ybs-primary);background:var(--ybs-background);border-radius:6px;padding:5px 12px;margin:0 0 6px}
.ybs-diagnosis .ybs-summary{color:var(--ybs-muted);max-width:76ch;margin:8px 0 28px}
/* One candidate per row, at every screen size; no rank numbers. */
.ybs-diagnosis .ybs-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin:16px 0 32px}
.ybs-diagnosis .ybs-card{min-width:0;background:#fff;border:1px solid var(--ybs-border);border-left:5px solid var(--ybs-primary);border-radius:16px;padding:24px;box-shadow:0 4px 18px #203d5008}
.ybs-diagnosis .ybs-card h4,.ybs-diagnosis .ybs-card h5{font-size:21px;font-weight:750;margin:0 0 12px}
.ybs-diagnosis .ybs-card .ybs-card-label{display:inline-block;font-size:13px;font-weight:700;padding:3px 12px;border-radius:20px;color:var(--ybs-primary);background:var(--ybs-background);margin:0 0 12px}
.ybs-diagnosis .ybs-card .ybs-card-meta{font-size:13px;color:var(--ybs-muted)}
.ybs-diagnosis .ybs-reasons{list-style:none;padding:0;margin:16px 0;display:grid;gap:8px}
.ybs-diagnosis .ybs-reasons li{position:relative;padding:10px 14px 10px 36px;background:#f5f8fa;border-radius:8px;margin:0}
.ybs-diagnosis .ybs-reasons li::before{content:'✓';position:absolute;left:14px;color:var(--ybs-primary);font-weight:700}
.ybs-diagnosis .ybs-checked-on{font-size:12px;color:var(--ybs-muted)}
.ybs-diagnosis .ybs-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 0;color:var(--ybs-primary);font-size:15px;font-weight:600;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.ybs-diagnosis .ybs-card>.ybs-link{padding:10px 18px;border-radius:9px;background:var(--ybs-primary);color:#fff;text-decoration:none}
.ybs-diagnosis .ybs-card>.ybs-link::after{content:'→'}
.ybs-diagnosis .ybs-result-block,.ybs-diagnosis .ybs-course{margin:20px 0;padding:24px;border:1px solid var(--ybs-border);border-radius:16px;background:#fff}
.ybs-diagnosis .ybs-result-block>h3:first-child,.ybs-diagnosis .ybs-course>h4:first-child{margin-top:0}
.ybs-diagnosis .ybs-block-risk{background:var(--ybs-background);border-top:4px solid var(--ybs-primary)}
.ybs-diagnosis .ybs-level{font-size:28px;font-weight:750;color:var(--ybs-primary);margin:12px 0}
.ybs-diagnosis .ybs-level-scale{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none;margin:20px 0 0}
.ybs-diagnosis .ybs-level-scale li{padding:7px 14px;border:1px solid var(--ybs-border);border-radius:8px;background:#fff;font-size:14px;color:var(--ybs-muted)}
.ybs-diagnosis .ybs-level-scale .ybs-level-current{border-color:var(--ybs-primary);background:var(--ybs-primary);color:#fff;font-weight:700}
.ybs-diagnosis .ybs-advice{background:#fff9eb;border-left:4px solid #d2a03b;border-radius:10px;padding:16px 20px 16px 38px;margin:16px 0 28px}
.ybs-diagnosis .ybs-notice,.ybs-diagnosis .ybs-empty{padding:16px;border-left:4px solid #d2a03b;background:#fff9eb;border-radius:8px;font-weight:600}
.ybs-diagnosis .ybs-lead-placeholder,.ybs-diagnosis .ybs-block-lead_form{border:1px solid #ccdae5;border-top:4px solid var(--ybs-primary);padding:24px;border-radius:16px;margin:28px 0;background:#f2f6fa}
.ybs-diagnosis .ybs-lead-placeholder>h3:first-child{margin-top:0}
.ybs-diagnosis .ybs-recipient{font-size:15px;line-height:1.75}
.ybs-diagnosis .ybs-disclaimer,.ybs-diagnosis .ybs-comparison-disclaimer{font-size:13px;line-height:1.8;color:var(--ybs-muted);margin:20px 0}
.ybs-diagnosis .ybs-lead-form{margin-top:20px}
.ybs-diagnosis .ybs-lead-fields{border:0;padding:0;margin:0;min-width:0}
.ybs-diagnosis .ybs-lead-label{display:block;margin:16px 0;font-size:14px;font-weight:600}
.ybs-diagnosis .ybs-lead-label input,.ybs-diagnosis .ybs-lead-label select,.ybs-diagnosis .ybs-lead-label textarea,.ybs-diagnosis .ybs-search{display:block;width:100%;height:auto;min-height:46px;padding:12px;margin-top:6px;border:1px solid #adbdca;border-radius:8px;background:#fff;color:var(--ybs-text);font-weight:400;line-height:1.5;font-family:inherit;font-size:16px}
.ybs-diagnosis .ybs-lead-label textarea{min-height:120px;resize:vertical}
.ybs-diagnosis .ybs-consent{display:flex;gap:10px;align-items:flex-start;margin:20px 0 6px;font-size:14px}
.ybs-diagnosis .ybs-consent input{width:20px;height:20px;flex:0 0 auto;margin-top:2px}
.ybs-diagnosis .ybs-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.ybs-diagnosis .ybs-success{padding:18px;border:1px solid var(--ybs-primary);border-radius:10px;background:#fff;font-weight:600}
.ybs-diagnosis .ybs-challenge{margin-top:16px}
.ybs-diagnosis .ybs-search-label{display:block;margin:16px 0;font-size:14px}
@media(max-width:600px){.ybs-diagnosis{padding:20px 16px;border-radius:16px;margin:20px auto}.is-layout-constrained>.ybs-diagnosis{width:calc(100% - 24px)}.ybs-diagnosis h2{font-size:22px}.ybs-diagnosis .ybs-question{font-size:18px}.ybs-diagnosis .ybs-card,.ybs-diagnosis .ybs-result-block,.ybs-diagnosis .ybs-course,.ybs-diagnosis .ybs-lead-placeholder{padding:18px}.ybs-diagnosis .ybs-card h4,.ybs-diagnosis .ybs-card h5{font-size:19px}.ybs-diagnosis .ybs-option{padding:12px;min-height:50px}}
@media(prefers-reduced-motion:reduce){.ybs-diagnosis *{transition:none!important}}
