
:root { color-scheme: light; font-family: "Microsoft YaHei", sans-serif; color: #302631; background: #f1eaf0; }
* { box-sizing: border-box; }
body { margin: 0; background: #f1eaf0; }
header.b35-brand { padding: 18px 5vw; color: #fff1fa; background: #302230; font: 700 23px/1.35 Georgia,serif; }
.b35-brand a { color: inherit; text-decoration: none; }
nav.b35-navigation { display: flex; flex-wrap: wrap; gap: 8px 14px; padding: 12px 5vw; background: #e0cddb; border-bottom: 1px solid #c9abc1; }
.b35-navigation a { color: #693a5c; text-decoration: none; font-size: 13px; }
main { max-width: 1370px; margin: auto; padding: 30px 5vw 72px; }
main > h1 { margin: 0 0 17px; color: #41263b; font: 600 clamp(28px,4vw,45px)/1.2 Georgia,serif; }
.p23-stage-cover { display: grid; grid-template-columns: minmax(0,1fr) 168px; grid-template-areas: "title motif" "copy motif"; gap: 12px 24px; padding: 28px 32px; color: #f6edf4; background: #302230; border-bottom: 5px solid #b92d7f; }
.p23-stage-title { grid-area: title; }
.p23-stage-title p { margin: 0 0 6px; color: #f28bc1; font-size: 12px; letter-spacing: .1em; }
.p23-stage-title h2 { margin: 0; color: #fff3f9; font: 25px/1.3 Georgia,serif; }
.p23-stage-copy { grid-area: copy; max-width: 980px; line-height: 1.95; text-align: justify; }
.p23-stage-copy p { margin: 0; }
.p23-motifs { grid-area: motif; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; align-content: center; margin: 0; padding: 0; list-style: none; }
.p23-motifs figure { display: grid; justify-items: center; gap: 4px; margin: 0; padding: 6px; background: #493247; border: 1px solid #79536f; }
.p23-motif, .p23-gallery-icon { display: block; width: 40px; height: 40px; object-fit: contain; }
.p23-motifs figcaption { color: #e7b4d0; font-size: 9px; }
.p23-contents { display: grid; grid-template-columns: repeat(9,minmax(0,1fr)); gap: 14px; margin-top: 27px; align-items: start; }
.p23-contents > section { min-width: 0; padding: 17px; background: #fffafd; border: 1px solid #dac8d5; }
.p23-contents > section > header { margin-bottom: 12px; padding-bottom: 9px; border-bottom: 2px solid #b92d7f; }
.p23-contents h2 { margin: 0; color: #743c65; font-size: 18px; }
.p23-contents h3 { margin: 0 0 8px; color: #3f2d3b; font-size: 16px; }
.p23-contents p { margin: 0; line-height: 1.9; }
.p23-news-module { grid-column: span 6; }
.p23-story-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.p23-story-list > li { border-top: 1px solid #e6d8e2; }
.p23-story { display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 5px 10px; padding: 12px 0; }
.p23-story time { color: #976a88; font-size: 10px; }
.p23-story h2 { margin: 0; color: #392c37; font-size: 15px; }
.p23-story p { grid-column: 2; line-height: 1.8; }
.p23-gallery-module { grid-column: span 3; color: #fff0f8; background: #442b3e !important; }
.p23-gallery-module > header { border-color: #a75284 !important; }
.p23-gallery-module h2 { color: #f5a5cd; }
.p23-art-board { display: grid; grid-template-columns: 48px 1fr; gap: 8px; margin: 0; align-items: start; }
.p23-art-board figcaption { line-height: 1.8; }
.p23-art-board strong { display: block; margin-bottom: 6px; color: #fff0f8; }
.p23-guide-module { grid-column: span 3; background: #efe2eb !important; }
.p23-guide-note { padding: 5px 1px; }
.p23-deep-module { grid-column: span 3; }
.p23-deep-panel { padding: 4px 2px 4px 12px; border-left: 3px solid #b92d7f; }
.p23-insight-module { grid-column: span 3; background: #ead8e4 !important; }
.p23-insight-note { padding: 5px 1px; }
.p23-library-module { grid-column: span 3; color: #f4eef3; background: #3a303a !important; }
.p23-library-module > header { border-color: #916d88 !important; }
.p23-library-module h2 { color: #e9b7d2; }
.p23-library-card { padding: 5px 1px; }
.p23-faq-module { grid-column: span 6; }
.p23-faq-grid { display: grid; gap: 7px; }
.p23-faq-entry { padding: 10px 12px; background: #f4eaf1; border-left: 3px solid #b92d7f; }
.p23-faq-entry summary { color: #5f3655; cursor: pointer; font-weight: 650; line-height: 1.6; }
.p23-faq-copy { margin: 8px 0 0; line-height: 1.85; }
.p23-community-module { grid-column: span 6; }
.p23-discussion { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.p23-discussion .site-viewpoint { padding: 12px; background: #f5edf3; border-radius: 12px 0; }
.p23-discussion .site-viewpoint:last-child { grid-column: 1 / -1; }
.p23-discussion h3 { font-size: 14px; }
.p23-discussion p { line-height: 1.8; }
.p23-discussion small { display: block; margin-top: 7px; color: #9a4d79; }
.p23-inner h1 { margin: 0; color: #41263b; font: 600 clamp(27px,3vw,38px)/1.2 Georgia,serif; }
.p23-about-file { max-width: 1100px; margin: auto; padding: 28px; background: #fffafd; }
.p23-about-file > header { margin-bottom: 20px; padding-bottom: 13px; border-bottom: 3px solid #b92d7f; }
.p23-about-file > header p, .p23-news-archive > header p, .p23-data-page > header p, .p23-chinese-page > header p, .p23-app-page > header p { color: #8d5d7d; }
.p23-about-file h1, .p23-news-archive h1, .p23-data-page h1, .p23-chinese-page h1, .p23-app-page h1 { margin: 0; color: #41263b; font: 600 clamp(27px,3vw,38px)/1.2 Georgia,serif; }
.p23-about-main { display: grid; grid-template-columns: 85px 1fr 92px; gap: 20px; }
.p23-about-main > aside { display: grid; align-content: start; gap: 8px; }
.p23-about-main > aside b { padding: 8px 4px; color: #713f63; background: #f0e2ec; text-align: center; font-size: 12px; }
.p23-about-papers section { margin-bottom: 16px; line-height: 1.9; }
.p23-about-papers h2 { margin: 0 0 8px; font-size: 18px; }
.p23-about-papers p { margin: 0; }
.p23-about-icons { display: flex; flex-direction: column; gap: 8px; }
.p23-about-icons img { padding: 5px; background: #f0e2ec; }
.p23-news-archive { max-width: 1170px; margin: auto; padding: 28px 32px; background: #fffafd; border-top: 5px solid #b92d7f; }
.p23-news-archive > header { margin-bottom: 17px; }
.p23-news-archive .p23-story-list { grid-template-columns: 1fr 1fr; gap: 0 22px; }
.p23-news-archive .p23-story { grid-template-columns: 50px minmax(0,1fr); padding: 15px 2px; }
.p23-story-icon { grid-row: span 3; width: 40px; height: 40px; object-fit: contain; }
.p23-data-page { max-width: 1050px; margin: auto; padding: 29px; color: #f7eff5; background: #3c2c3a; }
.p23-data-page > header { margin-bottom: 21px; border-bottom: 1px solid #73566d; }
.p23-data-page h1 { color: #f0b3d2; }
.p23-data-page > header p { color: #d4b3ca; }
.p23-data-table { display: grid; grid-template-columns: 82px 1fr; gap: 21px; }
.p23-data-table > aside { display: grid; align-content: start; gap: 7px; }
.p23-data-table > aside span { padding: 9px 5px; color: #4e3548; background: #e7b7d1; text-align: center; font-size: 12px; }
.p23-data-entries section { padding: 14px 0; border-bottom: 1px solid #684f64; line-height: 1.9; }
.p23-data-entries h2 { margin: 0 0 7px; color: #f5cce0; font-size: 17px; }
.p23-data-page > img { margin-top: 20px; }
.p23-chinese-page { max-width: 1060px; margin: auto; padding: 29px; background: #f6edf4; border-radius: 0 30px; }
.p23-chinese-page > header { padding-left: 15px; border-left: 4px solid #b92d7f; }
.p23-term-line { display: flex; flex-wrap: wrap; gap: 8px; margin: 19px 0 14px; }
.p23-term-line span { padding: 8px 12px; color: #713f63; background: #fffafd; border-radius: 0 12px; font-size: 13px; }
.p23-chinese-pair { display: grid; grid-template-columns: 1.2fr .8fr; gap: 15px; }
.p23-chinese-pair section { padding: 17px; background: #fffafd; line-height: 1.9; }
.p23-chinese-pair h2 { margin: 0 0 8px; color: #753c66; font-size: 18px; }
.p23-app-page { max-width: 1050px; margin: auto; padding: 29px; background: #fffafd; }
.p23-app-page > header { padding-bottom: 14px; border-bottom: 3px solid #b92d7f; }
.p23-app-composition { display: grid; grid-template-columns: 170px 1fr; gap: 23px; margin-top: 22px; align-items: center; }
.p23-device-outline { min-height: 290px; padding: 25px 18px; border: 8px solid #392a38; border-radius: 27px; background: #f0e2ec; }
.p23-device-outline span { display: block; width: 68%; height: 38px; margin: 15px auto; border: 1px solid #c69bb8; background: #fffafd; }
.p23-device-outline span:nth-child(2) { width: 83%; height: 54px; background: #e8c4da; }
.p23-device-outline i { display: block; width: 34px; height: 4px; margin: 20px auto 0; border-radius: 4px; background: #78556f; }
.p23-app-articles section { padding: 15px 0; border-bottom: 1px solid #e1d2dd; line-height: 1.9; }
.p23-app-articles h2 { margin: 0 0 8px; color: #733e64; font-size: 18px; }
footer.b35-footer { padding: 28px 5vw; color: #f6edf4; background: #302230; }
.b35-footer a { margin-right: 16px; color: #f28bc1; }
@media (max-width: 900px) {
  main { padding: 20px 4vw 48px; }
  .p23-contents { grid-template-columns: repeat(6,minmax(0,1fr)); }
  .p23-contents > section { grid-column: span 6 !important; }
  .p23-stage-cover { grid-template-columns: 1fr; grid-template-areas: "title" "copy" "motif"; }
  .p23-motifs { grid-template-columns: repeat(3,55px); justify-content: start; }
  .p23-about-main { grid-template-columns: 1fr; }
  .p23-about-main > aside, .p23-about-icons { display: flex; flex-direction: row; flex-wrap: wrap; }
  .p23-news-archive .p23-story-list, .p23-chinese-pair { grid-template-columns: 1fr; }
  .p23-app-composition { grid-template-columns: 1fr; }
  .p23-device-outline { min-height: 175px; max-width: 220px; }
}
@media (max-width: 560px) {
  .p23-about-file, .p23-news-archive, .p23-data-page, .p23-chinese-page, .p23-app-page { padding: 18px; }
  .p23-discussion { grid-template-columns: 1fr; }
  .p23-discussion .site-viewpoint:last-child { grid-column: auto; }
  .p23-data-table { grid-template-columns: 1fr; }
  .p23-data-table > aside { display: flex; flex-wrap: wrap; }
}
