html{scroll-behavior:smooth}body{overflow-x:hidden}button,a,input,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #0874bd;outline-offset:4px}p,small,td,th{overflow-wrap:anywhere}.menu-panel{overflow-y:auto}.menu-links a{flex-shrink:0}.paper-preview img{object-fit:contain!important}.doctor-comment img{object-fit:contain}.table-wrap{overflow-x:auto}.compare-note,.ct-note,.next-lead{font-size:max(14px,1rem);line-height:1.7}.history-list{display:grid;gap:16px}.history-entry{padding:18px;border:2px solid #a6d6e5;border-radius:16px;background:#fff}.history-entry p{margin:8px 0;line-height:1.7}.history-entry a{display:inline-block;padding:10px 16px;color:#075daf;font-weight:700}.history-entry details{margin-top:12px}.history-entry li{line-height:1.8}.history-entry time{font-size:14px;color:#526d80}
@media(max-width:699px){body:has(.screen){height:auto;min-height:100dvh;overflow-y:auto;display:block}.screen{width:100%!important;max-width:480px!important;margin:auto}.screen .brand-name{font-size:max(16px,5cqw)}.screen .brand-en{font-size:max(12px,2.8cqw)}.screen .back{font-size:max(14px,3.9cqw)}.screen .note{font-size:max(14px,3.4cqw);line-height:1.6}.screen .condition{line-height:1.5}.screen:has(#answers){aspect-ratio:auto;min-height:100dvh;display:flex;flex-direction:column;padding:22px 22px 30px;gap:18px;background-size:cover;overflow:visible}.screen:has(#answers) .header,.screen:has(#answers) .title,.screen:has(#answers) .progress,.screen:has(#answers) .question,.screen:has(#answers) .answers,.screen:has(#answers) .next,.screen:has(#answers) .back{position:relative;inset:auto;width:100%;height:auto;margin:0;transform:none}.screen:has(#answers) .header{min-height:44px}.screen:has(#answers) .title{font-size:26px;white-space:normal;letter-spacing:0;line-height:1.5}.screen:has(#answers) .title small{font-size:16px}.screen:has(#answers) .question{font-size:18px;line-height:1.7}.screen:has(#answers) .answers{display:grid;gap:12px;border:0;padding:0}.screen:has(#answers) .answer{min-height:64px;padding:12px}.screen:has(#answers) .answer-text{font-size:16px;line-height:1.7}.screen:has(#answers) .next,.screen:has(#answers) .back{min-height:48px;font-size:18px}.screen:has(#answers) .cat{position:relative;inset:auto;width:110px;margin:auto}.screen:has(#answers) .bubble{position:relative;inset:auto;width:100%;border-radius:18px;font-size:16px;transform:none;min-height:0;padding:12px}.screen:has(#answers) .status{position:fixed}.screen:has(#fileInput){aspect-ratio:auto;min-height:100dvh;padding:20px;display:flex;flex-direction:column;gap:18px;background-size:cover}.screen:has(#fileInput) .header,.screen:has(#fileInput) .title,.screen:has(#fileInput) .lead,.screen:has(#fileInput) .upload-panel,.screen:has(#fileInput) .analysis-note,.screen:has(#fileInput) .privacy-upload-note,.screen:has(#fileInput) .back{position:relative;inset:auto;height:auto;width:100%;margin:0}.screen:has(#fileInput) .title{font-size:26px;line-height:1.5;transform:none}.screen:has(#fileInput) .lead,.screen:has(#fileInput) .analysis-note,.screen:has(#fileInput) .privacy-upload-note{font-size:14px;line-height:1.7}.screen:has(#fileInput) .dropzone{min-height:260px}.screen:has(#fileInput) .upload-actions{position:relative;inset:auto;margin-top:16px;gap:12px;flex-wrap:wrap}.screen:has(#fileInput) .upload-actions[hidden]{display:none}.screen:has(#fileInput) .selected{font-size:14px;white-space:normal;line-height:1.6;max-height:none}.screen:has(#fileInput) .characters{position:relative;inset:auto;width:170px;margin:auto}.screen:has(#fileInput) .helper{display:none}.screen:has(#fileInput) .back{min-height:48px}.screen:has(#fileInput) .formats{font-size:14px}.screen:has(#fileInput) #fileInput{position:absolute}.screen:has(#fileInput) .status{position:fixed}.screen:has(#fileInput) .pick{min-height:44px;font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.card p,.hero p{font-size:16px}.benefits small,.flow-step small,.carry-item small,.field label,.checkline,.form-note,.saved{font-size:14px;line-height:1.7}.benefits li,.compare{font-size:14px}.menu-panel{box-sizing:border-box}.menu-shade:not(.open){visibility:hidden}.screen .note{overflow-wrap:anywhere}@media(min-width:700px){.screen{width:min(100vw,430px)!important}.screen:has(#answers) .answer-text{font-size:16px;line-height:1.5}.screen:has(#answers) .answers{top:34%;}.screen:has(#answers) .cat{width:30%;bottom:10%;}.screen:has(#answers) .bubble{right:4%;bottom:18%;font-size:16px}.screen:has(#answers) .answer{min-height:64px}.screen:has(#fileInput) .selected{font-size:14px;line-height:1.5}.screen:has(#fileInput) .lead{font-size:14px}.screen .note{font-size:14px}}

@media(min-width:700px){body:has(#answers){height:auto;overflow-y:auto}.screen:has(#answers){margin:20px auto}.screen:has(#answers){aspect-ratio:auto;min-height:100dvh;display:flex;flex-direction:column;padding:22px 22px 30px;gap:18px;background-size:cover;overflow:visible}.screen:has(#answers) .header,.screen:has(#answers) .title,.screen:has(#answers) .progress,.screen:has(#answers) .question,.screen:has(#answers) .answers,.screen:has(#answers) .next,.screen:has(#answers) .back{position:relative;inset:auto;width:100%;height:auto;margin:0;transform:none}.screen:has(#answers) .header{min-height:44px}.screen:has(#answers) .title{font-size:26px;white-space:normal;letter-spacing:0;line-height:1.5}.screen:has(#answers) .title small{font-size:16px}.screen:has(#answers) .question{font-size:18px;line-height:1.7}.screen:has(#answers) .answers{display:grid;gap:12px;border:0;padding:0}.screen:has(#answers) .answer{min-height:64px;padding:12px}.screen:has(#answers) .answer-text{font-size:16px;line-height:1.7}.screen:has(#answers) .next,.screen:has(#answers) .back{min-height:48px;font-size:18px}.screen:has(#answers) .cat{position:relative;inset:auto;width:110px;margin:auto}.screen:has(#answers) .bubble{position:relative;inset:auto;width:100%;border-radius:18px;font-size:16px;transform:none;min-height:0;padding:12px}.screen:has(#answers) .status{position:fixed}}

@media(max-width:360px){.screen .title{white-space:normal;letter-spacing:0;font-size:7cqw}.screen .brand-name{font-size:16px}.screen .condition{font-size:5cqw}.screen .note{font-size:12px}}

/* Keep the home logo reachable when a diagnosis screen is taller than the desktop viewport. */
@media(min-width:700px){body:has(> .screen > .header > a[data-home-logo]){height:auto;min-height:100dvh;overflow-y:auto;align-items:start}}
