:root{--green:#98c742;--blue:#3270c9;--ink:#1f1f1f;--muted:#596673;--line:#dbe3e7;--pale:#f3f7eb;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;color:var(--ink);background:#fff;line-height:1.75;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0}a{color:var(--blue);text-underline-offset:3px}button,input,textarea,select{font:inherit}button{cursor:pointer}a,button,input{touch-action:manipulation}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.45;font-weight:600}fieldset{margin:0;padding:0;border:0}legend{padding:0}img{max-width:100%;height:auto}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:4px}[hidden]{display:none!important}.requires-js{display:none!important}html[data-enhanced="true"] .requires-js{display:flex!important}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:15px;z-index:20;background:white;padding:10px}.skip-link:focus{top:10px}.site-header{border-top:6px solid var(--green);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:22px;padding:23px max(24px,calc((100vw - 1080px)/2));background:#fff}.brand{text-decoration:none;display:flex;flex-direction:column}.brand strong{font-family:"Songti TC",serif;font-size:30px;letter-spacing:.16em}.brand span{font-size:10px;letter-spacing:.08em;color:var(--muted)}.site-header nav{display:flex;gap:24px;font-size:13px}.page-shell{max-width:1080px;margin:auto;padding:0 28px}.breadcrumb{padding-top:25px;font-size:12px;color:var(--muted)}.hero{padding:45px 0 35px;max-width:850px}.eyebrow{color:var(--blue);font-size:12px;letter-spacing:.12em;margin-bottom:12px}.hero h1{font-size:43px}.hero h1 span{display:block;font-size:22px;color:var(--muted);font-weight:400;margin-top:5px}.hero-lead{font-size:26px;font-family:"Songti TC",serif;margin-top:22px}.hero p:not(.eyebrow):not(.hero-lead){max-width:760px;margin-top:14px;color:var(--muted)}.chips{display:flex;gap:12px;flex-wrap:wrap;margin:23px 0 0}.chips span{background:var(--pale);border-radius:99px;padding:5px 15px;font-size:13px}.notice{background:#eef4fb;border-left:3px solid var(--blue);padding:18px 22px;border-radius:0 12px 12px 0;font-size:14px}.notice p+p{margin-top:8px}.before-start{margin-bottom:28px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.section-heading h2{font-size:25px}.setup{padding:28px;border:1px solid var(--line);border-radius:16px;margin:30px 0}.setup p{color:var(--muted);font-size:14px;margin-top:10px}.role-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.choice{display:flex;gap:13px;align-items:flex-start;min-height:57px;border:1px solid var(--line);border-radius:10px;padding:15px 17px;cursor:pointer;background:#fff}.choice:hover{border-color:var(--blue);background:#f6f9fe}.choice input{flex-shrink:0;width:19px;height:19px;margin:4px 0 0;accent-color:var(--blue)}.choice input:checked+span{color:var(--blue);font-weight:600}.choice small{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:3px}.choice .score{display:inline-block;min-width:24px;font-weight:600}.question-card{padding:30px;border:1px solid var(--line);border-radius:17px;margin:24px 0;scroll-margin-top:20px}.region-label{color:var(--blue);font-size:13px;margin-bottom:8px}.question-card h2,.question-card legend{font-size:23px;font-weight:600;line-height:1.55;max-width:860px}.question-hint{font-size:14px;color:var(--muted);margin-top:10px}.question-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start;margin-top:25px}.journal-figure{background:#f6f7f5;border-radius:12px;padding:16px;text-align:center}.journal-figure .photo-enlarge{width:17px;height:17px;accent-color:var(--blue);vertical-align:middle}.journal-figure label{font-size:12px;color:var(--blue);cursor:pointer;display:inline-block;min-height:36px;padding:5px}.journal-figure img{display:block;margin:10px auto 0;width:auto;max-width:100%;max-height:420px;object-fit:contain}.journal-figure .photo-enlarge:checked~img{width:100%;max-height:none}.journal-figure figcaption{font-size:12px;text-align:left;color:var(--muted);margin-top:13px;overflow-wrap:anywhere}.journal-figure figcaption strong{display:block;color:#374955;font-size:13px;margin-bottom:5px}.photo-note{font-size:12px;color:var(--muted);margin-bottom:15px}.observation-options{display:grid;gap:11px}.observation-options legend{font-size:14px;margin-bottom:12px;font-weight:500}.inline-error{color:#9b314c;font-size:13px;margin-top:12px;min-height:20px}.form-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:25px 0 35px}.form-actions span{font-size:14px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:49px;border:1px solid transparent;border-radius:9px;padding:12px 24px;font-size:15px;text-decoration:none;gap:15px;line-height:1.5}.button-primary{background:var(--blue);color:white;border-color:var(--blue)}.button-primary:hover{background:#255ea9}.button-secondary{background:#fff;color:var(--blue);border-color:#bacadb}.result{background:#fff;border:1px solid #c7d8bd;border-radius:17px;padding:34px;margin:40px 0;scroll-margin-top:20px}.result h2{font-size:28px}.result-meta{color:var(--muted);font-size:13px;margin:12px 0 20px}.result-note{background:var(--pale);padding:16px 20px;font-size:14px;margin:22px 0}.result-rows{display:grid;gap:0;margin:20px 0}.result-row{display:flex;justify-content:space-between;gap:18px;align-items:center;border-bottom:1px solid var(--line);padding:20px 0}.result-row h3{font-size:14px;color:var(--muted);font-weight:400}.result-row p{font-size:19px;margin-top:4px}.result-row a{font-size:13px;white-space:nowrap}.result-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.report-details{margin:22px 0}.report-details summary{cursor:pointer;font-size:14px;color:var(--blue);padding:10px 0}.report-details textarea{display:block;width:100%;min-height:240px;border:1px solid #bdcbd5;border-radius:8px;font-size:14px;line-height:1.7;padding:15px;resize:vertical;background:#fafcfd;color:var(--ink)}.data-note{font-size:12px;color:var(--muted);margin:14px 0}.clear-panel{margin-top:20px;padding:20px;background:#f5f7f8;border-radius:10px}.clear-panel p{font-size:14px}.clear-panel .result-actions{margin-top:15px}.consultation-card{margin-top:30px;background:var(--pale);padding:28px;border-radius:14px}.consultation-card h3{font-size:24px;font-family:"Songti TC",serif}.consultation-card p{font-size:14px;color:#52614e;margin-top:12px}.consultation-card .button{margin-top:20px}.consultation-card .cta-note{font-size:12px;color:var(--muted)}.consultation-card .about{display:inline-block;margin-top:15px;font-size:13px}.result-attribution,.source-section{font-size:12px;color:var(--muted);line-height:1.9;overflow-wrap:anywhere}.result-attribution{margin-top:24px}.source-section{border-top:1px solid var(--line);padding:30px 0 45px;margin-top:45px}.source-section h2{font-size:20px;color:#374955;margin-bottom:18px}.source-section p+p{margin-top:15px}.source-section cite{font-style:normal}.faq-section{padding:25px 0;margin-top:30px}.faq-section h2{font-size:27px;margin-bottom:20px}.faq-section details{border-bottom:1px solid var(--line);padding:17px 0}.faq-section summary{cursor:pointer;font-size:16px}.faq-section details p{font-size:14px;color:var(--muted);margin-top:12px}.site-footer{text-align:center;padding:30px 25px 40px;border-top:1px solid var(--line);color:var(--muted)}.site-footer p{font-family:"Songti TC",serif;font-size:21px}.site-footer div{font-size:12px;margin-top:15px}.site-footer a{margin-left:15px}.status{position:sticky;bottom:0;background:#edf3fb;color:#23466d;padding:12px 22px;font-size:14px;z-index:10}.status:empty{display:none}.method{display:grid;gap:10px;margin-top:22px;font-size:14px}.method select{max-width:400px;width:100%;padding:10px;border:1px solid #b6c6d4;border-radius:8px;background:white}.assessor-confirm{background:var(--pale);padding:20px;border-radius:10px}.assessor-confirm label{display:flex;gap:12px}.assessor-confirm input{width:20px;height:20px;accent-color:var(--blue);flex-shrink:0;margin-top:5px}.assessor-confirm p{font-size:13px;color:var(--muted);margin-top:10px}.total{font-size:42px;font-weight:600;color:var(--blue);margin:20px 0}.result-table{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed;margin:24px 0}.result-table th,.result-table td{padding:12px 8px;border-bottom:1px solid var(--line);text-align:left;overflow-wrap:anywhere}.result-table th:first-child{width:24%}.result-table th:last-child{width:23%}.version{font-size:12px;color:var(--muted);margin-top:12px}.preview-note{background:#f4f6f9;padding:18px 20px;margin:20px 0;font-size:13px;border-radius:10px}.preview-note h2{font-size:18px}.form-title{font-size:25px;margin-top:28px}.print-only{display:none}
@media(max-width:720px){.site-header{padding:16px 20px;align-items:flex-start;gap:16px}.brand strong{font-size:26px}.brand span{font-size:8px}.site-header nav{font-size:11px;flex-direction:column;align-items:flex-end;gap:5px;max-width:155px}.page-shell{padding:0 20px}.hero{padding:32px 0 26px}.hero h1{font-size:34px}.hero h1 span{font-size:19px}.hero-lead{font-size:24px}.hero p:not(.eyebrow):not(.hero-lead){font-size:14px}.chips{gap:8px}.chips span{font-size:11px;padding:4px 11px}.notice{padding:16px 18px;font-size:13px}.setup,.question-card{padding:23px 19px;margin:22px 0}.role-options,.question-layout{grid-template-columns:1fr;gap:18px}.section-heading h2{font-size:23px}.question-card h2,.question-card legend{font-size:21px}.question-hint{font-size:13px}.journal-figure{padding:13px}.journal-figure img{max-height:360px}.journal-figure figcaption{font-size:11px}.question-layout{margin-top:19px}.choice{font-size:14px;padding:14px;min-height:57px}.observation-options legend{font-size:14px}.button{font-size:14px;padding:12px 18px}.form-actions .button{width:100%}.result{padding:25px 20px}.result h2{font-size:25px}.result-actions{gap:10px}.result-actions .button{flex:1;min-width:120px}.result-row p{font-size:17px}.result-note{font-size:13px;padding:15px}.consultation-card{padding:23px 20px}.consultation-card h3{font-size:23px}.consultation-card .button{width:100%}.total{font-size:36px}.result-table{font-size:12px}.result-table th,.result-table td{padding:10px 5px}.source-section{font-size:11px}.faq-section h2{font-size:25px}.faq-section summary{font-size:15px}.status{font-size:13px}.site-footer p{font-size:17px}}
@media print{@page{margin:16mm}html,body{background:#fff;color:#000}.site-header,.hero,.breadcrumb,.before-start,form,.faq-section,.source-section,.site-footer,.no-print,.status,.preview-note,.skip-link,#runtime-message{display:none!important}.page-shell{padding:0;max-width:none}.result{margin:0;padding:0;border:0}.result[hidden]{display:none!important}.result h2{font-size:22pt}.result-attribution{font-size:9pt}.result-row{break-inside:avoid;padding:10pt 0}.result-note{background:#f5f5f5}.result-table{font-size:11pt}.result-table tr{break-inside:avoid}.print-only{display:block}.result-rows{margin:10pt 0}.result-row p{font-size:13pt}.total{font-size:26pt}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* v2.1: full, unmodified 2009 journal photographs and native CSS zoom. */
.original-figure{min-width:0}
.original-figure .photo-enlarge{width:19px;height:19px}
.original-figure>label{min-height:44px;padding:10px 5px;font-size:13px}
.photo-viewport{max-width:100%;min-width:0;overflow:hidden;border-radius:6px;background:#fff}
.original-figure .photo-viewport img{display:block;width:100%;max-width:100%;height:auto;max-height:none;margin:0;object-fit:contain}
.original-figure .zoom-hint{display:none;font-size:12px;color:var(--muted);text-align:left;margin:0 0 10px}
.original-figure .photo-enlarge:checked~.zoom-hint{display:block}
.original-figure .photo-enlarge:checked~.photo-viewport{overflow:auto;max-height:65vh;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.original-figure .photo-enlarge:checked~.photo-viewport img{width:1100px;max-width:none;max-height:none}
.photo-viewport:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.photo-guide{text-align:left;margin-top:14px;padding:14px;background:#fff;border-left:3px solid var(--green);border-radius:0 8px 8px 0;font-size:13px;color:#344450}
.photo-guide p+p{margin-top:10px}
.photo-guide strong{display:block;color:var(--blue);font-size:12px;margin-bottom:3px}
.photo-guide .guide-note{font-size:11px;color:var(--muted)}
.photo-alternative{text-align:left;margin-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.photo-alternative summary{cursor:pointer;color:var(--blue);min-height:44px;padding:10px 0}
.original-figure .photo-alternative img{width:100%;max-width:100%;height:auto;max-height:none;margin:0}
.photo-alternative p{margin-top:8px}
@media(max-width:720px){.original-figure{padding:10px}.photo-guide{padding:12px;font-size:13px}.original-figure .photo-enlarge:checked~.photo-viewport{max-height:60vh}}

/* v2.0: an explicitly labelled self-observation sum and unscored discussion priority. */
.hero .scope-note{font-size:14px;border-left:3px solid var(--green);padding-left:15px}
.hero .start-link{margin-top:23px}
.region-nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.region-nav a{padding:7px 14px;border:1px solid var(--line);border-radius:99px;font-size:13px;text-decoration:none;min-height:40px}
.choice-unscored{background:#f7f9fa;font-size:14px}
.self-score{background:var(--pale);border-radius:12px;padding:22px}
.self-score h3{font-size:17px;color:#35472f}
.self-score .total{margin:6px 0 8px;font-size:48px}
.self-score>p:last-child{font-size:14px;color:#465343}
.priority-setup h2{font-size:23px}
.priority-result{padding:18px 0}
.priority-result h3{font-size:14px;font-weight:400;color:var(--muted)}
.priority-result h3 span{font-size:12px}
.priority-result p{font-size:19px;margin-top:5px}
@media(max-width:720px){.self-score{padding:19px}.self-score h3{font-size:15px}.self-score .total{font-size:42px}.self-score>p:last-child{font-size:13px}.priority-setup h2{font-size:21px}.region-nav{gap:8px}.region-nav a{padding:6px 12px;font-size:12px}}
@media print{.self-score{padding:12pt}.self-score .total{font-size:26pt}.region-nav{display:none}}
.preparation{margin:1.5rem 0 2rem;padding:1.5rem;border:1px solid #d8e4c5;border-radius:20px;background:#f8fbf1}
.preparation h2{margin-top:0}
.preparation-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem;list-style:none;padding:0;counter-reset:prep}
.preparation-steps li{counter-increment:prep;min-width:0}
.preparation-steps strong{display:block;color:#254e27;margin-bottom:.4rem}
.preparation-steps strong:before{content:counter(prep) ' / ';color:#3270C9}
.preparation-steps span{display:block;line-height:1.8}
.next-steps{padding:1.4rem;margin:1.5rem 0;background:#f4f8fe;border-left:4px solid #3270C9;border-radius:4px 14px 14px 4px}
.next-steps h3{margin-top:0}
.research-summary,.research-section{padding:1.5rem 0;margin:1.5rem 0;border-top:1px solid #dce4eb}
.research-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.4rem 0}
.research-grid article{padding:1.25rem;border-radius:16px;background:#f4f8fe;border:1px solid #dde8f6;min-width:0}
.research-grid h3{font-size:1.1rem;margin-top:0}
.research-grid a{font-size:.85rem;overflow-wrap:anywhere}
.study-card{padding:1.5rem;margin:1.3rem 0;border:1px solid #dce4eb;border-radius:16px;background:#fff;break-inside:avoid}
.study-card h3{font-size:1.1rem;line-height:1.5;overflow-wrap:anywhere;margin:.4rem 0}
.study-meta,.study-journal{color:#53616b;font-size:.9rem}
.study-card dl{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:.7rem 1rem;margin:1rem 0}
.study-card dt{font-weight:700;color:#254e27}
.study-card dd{margin:0;line-height:1.8}
.study-source{font-size:.88rem;overflow-wrap:anywhere}
.table-scroll{overflow-x:auto}
.table-scroll table{min-width:620px}
.foundation-note{padding:.5rem 0 1rem;border-bottom:1px solid #e5e9ed}
.foundation-note h3{font-size:1.1rem;line-height:1.5}
.research-takeaways li{padding:.4rem 0;line-height:1.85}
.research-offline{padding:1rem;margin:1.5rem 0;border:1px solid #dce4eb;border-radius:14px}
.research-offline>summary{cursor:pointer;font-weight:700;color:#2459a1}
@media(max-width:700px){.preparation-steps,.research-grid{grid-template-columns:1fr}.study-card{padding:1rem}.study-card dl{grid-template-columns:1fr;gap:.25rem}.study-card dd{margin-bottom:.65rem}.preparation{padding:1.2rem}.research-hero h1{font-size:2rem}}

/* v2.3: readable mobile inputs, plain-language summaries, and public-link sharing. */
body{font-size:16px;line-height:1.8}
button,input,select,textarea,.button{font-size:16px}
button:disabled{cursor:default;opacity:.65}
.page-shell{overflow-wrap:break-word}
.site-header nav a,.text-links a,.source-link,.region-nav a{display:inline-flex;align-items:center;min-height:44px}
.site-header nav{align-items:center;gap:20px}
.patient-hero{max-width:none;padding:42px 0 30px}
.patient-hero h1{font-size:44px;letter-spacing:-.025em}
.patient-hero h1 span{font-size:23px;letter-spacing:0;line-height:1.7}
.patient-hero .hero-lead{font-size:27px;color:#263c2a;margin-top:25px}
.patient-hero .hero-intro{font-size:17px;max-width:720px}
.mobile-break{display:none}
.hero .scope-note{font-size:16px;max-width:740px;line-height:1.85}
.hero .start-link{min-height:52px;margin-top:24px}
.hero-byline{display:flex;align-items:center;gap:14px;margin-top:26px;padding-top:21px;border-top:1px solid var(--line);max-width:820px}
.hero-byline .author-mark{display:flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;background:var(--pale);color:#33502b;border-radius:50%;font-family:"Songti TC",serif;font-size:24px}
.hero-byline>div{flex:1;min-width:0}
.hero-byline>div>a{font-weight:600;font-size:18px;color:var(--ink);text-decoration:none}
.hero-byline>div>span{display:block;font-size:14px;color:var(--muted);line-height:1.7}
.hero-byline>.source-link{font-size:14px;flex-shrink:0}
.tool-intro{padding:24px 0 30px;border-bottom:1px solid var(--line)}
.tool-intro h2{font-size:24px;margin-bottom:13px}
.tool-intro p{max-width:800px;color:var(--muted)}
.tool-intro>a{display:inline-flex;align-items:center;min-height:44px;margin-top:6px;font-size:14px}
.notice,.setup p,.question-hint,.choice,.observation-options legend,.choice-unscored,.method,.result-note,.next-steps,.consultation-card p,.faq-section details p{font-size:16px}
.choice small{font-size:14px;line-height:1.75}
.choice{min-height:58px;line-height:1.75}
.method select{font-size:16px;min-height:48px;padding:11px 12px}
.region-nav a{min-height:44px;font-size:14px}
.question-card h2,.question-card legend{scroll-margin-top:24px}
.photo-note,.photo-guide,.original-figure>label{font-size:14px}
.photo-guide .guide-note,.original-figure figcaption,.data-note,.preview-note{font-size:14px}
.journal-figure figcaption strong{font-size:14px}
.journal-figure .photo-enlarge{width:20px;height:20px}
.journal-figure>label{min-height:48px}
.self-score .total{font-size:40px;line-height:1.4}
.self-score h3{font-size:18px}
.self-score>p:last-child{font-size:16px}
.observation-summary{margin:28px 0 10px}
.observation-summary h3{font-size:21px;margin-bottom:10px}
.observation-summary p{font-size:16px;color:#3d4d58}
.result-rows{gap:12px;margin:20px 0}
.result-row{padding:19px 20px;border:1px solid var(--line);border-radius:12px;align-items:flex-start;background:#fbfcfd}
.result-row>div{min-width:0}
.result-row h3{font-size:17px;font-weight:600;color:var(--ink)}
.domain-range{display:inline-block;margin-left:12px;font-size:13px;font-weight:400;color:var(--muted)}
.result-row p{font-size:16px;line-height:1.8;margin-top:9px}
.result-row>a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
.priority-result h3{font-size:16px}
.priority-result p{font-size:19px}
.next-steps p{margin-top:12px}
.result-note{line-height:1.8}
.report-details summary{min-height:48px;font-size:16px;line-height:1.75}
.report-details textarea{font-size:16px;min-height:260px}
.clear-panel p{font-size:16px}
.save-share,.author-card,.related-resources{margin:36px 0;padding:30px;border-radius:16px;border:1px solid var(--line)}
.save-share{background:#f5f8fd}
.save-share h2,.related-resources h2{font-size:27px;margin-bottom:14px}
.save-share>p:not(.eyebrow),.author-card>p:not(.eyebrow),.related-resources>p{max-width:800px}
.share-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 18px}
.tool-url-label{display:block;font-size:14px;color:var(--muted);max-width:560px}
.tool-url-label input{display:block;width:100%;min-height:48px;margin-top:6px;border:1px solid #b7c9dc;border-radius:8px;background:#fff;padding:11px 13px;color:#244f86;font-size:16px}
.bookmark-help{margin-top:18px;border-top:1px solid #d8e3ef;padding-top:9px}
.bookmark-help summary{font-size:16px;min-height:48px;padding:10px 0;cursor:pointer;color:var(--blue)}
.bookmark-help p{font-size:16px;color:var(--muted);margin-top:10px}
.author-card{background:#f7faef;border-color:#dfe8cd;padding:34px}
.author-card h2{font-family:"Songti TC",serif;font-size:32px;line-height:1.55;margin-bottom:18px}
.author-identity{margin-top:24px}
.author-identity strong{display:block;font-size:22px;letter-spacing:.1em}
.author-identity span{display:block;margin-top:4px;color:#52604b;font-size:16px}
.text-links{display:flex;flex-wrap:wrap;gap:4px 24px;margin-top:13px}
.text-links a{font-size:16px}
.related-resources{padding:30px 0;border:0;border-top:1px solid var(--line);border-radius:0}
.related-links{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}
.related-links>a{display:flex;flex-direction:column;gap:8px;min-height:145px;padding:22px;border:1px solid var(--line);border-radius:12px;text-decoration:none;transition:background .15s}
.related-links>a:hover{background:#f4f8fe}
.related-links span{font-size:14px;color:var(--muted)}
.related-links strong{font-size:20px;color:var(--blue)}
.faq-section summary{font-size:17px;line-height:1.7;min-height:44px}
.source-section,.result-attribution{font-size:13px}
.mobile-toolbar{display:none}
.live-score-card{border:2px solid #c3d9a3;border-radius:16px;background:#f6faef;padding:28px;margin:28px 0}
.live-score-card h2{font-size:26px}
.live-score-card>p{font-size:16px}
.live-score-card #live-score-role{color:#52614e;margin-top:9px}
.live-score-card .live-total{font-size:30px;font-weight:700;line-height:1.4;margin:13px 0;color:var(--blue)}
.live-score-card[data-complete="true"] .live-total{font-size:52px}
.live-parts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0 0;padding:0;list-style:none}
.live-parts li{padding:10px 12px;background:#fff;border:1px solid #dfe8d4;border-radius:8px;font-size:15px}
.live-score-card .live-formula{font-size:22px;font-weight:600;color:#345c26;margin-top:18px}
.mobile-toolbar[data-complete="true"] #mobile-progress{font-size:21px;color:var(--blue);font-weight:700}
@media(max-width:720px){
  .page-shell{padding:0 18px}
  .live-score-card{padding:23px 18px}
  .live-parts{grid-template-columns:1fr;gap:8px}
  .site-header{padding:16px 18px}
  .site-header nav{font-size:12px;gap:0;align-items:flex-end}
  .site-header nav a{min-height:44px}
  .patient-hero{padding:28px 0 24px}
  .patient-hero h1{font-size:32px;line-height:1.4}
  .patient-hero h1 span{font-size:18px;line-height:1.7;margin-top:8px}
  .patient-hero .hero-lead{font-size:25px;line-height:1.6;margin-top:22px}
  .hero p:not(.eyebrow):not(.hero-lead){font-size:16px}
  .mobile-break{display:block}
  .chips{gap:8px;margin-top:18px}
  .chips span{font-size:12px;padding:6px 10px}
  .hero .start-link{width:100%;margin-top:22px}
  .hero-byline{gap:11px;flex-wrap:wrap;padding-top:19px}
  .hero-byline>.source-link{margin-left:59px;margin-top:-8px}
  .hero-byline>div{flex-basis:calc(100% - 60px)}
  .tool-intro{padding:20px 0 25px}
  .tool-intro h2{font-size:22px}
  .setup,.question-card{padding:21px 17px;border-radius:14px}
  .question-card h2,.question-card legend{font-size:21px}
  .question-hint,.setup p,.notice,.choice,.choice-unscored,.observation-options legend,.result-note,.method{font-size:16px}
  .role-options{gap:12px}
  .choice{padding:14px 12px;gap:11px}
  .choice input{width:21px;height:21px;margin-top:4px}
  .choice small{font-size:14px}
  .question-layout{gap:22px}
  .button{font-size:16px;min-height:48px;padding:12px 18px}
  .result{padding:25px 18px}
  .result h2{font-size:25px}
  .self-score{padding:18px}
  .self-score h3{font-size:17px}
  .self-score .total{font-size:38px}
  .self-score>p:last-child{font-size:16px}
  .result-row{padding:16px;display:block}
  .result-row>a{margin-top:5px}
  .result-row p{font-size:16px}
  .domain-range{font-size:13px;margin-left:9px}
  .result-actions{display:grid;grid-template-columns:1fr 1fr}
  .result-actions .button{min-width:0;padding:12px 10px}
  .result-actions .button:first-child{grid-column:1/-1}
  .consultation-card{padding:22px 18px}
  .consultation-card p{font-size:16px}
  .consultation-card .cta-note{font-size:14px}
  .next-steps{padding:20px 17px}
  .save-share,.author-card{padding:24px 19px;margin:28px 0}
  .save-share h2,.related-resources h2{font-size:25px}
  .share-buttons{display:grid;grid-template-columns:1fr;gap:10px}
  html[data-enhanced="true"] .share-buttons.requires-js{display:grid!important}
  .author-card h2{font-size:29px}
  .author-identity span{font-size:15px}
  .text-links{gap:0 20px}
  .related-links{grid-template-columns:1fr;gap:12px}
  .related-links>a{min-height:135px;padding:20px}
  .faq-section details p{font-size:16px}
  .data-note{font-size:14px}
  .status{font-size:14px;padding:13px 18px;max-height:35vh;overflow:auto}
  html[data-enhanced="true"] .patient-page{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  html[data-enhanced="true"] .patient-page .mobile-toolbar{position:fixed;display:flex;align-items:center;justify-content:space-between;gap:12px;bottom:0;left:0;right:0;z-index:15;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #ccd9e2;box-shadow:0 -5px 20px rgba(34,65,86,.07)}
  .mobile-toolbar>div{min-width:0;line-height:1.55}
  .mobile-toolbar span{font-size:15px;font-weight:600;color:#263f51}
  .mobile-toolbar small{display:block;font-size:11px;color:var(--muted);margin-top:3px}
  .mobile-toolbar .button{flex:0 0 auto;min-width:126px;padding:11px 15px}
  html[data-enhanced="true"] .patient-page .status{position:fixed;bottom:calc(84px + env(safe-area-inset-bottom,0px));left:0;right:0;z-index:16}
}
@media(max-width:360px){
  .page-shell{padding:0 14px}
  .site-header{padding:14px;gap:10px}
  .brand strong{font-size:24px}
  .brand span{font-size:7px}
  .site-header nav{font-size:11px;max-width:136px}
  .patient-hero h1{font-size:29px}
  .patient-hero h1 span{font-size:17px}
  .question-card,.setup{padding:19px 14px}
  .result{padding:23px 15px}
  .mobile-toolbar .button{min-width:122px;padding:11px 12px}
  .mobile-toolbar small{font-size:10px}
}
@media print{
  .patient-page .tool-intro,.patient-page .research-summary,.mobile-toolbar{display:none!important}
  html[data-enhanced="true"] .patient-page{padding-bottom:0}
  .result-row{background:none;break-inside:avoid}
  .result-row p,.observation-summary p,.next-steps p{font-size:11pt}
  .self-score .total{font-size:26pt}
  .self-score>p:last-child{font-size:11pt}
}


/* v2.5.1: four native questions, one progress area, one result. */
.preview-banner{padding:12px 20px;background:#eef4fb;color:#24456f;font-size:14px;text-align:center;border-bottom:1px solid #d1deed}
.patient-page #runtime-message{margin-top:20px}
.simple-preparation{padding:24px;border:1px solid #d9e4d1;border-radius:14px;background:#f6faef}
.simple-preparation h2{font-size:23px;margin-bottom:10px}.simple-preparation>p{font-size:16px;line-height:1.8}
.simple-preparation .data-note{margin:10px 0 0;font-size:14px}
.question-heading{display:flex;gap:14px;align-items:center}.question-number{display:grid;place-items:center;width:43px;height:43px;flex:0 0 auto;background:#edf5dd;color:#355e22;border-radius:50%;font-size:23px;font-weight:700}
.simple-question .region-label{font-size:12px;margin:0 0 2px}.simple-question h2{font-size:25px;line-height:1.4}
.question-prompt{font-size:18px;margin-top:17px;line-height:1.65}
.grade-options legend{font-size:16px;font-weight:600;margin-bottom:13px}
.grade-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grade-choice{position:relative;display:block;cursor:pointer;min-width:0}
.grade-choice>input{position:absolute;width:1px;height:1px;opacity:0;top:0;left:0}
.grade-body{position:relative;display:grid;grid-template-columns:37px minmax(0,1fr);align-items:center;gap:10px;min-height:104px;padding:23px 13px 15px;background:#fff;border:2px solid #d8e2e8;border-radius:12px;transition:border-color .1s,background .1s}
.grade-wide{grid-column:1/-1}.grade-wide .grade-body{min-height:85px}
.grade-number{display:flex;flex-direction:column;align-items:center;justify-content:center;width:37px;min-height:45px;border-radius:8px;background:#f1f4f7;color:#34516a;font-size:24px;font-weight:700;line-height:1.15}
.grade-number small{font-size:11px;font-weight:400;margin-top:3px}
.grade-label{font-size:16px;line-height:1.6;font-weight:500;overflow-wrap:anywhere}
.grade-detail{grid-column:1/-1;font-size:14px;line-height:1.75;color:#52616d}
.grade-selected{position:absolute;top:4px;right:10px;font-size:11px;color:#205eae;visibility:hidden}
.grade-choice>input:checked+.grade-body{border-color:var(--blue);background:#eff5fe}
.grade-choice>input:checked+.grade-body .grade-number{background:var(--blue);color:#fff}
.grade-choice>input:checked+.grade-body .grade-label{color:#224f88;font-weight:600}
.grade-choice>input:checked+.grade-body .grade-selected{visibility:visible}
.grade-choice>input:focus-visible+.grade-body{outline:3px solid var(--blue);outline-offset:3px}
@media(hover:hover){.grade-choice:hover .grade-body{border-color:#7c9bc7}}
.clear-question{border:0;background:transparent;color:#626f78;text-decoration:underline;text-underline-offset:4px;font-size:14px;min-height:44px;padding:10px 4px;margin-top:8px}
.photo-help{margin-top:14px;text-align:left}.photo-help summary{font-size:14px;color:var(--blue);cursor:pointer;padding:9px 0}
.photo-help .photo-guide{padding-top:7px}.patient-page .journal-figure figcaption{font-size:12px}
.optional-context{border:1px solid #dbe3e7;border-radius:12px;margin:28px 0;color:var(--muted)}
.optional-context>summary{padding:17px 20px;cursor:pointer;font-size:16px;color:#42596a;min-height:56px}
.optional-content{padding:6px 20px 22px}.optional-content h3{font-size:18px;color:var(--ink)}
.optional-content .role-options{margin-top:14px}.optional-content .choice{font-size:16px;padding:12px;min-height:52px}
.finish-form{margin:28px 0 34px;padding:24px;background:#f2f6fb;border:1px solid #d4dfec;border-radius:14px}
#completion{font-size:17px;font-weight:600;color:#34516a}
#answer-progress{display:block;appearance:none;width:100%;height:8px;overflow:hidden;border:0;border-radius:10px;margin:12px 0;background:#dbe3ee;accent-color:var(--blue)}
#answer-progress::-webkit-progress-bar{background:#dbe3ee;border-radius:10px}#answer-progress::-webkit-progress-value{background:var(--blue);border-radius:10px}#answer-progress::-moz-progress-bar{background:var(--blue);border-radius:10px}
#completion-note{font-size:14px;color:var(--muted);margin:10px 0 18px}
#view-total{width:100%;font-size:19px;min-height:58px}.button:disabled{opacity:.5;cursor:default}
.form-error{margin-top:15px;color:#8a3d20;font-size:15px}.form-error:empty{display:none}
.result-formula{font-size:22px;color:#315c26;font-weight:600;line-height:1.6;margin:12px 0}
.pdf-tools{padding:20px;border:1px solid #d2dfed;border-radius:12px;background:#f1f6fc;margin:20px 0}
.pdf-tools h3{font-size:21px}.pdf-tools>p{font-size:15px;margin-top:10px}.pdf-tools .data-note{font-size:13px}
.pdf-tools>.button{margin-top:16px;width:100%;font-size:17px;min-height:52px}
.pdf-ready{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.pdf-ready>a{flex:1;font-size:14px;padding:12px}
.pending-note{font-size:16px;line-height:1.8;color:#42596a}.result-attribution summary{font-size:14px;cursor:pointer;color:var(--blue);padding:12px 0}
html[data-enhanced="true"] .patient-page{padding-bottom:0}
html[data-enhanced="true"] .patient-page .status{position:static;bottom:auto;left:auto;right:auto;width:auto;max-width:1080px;max-height:none;margin:0 auto;border-radius:10px}
@media(max-width:720px){
 .simple-preparation{padding:20px 17px}.simple-preparation h2{font-size:21px}
 .question-prompt{font-size:17px;margin-top:13px}.simple-question h2{font-size:24px}
 .simple-question .question-layout{gap:20px}.grade-grid{gap:10px}.grade-body{padding:23px 10px 13px;grid-template-columns:32px minmax(0,1fr);gap:8px}
 .grade-number{width:32px;font-size:23px}.grade-label{font-size:16px}.grade-detail{font-size:14px}
 .patient-page .journal-figure img{max-height:320px}
 .optional-content{padding:4px 16px 20px}.optional-content .role-options{grid-template-columns:1fr 1fr;gap:8px}
 .finish-form{padding:20px 17px}.self-score .total{font-size:48px}.result-formula{font-size:20px}
 .pdf-tools{padding:19px 15px}.pdf-ready{display:grid;grid-template-columns:1fr}
}
@media print{.finish-form,.preview-banner{display:none!important}.result-attribution>p{display:block}.result-attribution summary{display:none}}

/* v2.5.1: do not accept answers until the calculator has initialized. */
#patient-controls{min-inline-size:0;width:100%}
#patient-controls:disabled .grade-choice,#patient-controls:disabled .choice{cursor:not-allowed}
#patient-controls:disabled .grade-body,#patient-controls:disabled .grade-choice:hover .grade-body{background:#f4f6f7;border-color:#d8e2e8}
.startup-note{font-size:15px;color:#354f67;line-height:1.8;margin:10px 0 20px;padding:14px;background:#e7eef7;border-radius:8px}
.preview-banner strong{display:block;font-size:18px}.preview-banner p{margin:4px 0 12px}.preview-banner small{display:block;margin-top:9px}.preview-banner .button{min-height:48px}
/* cytseng.com 整合（2026-10-30）：來源、版本、授權、圖說與使用限制等說明文字，畫面上不小於 15px（業主驗收「保留來源與版本提醒可見，不縮成難以閱讀的小字」）；
   頁首連結與「✓ 已選」標記放大至 14px；結果區「認識曾琴雁」連結改深藍（axe color-contrast：原為品牌藍在淡綠底、13px）。只作用於螢幕，列印樣式不變。以 !important 統一壓過套件內各斷點的較小字級。 */
@media screen{
.breadcrumb,.data-note,.result-meta,.zoom-hint,.guide-note,.cta-note,.journal-figure figcaption,.journal-figure figcaption strong,.source-section,.source-section p,.result-attribution,.result-attribution p,.study-meta,.study-journal,.study-source,.result-table th,.result-table td,.research-grid a,.grade-detail,.photo-guide p,.photo-guide strong,.tool-intro a,.hero-byline .source-link,.assessor-confirm p,.domain-range,.priority-result h3 span,#completion-note,.startup-note,.site-footer div{font-size:15px!important}
.site-header nav,.grade-selected,.chips span,.region-label{font-size:14px!important}
.consultation-card .about{color:#24549b;font-size:15px!important}
}
.table-scroll:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
/* cytseng.com 內容更新 v2（2026-10-30）：首屏雙入口、四區計分表（可展開）、研究摘要卡的站內「研究解讀」連結、研究卡定位標籤與限制段、基礎文獻、呈現者署名。 */
.patient-hero .start-link+.button-secondary{margin:24px 0 0 12px;min-height:52px}
.hero.patient-hero p.scope-note:not(.eyebrow){max-width:800px}
.tool-intro p+p{margin-top:12px}
.tool-intro details{max-width:800px;margin:16px 0;padding:0 18px;border:1px solid var(--line);border-radius:12px;background:#fff}
.tool-intro details[open]{padding-bottom:16px}
.tool-intro summary{cursor:pointer;min-height:48px;padding:12px 0;color:var(--blue);font-size:16px}
.tool-intro .table-scroll table{min-width:0}
.tool-intro .result-table{margin:6px 0 14px}
/* 審查修正：四區表改自動欄寬；分數欄不換行（0–3 等短字串），說明欄得到其餘寬度，只在「的不對稱」前換行（<wbr>）；手機上英文部位名獨立一行、不在連字號處斷開。 */
.tool-intro .result-table{table-layout:auto}
.tool-intro .result-table th:first-child,.tool-intro .result-table th:last-child{width:auto}
.tool-intro .result-table tr>:nth-child(2){width:1%;white-space:nowrap}
.tool-intro .result-table td:last-child{word-break:keep-all}
.tool-intro .result-table th[scope="row"] span{white-space:nowrap}
.research-grid .card-links{display:flex;flex-direction:column;align-items:flex-start;margin-top:10px}
.research-grid .card-links a{display:inline-flex;align-items:center;min-height:44px}
.study-tags{margin:0 0 6px}
.study-tag{display:inline-block;padding:3px 12px;border-radius:99px;background:#edf5dd;color:#2f5520;font-size:15px;font-weight:600;line-height:1.7}
.featured-study{border-color:#c9dbb3}
.study-extra{margin:0 0 12px;padding:0 14px;border:1px solid var(--line);border-radius:10px}
.study-extra summary{cursor:pointer;min-height:44px;padding:10px 0;color:var(--blue)}
.study-extra p{padding-bottom:12px}
.study-citation{margin-top:12px;padding-top:12px;border-top:1px solid #e5e9ed;overflow-wrap:anywhere}
.study-citation cite{font-style:normal}
.study-label{font-weight:700;color:#254e27}
.study-limits{margin-top:14px;padding:12px 16px;border-left:3px solid var(--green);background:#f6f8f2;border-radius:0 10px 10px 0}
#score-versions .result-table th:first-child{width:26%}
#score-versions .result-table th:last-child{width:40%}
#score-versions h3{font-size:1.15rem;margin-top:1.6rem}
.foundation-source{padding:.8rem 0 1rem;border-bottom:1px solid #e5e9ed;overflow-wrap:anywhere}
.foundation-source h4{font-size:1.05rem;line-height:1.5;margin:0 0 .4rem}
.foundation-source cite{font-style:normal}
.foundation-source p+p{margin-top:.4rem}
.research-next .next-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}
.site-footer p.source-attribution{font-family:inherit;font-size:15px;line-height:1.8;margin-top:14px}
.site-footer .source-attribution a,.site-footer .footer-home{margin-left:0}
.research-section>h2{margin-bottom:.75rem}
.research-section>p+p{margin-top:.75rem}
/* 審查修正：日期、版本字樣、no-cost 等短詞組不拆行（研究頁首屏、研究卡核對日、標題）。
   標題、摘要、研究定位標籤與首屏主句：中文只在標點與空格處換行（keep-all；單段過長時 overflow-wrap:anywhere 仍會斷開，不會溢出、也不撐寬彈性版面），並平均分行，避免單字尾行與「臨／床」「評／分者」這類拆詞（不支援 text-wrap 的瀏覽器照常換行）。 */
.nowrap{white-space:nowrap}
h1,h2,h3,h4,summary,.study-tag,.hero-lead{text-wrap:balance;word-break:keep-all;overflow-wrap:anywhere}
.study-card:not(.featured-study)>h3{text-wrap:wrap}/* 延伸閱讀卡標題是英文原題，維持一般換行，避免平均分行把 SRS-22 等名稱拆開 */
/* 第二次審查修正：首屏作者列與作者卡的名銜（D-22 核可文）中文只在空格與標點處換行，「官方國際講師」不拆開（窄螢幕仍可斷開，不溢出）。 */
.hero-byline>div>span,.author-identity span{word-break:keep-all;overflow-wrap:anywhere}
@media(max-width:720px){
  /* 審查修正：手機首屏收緊間距與主句字級（文字與順序不變），讓「開始我的外觀觀察」在 375×667、390×664 等可視高度內完整出現（原 692–744px，改後約 582–634px）。 */
  .patient-hero{padding-top:16px}
  .patient-hero .eyebrow{margin-bottom:8px}
  .patient-hero h1{line-height:1.35}
  .patient-hero h1 span{margin-top:4px;line-height:1.5}
  .patient-hero .hero-lead{font-size:22px;line-height:1.5;margin-top:12px}
  .hero.patient-hero p.hero-intro:not(.eyebrow){margin-top:10px;line-height:1.7}
  .patient-hero .chips{gap:6px;margin-top:12px}
  .hero.patient-hero .start-link{margin-top:16px}
  .patient-hero .start-link+.button-secondary{width:100%;margin:12px 0 0}
  .tool-intro details{padding:0 14px}
  .tool-intro .result-table th[scope="row"] span{display:block}
  .research-next .next-actions .button{width:100%}
}
@media(max-width:400px){
  /* 三個標籤在 360–400px 排成一列（14px 時需兩列）。 */
  .patient-hero .chips span{font-size:13px!important;padding:4px 7px}
}
@media print{.site-footer .source-attribution{display:none}}
/* V3（2026-10-31 業主〈TRACE 頁面改版 V3.0〉）：手機優先——首屏只放用途與開始按鈕、小型作者區（形象照 88／96px、4:5、圓角非圓形）；
   題目區頂部「我的外觀觀察」＋細進度條（捲動時固定在畫面頂端）；每題白話選項單欄排列、點擊區 ≥56px、「看不清楚／不確定」虛線框；
   結果先列四個部位，再列最在意的部位、分數與界線、紀錄用途。沿用品牌色 #3270C9／#98C742／#F3F7EB，不加漸層與重陰影。 */
.patient-hero{padding:36px 0 30px;max-width:820px}
.patient-hero .eyebrow{font-size:14px;letter-spacing:.08em;margin-bottom:10px}
.patient-hero h1{font-size:42px;line-height:1.3;letter-spacing:-.01em}
.hero.patient-hero p.hero-en{margin-top:4px;font-size:15px;color:var(--muted);letter-spacing:.02em}
.hero.patient-hero p.hero-lead{font-family:inherit;font-size:24px;line-height:1.6;font-weight:600;color:#263c2a;margin-top:20px;max-width:720px}
.hero.patient-hero p.hero-intro{font-size:18px;line-height:1.75;color:var(--ink);margin-top:10px}
.hero.patient-hero p.hero-aux{font-size:16px;line-height:1.75;color:var(--muted);margin-top:8px}
.patient-hero .start-link{display:flex;width:max-content;min-height:52px;margin-top:22px;padding:12px 28px;font-size:18px;font-weight:600}
.hero.patient-hero p.pro-entry{margin-top:6px}
.pro-entry a{display:inline-flex;align-items:center;min-height:44px;font-size:15px;color:#4d5d69;text-decoration:underline;text-decoration-color:#b9c4cc}
.pro-entry a:hover{color:var(--blue)}
.hero.patient-hero p.scope-note{margin-top:10px;font-size:15px;line-height:1.75;color:#3d4d58;border-left:3px solid var(--green);padding-left:12px}
.hero-author{display:flex;align-items:center;gap:16px;margin-top:26px;padding-top:20px;border-top:1px solid var(--line);max-width:620px}
.hero-author picture{flex:0 0 96px}
.hero-author img{display:block;width:96px;height:120px;object-fit:cover;border-radius:12px;background:#e8edf0}
.hero-author-text{min-width:0}
.hero.patient-hero .hero-author-text p{margin:0;color:var(--ink);max-width:none}
.hero.patient-hero .hero-author-text p.author-name{font-size:18px;font-weight:600;line-height:1.6}
.author-name a{color:var(--ink);text-decoration:none}.author-name a:hover{color:var(--blue);text-decoration:underline}
.hero.patient-hero .hero-author-text p.author-title{font-size:15px;line-height:1.6;color:#52604b;word-break:keep-all;overflow-wrap:anywhere}
.hero.patient-hero .hero-author-text p.author-motto{margin-top:6px;font-family:"Songti TC",serif;font-size:16px;line-height:1.65;color:#2f4a2a}
/* 題目區 */
.patient-page .form-title{font-size:28px;margin-top:40px;scroll-margin-top:16px}
.patient-page .simple-preparation{margin:14px 0 0;padding:18px 20px;border:0;border-radius:12px;background:var(--pale)}
.patient-page .simple-preparation p{font-size:16px;line-height:1.8}
.patient-page .simple-preparation p+p{margin-top:8px}
.obs-progress{position:-webkit-sticky;position:sticky;top:0;z-index:6;margin:18px 0 0;padding:12px 0 10px;background:#fff;border-bottom:1px solid var(--line)}
.obs-progress #completion{font-size:16px;font-weight:600;color:#2b4a63;line-height:1.5}
.obs-progress #answer-progress{height:6px;margin:8px 0 0}
.patient-page .question-card{margin:28px 0;padding:28px;border-radius:12px;scroll-margin-top:72px}
.patient-page .question-card h3{scroll-margin-top:80px}
.patient-page .question-heading{align-items:flex-start}
.patient-page .question-number{width:44px;height:44px;border-radius:10px;font-size:18px;letter-spacing:.02em;background:#edf5dd;color:#355e22}
.patient-page .simple-question .region-label{font-size:14px;line-height:1.6;color:#2459a1;margin:0 0 2px}
.patient-page .simple-question h3{font-size:24px;line-height:1.45;font-weight:600}
.patient-page .question-prompt{font-size:17px;margin-top:14px;line-height:1.7}
.question-prompt strong{color:#2459a1;font-weight:600}
.patient-page .grade-options legend{font-size:16px;margin-bottom:10px}
.grade-list{display:grid;gap:10px}
.patient-page .grade-body{grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:56px;padding:12px 14px;border-radius:12px}
.patient-page .grade-number{width:34px;min-height:34px;border-radius:8px;font-size:18px}
.grade-text{display:flex;flex-direction:column;min-width:0}
.patient-page .grade-label{font-size:16px;line-height:1.55;font-weight:600;color:var(--ink)}
.grade-original{font-size:14px;line-height:1.6;color:#5a6873;margin-top:2px}
.patient-page .grade-selected{position:static;font-size:14px;white-space:nowrap}
.grade-unsure{margin-top:4px}
.grade-unsure .grade-body{border-style:dashed;background:#fafbfc}
.grade-unsure .grade-number{background:#eef1f4;color:#4d5d69}
.grade-choice>input:checked+.grade-body .grade-original{color:#3b5878}
/* 期刊圖例放大切換：視覺上是按鈕，語意仍是原生核取方塊；Esc 由 traceInitZoom 處理。 */
.original-figure{position:relative}
.original-figure .photo-enlarge{position:absolute;top:16px;left:16px;width:1px;height:1px;opacity:0}
.original-figure .zoom-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 16px;border:1px solid #bacadb;border-radius:8px;background:#fff;color:var(--blue);font-size:15px;cursor:pointer}
.original-figure .zoom-close{display:none}
.original-figure .photo-enlarge:checked+.zoom-toggle{background:var(--blue);border-color:var(--blue);color:#fff}
.original-figure .photo-enlarge:checked+.zoom-toggle .zoom-open{display:none}
.original-figure .photo-enlarge:checked+.zoom-toggle .zoom-close{display:inline}
.original-figure .photo-enlarge:focus-visible+.zoom-toggle{outline:3px solid var(--blue);outline-offset:3px}
.original-figure .zoom-hint{margin:8px 0}
.finish-form{margin:32px 0 36px;padding:22px;border-radius:12px}
#view-total{min-height:56px;font-size:18px}
/* 結果 */
.patient-page .result{padding:32px;border-radius:12px;border-color:#c7d8bd;margin:40px 0}
.patient-page .result h2{font-size:28px}
.result-lede{font-size:17px;line-height:1.8;color:#3d4d58;margin-top:8px;max-width:760px}
.patient-page .result-meta{margin:10px 0 0}
.patient-page .result-rows{gap:10px;margin:20px 0 12px}
.patient-page .result-row{padding:16px 18px;background:#fbfcfd}
.patient-page .result-row h3{font-size:15px;font-weight:600;color:#4d5d69}
.patient-page .result-row p.row-answer{font-size:18px;line-height:1.6;font-weight:600;color:var(--ink);margin-top:4px}
.patient-page .result-row p.row-grade{font-size:15px;line-height:1.6;color:#5a6873;margin-top:2px}
.patient-page .pending-note{font-size:16px;margin-top:6px}
.priority-block{margin:32px 0 0;padding-top:24px;border-top:1px solid var(--line)}
.priority-block h3{font-size:22px;line-height:1.5}
.priority-block .data-note{margin:6px 0 12px}
.priority-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.priority-options .choice{min-height:52px;padding:12px 14px;align-items:center;font-size:16px}
.priority-options .choice input{margin-top:0}
.priority-message{margin:0;font-size:16px;font-weight:600;color:#2f5520}
.priority-message:not(:empty){margin-top:12px}
.patient-page .self-score{margin:32px 0 0;padding:22px;border-radius:12px;background:var(--pale)}
.patient-page .self-score h3{font-size:22px;color:var(--ink);margin-bottom:10px}
.patient-page .self-score .score-label{font-size:15px;color:#465343}
.patient-page .self-score .total{font-size:30px;line-height:1.4;margin:2px 0 4px}
.patient-page .self-score .result-formula{font-size:17px;margin:0 0 8px}
.patient-page .self-score #summary-lead{font-size:16px;line-height:1.8;color:#3d4d58}
.patient-page .self-score .score-boundary{margin-top:12px;padding:12px 14px;background:#fff;border-radius:10px;font-size:16px;line-height:1.8;font-weight:600;color:#2b3d33}
.patient-page .self-score .data-note{margin:12px 0 0}
.record-use{margin:36px 0 0;padding-top:24px;border-top:1px solid var(--line)}
.record-use h3{font-size:22px;line-height:1.5}
.use-steps{list-style:none;padding:0;margin:16px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.use-steps li{padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}
.use-steps strong{display:block;font-size:17px;line-height:1.5;color:var(--ink)}
.use-steps .step-no{display:block;font-size:14px;color:var(--blue);letter-spacing:.06em;margin-bottom:4px}
.use-steps li>span{display:block;margin-top:6px;font-size:15px;line-height:1.75;color:#4d5d69}
.use-caution{margin-top:14px;font-size:15px;line-height:1.8;color:#4d5d69}
.patient-page .pdf-tools{margin:20px 0 0;padding:0;border:0;background:none}
.patient-page .pdf-tools>.button{width:100%;max-width:420px;min-height:56px;font-size:18px;margin-top:0}
.pdf-note{font-size:15px;line-height:1.7;color:#4d5d69;margin-top:8px}
.patient-page .result-actions{margin-top:16px}
.first-visit-link{margin-top:20px;font-size:16px}
.first-visit-link a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.first-visit-link a::after{content:"→";margin-left:6px}
.patient-page .consultation-card{margin-top:28px}
/* FAQ、專業依據、整理者 */
.patient-page .faq-section{margin-top:44px;padding-top:8px}
.patient-page .faq-section h2{font-size:28px}
.patient-page .faq-section summary{font-size:17px;min-height:48px;padding:4px 0}
.patient-page .faq-section details p{font-size:16px;line-height:1.85;color:#3d4d58}
.basis-section{margin:40px 0;padding-top:32px;border-top:1px solid var(--line)}
.basis-section>h2{font-size:28px;margin-bottom:12px}
.basis-section>p{max-width:820px;font-size:16px;line-height:1.85;color:#3d4d58}
.basis-limits{max-width:820px;margin:16px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.basis-limits li{padding:14px 16px;border-left:3px solid var(--green);background:#f7f9f4;border-radius:0 10px 10px 0;font-size:16px;line-height:1.8}
.basis-details{max-width:900px;margin:20px 0 0;border:1px solid var(--line);border-radius:12px;background:#fff}
.basis-details>summary{min-height:52px;padding:13px 18px;cursor:pointer;color:var(--blue);font-size:17px;font-weight:600}
.basis-body{padding:0 18px 20px}
.basis-body h3{font-size:20px;line-height:1.5;margin:24px 0 8px}
.basis-body>p{font-size:16px;line-height:1.85;color:#3d4d58}
.basis-body .table-scroll table{min-width:0}
.basis-body .result-table{table-layout:auto;margin:8px 0 12px}
.basis-body .result-table th:first-child,.basis-body .result-table th:last-child{width:auto}
.basis-body .result-table tr>:nth-child(2){white-space:normal}
.basis-body .research-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:10px 0}
.basis-body .research-grid h4{font-size:17px;line-height:1.5;margin:0 0 6px}
.tool-compare{margin:8px 0 0}
.tool-compare dt{font-weight:600;color:#254e27;margin-top:14px;font-size:16px}
.tool-compare dd{margin:4px 0 0;font-size:16px;line-height:1.8;color:#3d4d58}
.basis-links{margin-top:14px;font-size:15px;line-height:1.9}
.author-note{margin:36px 0;padding-top:28px;border-top:1px solid var(--line)}
.author-note h2{font-size:22px;margin-bottom:10px}
.author-note p{max-width:820px;font-size:16px;line-height:1.85;color:#3d4d58}
.patient-page .save-share{background:#fff}
.patient-page .save-share h2{font-size:24px}
.patient-page .related-resources h2{font-size:24px}
@media(min-width:721px){
  .patient-page .question-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}
}
@media(max-width:900px){
  .use-steps,.basis-body .research-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  .patient-hero{padding:18px 0 26px}
  .patient-hero .eyebrow{font-size:14px;margin-bottom:6px}
  .patient-hero h1{font-size:30px;line-height:1.35}
  .hero.patient-hero p.hero-en{font-size:14px;margin-top:2px}
  .hero.patient-hero p.hero-lead{font-size:21px;line-height:1.55;margin-top:14px}
  .hero.patient-hero p.hero-intro{font-size:17px;line-height:1.7;margin-top:8px}
  .hero.patient-hero p.hero-aux{font-size:16px;line-height:1.7;margin-top:6px}
  .patient-hero .start-link{width:100%;margin-top:16px}
  .hero.patient-hero p.pro-entry{margin-top:4px}
  .hero.patient-hero p.scope-note{margin-top:6px}
  .hero-author{gap:14px;margin-top:20px;padding-top:16px}
  .hero-author picture{flex-basis:88px}
  .hero-author img{width:88px;height:110px}
  .hero.patient-hero .hero-author-text p.author-name{font-size:17px}
  .patient-page .form-title{font-size:24px;margin-top:32px}
  .patient-page .simple-preparation{padding:16px}
  .obs-progress{margin:16px -18px 0;padding:10px 18px 9px}
  .patient-page .question-card{margin:24px 0;padding:22px 16px}
  .patient-page .question-number{width:40px;height:40px;font-size:16px}
  .patient-page .simple-question h3{font-size:22px}
  .patient-page .question-prompt{font-size:16px}
  .patient-page .grade-body{grid-template-columns:30px minmax(0,1fr);padding:12px;gap:10px}
  .patient-page .grade-number{width:30px;min-height:30px;font-size:17px}
  .patient-page .grade-selected{grid-column:2;justify-self:start;margin-top:-4px}
  .patient-page .grade-choice>input:not(:checked)+.grade-body .grade-selected{display:none}
  .finish-form{padding:18px 16px}
  .patient-page .result{padding:24px 16px;margin:32px 0}
  .patient-page .result h2{font-size:24px}
  .result-lede{font-size:16px}
  .patient-page .result-row{padding:14px}
  .patient-page .result-row p.row-answer{font-size:17px}
  .priority-block h3,.record-use h3,.patient-page .self-score h3{font-size:21px}
  .priority-options{grid-template-columns:1fr 1fr;gap:8px}
  .priority-options .choice{padding:12px 10px;gap:9px}
  .priority-options .choice:last-child{grid-column:1/-1}
  .patient-page .self-score{padding:18px 16px}
  .patient-page .pdf-tools>.button{max-width:none}
  .patient-page .faq-section h2,.basis-section>h2{font-size:24px}
  .basis-details>summary{padding:12px 14px}
  .basis-body{padding:0 14px 18px}
  .basis-body h3{font-size:18px}
}
@media(max-width:360px){
  .patient-hero h1{font-size:28px}
  .hero.patient-hero p.hero-lead{font-size:20px}
  .obs-progress{margin:16px -14px 0;padding:10px 14px 9px}
  .patient-page .question-card{padding:20px 12px}
  .hero-author picture{flex-basis:80px}
  .hero-author img{width:80px;height:100px}
}
@media print{
  .obs-progress,.hero-author,.priority-block,.basis-section{display:none!important}
  .patient-page .result-row p.row-answer{font-size:12pt}
  .patient-page .self-score .total{font-size:20pt}
}
/* V3 版面修正（首輪截圖）：段落末行不留單字（text-wrap:pretty，不支援的瀏覽器照常換行）；結果列「返回修改」放右上；未計算加總時不用大字；用途三步改為不加框的編號清單；FAQ 與專業依據間距收斂。 */
.patient-hero p,.row-grade,.pending-note,.result-lede,.use-caution,.pdf-note,.basis-limits li,.faq-section details p,.score-boundary,#summary-lead,.simple-preparation p,.grade-original{text-wrap:pretty}
.patient-page .result-row{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;align-items:start}
.patient-page .result-row>a{margin:0;min-height:44px;align-self:start}
.patient-page .self-score .total[data-complete="false"]{font-size:20px;color:#4d5d69}
.use-steps{grid-template-columns:1fr;gap:14px}
.use-steps li{padding:0;border:0;background:none}
.use-steps strong{font-size:17px}
.use-steps .step-no{display:inline;font-size:17px;margin:0;color:var(--blue);letter-spacing:0}
.use-steps .step-sep{color:#9aa8b2;margin:0 4px}
.use-steps li>span{margin-top:2px;font-size:16px}
.patient-page .faq-section{margin-top:40px;padding:0}
.patient-page .faq-section details{padding:6px 0}
.patient-page .faq-section details[open]{padding-bottom:16px}
.patient-page .faq-section summary{display:list-item;padding:10px 0}
.basis-section{margin-top:28px}
@media(min-width:901px){.use-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}
@media(max-width:720px){.patient-page .result-row{display:grid}}
/* V3 驗收修正（2026-10-31）：分數區淡綠底上的連結改深藍（axe color-contrast）；手機頁首只留「認識曾琴雁」（專業入口已在首屏，降低視覺權重）、麵包屑上距收斂，
   讓「開始我的外觀觀察」在 320×568、375×553（iPhone SE 的 Safari 可視高度）也不需捲動。 */
.patient-page .self-score a,.patient-page .result .data-note a{color:#24549b}
@media(max-width:720px){
  .patient-page .site-header nav .nav-switch{display:none}
  .patient-page .site-header{align-items:center}
  .patient-page .breadcrumb{padding-top:12px}
  .patient-hero{padding-top:12px}
}
/* 程式移入焦點的標題（結果標題、表單標題、各題標題，tabindex=-1）不畫焦點框：焦點只為輔助科技定位，不是可操作元件。 */
h1[tabindex="-1"]:focus,h2[tabindex="-1"]:focus,h3[tabindex="-1"]:focus{outline:none}
/* V3 審查修正：手機版心依指令左右各 20px（≤360px 維持 16px，避免 320px 首屏按鈕被推出畫面）；進度條滿版跟著版心調整。 */
@media(max-width:720px){
  .patient-page .page-shell{padding:0 20px}
  .patient-page .obs-progress{margin:16px -20px 0;padding:10px 20px 9px}
}
@media(max-width:360px){
  .patient-page .page-shell{padding:0 16px}
  .patient-page .obs-progress{margin:16px -16px 0;padding:10px 16px 9px}
}
/* V3 程式審查修正（2026-10-31）：
   ① 捲動與鍵盤焦點避開固定進度條（scroll-padding；題目卡與標題的 scroll-margin 改小，避免兩者相加）；矮視窗（橫放手機、400% 縮放）不固定進度條。
   ② 放大切換鈕在不支援 :focus-visible 的舊瀏覽器也有焦點框。③ 說明小字、來源標題、「看圖提示」「返回修改」「清除此題選擇」與 LINE 按鈕補到指令字級與點擊高度。 */
html[data-page="patient"]{scroll-padding-top:72px}
.patient-page .question-card{scroll-margin-top:8px}
.patient-page .question-card h3{scroll-margin-top:40px}
.patient-page .form-title{scroll-margin-top:8px}
@media(max-height:480px){
  .obs-progress{position:static}
  html[data-page="patient"]{scroll-padding-top:0}
}
.original-figure .photo-enlarge:focus+.zoom-toggle{outline:3px solid var(--blue);outline-offset:3px}
.original-figure .photo-enlarge:focus:not(:focus-visible)+.zoom-toggle{outline:none}
.source-section h2{font-size:22px}
.patient-page .grade-original{font-size:15px}
.patient-page .simple-question .region-label{font-size:15px!important}
.photo-help summary{font-size:15px;min-height:48px;display:list-item;padding:12px 0}
.patient-page .result-row>a{font-size:15px}
.clear-question{font-size:15px;min-height:48px}
.patient-page .consultation-card .button{min-height:52px}
/* 驗證工作流修正（2026-10-31）：
   ① FAQ 與「看圖提示」保留展開箭頭（summary 維持 list-item）；② 放大＝容器寬的 2 倍、開啟時置中（shared-ui），按鈕勾選時實心＋✓；
   ③「臨床評分與自我觀察」表在手機改左右捲動（不把列標題擠成一字一行）；④ 手機版心 20px（＜340px 才 16px）、題目卡間距 28px；
   ⑤ 進度列右側「回到我的紀錄」、下載／複製／列印回饋顯示在按鈕旁、圖例對照一行直接可見。 */
.original-figure .photo-enlarge:checked~.photo-viewport img{width:200%;max-width:none}
.original-figure .zoom-mark{display:none}
.original-figure .photo-enlarge:checked+.zoom-toggle .zoom-mark{display:inline}
.photo-order{text-align:left;margin:10px 0 0;font-size:15px;line-height:1.7;color:#3d4d58}
.photo-order strong{color:#2459a1;font-weight:600}
.basis-body .table-scroll table.compare-table{min-width:560px}
.basis-body .result-table th[scope="row"]{word-break:keep-all;min-width:4.5em}
.obs-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2px 12px}
.jump-result{display:inline-flex;align-items:center;min-height:32px;font-size:15px;font-weight:600;white-space:nowrap}
.save-feedback{margin:8px 0 0;font-size:15px;line-height:1.7;color:#2f5520}
.save-feedback:empty{margin:0}
@media(max-width:720px){
  .patient-page .question-card{margin:28px 0}
}
@media(max-width:360px){
  .patient-page .page-shell{padding:0 20px}
  .patient-page .obs-progress{margin:16px -20px 0;padding:10px 20px 9px}
}
@media(max-width:339px){
  .patient-page .page-shell{padding:0 16px}
  .patient-page .obs-progress{margin:16px -16px 0;padding:10px 16px 9px}
}
