/* Public reading view of the maintained patent editor. */
.readerTextSection{padding:28px;border-top:1px solid var(--line);scroll-margin-top:24px}
.readerTextSection+.readerPair{border-top:1px solid var(--line)}
.readerTextSection .editable>div>p:first-child,.readerPair .editable>div>p:first-child{margin-top:0}
.readerTextSection table{width:100%;border-collapse:collapse;table-layout:fixed;margin:20px 0;font-size:16px;line-height:1.7}
.readerTextSection caption{text-align:left;font-weight:600;padding-bottom:12px;color:var(--ink)}
.readerTextSection th,.readerTextSection td{padding:12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.readerTextSection thead th{background:var(--wash,var(--paper));font-weight:600}
@media(max-width:760px){.readerTextSection{padding:22px 20px}.readerTextSection table{font-size:15px}.readerTextSection th,.readerTextSection td{padding:10px 6px}}
.readerLive{--reader-heading-background:var(--wash,var(--paper))}
html,body{background:var(--wash,var(--paper));scroll-behavior:smooth}
body{padding:36px 20px 28px}
.toolbar,.figureControls{display:none!important}
.metaBar{--reader-meta-font-size:16px;grid-template-columns:180px minmax(0,1fr) minmax(300px,1.25fr);margin-bottom:20px;border:1px solid var(--line);border-radius:16px;box-shadow:0 5px 20px #172f4d10}
.metaField{padding:15px 16px}
.metaField:nth-child(-n+2){border-bottom:1px solid var(--line)}
.metaField:nth-child(2){grid-column:span 2;border-right:0}
.metaLabel{font-size:var(--reader-meta-font-size);font-weight:600;line-height:1.5;margin-bottom:6px}
.metaValue,#jurisdictions{font-size:var(--reader-meta-font-size);line-height:1.6;overflow-wrap:anywhere}
.page{width:100%;max-width:1120px;min-height:0;padding:0;box-shadow:none;background:transparent}
.hero{margin:0 0 20px;border:1px solid var(--line);border-radius:16px;padding:28px 30px;box-shadow:0 5px 20px #172f4d10}
#heading{margin:0;font-family:"Microsoft JhengHei","Noto Sans TC",sans-serif;font-size:clamp(26px,3.2vw,38px);line-height:1.4;letter-spacing:.01em;color:var(--ink)}
.readerTitle{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.readerTitle #heading{max-width:100%}
.metaValue .readerPatentBadge{display:inline-block;max-width:100%;padding:5px 10px;border:1px solid var(--line);border-radius:6px;background:var(--soft,var(--paper));color:var(--accent,var(--teal));font:inherit;text-decoration:none;overflow-wrap:anywhere}
.metaValue .readerPatentBadge:hover{background:none;color:var(--accent-hover,var(--ink));text-decoration:none}
.readerPatentBadge:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
@media(max-width:760px){.metaField:last-child{grid-column:1/-1}}
.sectionTitle{font-size:20px;line-height:1.6;margin-bottom:12px}
.readerSectionTitle{font-size:24px;background:var(--reader-heading-background);color:var(--ink);border-left:4px solid var(--teal);border-radius:0 8px 8px 0;padding:10px 16px;margin:0 0 20px}
.editable{font-size:17px;line-height:1.95;overflow-wrap:anywhere}
.editable p+p{margin-top:1.25em}
body.published-reader .workspace{display:block;box-shadow:none;overflow:visible}
.readerSectionHeader{padding:0}
.readerScopeNote{flex:1 1 30rem;min-width:0;margin:0;padding:0;border:0;background:transparent;color:var(--muted);font-size:14px;font-weight:500;line-height:1.7;overflow-wrap:anywhere}
.readerChapter{margin:0 0 28px;padding:0;border:1px solid var(--line);border-radius:16px;background:#fff}
.readerChapter .readerSectionTitle{margin:0;padding:14px 28px;border:0;border-bottom:1px solid var(--line);border-radius:15px 15px 0 0;background:var(--reader-heading-background)}
.readerChapterBody{padding:24px 28px 28px}
.readerChapterBody .editable>p:first-child{margin-top:0}
.readerChapterBody .editable>p:last-child{margin-bottom:0}
.readerPair{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:36px;align-items:center;scroll-margin:20px;padding:28px;margin:0;border:0;border-radius:0;background:transparent}
.readerPair+.readerPair{border-top:1px solid var(--line)}
.readerPair .figurePane{border:0}
.textPane{padding:0;min-width:0;border:0}
.figurePane{padding:0;min-width:0}
.readerPassageTitle{font-size:21px;line-height:1.5;color:var(--ink);margin:0 0 18px}
.readerOverviewDescription{margin:0;font-size:17px;line-height:1.95;color:var(--text,var(--ink));overflow-wrap:anywhere}
.readerOverviewDescription p{margin:0 0 16px}
.readerIllustration{width:fit-content;max-width:100%;margin:auto;text-align:left}
.readerIllustration img{display:block;width:auto;height:auto;max-width:100%;max-height:320px;object-fit:contain;margin:auto}
.readerIllustration .image-expand{display:inline-block;width:auto;max-width:100%;cursor:zoom-in}
.readerIllustration figcaption{width:0;min-width:100%;margin:12px 0 0;color:var(--muted);font-size:16px;line-height:1.7;text-align:center}
.readerPair .figureMedia{position:relative;width:100%!important;max-width:min(440px,calc(320px * var(--figure-ratio,1)));margin:auto;transition:none}
.readerPair .figureMedia.caption-side{width:var(--caption-group-width)!important}
.readerPair .figureSvg{cursor:default}
/* The same document remains readable when scripting is unavailable. */
.readerLive:not(.readerEnhanced) .ref{cursor:inherit}
.readerLive:not(.readerEnhanced) .hotspot{pointer-events:none;cursor:inherit}
.readerIllustration{width:min(var(--application-width),calc(var(--application-height-limit,320px) * var(--application-ratio)))}
.readerIllustration .image-expand{display:inline-block;width:100%}
.readerIllustration img{width:100%;height:auto}
@media(max-width:760px){.readerIllustration{--application-height-limit:240px}}
.readerPair .figureCard{position:relative}
:is(.readerPair,.readerComparisonSection) .figureImage{position:relative;width:100%;padding-top:48px}
:is(.readerPair,.readerComparisonSection) .readerExpand{position:absolute;top:0;right:0;z-index:1;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--wash,var(--paper));color:var(--teal);text-decoration:none;transition:background-color .18s,border-color .18s,box-shadow .18s}
:is(.readerPair,.readerComparisonSection) .readerExpand:hover{background:var(--soft,var(--paper));border-color:var(--teal);box-shadow:0 2px 6px #172f4d0d}
:is(.readerPair,.readerComparisonSection) .readerExpand:active{background:var(--hover,var(--paper));box-shadow:none}
:is(.readerPair,.readerComparisonSection) .readerExpand:focus-visible{outline:2px solid var(--teal);outline-offset:4px}
:is(.readerPair,.readerComparisonSection) .readerExpandIcon{flex:none;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
/* One image-relative upper-right corner at every width; the reserved strip prevents label occlusion. */
@media(prefers-reduced-motion:reduce){.readerPair .readerExpand{transition:none}}
.readerApplication{margin-top:28px}
.readerApplicationBody{padding:28px}
@media(max-width:650px){.readerApplicationBody{padding:22px 20px}}
.readerReferences{padding:0 28px 24px;font-size:14px;line-height:1.8;color:var(--muted)}
.readerReferences h3{font-size:15px;margin:0 0 8px}
.readerReferences p{margin:4px 0}
.readerReferences a{color:var(--teal)}
.figureSvg{max-height:none;height:auto}
.readerPair .figureSvg{max-height:none}
.noteCard{margin-top:24px}
.noteBody{font-size:16px;line-height:1.85;overflow-wrap:anywhere}
.noteBody table{width:100%;border-collapse:collapse;margin:20px 0}
.noteBody th,.noteBody td{padding:14px 16px;text-align:left;vertical-align:top;border:1px solid var(--line)}
.noteBody th{background:var(--soft,var(--paper))}
.noteBody td:first-child{width:135px;font-weight:600}
.noteBody a{color:var(--teal)}
.figureCard{padding:0}
.figureCard[hidden]{display:none!important}
.figureCard+.figureCard{padding-top:22px}
.figureCaption{height:auto;padding:12px 0 0;font-size:16px;line-height:1.7;white-space:normal;overflow:visible;text-overflow:clip;text-align:center}
.hotspot:focus{outline:none;fill:#ffd84d;fill-opacity:.65;stroke:var(--teal);stroke-width:2}
.readerFooter{max-width:1120px;margin:22px auto 0;padding:0 4px;color:var(--muted);font-size:18px;line-height:1.8}
.readerFooter a{color:var(--teal);text-underline-offset:3px}
/* Stack technical passages before the text column becomes cramped on portrait tablets. */
@media screen and (max-width:960px){.readerPair{grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}}
@media(max-width:760px){body{padding:20px 12px}.metaBar{grid-template-columns:1fr 1fr;margin-bottom:14px}.metaField{padding:12px;border-bottom:1px solid var(--line)}.metaField:first-child{grid-column:1/-1}.hero{padding:22px 20px;margin-bottom:14px}.readerPair{grid-template-columns:1fr}.textPane{padding:24px 20px;border-right:0;border-bottom:1px solid var(--line)}.readerPair .figurePane{border-left:0}.figurePane{padding:22px 18px 12px}.editable{font-size:16px;line-height:1.95}.sectionTitle{font-size:19px}.figureCaption{font-size:16px}.readerFooter{padding:0 8px}#terminal-translation .figureSvg,#near-chip-storage .figureSvg{max-height:none}}
@media(max-width:760px){.readerPair .figureSvg{max-height:none}.readerSectionHeader{padding:22px 20px 0}.noteBody{font-size:15px}.noteBody th,.noteBody td{padding:10px 8px}.noteBody td:first-child{width:66px}}
@media print{body{padding:0}.page{width:100%;max-width:none}.hero,.workspace{box-shadow:none}.readerFooter{display:none}.readerPair{grid-template-columns:1fr 1fr}.editable{font-size:13px}.sectionTitle{font-size:16px}}
@media(max-width:760px){.readerSectionHeader{padding:0}.readerPair{grid-template-columns:1fr;gap:24px;padding:22px 20px}.readerPair .textPane,.readerPair .figurePane{padding:0;border:0}.readerPassageTitle{font-size:19px}.readerIllustration img{max-height:240px}.readerPair .figureMedia{max-width:min(440px,calc(240px * var(--figure-ratio,1)))}.readerOverviewDescription{font-size:16px}.readerReferences{padding-inline:20px}}
@media(max-width:760px){.readerChapter .readerSectionTitle{font-size:22px;padding:12px 20px}.readerChapterBody{padding:20px}.readerApplicationBody{padding:22px 20px}}
.readerChapter .readerSectionHeader--annotated{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 20px;padding:14px 28px;background:var(--reader-heading-background);border-bottom:1px solid var(--line);border-radius:15px 15px 0 0}
.readerChapter .readerSectionHeader--annotated .readerSectionTitle{flex:none;margin:0;padding:0;border:0;background:transparent;border-radius:0}
@media(max-width:760px){.readerChapter .readerSectionHeader--annotated{padding:12px 20px}}
/* Measured glyph size decides the image width; compact mode is explicitly a preview. */
.readerLive .readerPair{grid-template-columns:minmax(0,1fr)}
.readerLive .readerPair.readability-columns{grid-template-columns:minmax(var(--minimum-text-width,320px),1fr) var(--figure-column-width);gap:var(--text-figure-gap,36px)}
.readerLive .readerPair .figureMedia{max-width:var(--readable-display-width,min(var(--inline-max-width,560px),calc(var(--inline-max-height,420px) * var(--figure-ratio,1))))}
@media(max-width:650px){.readerLive .readerPair .figureMedia{max-width:var(--readable-display-width,min(var(--inline-max-width,560px),calc(var(--mobile-max-height,240px) * var(--figure-ratio,1))))}}

.readerApplicationImages{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;min-width:0}
/* Explicit source/product comparison: captions stay with their own full-width column. */
.readerComparison{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin:20px 0 24px}
.readerComparisonColumn{min-width:0}
.readerComparisonLabel{margin:0 0 8px;font-family:var(--editorial-sans);font-size:var(--type-caption,16px);font-weight:600;line-height:1.8;color:var(--ink)}
.readerComparisonFigure{margin:0;min-width:0}
.readerComparisonFigure .image-expand{display:block;width:100%;cursor:zoom-in}
.readerComparisonFigure img{display:block;width:100%;height:300px;object-fit:contain}
.readerComparisonFigure figcaption{margin:14px 0 0;padding:12px 14px;border:0;background:var(--wash,var(--paper));font-family:var(--editorial-sans);font-size:var(--type-caption,16px);font-weight:400;line-height:1.8;text-align:left;color:var(--text)}
.readerCaptionLabel{font-weight:600;color:var(--ink);margin-right:.6em}
@media(max-width:720px){.readerComparison{grid-template-columns:minmax(0,1fr);gap:24px}.readerComparisonFigure img{height:220px}}
.readerComparisonSection{--comparison-image-height:300px}
.readerComparisonSection .readerComparisonImage{height:calc(var(--comparison-image-height) + 48px);display:flex;align-items:center;justify-content:center}
.readerComparisonSection .readerComparisonImage>.image-expand{padding-top:48px}
.readerComparisonSection .figureImage{width:var(--readable-display-width,min(100%,calc(var(--comparison-image-height) * var(--figure-ratio))))}
.readerComparisonSection .figureSvg{display:block;width:100%;height:auto;max-height:none}
.readerComparisonSection .readerExpand{width:44px;height:44px;display:flex}
.readerComparisonSection .textPane{padding:0;border:0}
.readerComparisonSection :is(.readerComparisonApplication,.readerComparisonTechnology){margin-top:20px}
.readerComparisonColumn .textPane>p:first-child{margin-top:0}
.readerComparisonColumn .textPane p:last-child{margin-bottom:0}
.readerComparisonSection figcaption{white-space:normal}
@media(max-width:720px){.readerComparisonSection{--comparison-image-height:220px}}

/* Shared fixed left column for number/date; name spans the flexible applicant/regions columns. */
@media(max-width:900px){.readerLive .metaBar{grid-template-columns:minmax(0,1fr)}.readerLive .metaField{grid-column:auto;display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;border-right:0;border-bottom:1px solid var(--line);align-items:start}.readerLive .metaField:last-child{border-bottom:0}.readerLive .metaLabel{margin-bottom:0}.readerLive .metaValue{min-width:0;overflow-wrap:anywhere}}
