:root{--primary:#245E63;--secondary:#4F6FA8;--accent:#E6B566;--cta:#B84A3A;--text:#263238;--muted:#667085;--border:#D9E1E5;--success:#2E7D5B;--warning:#9A6700;--error:#B42318;--bg:#fff;--mist:#F5F7F8;--radius:12px;--button-radius:10px}
*{box-sizing:border-box}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Meiryo UI",Meiryo,"Noto Sans JP",sans-serif;color:var(--text);background:var(--mist)}body{margin:0;line-height:1.75;background:var(--mist)}a{color:var(--secondary)}.shell{width:min(100% - 40px,720px);margin:auto}.app-header{height:64px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center}.header-inner{display:flex;justify-content:space-between;align-items:center}.brand{text-decoration:none;font-weight:800;color:var(--primary);font-size:14px}.diag-name{font-weight:700}.main{min-height:calc(100vh - 180px);padding:36px 0 64px}.app-footer{background:#fff;border-top:1px solid var(--border);padding:24px 0}.footer-inner{display:flex;gap:18px;justify-content:space-between;flex-wrap:wrap}.footer-inner nav{display:flex;gap:18px}.footer-inner small{color:var(--muted)}h1{font-size:30px;line-height:1.35;margin:0 0 12px}h2{font-size:23px;line-height:1.45}.lead{font-size:17px;margin:0 0 24px}.muted{color:var(--muted)}.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:22px;margin:14px 0}.feature-grid{display:grid;gap:12px;margin:24px 0}.feature strong{color:var(--primary);display:block}.btn{display:inline-flex;min-height:52px;border-radius:var(--button-radius);padding:12px 22px;align-items:center;justify-content:center;font-size:16px;font-weight:700;text-decoration:none;border:2px solid transparent;cursor:pointer}.btn.primary{background:var(--cta);color:#fff;width:100%}.btn.secondary{background:#fff;color:var(--primary);border-color:var(--primary)}.btn:focus-visible,.choice:focus-within,input:focus,select:focus{outline:3px solid #89B8D8;outline-offset:2px}.btn[disabled]{background:#D0D5DD;color:#fff;cursor:not-allowed}.actions{display:flex;gap:12px;margin-top:28px}.actions .btn.primary{flex:1}.field{margin:20px 0}.field label,.field legend{display:block;font-weight:700;margin-bottom:7px}.required{font-size:12px;color:var(--error);margin-left:6px}.field input,.field select{width:100%;min-height:52px;border:2px solid var(--border);border-radius:10px;padding:10px 14px;font:inherit;background:#fff}.field .invalid{border-color:var(--error)}.field-error{color:var(--error);font-size:14px;margin-top:5px}.notice{border:1px solid var(--border);border-radius:12px;padding:16px 18px;margin:16px 0;background:#fff}.notice.warning{border-color:#E2C47A;background:#FFF8E8}.notice.error{border-color:#E5AAA2;background:#FEF3F2;color:#7A271A}.notice.success{border-color:#8BC5A8;background:#EEF7F3;color:#205D45}.choice-list{display:grid;gap:10px;margin:20px 0}.choice{display:flex;gap:12px;align-items:flex-start;background:#fff;border:2px solid var(--border);border-radius:12px;padding:15px;cursor:pointer}.choice:has(input:checked){border-color:var(--primary);background:#F5FAFA}.choice input{width:22px;height:22px;margin-top:2px;accent-color:var(--primary)}.choice .text{flex:1}.progress-wrap{margin-bottom:26px}.progress-meta{display:flex;justify-content:space-between;color:var(--primary);font-size:14px}.progress{height:12px;background:#E9EEF0;border-radius:999px;overflow:hidden;margin-top:8px}.progress span{display:block;height:100%;background:var(--primary)}.rank-grid{display:grid;gap:14px}.rank-row{display:grid;grid-template-columns:65px 1fr;gap:10px;align-items:center}.rank-badge{display:flex;width:52px;height:52px;background:var(--accent);border-radius:50%;align-items:center;justify-content:center;font-weight:800}.rank-row select{min-height:52px;border:2px solid var(--border);border-radius:10px;padding:8px}.result-code{font-size:42px;letter-spacing:.12em;font-weight:900;color:var(--primary);text-align:center;padding:22px;background:var(--mist);border:2px solid var(--primary);border-radius:12px}.loading{width:76px;height:76px;border:8px solid #DAE5E7;border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin:52px auto 22px}@keyframes spin{to{transform:rotate(360deg)}}.center{text-align:center}.demo-badge{display:inline-block;background:#FFF8E8;color:#7A4D00;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700}.compact{font-size:14px}.sticky-actions{position:sticky;bottom:0;background:linear-gradient(transparent,#F5F7F8 20%);padding-top:20px;padding-bottom:max(8px,env(safe-area-inset-bottom))}.wish-list{max-height:58vh;overflow:auto;padding-right:2px}.step-cards{display:grid;gap:12px}.step-card{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center}.step-no{width:44px;height:44px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}
@media(max-width:374px){.shell{width:min(100% - 32px,720px)}h1{font-size:28px}.card{padding:20px}.footer-inner{display:block}.footer-inner nav{display:grid;gap:5px;margin-bottom:10px}}
@media(min-width:768px){.main{padding-top:54px}.feature-grid{grid-template-columns:repeat(3,1fr)}.brand{font-size:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* 6.6: result code accessibility & one-line display */
.result66 .result-code{white-space:nowrap;overflow-x:auto;font-size:clamp(25px,7vw,38px);letter-spacing:.09em;user-select:text;-webkit-user-select:text;margin-bottom:16px}
.result66 .line66{margin:18px 0;display:flex}
.result66 #copy-status[hidden]{display:none}
.result66 #result-code66:focus-visible{outline:3px solid #89B8D8;outline-offset:3px}
