.diag-hero{background:var(--paper)}.diag-form-section{background:repeating-linear-gradient(0deg,transparent 0 63px,var(--grid) 63px 64px),repeating-linear-gradient(90deg,transparent 0 63px,var(--grid) 63px 64px),#fff;border-top:1px solid var(--line);padding:88px 40px 96px}.diag-form-wrap{max-width:640px;margin:0 auto;background:#fff;padding:48px 44px;border:1px solid var(--line);position:relative}.diag-form-wrap:before,.diag-form-wrap:after{content:"";position:absolute;width:16px;height:16px;border-color:var(--blue);border-style:solid}.diag-form-wrap:before{top:-1px;left:-1px;border-width:2px 0 0 2px}.diag-form-wrap:after{bottom:-1px;right:-1px;border-width:0 2px 2px 0}.diag-form-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.3em;color:var(--blue);text-align:center;margin-bottom:14px;text-transform:uppercase}.diag-form-title{font-family:var(--font-serif);font-size:26px;font-weight:700;letter-spacing:.05em;color:var(--ink);text-align:center;margin-bottom:12px}.diag-form-note{font-size:14.5px;color:var(--gray);text-align:center;margin-bottom:28px;line-height:2}.diag-form{display:grid;gap:20px}.form-row{display:grid;gap:8px}.form-row label{font-family:var(--font-sans);font-size:14.5px;font-weight:700;color:var(--ink);letter-spacing:.04em;display:flex;align-items:center;gap:8px}.required{font-family:var(--font-mono);font-size:10.5px;background:var(--shu);color:#fff;padding:2px 8px;letter-spacing:.14em;font-weight:400}.optional{font-family:var(--font-mono);font-size:10.5px;background:transparent;border:1px solid var(--line);color:var(--gray-soft);padding:1px 8px;letter-spacing:.14em;font-weight:400}.form-row input,.form-row textarea{font-family:var(--font-sans);font-size:15px;line-height:1.7;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:0;padding:12px 14px;transition:border-color .15s;width:100%}.form-row input::placeholder,.form-row textarea::placeholder{color:var(--gray-soft);opacity:.6}.form-row input:focus,.form-row textarea:focus{outline:none;border-color:var(--blue)}.form-row textarea{resize:vertical;min-height:80px}.form-consent{padding-top:12px;border-top:1px dashed var(--line)}.consent-label{display:flex;align-items:center;gap:10px;font-family:var(--font-sans);font-size:14px;color:var(--gray);font-weight:400}.consent-label a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--shu);transition:color .2s}.consent-label a:hover{color:var(--shu)}.consent-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--shu);flex-shrink:0}.diag-submit{background:var(--ink);color:var(--paper);padding:16px;font-family:var(--font-sans);font-size:15px;font-weight:500;letter-spacing:.14em;border:none;border-radius:0;cursor:pointer;position:relative;transition:background .2s;width:100%;margin-top:8px}.diag-submit:before{content:none}.diag-submit:hover{background:var(--shu)}.diag-submit:disabled{opacity:.6;cursor:wait}.diag-hint{margin-top:16px;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--gray-soft);text-align:center;line-height:1.9}.diag-alt{margin-top:28px;padding-top:20px;border-top:1px dashed var(--line);text-align:center}.diag-alt p{font-size:13.5px;color:var(--gray);line-height:2}.diag-alt a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--shu);transition:color .2s}.diag-alt a:hover{color:var(--shu)}.cf-turnstile{margin:6px 0 4px}.diag-loading{padding:40px 20px;text-align:center}.diag-loading p{font-family:var(--font-serif);font-size:16px;color:var(--ink);margin:18px 0 6px;line-height:1.8;letter-spacing:.04em}.diag-loading .loading-sub{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--gray-soft);margin:0}.loading-spinner{width:42px;height:42px;margin:0 auto;border:2px solid var(--line);border-top-color:var(--blue);border-radius:50%;animation:diag-spin .9s linear infinite}@keyframes diag-spin{to{transform:rotate(360deg)}}.diag-result{padding:8px 0 0}.diag-result .result-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.3em;color:var(--blue);text-align:center;margin-bottom:12px;text-transform:uppercase}.diag-result .result-title{font-family:var(--font-serif);font-size:21px;font-weight:700;letter-spacing:.05em;color:var(--ink);text-align:center;margin-bottom:20px}.diag-result .result-summary{font-family:var(--font-serif);font-size:15.5px;line-height:2.1;color:var(--ink);background:var(--paper);padding:18px 22px;border-left:2px solid var(--shu);margin-bottom:24px}.result-points{list-style:none;padding:0;margin:0 0 28px}.result-points li{padding:16px 0;border-bottom:1px dashed var(--line)}.result-points li:last-child{border-bottom:none}.result-points strong{display:block;font-family:var(--font-serif);font-size:15px;font-weight:700;color:var(--shu);margin-bottom:6px;letter-spacing:.05em}.result-points span{font-size:14.5px;line-height:2;color:var(--gray)}.result-sources h4{font-family:var(--font-mono);font-size:11px;letter-spacing:.24em;color:var(--blue);margin:8px 0 10px;text-transform:uppercase}.result-sources ol{padding-left:20px;margin:0 0 24px}.result-sources li{font-size:13px;line-height:1.9;color:var(--gray);margin-bottom:4px}.result-sources a{color:var(--blue);text-decoration:none;border-bottom:1px dotted var(--blue);word-break:break-all}.result-footer{font-size:13.5px;line-height:2;color:var(--gray);text-align:center;padding-top:18px;border-top:1px dashed var(--line);margin-bottom:20px}.result-footer a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--shu);transition:color .2s}.result-footer a:hover{color:var(--shu)}.result-retry{display:block;margin:0 auto;padding:12px 28px;background:transparent;color:var(--ink);border:1px solid var(--ink);border-radius:0;font-family:var(--font-sans);font-size:14px;font-weight:500;letter-spacing:.08em;cursor:pointer;transition:background .2s,color .2s}.result-retry:hover{background:var(--ink);color:#fff}.diag-error{padding:32px 24px;text-align:center;background:#c4552f0d;border:1px solid rgba(196,85,47,.35)}.error-msg{font-size:15px;color:var(--shu);margin:0 0 16px;line-height:1.9}.error-alt{font-size:13px;color:var(--gray);margin:16px 0 0}.error-alt a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--shu);transition:color .2s}.error-alt a:hover{color:var(--shu)}.diag-flow{background:var(--paper-warm);border-top:1px solid var(--line);padding:96px 40px 100px}.diag-steps{max-width:820px;margin:0 auto;list-style:none;padding:0;counter-reset:none}.diag-steps li{display:grid;grid-template-columns:80px 1fr;gap:24px;padding:26px 0;border-bottom:1px solid var(--line);align-items:start}.diag-steps li:last-child{border-bottom:none}.step-num{font-family:var(--font-mono);font-size:14px;font-weight:500;letter-spacing:.2em;color:var(--blue);padding-top:5px}.step-body h3{font-family:var(--font-serif);font-size:18px;font-weight:700;letter-spacing:.05em;color:var(--ink);margin-bottom:8px}.step-body p{font-size:14.5px;line-height:2;color:var(--gray)}.diag-note-section{background:var(--paper);border-top:1px solid var(--line);padding:88px 40px 96px}.note-inner{max-width:720px;margin:0 auto;background:#fff;padding:44px 48px;border:1px solid var(--line);border-left:2px solid var(--shu);text-align:left}.note-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.3em;color:var(--shu);margin-bottom:16px;text-transform:uppercase}.note-inner h2{font-family:var(--font-serif);font-size:24px;font-weight:700;letter-spacing:.04em;color:var(--ink);margin-bottom:18px;line-height:1.7}.note-inner h2 .mark{background:linear-gradient(transparent calc(100% - 6px),var(--shu-soft) calc(100% - 6px) calc(100% - 3px),transparent calc(100% - 3px));padding:0 2px}.note-inner p{font-size:14.5px;line-height:2.1;color:var(--gray);margin-bottom:26px}.note-links{display:flex;flex-direction:column;gap:14px;align-items:flex-start}.note-link{display:inline-block;font-family:var(--font-sans);font-size:14.5px;font-weight:500;letter-spacing:.06em;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--shu);padding-bottom:3px;transition:color .2s}.note-link:hover{color:var(--shu);border-bottom-color:var(--shu)}@media(max-width:640px){.diag-form-section,.diag-flow,.diag-note-section{padding:64px 20px}.diag-form-wrap{padding:32px 24px}.diag-steps li{grid-template-columns:1fr;gap:8px}.step-num{padding-top:0}.note-inner{padding:28px 22px}}
