/* Warm editorial catalog shell. Specimen styling lives separately in demos.css.
   This cohesive responsive UI stylesheet exceeds 5 KB and stays below 500 lines. */
:root{--paper:#f5f3ec;--ink:#18231f;--muted:#586159;--line:#d7d9cf;--accent:#d7ef78;--white:#fffef9;--serif:Georgia,'Songti SC','STSong',serif;--sans:'Avenir Next','PingFang SC','Microsoft YaHei',sans-serif}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:15px/1.65 var(--sans)}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer;border:1px solid var(--line);border-radius:4px;background:transparent;padding:8px 14px}button:hover{background:#e8ebdf}button:disabled{cursor:default;opacity:.55}a{color:inherit;text-underline-offset:4px}a:hover{color:#405714}input,textarea,select{color:var(--ink);background:var(--white);border:1px solid #929b8f;border-radius:4px;padding:10px 12px;max-width:100%;min-width:0}input[type=checkbox]{accent-color:#324a21;width:18px;height:18px}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #537524;outline-offset:4px}button.primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}button.primary:hover{background:#344a37}h1,h2,h3,h4,p{margin-block-start:0}h1{font-size:clamp(30px,3.7vw,51px);line-height:1.32;letter-spacing:-.04em;font-weight:500;margin-block-end:17px}h1 em{font-style:normal;color:#5a6656}h2{font-size:22px;font-weight:500;letter-spacing:-.02em}h3{font-size:19px;font-weight:600}small{font-size:12px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;inset-block-start:-80px;inset-inline-start:16px;background:var(--ink);color:white;padding:12px;z-index:50}.skip:focus{inset-block-start:8px}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 4vw;border-block-end:1px solid var(--line);max-width:1680px;margin:auto}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-size:21px;letter-spacing:-.6px;line-height:1.4}.brand small{display:block;font-size:11px;letter-spacing:1.5px;color:var(--muted);margin-block-start:3px}.brand-mark{font:italic 46px/.8 var(--serif);letter-spacing:-9px;display:block;width:48px;height:46px;padding-block-start:3px}.brand-mark span{color:#687849}.masthead nav{display:flex;gap:25px;align-items:center;font-size:13px}.masthead nav a{text-decoration:none}.nav-button{border:0;padding:8px 0;border-radius:0}.nav-button.active{border-block-end:2px solid var(--ink)}
.page-shell{display:grid;grid-template-columns:213px minmax(0,1fr);gap:56px;max-width:1460px;margin:auto;padding:38px 4vw 0}.sidebar{padding-block-start:8px}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:600;color:var(--muted);margin-block-end:24px}.category-button{width:100%;border:0;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:start;padding:11px 12px;margin-block-end:5px;border-radius:3px;font-size:13px}.category-button.active{background:var(--accent);font-weight:600}.category-button small{font-size:11px;color:#49503f}.category-button .cat-index{display:inline-block;font:10px var(--sans);width:23px;color:#5d6757}.sidebar-note{margin-block-start:47px;border-block-start:1px solid var(--line);padding-block-start:22px;font-size:12px;color:var(--muted)}.sidebar-note p{margin-block-start:12px;line-height:1.9}.sidebar-note a{font-size:11px}.status-dot{display:inline-block;width:6px;height:6px;background:#587c32;border-radius:50%;margin-inline-end:7px;vertical-align:middle}
.intro{position:relative;padding-block:0 33px;border-block-end:1px solid var(--line)}.intro .eyebrow{margin-block-end:18px}.lead{font-size:14px;color:var(--muted);line-height:1.9;margin-block-end:0}.edition{position:absolute;inset-inline-end:0;inset-block-end:37px;display:flex;align-items:center;gap:13px}.edition strong{font:72px/.9 var(--serif);letter-spacing:-6px}.edition span{font-size:10px;line-height:1.9;color:var(--muted)}.catalog-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-block:27px 22px}.catalog-toolbar h2{margin-block-end:2px}.catalog-toolbar p{font-size:11px;color:var(--muted);margin:0}.search-wrap{display:flex;align-items:center;gap:8px;border-block-end:1px solid #9aa18f}.search-wrap span{font-size:23px}.search-wrap input{width:225px;border:0;background:transparent;border-radius:0;font-size:12px;padding-inline:4px;}
.entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:33px 24px}.entry-card{min-width:0}.preview-link{display:block;text-decoration:none;overflow:hidden;border:1px solid #d7d9cf;background:#e8eade;aspect-ratio:1.65}.preview-link:hover{border-color:#71845d}.card-kicker{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1px;color:var(--muted);padding-block:14px 6px}.card-title{font-size:19px;margin:0;font-weight:600}.card-title a{text-decoration:none}.card-english{font-size:11px;color:var(--muted);margin-block:2px 8px}.card-definition{font-size:12px;line-height:1.8;margin-block-end:10px;color:#475245;min-height:43px}.card-footer{display:flex;justify-content:space-between;align-items:center}.card-footer a{font-size:11px;text-decoration:none}.compare-toggle{font-size:11px;padding:4px 8px;border-color:transparent}.compare-toggle[aria-pressed=true]{background:var(--accent)}.compare-tray{position:fixed;inset-block-end:18px;inset-inline:20px;max-width:740px;margin-inline:auto;display:flex;align-items:center;gap:12px;padding:12px 17px;background:var(--white);border:1px solid var(--ink);box-shadow:0 8px 25px #18231f1c;z-index:10}.compare-tray p{margin:0;flex:1;font-size:12px}.compare-tray button{font-size:12px;white-space:nowrap}.page-footer{display:flex;justify-content:space-between;gap:20px;padding-block:35px 100px;margin-block-start:38px;border-block-start:1px solid var(--line);font-size:10px;color:var(--muted)}#empty-state{padding:60px 15px;text-align:center;background:#eeeee5}#empty-state p{font-size:13px}
dialog{color:var(--ink);background:var(--paper);border:0;border-radius:5px;width:min(1060px,calc(100vw - 40px));max-height:calc(100dvh - 40px);padding:28px 34px;overscroll-behavior:contain}dialog::backdrop{background:#11201799;backdrop-filter:blur(3px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-block-end:14px}.dialog-top .eyebrow,.dialog-top h2{margin:0}.close-button{font:30px/1 var(--sans);border:0;padding:4px 10px;background:transparent}.entry-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.entry-heading h2{font-size:31px;line-height:1.3;margin-block-end:4px}.entry-heading p{font-size:13px;color:var(--muted);margin:0}.entry-meta{display:flex;flex-wrap:wrap;gap:8px;margin-block:18px 12px;font-size:10px}.entry-meta span{background:#e8ebdf;padding:3px 8px}.entry-definition{font-size:17px;line-height:1.8;max-width:760px}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px 35px;margin-block-start:30px}.detail-section h3{font-size:13px;margin-block-end:10px}.detail-section p,.detail-section li{font-size:12px;color:#465040;line-height:1.85}.detail-section ul{padding-inline-start:18px;margin:0}.detail-section.wide{grid-column:1/-1}.detail-rule{padding-block:10px;border-block-start:1px solid var(--line);font-size:12px}.rule-strength{font-size:9px;display:inline-block;padding:1px 5px;background:#e0e9cc;margin-inline-end:7px}.rule-condition{color:var(--muted);display:block;font-size:11px}.source-item{margin-block-end:12px}.source-item a{font-size:12px}.source-item p{font-size:11px;margin-block:4px}.evidence-note{font-size:11px;color:var(--muted);margin-block:15px}.relation-link{background:transparent;border:0;padding:0;text-decoration:underline;text-underline-offset:3px;text-align:start;font-size:12px}.relation-item{margin-block-end:10px}.relation-item small{display:block;color:var(--muted)}.extension{margin-block-start:20px;font-size:12px;border-block-start:1px solid var(--line);padding-block-start:13px}.extension pre{white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.8 ui-monospace,monospace;background:#e9ecdf;padding:15px}.comparison-notice{font-size:13px;padding:13px 17px;background:#e4ebd8;margin-block-end:22px}.compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.compare-cell{min-width:0}.compare-cell h3{font-size:22px;margin-block-end:3px}.compare-cell .card-english{margin-block-end:14px}.compare-rows{margin-block:25px}.compare-row{display:grid;grid-template-columns:120px 1fr 1fr;border-block-start:1px solid var(--line);gap:20px;padding-block:14px;font-size:12px}.compare-row strong{font-size:11px;font-weight:500;color:var(--muted)}.compare-row p{margin:0}.compare-cell .preview-link{pointer-events:none}.compare-cell details{margin-block-start:15px;font-size:12px}
#agent-view{padding-block-start:0}#agent-view .lead{margin-block-end:24px}.query-presets{display:flex;gap:9px;flex-wrap:wrap;margin-block:25px}.query-presets button{font-size:12px;background:#e7ebdf}#query-form{margin-block:25px}#query-form label{font-size:12px;display:block;margin-block-end:8px}#query-input{width:100%;font:12px/1.85 ui-monospace,monospace;background:#17241e;color:#f1f5e9;padding:20px;resize:vertical;border:1px solid #17241e}.query-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-block-start:12px}.query-footer p{font-size:10px;color:var(--muted);margin:0}.query-footer button{font-size:12px}#query-error{color:#9d2f29;font-size:13px}.query-group{margin-block:27px}.query-group h2{font-size:18px}.query-result{border-block-start:1px solid var(--line);padding-block:16px}.query-result h3{font-size:15px;margin-block-end:4px}.query-result p,.query-result li{font-size:12px;margin-block:6px}.query-result details{font-size:11px;margin-block-start:10px}.query-result ul{padding-inline-start:20px}.query-note{font-size:11px;color:var(--muted)}.query-help{font-size:12px;border-block-start:1px solid var(--line);padding-block-start:15px;overflow-wrap:anywhere}.query-help p{margin-block:12px}.query-result code{overflow-wrap:anywhere}summary{cursor:pointer}
@media(min-width:1450px){.entry-grid{gap:38px 30px}.preview-link{aspect-ratio:1.75}}
@media(max-width:1000px){.page-shell{grid-template-columns:175px minmax(0,1fr);gap:28px}.edition{position:static;margin-block-start:20px}.edition strong{font-size:45px}.intro{padding-block-end:25px}.category-button{font-size:12px;padding-inline:6px}.category-button .cat-index{width:18px}.masthead nav{gap:17px}.search-wrap input{width:165px}.entry-grid{gap:26px 16px}.card-title{font-size:17px}.card-definition{min-height:65px}}
@media(max-width:740px){.masthead{padding:18px 20px;flex-wrap:wrap;gap:17px}.brand{font-size:20px}.brand-mark{font-size:40px;width:42px;height:38px}.masthead nav{width:100%;justify-content:space-between;gap:10px}.page-shell{display:flex;flex-direction:column;gap:25px;padding:20px}.sidebar{padding:0}.sidebar>.eyebrow,.sidebar-note{display:none}#categories{display:flex;gap:6px;flex-wrap:wrap}.category-button{width:auto;font-size:11px;margin:0;border:1px solid var(--line);padding:7px 10px}.category-button .cat-index{display:none}.category-button small{font-size:10px}.intro{padding-block-end:20px}h1{font-size:34px}.edition{position:absolute;inset-inline-end:0;inset-block-end:25px}.edition strong{font-size:42px;letter-spacing:-2px}.edition span{display:none}.lead{font-size:13px}.catalog-toolbar{padding-block:22px 17px}.catalog-toolbar h2{font-size:20px}.search-wrap input{width:150px}.entry-grid{gap:28px 15px}.preview-link{aspect-ratio:1.4}.card-title{font-size:16px}.card-english{font-size:10px}.card-definition{min-height:65px}.page-footer{flex-direction:column;gap:6px;padding-block-end:100px;margin-block-start:30px}dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:20px}.entry-heading h2{font-size:26px}.detail-columns{gap:23px;grid-template-columns:1fr}.detail-section.wide{grid-column:auto}.compare-row{grid-template-columns:1fr 1fr;gap:10px 17px}.compare-row strong{grid-column:1/-1}.compare-grid{gap:16px}.compare-tray{inset-inline:10px;inset-block-end:10px;padding:10px;gap:8px;flex-wrap:wrap}.compare-tray p{flex-basis:100%}.compare-tray button{flex:1}.compare-cell h3{font-size:18px}.query-presets{gap:7px}.query-presets button{font-size:11px}#query-input{padding:12px}.query-footer{align-items:flex-start}.entry-heading>button{font-size:11px;white-space:nowrap}}
@media(max-width:440px){.entry-grid{grid-template-columns:1fr}.preview-link{aspect-ratio:1.65}.card-definition{min-height:0}.card-title{font-size:20px}.card-english{font-size:11px}.catalog-toolbar{flex-wrap:wrap}.search-wrap{width:100%}.search-wrap input{width:100%}.intro h1{font-size:29px}.edition{display:none}.compare-grid{grid-template-columns:1fr}.compare-row{grid-template-columns:1fr}.compare-row p:before{content:attr(data-label) '：';font-weight:600}.compare-row strong{font-size:12px}.query-footer{flex-direction:column}.query-footer button{width:100%}.entry-heading{flex-direction:column}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Empty overlay link labels the picture without treating specimen copy as a control label. */
.preview-link{position:relative}.preview-hit{position:absolute;inset:0;z-index:1}

/* Reserve the content area while the same-source catalog is fetched. */
body[data-loading] #entry-grid{min-height:800px}
/* Keep the edition count in document flow so text enlargement cannot overlap it. */
.intro{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:25px;align-items:end}
.intro>.eyebrow,.intro>h1{grid-column:1/-1}
.intro>.lead{grid-column:1}
.intro .edition{position:static;grid-column:2;grid-row:3;margin:0}
@media(max-width:440px){.intro{grid-template-columns:1fr}}

/* Native language controls wrap with navigation and remain available inside dialogs. */
.masthead nav{flex-wrap:wrap}.language-control{display:inline-flex;align-items:center;font-size:12px}.language-picker{padding-block:6px;padding-inline:9px 26px;max-inline-size:160px;background:transparent;border-color:var(--line)}.dialog-top>.language-control{margin-inline-start:auto}.dialog-top{gap:12px}
html[lang=en] .card-title,html[lang=en] .entry-heading h2{overflow-wrap:anywhere}html[lang=en] .category-button>span{min-inline-size:0}html[lang=en] .category-button .cat-index{display:none}html[lang=en] .card-kicker{letter-spacing:0;gap:12px}.masthead .language-control{margin-inline-start:auto}
@media(max-width:740px){.masthead nav{justify-content:flex-start;gap:10px 17px}.language-control{font-size:11px}.dialog-top .eyebrow{letter-spacing:0;font-size:9px}.dialog-top .language-picker{max-inline-size:112px}}
.entry-image{display:block;width:100%;height:100%;object-fit:cover}

/* Editorial lists: seats are positions inside a selection, never an order or a score. */
.lists-section{border-top:1px solid var(--line);margin-block-start:44px;padding-block:26px 8px}
.lists-section h2{margin:4px 0 10px}
.lists-disclaimer{margin:0 0 6px}
.lists-legend{margin:0 0 20px;font-size:12px;color:var(--muted)}
.lists-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(246px,1fr));gap:16px}
.list-card{border:1px solid var(--line);border-radius:4px;background:var(--white);padding:15px}
.list-card h3{margin:0;font-size:16px;line-height:1.35;overflow-wrap:anywhere}
.list-count{margin:5px 0 0;font-size:11px;letter-spacing:.03em;color:var(--muted)}
.list-note{margin:10px 0 13px;font-size:13px;color:var(--muted)}
.seat-list{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.seat-list li{display:grid;grid-template-columns:2ch 1fr;align-items:baseline;gap:4px 8px;font-size:14px}
.seat-list a{overflow-wrap:anywhere}
.seat-index{font-variant-numeric:tabular-nums;font-size:11px;color:var(--muted)}
.seat-origin{grid-column:2;justify-self:start;max-inline-size:100%;font-size:10px;line-height:1.7;color:var(--muted);border:1px solid var(--line);border-radius:3px;padding-inline:5px}
.page-footer a{white-space:nowrap}
@media(max-width:440px){.lists-grid{grid-template-columns:1fr}}

/* List article pages: one roundup list per page, static outside the catalog shell. */
.article-shell{max-inline-size:760px;margin-inline:auto;padding-block:24px 8px;padding-inline:20px}
.breadcrumb{font-size:12px;color:var(--muted);margin-block:0 18px}
.list-article h1{margin:6px 0 8px;line-height:1.2}
.list-article .lead{font-size:17px;margin-block:14px}
.article-section{border-top:1px solid var(--line);margin-block-start:28px;padding-block-start:18px}
.article-section h2{font-size:17px;margin-block:0 12px}
.criteria-list{margin:0;padding-inline-start:20px;display:grid;gap:8px}
.article-seats li{gap:4px 8px;padding-block-end:12px}
.article-seats a{font-size:15px}
.seat-reason{grid-column:2;margin:0;font-size:13px;color:var(--muted)}
.article-shell .page-footer{margin-block-start:34px}
.honesty-note{border:1px solid var(--line);border-inline-start:3px solid var(--ink);background:var(--white);padding:12px 14px;margin-block:18px}
.honesty-note p{margin:0;font-size:13px}.honesty-note p+p{margin-block-start:8px;color:var(--muted)}
.seat-entry{margin-block-start:26px}
.seat-entry h3{display:flex;align-items:baseline;gap:8px;margin:0;font-size:18px;line-height:1.3}
.seat-entry h3 .seat-index{font-size:12px}
.seat-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:4px 0 0;font-size:12px;color:var(--muted)}
.seat-figure{margin:12px 0 0;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:var(--white)}
.seat-figure img{display:block;inline-size:100%;block-size:auto;aspect-ratio:16/10;object-fit:cover}
.seat-figure figcaption{padding:6px 10px;font-size:11px;color:var(--muted);border-block-start:1px solid var(--line)}
.seat-specimen{margin:12px 0 0;font-size:13px}
.seat-entry .seat-definition{margin:12px 0 0}
.seat-entry .seat-reason,.seat-boundary{grid-column:auto;margin:10px 0 0;font-size:13px;color:var(--muted)}
.seat-entry strong{color:var(--ink)}
/* Entry pages: the former dialog's detail layout inside a wide article shell. */
.entry-shell{max-inline-size:1100px;margin-inline:auto;padding-block:24px 8px;padding-inline:4vw}
.entry-heading .eyebrow{margin:0 0 6px}.entry-article h1{font-size:clamp(28px,3.4vw,40px);line-height:1.25;letter-spacing:-.03em;margin:0 0 6px;font-weight:500}
html[lang=en] .entry-article h1{overflow-wrap:anywhere}.entry-identity{font-size:13px;color:var(--muted);margin:0}
.entry-compare{font-size:12px;border:1px solid var(--line);border-radius:4px;padding:8px 14px;text-decoration:none;white-space:nowrap;align-self:flex-start}.entry-compare:hover{background:#e8ebdf}
.entry-article .detail-section h2{font-size:13px;font-weight:600;margin-block-end:10px}
.entry-shell .page-footer{margin-block-start:40px}
@media(max-width:740px){.entry-shell{padding-inline:20px}}
/* Footer: every page links all editorial lists in two edition groups; one column at 320 px. */
.page-footer{flex-direction:column;gap:26px}
.footer-lists{display:grid;gap:14px}.footer-title{margin:0;font-size:12px}
.footer-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(246px,100%),1fr));gap:16px 28px}
.footer-group h2{font-size:12px;font-weight:600;letter-spacing:0;margin:0 0 8px;color:var(--ink)}
.footer-group ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.footer-lists a{font-size:12px;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
.footer-note{margin:0;font-size:11px;max-inline-size:760px}
.footer-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 20px}
