:root {
  --paper: #f4f1e8;
  --paper-panel: #e9e6da;
  --paper-light: #fbfaf5;
  --ink: #27323a;
  --muted: #5e686e;
  --blue: #496b7a;
  --blue-deep: #294b5a;
  --red: #824643;
  --line: #b8c0bf;
  --wood: #cbc7b9;
}

/* docs/41 second slice: long-form materials replace the former work queues. */
.p13-formal-content,.p14-formal-content,.p15-formal-content,.p18-formal-content{width:min(1180px,calc(100% - 28px));margin:16px auto 38px}.p13-formal-content .public-page-layout,.p14-formal-content .public-page-layout,.p15-formal-content .public-page-layout,.p18-formal-content .public-page-layout{align-items:start}.p13-formal-content .public-page-sidebar,.p14-formal-content .public-page-sidebar,.p15-formal-content .public-page-sidebar,.p18-formal-content .public-page-sidebar{position:sticky;top:14px}.p13-document,.p14-document,.p15-document,.p18-document{min-width:0}.p13-search-section,.p13-index-section,.p13-card-section,.p13-attachment-section,.p14-person-section,.p14-sources,.p14-judgement,.p15-person-section,.p15-sources,.p15-judgement,.p18-material-section,.p18-choice-section,.p18-a06{padding:16px;border-top:2px solid var(--blue);background:rgba(249,248,240,.72)}.p13-search-line{display:flex;gap:8px;max-width:580px}.p13-search-line input{flex:1;min-height:44px;padding:8px;border:1px solid var(--line);background:#fff}.p13-search-line button{min-height:44px}.p13-status,.p14-status,.p15-status,.p18-status{min-height:1.7em;color:var(--muted);font-size:12px}.p13-results{display:grid;gap:10px;margin-top:12px}.p13-person-record{padding:14px;border:1px solid #b6c0bc;background:#fbfaf3}.p13-person-record header{border-bottom:1px solid #c9d0ca;padding-bottom:7px}.p13-person-record h3{margin:2px 0;color:var(--blue-deep);font:700 20px/1.35 "SimSun",serif}.p13-person-record p,.p13-person-record blockquote{margin:8px 0;line-height:1.75}.p13-person-record blockquote{border-left:3px solid #738b8e;padding:8px 12px;background:#f2f0e6}.p13-source-line,.p13-boundary{font-size:12px;color:var(--muted)}.p13-noise-index{columns:2;column-gap:28px;margin:8px 0;padding-left:20px;color:var(--muted);font-size:12px}.p13-card-section{background:#e5e7dc;border-top-color:#596f70}.p13-card-section h3{margin-top:0;color:#334f59}.p13-card-back{margin-top:12px;padding:14px;background:#e8d8ab;border:1px solid #9e875a;box-shadow:5px 5px 0 rgba(62,51,31,.12)}.p13-card-back h4{margin:0;color:#6c3b30}.p13-attachment-section details{border:1px solid var(--line);padding:9px;background:#f8f6ed}.p13-attachment-section summary{min-height:44px;padding:8px;cursor:pointer}.p13-gate-paper,.p14-gate-paper,.p15-gate-paper,.p18-gate-paper{width:min(720px,calc(100% - 28px));margin:30px auto;padding:20px;border:1px solid var(--line);border-top:3px solid var(--blue-deep);background:var(--paper-light)}
.p14-life-paper,.p15-life-paper{padding:16px;background:#e9e1c7;border-left:5px solid #8b6d46}.p14-life-paper blockquote,.p15-life-paper blockquote{margin:13px 0 0;padding:10px;border:1px solid #b6a47d;background:#f7efd7;font:16px/1.8 "SimSun",serif}.p14-natural-note,.p15-natural-note{padding:8px 10px;border-bottom:1px dashed var(--line);color:#4c635f}.p14-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.p14-source-grid article{padding:12px;border:1px solid #b9c2bd;background:#fbfaf3}.p14-source-grid h4{margin:0;color:var(--blue-deep)}.p14-source-grid p{line-height:1.7}.p14-source-grid small{color:var(--muted)}.p14-transcript,.p15-transcript{margin-top:13px;border:1px solid #aeb9b4;background:#f5f3e8}.p14-transcript summary,.p15-transcript summary{min-height:44px;padding:9px;cursor:pointer;color:var(--blue-deep);font-weight:700}.p14-transcript>div,.p15-transcript>div{padding:10px 12px;line-height:1.75}.p14-media-link,.p15-media-link{margin:12px 0 0}.p14-judgement fieldset,.p18-choice-section fieldset{display:grid;gap:8px;margin:0;padding:0;border:0}.p14-judgement legend,.p18-choice-section legend{font-weight:700;color:var(--blue-deep);margin-bottom:8px}.p14-judgement label,.p18-choice-section label{display:flex;gap:9px;align-items:flex-start;min-height:44px;padding:9px;border:1px solid #bac4be;background:#fbfaf3;line-height:1.65}.p14-result,.p15-result{margin-top:12px;padding:12px;border-top:2px solid #6f8a83;background:#eaf0e7}.p14-result h3,.p15-result h3{margin:0;color:#355b57}.p15-source-rows{display:grid;gap:8px;margin-top:12px}.p15-source-row{display:flex;gap:10px;align-items:flex-start;min-height:60px;padding:11px;border:1px solid #aeb9b4;background:#f8f3df;cursor:pointer}.p15-source-row strong{display:block;color:#a85c20}.p15-source-row small{display:block;color:var(--muted);line-height:1.55}.p15-source-row:has(input:checked){border-color:#c27627;background:#f4e4bb}.p18-materials{display:grid;gap:9px}.p18-material{border:1px solid #8b9aa1;background:#f4f5ee}.p18-material summary{min-height:44px;padding:10px 12px;cursor:pointer;color:#284c58;font-weight:700}.p18-material>div{padding:13px;background:#f8f6ed}.p18-material blockquote{margin:8px 0;padding:10px 12px;border-left:3px solid #426b7b;background:#e9eef0;font:16px/1.8 "SimSun",serif}.p18-choice-section{background:#edf0eb}.p18-result{margin-top:13px}.p18-stable-result{padding:14px;border-top:3px solid #4f6873;background:#f6f6ef}.p18-stable-result h3{margin-top:0;color:#315764}.p18-layer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #aab7b3}.p18-layer-grid article{position:relative;padding:11px;border-right:1px solid #aab7b3;border-bottom:1px solid #aab7b3}.p18-layer-grid article:last-child{border-right:0;background:#e6ebe5}.p18-layer-grid h4{margin:0 0 6px;color:#526b70}.p18-layer-grid p{margin:0;line-height:1.7}.p18-summary-layer>span{display:block;color:rgba(87,75,69,.3);transform:translateY(3px)}.p18-a06 details{border:1px solid #aeb9b4;background:#f7f5eb}.p18-a06 summary{min-height:44px;padding:9px;cursor:pointer}.p18-a06 [data-p18-attachment-scroll]{max-height:170px;overflow:auto;padding:10px;line-height:1.75}.p18-a06 button{margin:9px}.p13-formal-content button,.p14-formal-content button,.p15-formal-content button,.p18-formal-content button,.p13-formal-content input,.p14-formal-content input,.p15-formal-content input,.p18-formal-content input{min-height:44px}
@media(max-width:760px){.p13-formal-content,.p14-formal-content,.p15-formal-content,.p18-formal-content{width:calc(100% - 18px);margin-top:10px}.p13-formal-content .public-page-sidebar,.p14-formal-content .public-page-sidebar,.p15-formal-content .public-page-sidebar,.p18-formal-content .public-page-sidebar{position:static}.p13-search-line{display:block}.p13-search-line input,.p13-search-line button{width:100%;margin-top:8px}.p13-noise-index{columns:1}.p14-source-grid,.p18-layer-grid{grid-template-columns:1fr}.p14-source-grid article{border-bottom:0}.p14-source-grid article:last-child{border-bottom:1px solid #b9c2bd}.p15-source-row{min-height:64px}.p13-gate-paper,.p14-gate-paper,.p15-gate-paper,.p18-gate-paper{width:calc(100% - 18px);margin-top:14px}.p14-judgement label,.p18-choice-section label{align-items:flex-start}.p13-formal-content .catalog-primary-action,.p13-formal-content .catalog-secondary-action,.p14-formal-content .catalog-primary-action,.p14-formal-content .catalog-secondary-action,.p15-formal-content .catalog-primary-action,.p15-formal-content .catalog-secondary-action,.p18-formal-content .catalog-primary-action,.p18-formal-content .catalog-secondary-action{width:100%}}

* { box-sizing: border-box; }
html { background: #d9dcdb; }
body { min-width: 320px; margin: 0; background: var(--paper); color: var(--ink); font: 16px/1.72 "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", sans-serif; }
button, input { font: inherit; }
button { cursor: pointer; }
a { color: var(--blue-deep); }
:focus-visible { outline: 3px solid #b77825; outline-offset: 2px; }

.skip-link { position: fixed; z-index: 80; top: 6px; left: 6px; padding: 8px 12px; background: #fff; color: var(--blue-deep); transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.catalog-header { border-top: 5px solid var(--blue-deep); background: var(--paper-light); }
.catalog-header-inner { width: min(1250px, calc(100% - 32px)); margin: 0 auto; padding: 15px 0 12px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.catalog-brand { display: inline-flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; }
.catalog-brand strong { display: block; color: var(--blue-deep); font: 700 26px/1.1 "SimSun", "Songti SC", serif; letter-spacing: .12em; }
.catalog-brand small { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; letter-spacing: .04em; }
.catalog-seal { display: grid; width: 48px; height: 48px; place-items: center; border: 2px solid var(--red); color: var(--red); font: 700 16px/1 "SimSun", serif; }
.catalog-office { color: var(--muted); font-size: 12px; text-align: right; }
.catalog-office b { display: block; color: var(--blue-deep); font-size: 13px; }
.catalog-office small { display: block; margin-top: 3px; color: var(--red); font: 700 11px/1.35 "SimSun", "Songti SC", serif; }
.catalog-nav { display: flex; align-items: stretch; overflow: hidden; padding: 0 max(calc((100% - 1250px) / 2), 16px); border-bottom: 3px solid var(--blue-deep); background: var(--blue); }
.catalog-nav-link { min-height: 40px; padding: 8px 17px; border: 0; border-right: 1px solid rgba(255,255,255,.22); background: transparent; color: #fff; font-size: 13px; text-decoration: none; white-space: nowrap; }
.catalog-nav-link:hover, .catalog-nav-link:focus-visible, .catalog-nav-link.is-current { background: var(--blue-deep); }
.catalog-staff-context { width: min(1250px, calc(100% - 32px)); margin: 0 auto; display: flex; flex-wrap: wrap; gap: 0; border-left: 1px solid var(--line); border-right: 1px solid var(--line); background: #e8ece8; color: var(--blue-deep); font-size: 12px; }
.catalog-staff-context span { min-height: 30px; display: inline-flex; align-items: center; padding: 4px 12px; border-right: 1px solid var(--line); }
.catalog-staff-context span:first-child { font-weight: 700; }
.catalog-staff-nav { display: none; align-items: stretch; flex-wrap: wrap; padding: 0 max(calc((100% - 1250px) / 2), 16px); border-bottom: 3px solid var(--blue-deep); background: #607d88; }
.is-staff-shell .catalog-nav { display: none; }
.is-staff-shell .catalog-staff-nav { display: flex; }
.catalog-staff-link { min-height: 40px; display: inline-flex; align-items: center; gap: 7px; padding: 8px 17px; border-right: 1px solid rgba(255,255,255,.28); color: #fff; font-size: 13px; text-decoration: none; }
.catalog-staff-link:hover, .catalog-staff-link:focus-visible, .catalog-staff-link.is-current { background: var(--blue-deep); }
.catalog-staff-link.is-disabled { color: rgba(255,255,255,.72); cursor: default; }
.catalog-staff-link small { color: inherit; font-size: 10px; }
.catalog-shell-breadcrumb { width: min(1250px, calc(100% - 32px)); min-height: 22px; margin: 0 auto; padding-top: 5px; color: var(--muted); font-size: 12px; }
.catalog-toolbar { width: min(1250px, calc(100% - 32px)); min-height: 32px; margin: 0 auto; padding: 4px 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 12px; }
.catalog-tools { display: flex; gap: 8px; }
.catalog-toolbar button { min-height: 40px; padding: 6px 11px; border: 1px solid #7f8d90; border-radius: 0; background: #eff0eb; color: var(--blue-deep); }
.catalog-toolbar button.catalog-sound { min-height: 44px; }
.catalog-toolbar button:hover { background: var(--paper-panel); }
.catalog-shell-notice { width: min(1250px, calc(100% - 32px)); min-height: 0; margin: 0 auto; color: var(--muted); font-size: 12px; }
.catalog-storage-alert { width: min(1250px, calc(100% - 32px)); margin: 8px auto 0; padding: 9px 11px; border: 1px solid #a66f51; border-left-width: 4px; background: #fff3df; color: #653e2e; font-size: 13px; }
.catalog-storage-alert[hidden] { display: none; }
.catalog-storage-alert a { color: inherit; font-weight: 700; }
.catalog-storage-alert:focus-visible { outline: 2px solid #7d452f; outline-offset: 2px; }
.wig-communications-launcher { position: fixed; right: 18px; bottom: 16px; z-index: 80; min-height: 44px; padding: 8px 13px; border: 1px solid #718696; border-radius: 0; background: #eef3f5; color: #284b62; font: 12px Tahoma, "Microsoft YaHei", sans-serif; box-shadow: 1px 2px 0 rgba(30,55,70,.16); }
.wig-communications-launcher:focus-visible, .wig-communications-close:focus-visible { outline: 2px solid #2e6487; outline-offset: 2px; }
.wig-communications-drawer { position: fixed; inset: 0; z-index: 90; }
.wig-communications-drawer[hidden], .wig-communications-launcher[hidden] { display: none; }
.wig-communications-backdrop { position: absolute; inset: 0; background: rgba(31,49,61,.24); }
.wig-communications-panel { position: absolute; right: 18px; bottom: 16px; width: min(940px, calc(100% - 36px)); max-height: calc(100vh - 32px); overflow: auto; border: 1px solid #7e919e; background: #e6edf1; box-shadow: 3px 4px 0 rgba(31,49,61,.2); }
.wig-communications-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 5px 10px; border-bottom: 1px solid #aabac5; background: #d7e3e9; }
.wig-communications-panel-head h2 { margin: 0; color: #244e6f; font: 700 17px/1.3 "SimSun", serif; }
.wig-communications-close { min-width: 64px; min-height: 44px; border: 1px solid #7892a4; border-radius: 0; background: #fff; color: #244e6f; }
.wig-communications-root { min-width: 0; }
@media (max-width: 560px) {
  .wig-communications-launcher { right: 10px; bottom: 10px; }
  .wig-communications-panel { right: 0; bottom: 0; width: 100%; max-height: 100vh; border-right: 0; border-bottom: 0; }
}

/* Batch A keeps the public shell in place while a catalog record is fetched. */
#main-content.wig-main-loading { opacity: .78; filter: brightness(.94); transform: translateY(1px); transition: opacity .12s ease, filter .12s ease, transform .12s ease; }
#main-content.wig-main-enter { animation: wig-catalog-record-in .18s ease both; }
@keyframes wig-catalog-record-in { from { opacity: .72; transform: translateY(-1px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
  #main-content.wig-main-loading, #main-content.wig-main-enter { opacity: 1; filter: none; transform: none; animation: none; transition: none; }
}

.catalog-page { width: min(1250px, calc(100% - 32px)); margin: 12px auto 30px; }
.catalog-breadcrumb { margin: 0 0 8px; color: var(--muted); font-size: 12px; }
.catalog-layout { display: grid; grid-template-columns: 232px minmax(0, 1fr) 226px; gap: 18px; align-items: stretch; }
.catalog-sidebar, .catalog-public-block { border: 1px solid var(--line); background: rgba(251,250,245,.94); }
.catalog-panel-title { margin: 0; padding: 9px 11px; border-bottom: 2px solid var(--blue); background: var(--paper-panel); color: var(--blue-deep); font: 700 15px/1.25 "SimSun", "Songti SC", serif; }
.catalog-search-form { padding: 12px; }
.catalog-search-label { display: block; margin-bottom: 5px; font-size: 12px; font-weight: 700; }
.catalog-search-form input { width: 100%; height: 40px; padding: 7px 8px; border: 1px solid #82939a; border-radius: 0; background: #fffefa; color: var(--ink); }
.catalog-secondary-action { width: 100%; min-height: 40px; margin-top: 7px; border: 1px solid #86979c; border-radius: 0; background: #f2f1e9; color: var(--blue-deep); font-size: 13px; }
.catalog-secondary-action:hover { background: #e1e7e5; }
.catalog-search-help, .catalog-search-result { margin: 8px 12px 0; color: var(--muted); font-size: 12px; }
.catalog-search-result { min-height: 2em; padding-left: 8px; border-left: 3px solid var(--red); color: var(--ink); }
.catalog-side-links { margin: 12px 0 0; padding: 10px 12px 0; border-top: 1px solid #c4c9c6; list-style: none; color: var(--muted); font-size: 12px; }
.catalog-side-links li { padding: 7px 0; border-bottom: 1px dotted var(--line); }

.catalog-workbench { position: relative; min-width: 0; min-height: 520px; overflow: hidden; padding: 15px 22px 18px; border: 1px solid #a8aaa0; background: linear-gradient(90deg, rgba(255,255,255,.08), transparent 28%, rgba(39,50,58,.05)), repeating-linear-gradient(90deg, var(--wood) 0, var(--wood) 5px, #c5c0b1 5px, #c5c0b1 10px); box-shadow: inset 0 1px rgba(255,255,255,.7); }
.catalog-workbench-heading { position: relative; z-index: 5; display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.catalog-workbench-heading strong { font: 700 17px/1.2 "SimSun", serif; }
.catalog-workbench-heading span { color: var(--muted); font: 11px Consolas, monospace; }
.catalog-workbench-heading b { color: var(--red); font-size: 12px; }
.catalog-paper-layer { position: absolute; border: 1px solid #aaa18a; background: #ddd4bd; box-shadow: 0 4px 10px rgba(39,50,58,.14); }
.catalog-paper-layer-one { inset: 66px 66px 18px 38px; transform: rotate(-1.7deg); }
.catalog-paper-layer-two { inset: 58px 48px 28px 54px; transform: rotate(1.1deg); background: #e5dcc6; }
.catalog-card-edge { position: absolute; z-index: 3; right: 28px; bottom: 22px; width: 320px; height: 116px; padding: 14px 18px; transform: rotate(2.6deg); border: 1px solid #9f9477; background-color: #ddd2b5; background-image: repeating-linear-gradient(0deg, transparent 0, transparent 23px, rgba(73,107,122,.32) 23px, rgba(73,107,122,.32) 24px); box-shadow: 2px 4px 8px rgba(39,50,58,.18); color: #5e5a4e; font: 10px Consolas, monospace; }
.catalog-card-edge::before { content: "旧目录卡 · 抄录副本"; display: block; width: 55%; border-bottom: 1px solid var(--red); color: var(--red); }
.catalog-handoff-paper { position: absolute; z-index: 4; inset: 54px 48px 26px 42px; display: flex; flex-direction: column; padding: 17px 24px 16px; border: 1px solid #8f8b7e; background-color: #eee9da; background-image: repeating-linear-gradient(0deg, rgba(73,107,122,.045) 0, rgba(73,107,122,.045) 1px, transparent 1px, transparent 3px), radial-gradient(circle at 78% 18%, rgba(130,70,67,.04), transparent 24%), linear-gradient(93deg, transparent 0 48%, rgba(39,50,58,.028) 49%, transparent 50%); box-shadow: 5px 7px 13px rgba(39,50,58,.24); transform: rotate(.3deg); transition: transform .3s ease; }
.catalog-workbench.is-signing .catalog-handoff-paper { transform: translateY(-4px) rotate(.3deg); }
.catalog-metal-clip { position: absolute; top: -14px; left: 50%; width: 152px; height: 30px; display: grid; place-items: center; transform: translateX(-50%); border: 1px solid #646d6c; background: linear-gradient(#d4d7d3, #8d9593 43%, #c3c7c2 48%, #858d8b 100%); box-shadow: inset 0 0 0 3px rgba(255,255,255,.2), 0 2px 4px rgba(39,50,58,.28); color: var(--ink); font: 10px Consolas, monospace; letter-spacing: .08em; }
.catalog-paper-head { display: flex; align-items: flex-start; justify-content: space-between; padding: 8px 0 9px; border-bottom: 2px solid #777c78; }
.catalog-paper-head h1 { margin: 0; color: var(--ink); font: 700 21px/1.25 "SimSun", "Songti SC", serif; letter-spacing: .08em; }
.catalog-paper-head small { color: var(--red); font: 700 10px Consolas, monospace; white-space: nowrap; }
.catalog-field-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 10px; border-top: 1px solid #aaa798; border-left: 1px solid #aaa798; }
.catalog-field { min-height: 58px; padding: 7px 9px; border-right: 1px solid #aaa798; border-bottom: 1px solid #aaa798; }
.catalog-field span { display: block; color: var(--muted); font-size: 10px; }
.catalog-field b { display: block; margin-top: 3px; color: var(--ink); font: 13px Consolas, "Courier New", monospace; }
.catalog-source-line { min-height: 18px; border-bottom: 1px dotted var(--red); color: var(--red) !important; font-family: "Microsoft YaHei", sans-serif !important; }
.catalog-principle { margin: 8px 0 7px; color: #49525a; font-size: 11px; }
.catalog-review-box { flex: 1 1 auto; min-height: 108px; padding: 7px 9px 4px; border: 1px solid #aaa798; background: rgba(244,241,232,.48); }
.catalog-review-box strong { display: block; margin-bottom: 2px; color: var(--muted); font-size: 10px; }
.catalog-ruled-lines { height: calc(100% - 18px); min-height: 58px; background: repeating-linear-gradient(0deg, transparent 0, transparent 15px, rgba(73,107,122,.34) 15px, rgba(73,107,122,.34) 16px); }
.catalog-paper-footer { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 16px; margin-top: 9px; }
.catalog-signature { min-width: 0; color: var(--muted); font-size: 11px; }
.catalog-signature-line { display: inline-block; width: 150px; height: 18px; margin-left: 6px; border-bottom: 1px solid #6f7471; vertical-align: bottom; color: var(--blue-deep); font: 12px "KaiTi", "STKaiti", serif; }
.catalog-primary-action { min-width: 190px; min-height: 44px; padding: 8px 15px; border: 1px solid var(--blue-deep); border-radius: 0; background: var(--blue-deep); color: #fff; box-shadow: inset 0 1px rgba(255,255,255,.16), 0 1px 2px rgba(39,50,58,.18); font-size: 13px; }
.catalog-primary-action:hover { background: var(--blue); }
.catalog-handoff-actions { display: grid; grid-template-areas: "search" "signed"; gap: 8px; min-width: 190px; }
.catalog-handoff-signed-state { grid-area: signed; display: flex; align-items: center; justify-content: center; min-width: 190px; min-height: 44px; padding: 8px 15px; border: 1px solid #8d9792; border-radius: 0; background: #e4e6df; color: #4f625f; font: 700 12px/1.4 "SimSun", serif; cursor: default; opacity: 1; }
.catalog-handoff-search-action { grid-area: search; width: 100%; }
.catalog-office-stamp { position: absolute; z-index: 8; right: 194px; bottom: -9px; width: 94px; height: 94px; opacity: 0; color: var(--red); transform: rotate(-9deg) scale(1.08); mix-blend-mode: multiply; pointer-events: none; transition: opacity .22s ease, transform .22s ease; }
.catalog-workbench.is-signed .catalog-office-stamp { display: block; opacity: .84; transform: rotate(-9deg) scale(1); }
.catalog-right-stack { display: grid; align-content: start; gap: 12px; }
.catalog-public-list { margin: 0; padding: 6px 11px 9px; list-style: none; color: #49525a; font-size: 12px; }
.catalog-public-list li { padding: 8px 0; border-bottom: 1px dotted var(--line); }
.catalog-public-list li:last-child { border-bottom: 0; }
.catalog-public-list time { display: block; color: var(--muted); font: 10px Consolas, monospace; }
.catalog-hours { width: 100%; border-collapse: collapse; font-size: 11px; }
.catalog-hours th, .catalog-hours td { padding: 8px; border-bottom: 1px solid #c7cbc8; text-align: left; }
.catalog-hours th { color: var(--blue-deep); }
.catalog-right-note { margin: 0; color: var(--muted); font-size: 11px; }
.unsigned-only, .signed-only { display: none; }
.catalog-workbench:not(.is-signed) .unsigned-only { display: inline; }
.catalog-workbench.is-signed .signed-only { display: inline; }
.catalog-workbench.is-signed svg.signed-only { display: block; }

.catalog-footer { border-top: 3px solid var(--blue-deep); background: #e7e5dc; color: var(--muted); font-size: 12px; }
.catalog-footer-inner { width: min(1250px, calc(100% - 32px)); margin: 0 auto; padding: 16px 0 24px; }
.catalog-footer p { margin: 3px 0; }
.catalog-credit { margin-bottom: 5px; }
.catalog-credit summary { width: fit-content; cursor: pointer; color: var(--blue-deep); }

.wig-progress-badge { position: fixed; z-index: 30; right: 12px; bottom: 12px; min-height: 38px; padding: 7px 11px; border: 1px solid var(--blue-deep); border-radius: 0; background: var(--paper-light); color: var(--blue-deep); box-shadow: 0 2px 6px rgba(39,50,58,.18); font-size: 12px; }
.wig-progress-act, .wig-progress-divider, .wig-progress-clues { display: none; }
.wig-progress-panel { position: fixed; z-index: 70; inset: 0; display: grid; place-items: center; padding: 16px; background: rgba(39,50,58,.62); }
.wig-progress-dialog { width: min(440px, 100%); max-height: 78vh; overflow: auto; padding: 18px; border: 2px solid var(--blue-deep); background: var(--paper-light); color: var(--ink); }
.wig-progress-dialog header { display: flex; justify-content: space-between; padding-bottom: 8px; border-bottom: 1px solid var(--line); color: var(--blue-deep); }
.wig-progress-dialog button { width: 100%; min-height: 44px; border: 1px solid var(--blue-deep); background: var(--blue-deep); color: #fff; }
.wig-meta-blackout { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; background: #000; animation: wig-blackout .62s ease both; }
.wig-meta-blackout span { color: #eee; font: 15px Consolas, monospace; letter-spacing: .4em; }
@keyframes wig-blackout { 0% { opacity: 0; } 15%, 85% { opacity: 1; } 100% { opacity: 0; } }

@media (max-width: 768px) {
  .catalog-header-inner, .catalog-toolbar, .catalog-shell-notice, .catalog-storage-alert, .catalog-shell-breadcrumb, .catalog-page, .catalog-footer-inner, .catalog-staff-context { width: calc(100% - 32px); }
  .catalog-header-inner { height: 68px; align-items: center; padding: 0; gap: 10px; }
  .catalog-brand strong { font-size: 20px; }
  .catalog-brand small { font-size: 9px; }
  .catalog-seal { width: 40px; height: 40px; font-size: 13px; }
  .catalog-office { display: none; }
  .catalog-nav { display: grid; grid-template-columns: repeat(5, 1fr); padding: 0; overflow: visible; }
  .catalog-nav-link { min-width: 0; min-height: 40px; padding: 7px 2px; text-align: center; font-size: 11px; white-space: normal; }
  .catalog-staff-nav { display: none; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0; }
  .is-staff-shell .catalog-staff-nav { display: grid; }
  .catalog-staff-link { min-width: 0; min-height: 44px; justify-content: center; padding: 7px 3px; text-align: center; font-size: 11px; }
  .catalog-staff-link small { display: none; }
  .catalog-staff-context { border-left: 0; border-right: 0; }
  .catalog-staff-context span { flex: 1 1 auto; justify-content: center; min-width: 33.333%; padding: 4px 6px; font-size: 11px; }
  .catalog-shell-breadcrumb { padding-top: 4px; font-size: 11px; }
  .catalog-toolbar { min-height: 38px; align-items: flex-start; padding: 4px 0; font-size: 11px; }
  .catalog-tools { align-self: flex-end; }
  .catalog-toolbar button { min-height: 40px; }
  .catalog-layout { display: flex; flex-direction: column; gap: 10px; }
  .catalog-sidebar { flex: 0 0 150px; }
  .catalog-search-form { display: grid; grid-template-columns: minmax(0, 1fr) 92px; gap: 6px; padding: 8px; }
  .catalog-search-label { grid-column: 1 / -1; margin: 0; font-size: 11px; }
  .catalog-search-form input { height: 38px; }
  .catalog-secondary-action { min-height: 38px; margin: 0; }
  .catalog-search-help, .catalog-search-result { margin: 5px 8px 0; font-size: 11px; }
  .catalog-side-links { display: none; }
  .catalog-workbench { flex: 0 1 auto; width: 100%; min-width: 0; min-height: 440px; padding: 10px; }
  .catalog-workbench-heading strong { font-size: 14px; }
  .catalog-workbench-heading span { font-size: 10px; }
  .catalog-workbench-heading b { font-size: 11px; }
  .catalog-paper-layer-one { inset: 58px 10px 9px 9px; }
  .catalog-paper-layer-two { inset: 52px 16px 15px 13px; }
  .catalog-card-edge { right: 7px; bottom: 8px; width: 245px; height: 82px; padding: 9px 12px; }
  .catalog-handoff-paper { inset: 48px 12px 14px 14px; padding: 12px 13px 11px; }
  .catalog-metal-clip { width: 132px; height: 27px; }
  .catalog-paper-head { padding: 6px 0 7px; }
  .catalog-paper-head h1 { font-size: 17px; }
  .catalog-paper-head small { font-size: 8px; }
  .catalog-field-grid { grid-template-columns: 1fr 1fr; margin-top: 7px; }
  .catalog-field { min-height: 47px; padding: 5px 7px; }
  .catalog-field span { font-size: 9px; }
  .catalog-field b { font-size: 11px; }
  .catalog-principle { margin: 5px 0; font-size: 9px; }
  .catalog-review-box { min-height: 46px; padding: 5px 7px 3px; }
  .catalog-ruled-lines { height: calc(100% - 15px); min-height: 35px; background-size: auto 12px; }
  .catalog-paper-footer { grid-template-columns: 1fr; gap: 7px; margin-top: 6px; }
  .catalog-signature-line { width: 130px; }
  .catalog-primary-action { width: 100%; min-height: 44px; }
  .catalog-handoff-actions { grid-template-areas: "signed" "search"; grid-template-columns: minmax(0, 1fr); align-items: stretch; }
  .catalog-handoff-actions, .catalog-handoff-signed-state { width: 100%; min-width: 0; }
  .catalog-handoff-search-action { min-width: 0; padding-inline: 6px; font-size: 12px; white-space: normal; overflow-wrap: anywhere; }
  .catalog-office-stamp { right: 10px; bottom: 48px; width: 78px; height: 78px; }
  .catalog-right-stack { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .catalog-public-block { min-width: 0; }
  .catalog-public-list { padding-top: 4px; font-size: 10px; }
  .catalog-public-list li:nth-child(n+2), .catalog-hours tr:nth-child(n+2) { display: none; }
  .catalog-right-note { grid-column: 1 / -1; }
}

/* Shared archive viewer: an unframed scan, not a collectible photograph. */
.wig-photo-archive { margin-top: 16px; padding: 12px 0 0; border-top: 1px solid var(--line); color: var(--ink); }
.wig-photo-archive-title { margin: 0; color: var(--blue-deep); font: 700 16px/1.4 "SimSun", "Songti SC", serif; }
.wig-photo-archive-status { min-height: 1.6em; margin: 7px 0; color: var(--muted); font-size: 12px; }
.wig-photo-archive-stage { min-height: 0; }
.wig-photo-archive-figure { margin: 10px 0 0; }
.wig-photo-archive-image, .wig-photo-archive-fallback { display: block; width: min(100%, 760px); max-height: 66vh; object-fit: contain; object-position: center; background: #d7ddd9; }
.wig-photo-archive-image { border: 0; box-shadow: none; }
.wig-photo-archive-fallback { display: grid; place-items: center; min-height: 270px; padding: 22px; color: #435c63; font-size: 13px; line-height: 1.75; text-align: center; }
.wig-photo-archive-caption { margin-top: 8px; padding: 8px 10px; border-top: 1px solid var(--line); background: rgba(233,230,218,.45); }
.wig-photo-archive-caption p { margin: 0; }
.wig-photo-archive-file { color: var(--muted); font-size: 11px; }
.wig-photo-archive-id { margin-top: 3px !important; color: var(--blue-deep); font: 700 11px/1.5 Consolas, monospace; }
.wig-photo-archive-description { margin-top: 5px !important; font-size: 13px; line-height: 1.7; }
.wig-photo-archive-next { min-height: 44px; margin: 10px 0 0; padding: 7px 12px; border-radius: 0; }
.wig-photo-archive-history { display: flex; flex-wrap: wrap; gap: 5px 10px; margin: 10px 0 0; padding: 8px 0 0 18px; border-top: 1px dotted var(--line); color: var(--muted); font: 11px/1.5 Consolas, monospace; }
@media (max-width: 520px) {
  .wig-photo-archive { margin-top: 12px; }
  .wig-photo-archive-image, .wig-photo-archive-fallback { width: 100%; max-height: 52vh; object-position: center; }
  .wig-photo-archive-next { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .wig-photo-archive *, .wig-photo-archive { animation: none !important; transition: none !important; }
}

/* Shared 2011 communications layer: one restrained staff window, no modern chat chrome. */
.wig-communications { margin: 14px auto 30px; width: min(1220px, calc(100% - 24px)); border: 1px solid #8799a4; background: #e6edf1; color: #263c4d; box-shadow: 2px 3px 0 rgba(38,60,76,.12); font: 12px/1.55 Tahoma, "Microsoft YaHei", sans-serif; }
.wig-comm-head { display: flex; justify-content: space-between; gap: 18px; padding: 13px 15px 11px; border-bottom: 1px solid #9caebb; background: linear-gradient(#f9fbfc,#dce7ee); }
.wig-comm-head h2 { margin: 2px 0 2px; color: #244e6f; font: 700 21px/1.35 "SimSun", serif; letter-spacing: .08em; }
.wig-comm-head p { margin: 0; color: #64798a; font-size: 11px; }
.wig-comm-kicker { color: #386284 !important; font-weight: 700; }
.wig-comm-head-status { align-self: center; color: #506b82; font: 11px Consolas, monospace; }
.wig-comm-toolbar { display: flex; align-items: end; flex-wrap: wrap; gap: 6px; padding: 7px; border-bottom: 1px solid #aebcc7; background: #f0f4f7; }
.wig-comm-toolbar button { min-height: 34px; padding: 5px 12px; border: 1px solid #8399aa; border-radius: 2px; background: linear-gradient(#fff,#dce7ef); color: #244e6f; }
.wig-comm-toolbar button[aria-pressed="true"] { background: #c3d7e7; font-weight: 700; box-shadow: inset 0 1px 2px rgba(30,65,90,.18); }
.wig-comm-toolbar label { display: grid; gap: 2px; margin-left: auto; color: #587086; font-size: 11px; }
.wig-comm-toolbar input { min-height: 34px; min-width: 130px; padding: 5px 7px; border: 1px inset #aab8c2; background: #fff; }
.wig-comm-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr) 205px; min-height: 470px; }
.wig-comm-contact-panel, .wig-comm-log-panel { min-width: 0; background: #eaf1f5; }
.wig-comm-contact-panel { border-right: 1px solid #a8b8c3; }
.wig-comm-log-panel { border-left: 1px solid #a8b8c3; padding: 8px; }
.wig-comm-contact-panel h3, .wig-comm-log-panel h3 { margin: 0; padding: 8px 9px; border-bottom: 1px solid #b7c5ce; background: #d5e1e9; color: #315878; font-size: 13px; }
.wig-comm-contact { display: flex; width: 100%; min-height: 62px; gap: 8px; align-items: center; padding: 7px 8px; border: 0; border-bottom: 1px solid #cbd7df; background: transparent; text-align: left; color: #29485f; cursor: pointer; }
.wig-comm-contact:hover, .wig-comm-contact:focus-visible, .wig-comm-contact[aria-pressed="true"] { background: #c8dce9; outline: none; }
.wig-comm-contact-copy { min-width: 0; display: grid; gap: 1px; }
.wig-comm-contact-copy b { font-size: 13px; }
.wig-comm-contact-copy small, .wig-comm-contact-copy em { overflow: hidden; color: #6b8090; font-size: 10px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.wig-comm-avatar { display: inline-grid; flex: 0 0 34px; place-items: center; width: 34px; height: 34px; border: 1px solid #7f96a8; background: #d7e3ec; color: #355775; font-size: 17px; }
.wig-comm-avatar.flower { background: #e8e0e4; color: #8f5162; }
.wig-comm-avatar.bus { background: #d8e8dc; color: #32734a; }
.wig-comm-avatar.paper { background: #e8e0cf; color: #795c3a; }
.wig-comm-presence { color: #668092; font-size: 11px; }
.wig-comm-presence.在线 { color: #2d8556; }.wig-comm-presence.忙碌 { color: #a26727; }.wig-comm-presence.离线, .wig-comm-presence.离开 { color: #7a858b; }
.wig-comm-main { min-width: 0; background: #fafbf9; }
.wig-comm-chat-head { display: flex; align-items: center; gap: 8px; min-height: 57px; padding: 8px 11px; border-bottom: 1px solid #c3ced7; background: #fbfbf6; }
.wig-comm-chat-head strong { color: #234d72; font-size: 14px; }.wig-comm-chat-head p { margin: 1px 0 0; }.wig-comm-chat-head > span:last-child { margin-left: auto; color: #687d8b; font-size: 11px; }
.wig-comm-notice { padding: 6px 11px; border-bottom: 1px solid #d6dee4; background: #f2f5f6; color: #697d8e; font-size: 11px; }
.wig-comm-messages { min-height: 245px; max-height: 350px; overflow: auto; padding: 12px 13px; background: linear-gradient(90deg,#fbfbf6,#f4f6f6); }
.wig-comm-message { max-width: 84%; margin-bottom: 12px; }.wig-comm-message.is-mine { margin-left: auto; }.wig-comm-message-meta { margin: 0 0 3px; color: #738496; font-size: 10px; }.wig-comm-message-body { padding: 7px 9px; border: 1px solid #b7c8d5; background: #fff; line-height: 1.6; white-space: pre-wrap; box-shadow: 1px 1px 0 #e3e9ed; }.wig-comm-message.is-mine .wig-comm-message-body { background: #e4f1fb; border-color: #a5c3d9; }.wig-comm-message.system .wig-comm-message-body { background: #f5f0df; border-color: #d2bf8f; color: #6d5d34; }
.wig-comm-typing, .wig-comm-live { min-height: 1.5em; margin: 0; padding: 3px 12px; color: #728697; font-size: 11px; }.wig-comm-live { border-top: 1px solid #c1cdd5; background: #eef3f5; }
.wig-comm-compose { display: flex; gap: 6px; padding: 7px; border-top: 1px solid #aabac7; background: #e4ecf2; }.wig-comm-compose textarea { min-height: 62px; flex: 1; resize: vertical; padding: 7px; border: 1px inset #aab6c0; background: #fff; }.wig-comm-compose button, .wig-comm-reply button { min-width: 64px; min-height: 44px; border: 1px solid #7892a4; background: linear-gradient(#fff,#dce7f0); color: #244e6f; }
.wig-comm-log-panel > div { max-height: 430px; overflow: auto; padding: 5px 6px; background: #fbfbf6; font: 10px/1.55 Consolas,"SimSun",monospace; }.wig-comm-log-row { padding: 3px 0; border-bottom: 1px dotted #c5d0d8; word-break: break-word; }
.wig-comm-file-card { display: flex; align-items: center; gap: 7px; margin-top: 6px; padding: 6px; border: 1px solid #b9c9d3; background: #f1f5f7; }.wig-comm-file-card button { min-height: 44px; margin-left: auto; }.wig-comm-mail-empty { padding: 12px; color: #718496; }
.wig-comm-mail-layout { display: grid; grid-template-columns: 230px minmax(0,1fr); min-height: 470px; }.wig-comm-mail-list { border-right: 1px solid #c3ced6; background: #f1f5f7; }.wig-comm-mail-item { display: grid; grid-template-columns: 1fr auto; width: 100%; min-height: 61px; gap: 2px 6px; padding: 8px; border: 0; border-bottom: 1px solid #ced8df; background: transparent; color: #29485f; text-align: left; }.wig-comm-mail-item:hover, .wig-comm-mail-item:focus-visible, .wig-comm-mail-item.is-current { background: #d4e5f0; outline: none; }.wig-comm-mail-item time { color: #718496; font-size: 10px; }.wig-comm-mail-item small { grid-column: 1 / -1; overflow: hidden; color: #778999; text-overflow: ellipsis; white-space: nowrap; }.wig-comm-mail-item.is-unread b { font-weight: 700; }
.wig-comm-mail-toolbar { display: flex; gap: 4px; padding: 7px; border-bottom: 1px solid #b8c5cf; background: #eff4f7; }.wig-comm-mail-toolbar button { min-height: 34px; padding: 4px 10px; border: 1px solid #8299aa; background: linear-gradient(#fff,#dce7f0); color: #315878; }
.wig-comm-mail-detail { min-width: 0; overflow: auto; padding: 12px; background: #fff; }.wig-comm-mail-detail h3 { margin: 0 0 7px; color: #254e71; font: 700 17px/1.4 "SimSun",serif; }.wig-comm-mail-head { padding: 7px 0; border-top: 1px solid #d3dce2; border-bottom: 1px solid #d3dce2; color: #536d81; font-size: 11px; white-space: pre-line; }.wig-comm-mail-body { padding: 12px 0; line-height: 1.75; white-space: pre-wrap; }.wig-comm-quote { margin: 7px 0; padding: 5px 9px; border-left: 3px solid #98aec0; background: #f3f6f7; color: #6a7b87; }.wig-comm-attachment { display: flex; align-items: center; gap: 8px; padding: 7px; border: 1px solid #b9c9d3; background: #f1f5f7; }.wig-comm-file-icon { display: inline-grid; place-items: center; width: 28px; height: 31px; border: 1px solid #7e99ac; background: #fff; color: #386485; font-size: 10px; }.wig-comm-attachment button { margin-left: auto; min-height: 44px; }.wig-comm-reply { margin-top: 12px; padding-top: 9px; border-top: 1px solid #bdcad4; }.wig-comm-reply textarea { width: 100%; min-height: 66px; margin-top: 5px; padding: 7px; border: 1px inset #a9b5bf; }
@media (max-width: 900px) { .wig-comm-layout { grid-template-columns: 205px minmax(0,1fr); }.wig-comm-log-panel { display: none; } }
@media (max-width: 560px) { .wig-communications { width: 100%; margin: 8px 0 20px; border-right: 0; border-left: 0; }.wig-comm-head { display: block; }.wig-comm-head-status { margin-top: 5px; }.wig-comm-toolbar { align-items: stretch; }.wig-comm-toolbar button, .wig-comm-mail-toolbar button { min-height: 44px; }.wig-comm-toolbar label { width: 100%; margin-left: 0; }.wig-comm-toolbar input, .wig-comm-mail-toolbar input { width: 100%; min-height: 44px; }.wig-comm-layout { display: block; min-height: 0; }.wig-comm-contact-panel { border-right: 0; border-bottom: 1px solid #a8b8c3; }.wig-comm-contact-panel > div { display: grid; grid-template-columns: 1fr 1fr; }.wig-comm-contact { min-height: 58px; }.wig-comm-messages { min-height: 260px; max-height: none; }.wig-comm-mail-layout { display: block; min-height: 0; }.wig-comm-mail-list { max-height: 220px; overflow: auto; border-right: 0; border-bottom: 1px solid #c3ced6; }.wig-comm-mail-detail { min-height: 380px; }.wig-comm-compose { align-items: stretch; }.wig-comm-compose textarea { min-height: 70px; } }
@media (prefers-reduced-motion: reduce) { .wig-communications *, .wig-communications *::before, .wig-communications *::after { animation: none !important; transition: none !important; } }

/* P01 first-visit cinematic entry: the approved photograph remains the only real-world scene. */
body.catalog-entry-active { overflow: hidden; }
body.catalog-entry-active #siteShell,
body.catalog-entry-active [data-p01-workbench],
body.catalog-entry-active .catalog-footer { visibility: hidden; pointer-events: none; }
.catalog-cinematic-entry { position: fixed; z-index: 300; inset: 0; overflow: hidden; background: #071014; color: #dbe8df; font-family: Tahoma, "Microsoft YaHei", sans-serif; transition: background 760ms ease; }
.catalog-cinematic-entry[hidden] { display: none; }
.cinematic-camera-rig { position: absolute; inset: 0; overflow: visible; transform: translate3d(var(--camera-x, 0px), var(--camera-y, 0px), 0) scale(1); transform-origin: 60% 48%; transition: transform 120ms ease-out, opacity 760ms ease; will-change: transform; }
.cinematic-scene-picture, .cinematic-scene-picture img { display: block; width: 100%; height: 100%; }
.cinematic-scene-picture img { object-fit: cover; object-position: center; user-select: none; }
.cinematic-entry-vignette { position: absolute; z-index: 3; inset: 0; pointer-events: none; background: radial-gradient(ellipse at center, transparent 45%, rgba(2,8,11,.48) 100%); transition: opacity 760ms ease; }
.cinematic-screen-composite { position: absolute; z-index: 2; inset: 0; overflow: hidden; pointer-events: none; clip-path: inset(var(--screen-top, 100%) var(--screen-right, 100%) var(--screen-bottom, 100%) var(--screen-left, 100%) round 4px); }
.cinematic-screen-composite::before { position: absolute; inset: 0; content: ""; opacity: 0; background: repeating-linear-gradient(0deg, rgba(190,226,210,.08) 0 1px, transparent 1px 4px); mix-blend-mode: screen; transition: opacity 720ms ease; }
.cinematic-screen-glow { position: absolute; inset: 0; opacity: 0; background: radial-gradient(ellipse at var(--screen-center-x, 50%) var(--screen-center-y, 50%), rgba(111,191,168,.3), rgba(29,76,76,.22) 28%, transparent 54%); transition: opacity 720ms ease; }
.cinematic-glass-reflection { position: absolute; top: -25%; left: 32%; width: 24%; height: 152%; opacity: .26; background: linear-gradient(100deg, transparent, rgba(221,240,229,.16) 47%, transparent 55%); transform: rotate(8deg); transition: opacity 820ms ease, transform 820ms ease; }
.cinematic-signal-lock { position: absolute; z-index: 2; inset: 0; overflow: hidden; opacity: 0; pointer-events: none; transition: opacity 260ms ease, transform 620ms ease; }
.cinematic-signal-band, .cinematic-signal-separation { position: absolute; inset: 0; pointer-events: none; }
.cinematic-signal-band { top: var(--screen-top); right: var(--screen-right); left: var(--screen-left); height: 3px; opacity: 0; background: linear-gradient(90deg, transparent, rgba(208,238,223,.66) 24% 76%, transparent); box-shadow: 0 0 14px rgba(164,226,202,.35); transform: translateY(0); }
.cinematic-signal-separation { opacity: 0; background: linear-gradient(90deg, transparent 0 46%, rgba(181,232,215,.14) 46.5% 48%, transparent 48.5%), linear-gradient(90deg, transparent 0 52%, rgba(224,231,221,.13) 52.5% 54%, transparent 54.5%); mix-blend-mode: screen; }
.cinematic-system-slate { position: absolute; top: var(--screen-center-y, 50%); left: var(--screen-center-x, 50%); width: min(460px, calc(var(--screen-width, 100%) - 28px)); color: rgba(207,235,221,.94); opacity: 0; text-align: center; transform: translate(-50%, -50%) scale(1.04); filter: blur(4px); transition: opacity 400ms ease, transform 620ms ease, filter 620ms ease; }
.cinematic-system-title { font-size: clamp(24px, 2vw, 30px); font-weight: 600; letter-spacing: .12em; text-shadow: 0 0 5px rgba(191,235,218,.64), 0 0 17px rgba(146,208,188,.25); }
.cinematic-system-meta { display: flex; justify-content: center; gap: 12px; margin-top: 9px; color: rgba(195,222,210,.8); font: 9px/1.5 Consolas, "Microsoft YaHei", monospace; letter-spacing: .08em; }
.cinematic-wake-panel { position: absolute; z-index: 16; bottom: 34px; left: 34px; width: min(390px, calc(100% - 68px)); padding: 17px 18px 16px; border: 1px solid rgba(203,220,210,.35); background: rgba(11,23,28,.62); box-shadow: 0 12px 32px rgba(0,0,0,.25); backdrop-filter: blur(3px); transition: opacity 420ms ease, transform 420ms ease; }
.cinematic-wake-panel p, .cinematic-wake-panel h1 { margin: 0; }
.cinematic-wake-kicker { color: rgba(220,234,225,.75); font: 10px/1.4 Consolas, monospace; letter-spacing: .08em; }
.cinematic-wake-panel h1 { margin-top: 7px; color: #eef4ec; font: 600 clamp(20px, 2vw, 27px)/1.25 "Microsoft YaHei", sans-serif; letter-spacing: .08em; }
.cinematic-wake-panel [data-entry-wake-state] { margin-top: 7px; color: rgba(213,230,219,.7); font-size: 12px; }
.cinematic-wake-button { width: 100%; min-height: 46px; margin-top: 13px; border: 1px solid #9bb9b0; border-radius: 1px; background: linear-gradient(#426c70, #25474e); color: #f4f7ee; font: 600 14px Tahoma, "Microsoft YaHei", sans-serif; letter-spacing: .08em; box-shadow: inset 0 1px rgba(255,255,255,.25), 0 1px 4px rgba(0,0,0,.48); }
.cinematic-wake-button:hover, .cinematic-wake-button:focus-visible { background: linear-gradient(#557e80, #2a5258); outline: 2px solid #d8e8cc; outline-offset: 3px; }
.cinematic-wake-button:disabled { cursor: wait; opacity: .62; }
.cinematic-entry-controls { position: absolute; z-index: 20; top: 18px; right: 20px; display: flex; gap: 7px; }
.cinematic-entry-controls button { min-height: 44px; padding: 0 11px; border: 1px solid rgba(202,220,209,.34); border-radius: 1px; background: rgba(9,20,25,.56); color: rgba(226,239,230,.88); font: 10px Consolas, "Microsoft YaHei", monospace; }
.cinematic-entry-controls button:focus-visible { outline: 2px solid #d8e8cc; outline-offset: 2px; }
[data-entry-skip] { opacity: 0; pointer-events: none; transition: opacity 180ms ease; }
.is-running [data-entry-skip] { opacity: 1; pointer-events: auto; }
.cinematic-entry-status { position: absolute; z-index: 20; top: 76px; right: 23px; max-width: 310px; min-height: 19px; margin: 0; color: rgba(204,221,213,.72); font: 10px/1.5 Consolas, "Microsoft YaHei", monospace; letter-spacing: .04em; text-align: right; }
.cinematic-entry-status.is-error { color: #e5afa6; }
.cinematic-screen-portal { position: absolute; z-index: 30; inset: 0; overflow: hidden; opacity: 0; pointer-events: none; clip-path: inset(var(--portal-top, 100%) var(--portal-right, 100%) var(--portal-bottom, 100%) var(--portal-left, 100%) round 5px); background: #263f4d; transition: opacity 940ms ease, clip-path 1ms linear, background 900ms ease; }
.cinematic-terminal-frame { position: absolute; inset: 0; color: #eaf2ec; background: linear-gradient(180deg, rgba(72,112,134,.94), rgba(38,66,81,.96) 42px, #c5d1d3 42px); font-family: Tahoma, "Microsoft YaHei", sans-serif; }
.cinematic-terminal-titlebar { display: flex; justify-content: space-between; height: 40px; padding: 0 16px; align-items: center; background: linear-gradient(#8aa8bc, #527990); color: #f7fbf7; font-size: 12px; text-shadow: 0 1px #315267; }
.cinematic-compat-strip { position: absolute; top: 56px; left: 24px; padding: 7px 10px; border: 1px solid rgba(57,83,99,.44); background: rgba(239,243,237,.85); color: #365362; font-size: 11px; }
.cinematic-load-card { position: absolute; top: 50%; left: 50%; width: min(340px, calc(100% - 50px)); padding: 18px; border: 1px solid #78939b; background: #e6ece8; box-shadow: 0 6px 20px rgba(21,42,52,.22); color: #2d4b59; opacity: 0; transform: translate(-50%, -45%); transition: opacity 240ms ease, transform 240ms ease; }
.cinematic-load-card strong, .cinematic-load-card span, .cinematic-load-card small { display: block; }
.cinematic-load-card strong { color: #315a69; font-size: 16px; }
.cinematic-load-card span { margin-top: 7px; font-size: 12px; }
.cinematic-load-card small { margin-top: 5px; color: #61777c; font: 10px Consolas, monospace; }
.cinematic-load-card i { display: block; height: 3px; margin-top: 14px; overflow: hidden; background: #b3c1bf; }
.cinematic-load-card i::after { display: block; width: 72%; height: 100%; content: ""; background: #527f89; transform: translateX(-100%); }
.is-awake .cinematic-wake-panel { opacity: 0; transform: translateY(14px); pointer-events: none; }
.is-screen-lit .cinematic-screen-composite::before { opacity: .48; }
.is-screen-lit .cinematic-screen-glow { opacity: 1; }
.is-screen-lit .cinematic-glass-reflection { opacity: 0; transform: translateX(20%) rotate(8deg); }
.is-screen-lit .cinematic-signal-lock { opacity: 1; }
.is-screen-lit .cinematic-system-slate { opacity: .44; }
.is-lock-1 .cinematic-signal-band { animation: catalog-signal-sweep 90ms ease-out both; }
.is-lock-2 .cinematic-system-slate { animation: catalog-signal-nudge 100ms steps(2,end) both; }
.is-lock-3 .cinematic-signal-separation { animation: catalog-signal-separation 100ms ease-out both; }
.is-signal-stable .cinematic-system-slate { opacity: .94; transform: translate(-50%, -50%) scale(1); filter: blur(0); }
.is-lean .cinematic-camera-rig { transform: translate3d(0,0,0) scale(1.012); transition-duration: 2450ms; }
.is-push .cinematic-camera-rig { transform: translate3d(0,0,0) scale(1.03); transition-duration: 2450ms; }
.is-portal .cinematic-camera-rig { transform: translate3d(0,0,0) scale(1.06); opacity: 0; }
.is-portal .cinematic-signal-lock { opacity: 0; transform: scale(.93); }
.is-portal .cinematic-screen-portal { opacity: 1; clip-path: inset(0 round 0); background: #2a4a58; }
.is-shell .cinematic-screen-portal { pointer-events: auto; }
.is-shell .cinematic-load-card { opacity: 1; transform: translate(-50%, -50%); }
.is-shell .cinematic-load-card i::after { animation: catalog-loader 1.1s linear both; }
.is-opac .cinematic-load-card { opacity: 0; transform: translate(-50%, -56%); }
.is-opac .cinematic-screen-portal { opacity: 0; pointer-events: none; transition: opacity 760ms ease; }
.is-opac:not(.is-running) .cinematic-entry-status, .is-opac:not(.is-running) .cinematic-entry-controls { opacity: 0; pointer-events: none; }
.is-opac.catalog-cinematic-entry { background: transparent; }
.is-opac .cinematic-entry-vignette { opacity: 0; }
.is-complete .cinematic-screen-portal { opacity: 0; pointer-events: none; transition: opacity 650ms ease; }
.is-complete .cinematic-entry-status, .is-complete .cinematic-entry-controls { opacity: 0; pointer-events: none; }
@keyframes catalog-signal-sweep { 0% { opacity: 0; transform: translateY(0); } 24% { opacity: .7; } 76% { opacity: .46; } 100% { opacity: 0; transform: translateY(calc(var(--screen-height) - 3px)); } }
@keyframes catalog-signal-nudge { 0% { transform: translate(-50%, -50%) scale(1.04); } 38% { transform: translate(calc(-50% + 8px), -50%) scale(1.04); } 100% { transform: translate(-50%, -50%) scale(1.04); } }
@keyframes catalog-signal-separation { 0% { opacity: 0; transform: translateX(0); } 35% { opacity: .68; transform: translateX(6px); } 70% { opacity: .44; transform: translateX(-5px); } 100% { opacity: 0; transform: translateX(0); } }
@keyframes catalog-loader { to { transform: translateX(25%); } }
/* P23: a restrained administrative disposition desk; text remains printable and selectable. */
.p23-formal-content, .p23-gate { width: min(1120px, calc(100% - 32px)); margin: 14px auto 34px; }
.p23-gate-paper, .p23-workspace, .p23-paper { border: 1px solid #89989a; background: #f7f5eb; }
.p23-gate-paper { padding: 18px; border-top: 3px solid #526f77; }
.p23-gate-paper h1, .p23-header h1 { margin: 5px 0; color: #254954; font: 700 22px/1.38 "SimSun", "Songti SC", serif; }
.p23-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.p23-actions > * { min-height: 44px; }
.p23-workspace { overflow: hidden; box-shadow: 0 1px 0 rgba(25,50,54,.12); }
.p23-header { display: flex; justify-content: space-between; gap: 16px; padding: 14px 16px 12px; border-bottom: 1px solid #849398; background: #f0f2eb; }
.p23-header p { margin: 0; color: #596d72; font: 12px/1.65 Consolas, "Microsoft YaHei", sans-serif; }
.p23-header dl { min-width: 210px; margin: 0; border: 1px solid #9aa7a5; background: #e7ece6; }
.p23-header dl div { display: grid; grid-template-columns: 78px 1fr; min-height: 31px; border-bottom: 1px solid #b1bbaf; }
.p23-header dl div:last-child { border-bottom: 0; }
.p23-header dt, .p23-header dd { display: flex; align-items: center; margin: 0; padding: 4px 8px; font-size: 11px; }
.p23-header dt { border-right: 1px solid #b1bbaf; color: #5c6a69; background: #eef0e9; }
.p23-header dd { color: #2f555e; font-weight: 700; }
.p23-menu { display: flex; border-bottom: 2px solid #4e6b76; background: #718995; color: #eef3ef; font-size: 12px; }
.p23-menu span, .p23-menu b { min-height: 34px; display: inline-flex; align-items: center; padding: 6px 14px; border-right: 1px solid rgba(255,255,255,.3); font-weight: 400; }
.p23-menu b { background: #314f59; font-weight: 700; }
.p23-body { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 14px; padding: 14px; background: repeating-linear-gradient(0deg,rgba(255,255,255,.13) 0 1px,transparent 1px 5px),#e3e7df; }
.p23-paper { min-width: 0; padding: 13px; }
.p23-list { grid-row: span 2; padding: 0; }
.p23-section-head { display: flex; align-items: end; justify-content: space-between; gap: 10px; padding: 9px 11px; border-bottom: 2px solid #607d87; background: #e9eee8; }
.p23-section-head h2, .p23-paper h2 { margin: 2px 0 8px; color: #294e58; font: 700 18px/1.4 "SimSun", "Songti SC", serif; }
.p23-section-head > p, .p23-kicker { margin: 0; color: #5f777c; font: 11px/1.5 Consolas, "Microsoft YaHei", sans-serif; letter-spacing: .04em; }
.p23-table-wrap { overflow-x: auto; padding: 11px; }
.p23-table-wrap table { width: 100%; min-width: 560px; border-collapse: collapse; color: #3b5054; font-size: 12px; }
.p23-table-wrap th, .p23-table-wrap td { padding: 8px 7px; border: 1px solid #aeb9b2; text-align: left; vertical-align: top; line-height: 1.65; }
.p23-table-wrap thead th { background: #ecefe8; color: #315660; font: 700 12px/1.4 "SimSun", serif; }
.p23-t05-base { position: relative; z-index: 1; }
.p23-t05-ghost { display: inline-block; margin-left: -4.7em; color: #6d7570; opacity: 0; pointer-events: none; }
.p23-t05 .p23-t05-ghost { animation: p23-old-imprint 220ms ease-out both; }
@keyframes p23-old-imprint { from { opacity: 0; transform: translateY(2px) scaleX(.96); } to { opacity: .42; transform: translateY(1px) scaleX(1.02); } }
.p23-screen-note, .p23-source-note, .p23-readonly, .p23-preview-log, .p23-a08-status, .p23-status { color: #4e6265; font-size: 12px; line-height: 1.7; }
.p23-baseline { display: inline-block; color: #435b60; }
.p23-baseline-ghost { display: inline-block; margin-left: -2em; color: #7a665f; opacity: 0; pointer-events: none; }
.p23-t07 .p23-baseline, .p23-t07 .p23-baseline-ghost { animation: p23-baseline-drift 360ms ease-out both; }
@keyframes p23-baseline-drift { from { opacity: 1; transform: translateY(0); } to { opacity: .72; transform: translateY(1px); } }
.p23-t07 .p23-baseline-ghost { opacity: .38; }
.p23-rule-grid, .p23-reader-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.p23-reader-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.p23-rule-grid article, .p23-reader-grid article { min-width: 0; padding: 10px; border: 1px solid #b5c0b8; background: #fffdf6; }
.p23-rule-grid h3, .p23-reader-grid h3 { margin: 0 0 6px; color: #355963; font: 700 15px/1.4 "SimSun", serif; }
.p23-rule-grid p, .p23-reader-grid p, .p23-print p, .p23-a08 p, .p23-receipt p { margin: 0 0 8px; color: #465b5e; font-size: 12px; line-height: 1.75; }
.p23-choice-list { display: grid; gap: 9px; margin-top: 12px; }
.p23-choice-list label { display: grid; grid-template-columns: 82px minmax(0,1fr); gap: 8px; align-items: center; color: #365761; font-size: 12px; font-weight: 700; }
.p23-choice-list select { width: 100%; min-height: 44px; padding: 7px 9px; border: 1px solid #82939a; border-radius: 0; background: #fffefa; color: var(--ink); }
.p23-print { grid-column: 2; }
.p23-print-imprint { color: #5d6768; font-family: Consolas, monospace; }
.p23-text-preview { margin-top: 11px; padding: 10px; border: 1px solid #9aa9a5; background: #fffefa; }
.p23-text-preview h3 { margin: 0 0 6px; color: #315660; font: 700 15px/1.4 "SimSun", serif; }
.p23-a08 { grid-column: 2; }
.p23-a08 summary { min-height: 44px; cursor: pointer; color: #315660; font-weight: 700; }
.p23-a08[open] summary { margin-bottom: 9px; }
.p23-a08-confirm { min-height: 44px; }
.p23-receipt { grid-column: 1 / -1; border-top: 3px solid #668894; }
.p23-registration { grid-column:1 / -1; }
.p23-persistence-warning { padding: 8px; border-left: 3px solid #b38a48; background: #f7f3e8; color: #68563d !important; }
@media (max-width: 760px) {
  .p23-formal-content, .p23-gate { width: calc(100% - 20px); margin-top: 10px; }
  .p23-header { display: block; padding: 12px; }
  .p23-header dl { min-width: 0; margin-top: 10px; }
  .p23-menu { overflow-x: auto; }
  .p23-menu span, .p23-menu b { flex: 0 0 auto; padding-inline: 11px; }
  .p23-body { display: block; padding: 9px; }
  .p23-paper { margin-top: 10px; }
  .p23-list { margin-top: 0; }
  .p23-table-wrap { margin-inline: -13px; padding: 9px; }
  .p23-rule-grid, .p23-reader-grid { grid-template-columns: 1fr; }
  .p23-choice-list label { grid-template-columns: 1fr; gap: 4px; }
  .p23-actions > * { flex: 1 1 100%; text-align: center; }
}

/* A1 site cluster: one restrained 2011 institutional shell, swapped by derived site identity. */
.wig-site-lib { --site-ink: #174d67; --site-deep: #0f3c55; --site-band: #dfeceb; --site-paper: #fffdf6; --site-line: #9db5b6; --site-accent: #7c2025; }
.wig-site-cat { --site-ink: #355862; --site-deep: #283f47; --site-band: #dfe5df; --site-paper: #f6f5ed; --site-line: #96a4a0; --site-accent: #6d3d31; }
.wig-site-night { --site-ink: #234f7d; --site-deep: #173f6c; --site-band: #e7edf4; --site-paper: #f8fbff; --site-line: #8fa3ba; --site-accent: #9b2e2e; }
.wig-site-transit { --site-ink: #124f73; --site-deep: #143f5b; --site-band: #dfe7eb; --site-paper: #f7f8f8; --site-line: #7e929e; --site-accent: #c67820; }
.wig-site-archive { --site-ink: #475965; --site-deep: #34434d; --site-band: #e2e5e1; --site-paper: #f8f6ef; --site-line: #9da9a9; --site-accent: #71423b; }
body[class*="wig-site-"] { color: #29383d; background: #e8ece8; font-family: Tahoma, "Microsoft YaHei", "SimSun", sans-serif; }
body[class*="wig-site-"] #siteShell { background: var(--site-paper); border-bottom: 1px solid var(--site-line); }
body[class*="wig-site-"] .catalog-header { border: 0; border-top: 5px solid var(--site-deep); border-bottom: 1px solid #fff; background: var(--site-paper); box-shadow: none; }
body[class*="wig-site-"] .catalog-header-inner { min-height: 92px; padding: 12px 18px 10px; background: linear-gradient(90deg, var(--site-paper), var(--site-band)); }
body[class*="wig-site-"] .catalog-brand { gap: 12px; color: var(--site-ink); text-decoration: none; }
body[class*="wig-site-"] .catalog-brand strong { display: block; font: 700 30px/1.2 "SimSun", serif; letter-spacing: .08em; text-shadow: 0 1px #fff; }
body[class*="wig-site-"] .catalog-brand small { display: block; margin-top: 5px; color: #5b6b6e; font-size: 12px; letter-spacing: .08em; }
body[class*="wig-site-"] .catalog-seal { width: 58px; height: 58px; display: grid; place-items: center; border: 2px solid var(--site-ink); border-radius: 0; background: transparent; color: var(--site-ink); font: 700 17px/1.1 "SimSun", serif; letter-spacing: .08em; }
body[class*="wig-site-"] .catalog-office { padding-left: 18px; border-left: 1px solid var(--site-line); color: #516368; font: 12px/1.65 Tahoma, "Microsoft YaHei", sans-serif; text-align: right; }
body[class*="wig-site-"] .catalog-office b { display: block; color: var(--site-accent); font-size: 13px; }
body[class*="wig-site-"] .catalog-office small { display: inline-block; margin-top: 2px; padding: 0 6px; border: 1px solid var(--site-line); background: rgba(255,255,255,.5); color: var(--site-ink); }
body[class*="wig-site-"] .catalog-nav { min-height: 36px; display: flex; justify-content: center; padding: 0 max(12px, calc((100% - 1160px) / 2)); border: 0; background: var(--site-deep); }
body[class*="wig-site-"] .catalog-nav-link { min-height: 36px; flex: 1 1 auto; display: inline-flex; align-items: center; justify-content: center; padding: 7px 12px; border: 0; border-right: 1px solid rgba(255,255,255,.2); border-radius: 0; background: transparent; color: #fff; font: 13px/1.2 "Microsoft YaHei", "SimSun", sans-serif; text-decoration: none; white-space: nowrap; }
body[class*="wig-site-"] .catalog-nav-link:first-child { border-left: 1px solid rgba(255,255,255,.2); }
body[class*="wig-site-"] .catalog-nav-link:hover,
body[class*="wig-site-"] .catalog-nav-link:focus-visible,
body[class*="wig-site-"] .catalog-nav-link.is-current { background: rgba(255,255,255,.17); color: #fff; text-decoration: underline; text-underline-offset: 3px; }
body[class*="wig-site-"] .catalog-shell-breadcrumb { max-width: 1160px; margin: 0 auto; padding: 7px 10px; border: 0; color: #56686c; background: var(--site-paper); font-size: 12px; }
body[class*="wig-site-"] .catalog-toolbar { max-width: 1160px; min-height: 39px; margin: 0 auto; padding: 5px 10px; border: 1px solid var(--site-line); border-width: 1px 0; background: var(--site-band); color: var(--site-ink); font-size: 12px; }
body[class*="wig-site-"] .catalog-toolbar button,
body[class*="wig-site-"] button,
body[class*="wig-site-"] input,
body[class*="wig-site-"] select { border-radius: 0; }
body[class*="wig-site-"] .catalog-shell-notice { max-width: 1160px; margin: 0 auto; padding: 0 10px; color: #5f3834; background: #fffceb; }
body[class*="wig-site-"] .catalog-page { width: min(1160px, calc(100% - 28px)); margin: 14px auto 28px; border: 1px solid var(--site-line); background: var(--site-paper); box-shadow: none; }
body[class*="wig-site-"] .catalog-footer { border-top: 4px solid var(--site-deep); background: #dde5e1; color: #4b5c60; }
body[class*="wig-site-"] .catalog-footer-inner { width: min(1160px, calc(100% - 28px)); margin: 0 auto; padding: 14px 8px 20px; font-size: 12px; }
body[class*="wig-site-"] .catalog-footer details { margin-bottom: 6px; }
body[class*="wig-site-"] :focus-visible { outline: 2px solid #9b252d; outline-offset: 2px; }

.wig-site-lib .public-page-layout { grid-template-columns: 210px minmax(0, 1fr) 205px; gap: 14px; padding: 0 14px 16px; }
.wig-site-lib .public-page-sidebar,
.wig-site-lib .public-document,
.wig-site-lib .public-related-panel,
.wig-site-lib .related-block,
.wig-site-lib .document-section,
.wig-site-lib .p01-portal-grid > section { border-radius: 0; box-shadow: none; }
.wig-site-lib .public-page-sidebar { border: 1px solid #a9bbba; border-top: 4px solid var(--site-ink); background: #edf3ef; }
.wig-site-lib .public-page-sidebar h1 { color: var(--site-ink); font: 700 23px/1.3 "SimSun", serif; }
.wig-site-lib .public-local-nav a { min-height: 38px; padding: 8px 10px; border-bottom: 1px dotted #a4b4b3; border-radius: 0; }
.wig-site-lib .public-local-nav .is-local-current { color: #fff; background: var(--site-ink); }
.wig-site-lib .public-document { border: 1px solid #a6b7b6; background: #fffefa; }
.wig-site-lib .public-document-header { padding: 14px 17px; border-bottom: 3px double #8ea8a8; background: #f5f3e8; }
.wig-site-lib .public-document-header h2 { margin: 4px 0; color: var(--site-ink); font: 700 24px/1.35 "SimSun", serif; }
.wig-site-lib .document-section { margin: 0; padding: 15px 17px; border: 0; border-bottom: 1px solid #bcc7c3; background: #fffefa; }
.wig-site-lib .section-heading-row { margin-bottom: 10px; padding-bottom: 6px; border-bottom: 2px solid var(--site-ink); }
.wig-site-lib .section-heading-row h2,
.wig-site-lib .section-heading-row h3 { color: var(--site-ink); font-family: "SimSun", serif; }
.wig-site-lib .section-index { color: #68777a; font: 11px/1.4 Tahoma, sans-serif; }
.wig-site-lib .civic-record-filter { padding: 10px; border: 1px solid #acbcba; background: #edf3ef; }
.wig-site-lib .civic-record-filter form { gap: 8px; }
.wig-site-lib .civic-record-filter input,
.wig-site-lib .civic-record-filter select { min-height: 36px; border: 1px solid #839c9e; background: #fff; }
.wig-site-lib .catalog-primary-action,
.wig-site-lib .catalog-secondary-action,
.wig-site-lib .record-action { min-height: 44px; padding: 7px 13px; border: 1px solid #416d7a; border-radius: 0; }
.wig-site-lib .catalog-primary-action { background: var(--site-ink); color: #fff; }
.wig-site-lib .catalog-secondary-action,
.wig-site-lib .record-action { background: #f4f4ec; color: #315966; }
.wig-site-lib .civic-record-table { width: 100%; border-collapse: collapse; border: 1px solid #9eb0af; background: #fff; font: 12px/1.55 Tahoma, "Microsoft YaHei", sans-serif; }
.wig-site-lib .civic-record-table caption { padding: 7px 8px; color: #5b6c6f; text-align: left; }
.wig-site-lib .civic-record-table th,
.wig-site-lib .civic-record-table td { padding: 8px 7px; border: 1px solid #b8c4c1; vertical-align: top; text-align: left; }
.wig-site-lib .civic-record-table thead th { color: #fff; background: #35697b; font-weight: 700; }
.wig-site-lib .civic-record-table tbody tr:nth-child(even) { background: #f3f6f1; }
.wig-site-lib .civic-record-table a { color: #174f78; text-decoration: underline; }
.wig-site-lib .record-pagination { border-radius: 0; background: #edf2ec; }
.wig-site-lib .related-block { border: 1px solid #a9b8b5; background: #f1f3ec; }
.wig-site-lib .related-stamp { transform: none; }

.wig-site-lib .p01-civic-portal { border: 0; background: #fffefa; }
.wig-site-lib .p01-portal-heading { padding: 16px 18px; border: 0; border-bottom: 3px double #8ea8a8; background: #f5f3e8; }
.wig-site-lib .p01-portal-heading h1 { color: var(--site-ink); font: 700 26px/1.35 "SimSun", serif; }
.wig-site-lib .p01-portal-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .9fr); gap: 12px; padding: 14px; }
.wig-site-lib .p01-portal-grid > section { margin: 0; padding: 13px; border: 1px solid #aebdb9; background: #fffefa; }
.wig-site-lib .p01-portal-search,
.wig-site-lib .p01-portal-handoff,
.wig-site-lib .p01-portal-community,
.wig-site-lib .p01-portal-contact { grid-column: 1 / -1; }
.wig-site-lib .p01-service-list { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #aabbb8; border-left: 1px solid #aabbb8; }
.wig-site-lib .p01-service-list a { min-height: 44px; padding: 9px; border: 0; border-right: 1px solid #aabbb8; border-bottom: 1px solid #aabbb8; border-radius: 0; background: #edf3ef; color: #174f68; }
.wig-site-lib .p01-news-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.wig-site-lib .p01-news-columns ul { margin: 0; padding-left: 20px; }
.wig-site-lib .p01-news-columns li { padding: 5px 0; border-bottom: 1px dotted #bac4c1; }
.wig-site-lib .p01-portal-contact p { margin: 0; }
.wig-site-lib .p01-handoff-table small { display: block; color: #647579; }
.wig-site-lib .p06-result-drawer { border-left: 4px solid var(--site-ink); border-radius: 0; background: #f5f4e9; }
.wig-site-lib .p06-result-link { min-height: 44px; display: inline-flex; align-items: center; font-weight: 700; }
.wig-site-lib .a01-attachment,
.wig-site-lib .p04-notice-reading,
.wig-site-lib .p07-clipping { border-radius: 0; }
.wig-site-lib .a01-end-marker { color: #687579; background: #eeeee7; text-align: center; }
.wig-site-lib .p07-service-terms { display: grid; grid-template-columns: 90px minmax(0, 1fr); margin: 12px 0; border-top: 1px solid #aebbb8; }
.wig-site-lib .p07-service-terms dt,
.wig-site-lib .p07-service-terms dd { margin: 0; padding: 8px; border-bottom: 1px solid #bdc7c4; }
.wig-site-lib .p07-service-terms dt { background: #edf2ec; color: #315e69; font-weight: 700; }

@media (max-width: 760px) {
  body[class*="wig-site-"] .catalog-header-inner { min-height: 0; display: block; padding: 10px; }
  body[class*="wig-site-"] .catalog-brand strong { font-size: 23px; }
  body[class*="wig-site-"] .catalog-seal { width: 48px; height: 48px; font-size: 15px; }
  body[class*="wig-site-"] .catalog-office { margin-top: 9px; padding: 8px 0 0; border: 0; border-top: 1px solid var(--site-line); text-align: left; }
  body[class*="wig-site-"] .catalog-nav { justify-content: flex-start; overflow-x: auto; padding: 0; }
  body[class*="wig-site-"] .catalog-nav-link { min-width: max-content; min-height: 44px; padding: 10px 13px; }
  body[class*="wig-site-"] .catalog-shell-breadcrumb,
  body[class*="wig-site-"] .catalog-toolbar,
  body[class*="wig-site-"] .catalog-shell-notice { width: 100%; }
  body[class*="wig-site-"] .catalog-page { width: calc(100% - 16px); margin: 8px auto 18px; }
  .wig-site-lib .public-page-layout { display: block; padding: 0 8px 10px; }
  .wig-site-lib .public-page-sidebar,
  .wig-site-lib .public-related-panel { margin-bottom: 10px; }
  .wig-site-lib .public-local-nav { display: grid; grid-template-columns: 1fr 1fr; }
  .wig-site-lib .public-local-nav a { min-height: 44px; }
  .wig-site-lib .public-document-header,
  .wig-site-lib .document-section { padding: 12px 10px; }
  .wig-site-lib .p01-portal-grid { display: block; padding: 8px; }
  .wig-site-lib .p01-portal-grid > section { margin-bottom: 9px; padding: 10px; }
  .wig-site-lib .p01-service-list { grid-template-columns: 1fr 1fr; }
  .wig-site-lib .p01-news-columns { display: block; }
  .wig-site-lib .p01-news-columns ul + ul { margin-top: 10px; }
  .wig-site-lib .civic-record-filter form { display: grid; grid-template-columns: 1fr; }
  .wig-site-lib .civic-record-filter input,
  .wig-site-lib .civic-record-filter select,
  .wig-site-lib .civic-record-filter button { width: 100%; min-height: 44px; }
  body[class*="wig-site-"] main a,
  body[class*="wig-site-"] .catalog-footer a { min-height: 44px; display: inline-flex; align-items: center; box-sizing: border-box; }
  body[class*="wig-site-"] summary { min-height: 44px; padding-top: 12px; padding-bottom: 12px; box-sizing: border-box; }
  body.wig-site-lib.p04-page .civic-record-table,
  body.wig-site-lib .p06-results-table,
  body.wig-site-lib.p07-page .civic-record-table,
  body.wig-site-lib.p04-page .civic-record-table tbody,
  body.wig-site-lib .p06-results-table tbody,
  body.wig-site-lib.p07-page .civic-record-table tbody { display: block; width: 100%; border: 0; }
  body.wig-site-lib.p04-page .civic-record-table thead,
  .wig-site-lib .p06-results-table thead,
  body.wig-site-lib.p07-page .civic-record-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  body.wig-site-lib.p04-page .civic-record-table tr,
  .wig-site-lib .p06-results-table tr,
  body.wig-site-lib.p07-page .civic-record-table tr { display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 9px; border: 1px solid #a8b8b5; background: #fff; }
  body.wig-site-lib.p04-page .civic-record-table th,
  .wig-site-lib .p06-results-table th,
  body.wig-site-lib.p07-page .civic-record-table th { grid-column: 1 / -1; color: #174f68; background: #edf3ef; font-size: 14px; }
  body.wig-site-lib.p04-page .civic-record-table td,
  .wig-site-lib .p06-results-table td,
  body.wig-site-lib.p07-page .civic-record-table td { min-width: 0; overflow-wrap: anywhere; border-width: 1px 0 0 1px; }
  body.wig-site-lib.p04-page .civic-record-table td:nth-last-child(-n+2),
  .wig-site-lib .p06-results-table td:last-child,
  body.wig-site-lib.p07-page .civic-record-table td:last-child { grid-column: 1 / -1; }
  .wig-site-lib .p07-service-terms { grid-template-columns: 1fr; }
  .wig-site-lib .p07-service-terms dt { border-bottom: 0; }
}

@media print {
  #siteShell, .catalog-footer, .public-page-sidebar, .public-related-panel, .record-pagination, button { display: none !important; }
  body[class*="wig-site-"] { color: #000; background: #fff; }
  body[class*="wig-site-"] .catalog-page { width: 100%; margin: 0; border: 0; }
  .public-page-layout { display: block !important; padding: 0 !important; }
  .public-document, .document-section { border: 0 !important; background: #fff !important; }
}

/* P27/P28: a single administrative worktable; endings differ only in recorded disposition. */
.p27-formal-content, .p27-gate, .p28-formal-content, .p28-gate { width:min(1160px,calc(100% - 32px)); margin:14px auto 34px; color:#29454c; }
.p27-workspace, .p28-workspace { border:1px solid #788c90; background:#e5e9e2; box-shadow:2px 3px 0 rgba(36,67,73,.13); }
.p27-header, .p28-header { display:flex; justify-content:space-between; align-items:end; gap:16px; padding:15px 17px; border-bottom:3px double #627b80; background:#f7f6ee; }
.p27-header p, .p28-header p { margin:0; color:#557077; font-size:12px; letter-spacing:.05em; }
.p27-header h1, .p28-header h1 { margin:3px 0 0; color:#244854; font:700 23px/1.25 "SimSun",serif; letter-spacing:.08em; }
.p27-header span, .p28-header span { color:#536c70; font:12px/1.5 Consolas,"Microsoft YaHei",sans-serif; white-space:nowrap; }
.p27-record, .p27-basis, .p27-confirm, .p28-paper, .p28-terminal { margin:14px; padding:14px; border:1px solid #95a39f; background:#fbfaf3; }
.p27-consequences { margin:14px; padding:14px; border:1px solid #95a39f; background:#fbfaf3; }
.p27-consequences h2 { margin:0 0 10px; color:#315864; font:700 17px/1.4 "SimSun",serif; }
.p27-consequence-wrap table { width:100%; table-layout:fixed; border-collapse:collapse; font-size:12px; line-height:1.55; }
.p27-consequence-wrap th, .p27-consequence-wrap td { padding:8px; border:1px solid #aeb8b3; vertical-align:top; text-align:left; overflow-wrap:anywhere; }
.p27-consequence-wrap thead th { background:#e7ece6; color:#315864; }
.p27-consequence-wrap tbody th { width:78px; background:#eef1ea; color:#49656d; }
.p27-record h2, .p28-paper h2, .p28-terminal h2 { margin:0 0 8px; color:#315864; font:700 17px/1.4 "SimSun",serif; }
.p27-record p, .p28-paper p, .p28-terminal p { margin:7px 0; line-height:1.75; }
.p27-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:14px; }
.p27-disposition { min-width:0; display:flex; flex-direction:column; border:1px solid #82979a; background:#f8f7ef; }
.p27-disposition.is-current { border-color:#456775; box-shadow:inset 0 0 0 2px rgba(69,103,117,.2); }
.p27-disposition h2 { min-height:48px; display:flex; align-items:center; margin:0; padding:10px 12px; border-bottom:1px solid #aeb8b3; color:#315864; font:700 17px/1.35 "SimSun",serif; }
.p27-disposition dl, .p28-summary dl, .p28-static dl, .p28-people dl, .p28-mail dl { margin:0; }
.p27-disposition dl div, .p28-summary dl div, .p28-static dl div, .p28-people dl div, .p28-mail dl div { border-bottom:1px solid #c0c8c0; }
.p27-disposition dt, .p27-disposition dd, .p28-summary dt, .p28-summary dd, .p28-static dt, .p28-static dd, .p28-people dt, .p28-people dd, .p28-mail dt, .p28-mail dd { margin:0; padding:8px 10px; overflow-wrap:anywhere; }
.p27-disposition dt { color:#62757a; font-size:11px; }
.p27-disposition dd { min-height:51px; font-size:13px; line-height:1.55; }
.p27-card-actions { display:grid; gap:8px; margin-top:auto; padding:10px; }
.p27-card-actions button { width:100%; min-height:44px; margin:0; }
.p27-card-actions button:disabled { opacity:.52; cursor:not-allowed; }
.p27-basis button, .p27-confirm button, .p28-queue button, .p28-terminal button { min-height:44px; }
.p27-basis-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; margin:10px 0 12px; border-top:1px solid #c0c8c0; border-left:1px solid #c0c8c0; }
.p27-basis-grid div { min-height:62px; border-right:1px solid #c0c8c0; border-bottom:1px solid #c0c8c0; }
.p27-basis-grid dt, .p27-basis-grid dd { margin:0; padding:6px 9px; }
.p27-basis-grid dt { padding-bottom:0; color:#47656b; font-size:11px; letter-spacing:.05em; }
.p27-basis-grid dd { padding-top:3px; font-size:13px; line-height:1.6; }
.p27-status, .p28-status, .p28-final-live { margin:14px; color:#49656d; font-size:13px; }
.p27-persistence-warning { margin:14px; padding:8px; border-left:3px solid #98664d; background:#f5ece4; color:#6d483c; font-size:12px; }
.p27-gate-paper, .p28-gate-paper { padding:18px; border:1px solid #97a6a6; border-top:3px solid #315762; background:#fbfaf5; }
.p27-gate-paper h1, .p28-gate-paper h1 { margin:5px 0 10px; font:700 20px/1.4 "SimSun",serif; }
.p27-locked .p27-record { margin-bottom:28px; }
.p28-summary, .p28-audit, .p28-sources, .p28-people, .p28-mail { margin:14px; }
.p28-audit ul, .p28-sources ul { margin:0; padding-left:20px; line-height:1.8; }
.p28-sources > section { padding:10px 0; border-top:1px dotted #a9b5b0; }
.p28-sources h3 { margin:0 0 6px; color:#3f6068; font:700 14px/1.4 "SimSun",serif; }
.p28-people dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid #c0c8c0; }
.p28-people dl div { display:grid; grid-template-columns:82px minmax(0,1fr); }
.p28-people dt { border-right:1px solid #c0c8c0; color:#586e73; font-weight:700; }
.p28-mail { font-family:Consolas,"Microsoft YaHei",sans-serif; }
.p28-mail dl { border-top:1px solid #c0c8c0; }
.p28-mail dl div { display:grid; grid-template-columns:96px minmax(0,1fr); }
.p28-mail dt { color:#5d7174; }
.p28-queue { margin:14px; padding:15px; border:2px solid #71898d; background:#eef1ea; }
.p28-queue h2 { margin:0 0 7px; color:#315864; font:700 17px/1.4 "SimSun",serif; }
.p28-terminal { min-height:172px; position:relative; background:repeating-linear-gradient(0deg,rgba(72,96,97,.05) 0 1px,transparent 1px 5px),#f7f6ee; }
.p28-static { min-height:0; }
.p28-image-slot { min-height:180px; display:grid; place-items:center; position:relative; overflow:hidden; margin:0 0 13px; border:1px solid #85989a; background:linear-gradient(135deg,#d9dfd8,#eff1e9); color:#49656c; font:700 15px/1.4 "SimSun",serif; letter-spacing:.14em; }
.p28-image-slot img { display:block; width:100%; min-height:180px; max-height:330px; object-fit:contain; background:#d9dfd8; }
.p28-image-slot > span { padding:16px; text-align:center; }
.p28-image-slot img + span { display:none; }
.p28-image-slot img[hidden] + span { display:block; }
.p28-visual-withdraw { align-content:center; min-height:180px; padding:16px; box-sizing:border-box; background:repeating-linear-gradient(0deg,rgba(62,83,84,.075) 0 1px,transparent 1px 5px),#e8ebe1; color:#405c60; }
.p28-visual-withdraw span { padding:8px 12px; border:2px solid #7a514c; color:#6b3e3a; font:700 21px/1.2 "SimSun",serif; letter-spacing:.14em; }
.p28-visual-withdraw small { display:block; margin-top:11px; color:#53696b; font:12px/1.5 Consolas,"Microsoft YaHei",sans-serif; letter-spacing:0; }
.wig-g01-ending-status { margin:14px 0; padding:12px; border:1px solid #85999b; border-left:4px solid #496f76; background:#edf0e9; }
.wig-g01-ending-status h3 { margin:0 0 7px; color:#315864; font:700 16px/1.35 "SimSun",serif; }
.wig-g01-ending-status p { margin:5px 0; line-height:1.6; }
.wig-g01-ending-status a { display:inline-flex; min-height:44px; align-items:center; margin-top:6px; }
.p28-static dl { border-top:1px solid #c0c8c0; }
.p28-static dl div { display:grid; grid-template-columns:130px minmax(0,1fr); }
.p28-static dt { color:#5a6e73; }
.p28-actions { display:flex; flex-wrap:wrap; gap:8px; margin:14px; }
.p28-actions a { min-height:44px; display:inline-flex; align-items:center; }
@media (prefers-reduced-motion: reduce) { .p28-terminal, .p28-image-slot { transition:none !important; animation:none !important; } }
@media (max-width:760px) {
  .p27-formal-content, .p27-gate, .p28-formal-content, .p28-gate { width:calc(100% - 20px); margin-top:10px; }
  .p27-header, .p28-header { display:block; padding:12px; }
  .p27-header span, .p28-header span { display:block; margin-top:5px; white-space:normal; }
  .p27-choices { display:block; margin:10px; }
  .p27-disposition { margin:10px 0; }
  .p27-consequences { margin:10px; padding:10px; }
  .p27-consequence-wrap table, .p27-consequence-wrap tbody, .p27-consequence-wrap tr, .p27-consequence-wrap th, .p27-consequence-wrap td { display:block; width:100%; box-sizing:border-box; }
  .p27-consequence-wrap thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .p27-consequence-wrap tr { margin-bottom:10px; border:1px solid #aeb8b3; }
  .p27-consequence-wrap th, .p27-consequence-wrap td { border:0; border-bottom:1px solid #c4ccc6; }
  .p27-consequence-wrap td:nth-of-type(1)::before { content:"完成编目："; font-weight:700; }
  .p27-consequence-wrap td:nth-of-type(2)::before { content:"注销书目："; font-weight:700; }
  .p27-consequence-wrap td:nth-of-type(3)::before { content:"永久闭架："; font-weight:700; }
  .p27-basis-grid { display:block; border-left:0; }
  .p27-basis-grid div { min-height:0; border-left:1px solid #c0c8c0; }
  .p27-record, .p27-basis, .p27-confirm, .p28-paper, .p28-terminal, .p28-queue, .p28-summary, .p28-audit, .p28-sources, .p28-people, .p28-mail { margin:10px; }
  .p28-people dl { display:block; }
  .p28-people dl div { grid-template-columns:88px minmax(0,1fr); }
  .p28-static dl div, .p28-mail dl div { grid-template-columns:98px minmax(0,1fr); }
  .p28-actions a { flex:1 1 100%; justify-content:center; }
}

/* P24: the normal OPAC result stays readable while the verified room recedes behind it. */
.p24-formal-content, .p24-gate { width:min(1120px,calc(100% - 32px)); margin:18px auto; }
.p24-paper, .p24-gate-paper { background:#eef0e9; border:1px solid #72858a; box-shadow:0 2px 0 #c8cec5; padding:18px; margin:14px 0; }
.p24-header { border-top:5px solid #496c79; background:#e6e6dc; padding:18px; }
.p24-header h1, .p24-paper h1, .p24-paper h2 { color:#234552; font-family:Georgia,"Microsoft YaHei",serif; font-weight:500; }
.p24-kicker { color:#71534a; font:12px Consolas,monospace; letter-spacing:.08em; }
.p24-rule { border:1px solid #97a6a0; margin:16px 0; padding:12px; }
.p24-rule legend { padding:0 7px; color:#294b5a; font-weight:700; }
.p24-rule label { display:flex; gap:10px; align-items:flex-start; min-height:44px; padding:8px 4px; border-bottom:1px dotted #aab4ac; }
.p24-rule input { margin-top:4px; min-width:20px; min-height:20px; }
.p24-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.p24-actions .catalog-primary-action, .p24-actions .catalog-secondary-action { min-height:44px; }
.p24-status { min-height:1.6em; color:#455f63; }
.p24-fields { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border:1px solid #8b9a96; margin:12px 0; }
.p24-fields div { min-width:0; padding:9px; border-right:1px solid #aab4ad; }
.p24-fields div:last-child { border-right:0; }
.p24-fields dt { color:#61767a; font-size:12px; }
.p24-fields dd { margin:4px 0 0; overflow-wrap:anywhere; font-family:Consolas,"Microsoft YaHei",monospace; }
.p24-scene { position:relative; overflow:hidden; min-height:480px; background:#b5c0b6; border:8px solid #526d7b; }
.p24-room { position:absolute; inset:0; background:#b7c4b6; opacity:.45; transition:opacity 3000ms ease,transform 3000ms ease; }
.p24-room-image { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.p24-room::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#e8e1d6ba,#56636a52); }
.p24-room-open { opacity:1; transform:scale(1.03); }
.p24-beat { position:relative; z-index:1; width:min(88%,680px); margin:78px auto; padding:18px; color:#213d49; background:#e8ebe3f2; border:1px solid #74878b; opacity:0; font:16px Consolas,"Microsoft YaHei",monospace; transition:opacity 120ms linear; }
.p24-beat-visible { opacity:1; }
.p24-room-plaque { position:absolute; z-index:2; left:22px; bottom:20px; padding:10px; background:#e7e0d4e8; border:1px solid #708188; color:#314f5a; }
.p24-visuals { position:absolute; z-index:3; right:22px; bottom:18px; display:flex; gap:12px; align-items:end; max-width:54%; }
.p24-photo-semantics { position:relative; z-index:4; margin:0; padding:0; }
.p24-visuals figure { margin:0; padding:6px; background:#d9d7cb; border:1px solid #6d7c7b; box-shadow:0 5px 15px #24394266; }
.p24-visuals img { display:block; width:min(190px,28vw); height:auto; }
.p24-visuals .p24-v6 { width:min(300px,28vw); flex:0 0 auto; }
.p24-visuals .p24-v6-photo { position:relative; width:100%; line-height:0; overflow:hidden; }
.p24-visuals .p24-v6-base { position:relative; z-index:1; display:block; width:100%; height:auto; }
.p24-visuals .p24-v6-eye { position:absolute; z-index:2; top:var(--crop-top); left:var(--crop-left); display:block; width:var(--crop-width); height:auto; pointer-events:none; transform:translate3d(var(--gaze-x,0px),var(--gaze-y,0px),0); transform-origin:center; will-change:transform; }
.p24-visuals .p24-v6 figcaption { max-width:none; }
.p24-visuals figcaption, .p24-image-fallback { max-width:190px; margin-top:5px; font-size:12px; }
.p24-fallback { position:absolute; z-index:5; inset:16px; background:#e9e2d6; border:2px solid #6c8184; padding:15px; overflow:auto; }
.p24-history { border-left:3px solid #ad795d; padding-left:12px; color:#4c4a44; }
.p24-audit ul { padding:0; margin:0; list-style:none; }
.p24-audit li { display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px dotted #9ca9a0; }
.p24-audit span { text-align:right; }
.p24-mail dl { display:grid; grid-template-columns:150px 1fr; gap:4px 12px; }
.p24-mail dt { color:#5d7377; }.p24-mail dd { margin:0; overflow-wrap:anywhere; }
.p24-holds { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.p24-holds article { border:1px dashed #819296; padding:14px; background:#e4e7df; }
.p24-mirror summary { min-height:44px; cursor:pointer; color:#294d5b; }
@media (max-width: 600px) {
  .p24-formal-content, .p24-gate { width:calc(100% - 18px); margin:10px auto; }
  .p24-paper, .p24-gate-paper, .p24-header { padding:12px; }
  .p24-fields { grid-template-columns:1fr; }.p24-fields div { border-right:0; border-bottom:1px solid #aab4ad; }.p24-fields div:last-child { border-bottom:0; }
  .p24-scene { min-height:620px; border-width:5px; }.p24-beat { margin:24px auto; font-size:14px; }.p24-room { background-position:center; }
  .p24-visuals { right:10px; left:10px; bottom:12px; max-width:none; flex-direction:column; align-items:center; justify-content:center; }.p24-visuals img { width:min(42vw,170px); }.p24-visuals .p24-v6 { width:min(200px,50vw); }.p24-visuals .p24-v6-base { width:100%; }
  .p24-room-plaque { left:10px; bottom:210px; }.p24-mail dl { grid-template-columns:1fr; gap:2px; }.p24-mail dd { margin-bottom:8px; }
  .p24-holds { grid-template-columns:1fr; }.p24-audit li { display:block; }.p24-audit span { display:block; text-align:left; margin-top:3px; }
}
@media (prefers-reduced-motion: reduce) { .p24-room, .p24-beat { transition:none; animation:none; } }
@media (prefers-reduced-motion: reduce) {
  .p23-t05 .p23-t05-ghost { animation: none; opacity: .42; transform: translateY(1px) scaleX(1.02); }
  .p23-t07 .p23-baseline, .p23-t07 .p23-baseline-ghost { animation: none; transform: translateY(1px); }
}

@media (max-width: 760px) {
  .cinematic-camera-rig { transform-origin: 50% 49%; }
  .cinematic-system-slate { width: min(330px, calc(var(--screen-width, 100%) - 16px)); }
  .cinematic-system-title { font-size: clamp(17px, 5vw, 21px); line-height: 1.4; }
  .cinematic-system-meta { flex-wrap: wrap; gap: 5px 9px; max-width: 226px; margin-right: auto; margin-left: auto; font-size: 8px; }
  .cinematic-wake-panel { right: 16px; bottom: 22px; left: 16px; width: auto; }
  .cinematic-wake-button { min-height: 46px; }
  .cinematic-entry-controls { top: 14px; right: 14px; gap: 6px; }
  .cinematic-entry-controls button { min-height: 44px; padding: 0 9px; font-size: 9px; }
  .cinematic-entry-status { top: 65px; right: 15px; max-width: 236px; font-size: 9px; }
  .cinematic-terminal-titlebar { height: 40px; padding: 0 9px; font-size: 10px; }
  .cinematic-compat-strip { top: 49px; left: 10px; max-width: calc(100% - 20px); overflow: hidden; font-size: 9px; white-space: nowrap; text-overflow: ellipsis; }
}
@media (prefers-reduced-motion: reduce) {
  .catalog-cinematic-entry *, .catalog-cinematic-entry *::before, .catalog-cinematic-entry *::after { animation-duration: 1ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: 1ms !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* P02/P03 public information pages: one 2011 civic system, two distinct records. */
.civic-info-page { background: #dedfd9; }
.civic-info-page .catalog-page { margin-top: 18px; }
.public-page-layout { display: grid; grid-template-columns: 204px minmax(0, 1fr) 184px; gap: 18px; align-items: start; }
.public-page-sidebar, .public-related-panel { min-width: 0; border: 1px solid var(--line); background: rgba(251,250,245,.94); }
.public-page-sidebar { position: sticky; top: 14px; padding: 18px 16px 16px; border-top: 4px solid var(--blue-deep); }
.public-page-sidebar h1 { margin: 5px 0 10px; color: var(--blue-deep); font: 700 24px/1.25 "SimSun", "Songti SC", serif; letter-spacing: .08em; }
.public-file-label { margin: 0; color: var(--red); font: 11px/1.4 Consolas, "Microsoft YaHei", monospace; letter-spacing: .08em; }
.public-sidebar-lede { margin: 0 0 18px; color: var(--muted); font-size: 13px; line-height: 1.8; }
.public-local-nav { display: grid; border-top: 1px solid var(--line); }
.public-local-nav a { min-height: 44px; display: flex; align-items: center; padding: 7px 4px; border-bottom: 1px dotted var(--line); color: var(--blue-deep); font-size: 13px; text-decoration: none; }
.public-local-nav a:hover, .public-local-nav a:focus-visible, .public-local-nav a.is-local-current { padding-left: 9px; background: #e9eeea; color: var(--blue-deep); }
.public-local-nav a.is-local-current { border-left: 3px solid var(--red); font-weight: 700; }
.public-sidebar-note { margin: 18px 0 0; padding-top: 12px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; line-height: 1.65; }
.public-sidebar-note span { display: block; color: var(--blue-deep); font-weight: 700; }
.public-document { position: relative; min-width: 0; overflow: hidden; padding: 26px 30px 20px; border: 1px solid #adb5b1; background: var(--paper-light); box-shadow: 0 5px 14px rgba(39,50,58,.08); }
.public-document::before { position: absolute; z-index: 0; inset: 0; content: ""; pointer-events: none; opacity: .34; background: repeating-linear-gradient(0deg, transparent 0, transparent 4px, rgba(73,107,122,.035) 4px, rgba(73,107,122,.035) 5px); }
.public-document > * { position: relative; z-index: 1; }
.public-document-header { padding-bottom: 20px; border-bottom: 2px solid var(--blue-deep); }
.document-overline, .section-heading-row, .document-footer-note, .service-version-line { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.document-overline { color: var(--red); font: 11px/1.4 Consolas, "Microsoft YaHei", monospace; letter-spacing: .08em; }
.document-file-number, .section-index { color: var(--muted); font: 10px/1.5 Consolas, "Microsoft YaHei", monospace; letter-spacing: .04em; }
.public-document-header h2 { margin: 8px 0 6px; color: var(--ink); font: 700 clamp(27px, 3.2vw, 38px)/1.2 "SimSun", "Songti SC", serif; letter-spacing: .12em; }
.document-deck { max-width: 680px; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.85; }
.document-section, .archive-timeline-section { padding-top: 22px; }
.section-heading-row { padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.section-heading-row h3 { margin: 0; color: var(--blue-deep); font: 700 19px/1.35 "SimSun", "Songti SC", serif; letter-spacing: .08em; }
.document-section p { margin: 12px 0 0; color: var(--ink); font-size: 15px; line-height: 1.9; }
.archive-fact-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 17px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.archive-fact-grid div { min-height: 78px; padding: 11px 12px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(233,230,218,.46); }
.archive-fact-grid span { display: block; color: var(--muted); font-size: 11px; }
.archive-fact-grid strong { display: block; margin-top: 5px; color: var(--blue-deep); font-size: 13px; line-height: 1.55; }
.document-note, .service-table-note { padding: 10px 12px; border-left: 3px solid var(--red); background: rgba(233,230,218,.55); color: #4d5558 !important; font-size: 13px !important; }
.document-note b, .service-table-note b { color: var(--red); }
.archive-timeline-section { margin-top: 23px; border-top: 4px solid var(--blue); }
.archive-timeline { position: relative; margin: 18px 0 0; padding: 0; list-style: none; }
.archive-timeline::before { position: absolute; top: 9px; bottom: 18px; left: 76px; width: 1px; content: ""; background: #9eacab; }
.archive-timeline li { position: relative; display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 23px; min-width: 0; padding: 0 0 24px; opacity: 0; transform: translateY(-5px); animation: archive-record-in 430ms ease both; animation-delay: calc(120ms + var(--timeline-index) * 70ms); }
.archive-year { position: relative; z-index: 1; padding-top: 3px; color: var(--red); font: 700 16px/1.35 Consolas, "Courier New", monospace; }
.archive-year::after { position: absolute; top: 8px; right: -29px; width: 9px; height: 9px; content: ""; border: 2px solid var(--blue); background: var(--paper-light); }
.archive-record { min-width: 0; padding: 0 0 14px 17px; border-left: 1px solid transparent; }
.archive-record h4 { margin: 0; color: var(--ink); font: 700 16px/1.45 "SimSun", "Songti SC", serif; }
.archive-record p { margin: 5px 0 0; font-size: 14px; line-height: 1.75; }
.archive-record .archive-source { color: var(--muted); font: 10px/1.5 Consolas, "Microsoft YaHei", monospace; }
.archive-record:focus-within { border-left-color: var(--red); }
.archive-record details, .print-note { margin-top: 9px; border-top: 1px dotted #9da8a5; }
.archive-record summary, .print-note summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; color: var(--blue-deep); font-size: 13px; font-weight: 700; list-style: none; }
.archive-record summary::-webkit-details-marker, .print-note summary::-webkit-details-marker { display: none; }
.archive-record summary::before, .print-note summary::before { width: 14px; margin-right: 7px; content: "+"; color: var(--red); font: 700 16px/1 Consolas, monospace; }
.archive-record details[open] summary::before, .print-note[open] summary::before { content: "−"; }
.archive-record summary:hover, .archive-record summary:focus-visible, .print-note summary:hover, .print-note summary:focus-visible { color: var(--blue); }
.archive-details { padding: 0 10px 10px 21px; border-left: 2px solid #c7cfca; color: var(--muted); font-size: 13px; line-height: 1.8; animation: paper-open 250ms ease both; }
.document-footer-note { margin-top: 24px; padding-top: 13px; border-top: 1px solid var(--line); color: var(--muted); font: 10px/1.5 Consolas, "Microsoft YaHei", monospace; }
.document-footer-note a { color: var(--blue-deep); font: 700 12px/1.5 "Microsoft YaHei", sans-serif; text-decoration: none; }
.document-footer-note a:hover, .document-footer-note a:focus-visible { text-decoration: underline; }
.public-related-panel { display: grid; align-content: start; gap: 12px; background: transparent; border: 0; }
.related-block { padding: 17px 15px; border: 1px solid var(--line); background: rgba(251,250,245,.94); }
.related-block h2 { margin: 5px 0 12px; color: var(--blue-deep); font: 700 17px/1.4 "SimSun", "Songti SC", serif; letter-spacing: .06em; }
.related-link { display: block; min-height: 51px; padding: 8px 0; border-top: 1px dotted var(--line); color: var(--blue-deep); text-decoration: none; }
.related-link span, .related-link small { display: block; }
.related-link span { font-size: 13px; font-weight: 700; }
.related-link small { margin-top: 2px; color: var(--muted); font-size: 11px; }
.related-link:hover span, .related-link:focus-visible span { color: var(--red); }
.related-stamp, .related-date-stamp { color: var(--red); text-align: center; }
.related-stamp span, .related-stamp b, .related-stamp small, .related-date-stamp span, .related-date-stamp b, .related-date-stamp small { display: block; }
.related-stamp span, .related-date-stamp span { font: 10px/1.5 Consolas, monospace; letter-spacing: .12em; }
.related-stamp b { margin: 6px 0; font: 700 20px/1.2 "SimSun", serif; letter-spacing: .1em; }
.related-stamp small, .related-date-stamp small { font: 10px/1.5 Consolas, monospace; }
.service-document-header { border-bottom-color: var(--blue); }
.service-hours-section { padding-top: 21px; }
.service-version-line { margin-top: 12px; padding: 8px 10px; border: 1px solid #b4bfbb; background: #e9eeea; color: var(--muted); font-size: 12px; }
.service-current-mark { color: var(--red); font: 700 10px/1.4 Consolas, monospace; letter-spacing: .08em; }
.service-hours-table { width: 100%; margin-top: 12px; border-collapse: separate; border-spacing: 0; border-top: 2px solid var(--blue-deep); border-left: 1px solid var(--line); font-size: 14px; animation: table-open 320ms ease both; }
.service-hours-table caption { padding: 8px 0; color: var(--muted); text-align: left; font-size: 12px; }
.service-hours-table th, .service-hours-table td { padding: 12px 11px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.service-hours-table thead th { background: #e9e6da; color: var(--blue-deep); font: 700 12px/1.4 "SimSun", "Songti SC", serif; }
.service-hours-table tbody th { width: 25%; color: var(--ink); font-weight: 700; }
.service-hours-table tbody td:nth-child(2) { width: 25%; color: var(--blue-deep); font: 700 14px/1.5 Consolas, "Microsoft YaHei", monospace; white-space: nowrap; }
.service-hours-table tbody tr:hover th, .service-hours-table tbody tr:focus-within th { background: #eef1ed; box-shadow: inset 3px 0 var(--red); }
.service-hours-mobile { display: none; }
.service-table-note { margin: 15px 0 0 !important; }
.service-area-section { margin-top: 24px; border-top: 1px solid var(--line); }
.service-area-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: 15px; border: 1px solid var(--line); background: var(--line); }
.service-area-grid > div { min-width: 0; min-height: 134px; padding: 13px 12px; background: rgba(233,230,218,.62); }
.service-area-grid h4 { margin: 0; color: var(--blue-deep); font: 700 15px/1.4 "SimSun", serif; }
.service-area-grid p { margin: 7px 0 0; font-size: 13px; line-height: 1.75; }
.adjustment-section { margin-top: 24px; border-top: 1px solid var(--line); }
.print-note { margin-top: 15px; border: 1px solid #aeb9b4; background: #e9e6da; }
.print-note summary { padding: 5px 12px; }
.print-note-content { margin: 0 12px 12px; padding: 14px 15px; border: 1px solid #b9b2a0; background: #e4dfcf; box-shadow: inset 0 0 0 4px rgba(255,255,255,.18); animation: paper-open 280ms ease both; }
.print-note-heading { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 8px; border-bottom: 1px solid #a9a18f; color: var(--blue-deep); font: 700 12px/1.5 "SimSun", serif; }
.print-note-heading time { color: var(--red); font: 10px/1.5 Consolas, monospace; white-space: nowrap; }
.print-note-content p { margin: 11px 0 0; color: #424b4d; font-size: 14px; line-height: 1.8; }
.print-note-content p b { color: var(--red); font-family: Consolas, monospace; }
.print-note-caption { color: var(--muted) !important; font-size: 11px !important; }
.service-side-card ul { margin: 9px 0 0; padding-left: 17px; color: var(--muted); font-size: 12px; line-height: 1.85; }
.related-date-stamp { padding-top: 18px; padding-bottom: 18px; }
.related-date-stamp b { margin: 5px 0 2px; font: 700 30px/1.1 Consolas, monospace; letter-spacing: .04em; }
@keyframes archive-record-in { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
@keyframes paper-open { from { opacity: 0; transform: translateY(-3px); } to { opacity: 1; transform: translateY(0); } }
@keyframes table-open { from { opacity: .35; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1020px) {
  .public-page-layout { grid-template-columns: 178px minmax(0, 1fr) 160px; gap: 12px; }
  .public-page-sidebar { padding-right: 12px; padding-left: 12px; }
  .public-document { padding-right: 22px; padding-left: 22px; }
  .service-hours-table th, .service-hours-table td { padding-right: 8px; padding-left: 8px; }
}
@media (max-width: 768px) {
  .civic-info-page .catalog-page { width: calc(100% - 32px); }
  .public-page-layout { display: flex; flex-direction: column; gap: 10px; }
  .public-page-sidebar { position: static; width: 100%; padding: 14px; }
  .public-page-sidebar h1 { margin-top: 3px; font-size: 21px; }
  .public-sidebar-lede { max-width: 620px; margin-bottom: 11px; font-size: 13px; }
  .public-local-nav { grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); }
  .public-local-nav a { justify-content: center; min-height: 44px; padding: 6px 3px; text-align: center; font-size: 11px; }
  .public-local-nav a:hover, .public-local-nav a:focus-visible, .public-local-nav a.is-local-current { padding-left: 3px; }
  .public-sidebar-note { display: none; }
  .public-document { width: 100%; padding: 21px 18px 17px; }
  .public-document-header h2 { font-size: 29px; }
  .document-deck { font-size: 14px; line-height: 1.75; }
  .section-heading-row h3 { font-size: 17px; }
  .archive-fact-grid { grid-template-columns: 1fr; }
  .archive-timeline::before { left: 62px; }
  .archive-timeline li { grid-template-columns: 62px minmax(0, 1fr); gap: 17px; }
  .archive-year::after { right: -23px; }
  .archive-record { padding-left: 12px; }
  .public-related-panel { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .related-block { min-width: 0; padding: 14px; }
  .related-block h2 { font-size: 16px; }
  .service-area-grid { grid-template-columns: 1fr; }
  .service-area-grid > div { min-height: 0; }
}
@media (max-width: 520px) {
  .public-local-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .document-overline, .section-heading-row, .document-footer-note, .service-version-line { align-items: flex-start; flex-direction: column; gap: 4px; }
  .document-file-number, .section-index { font-size: 9px; }
  .public-document-header h2 { letter-spacing: .08em; }
  .document-section p, .archive-record p { font-size: 15px; }
  .archive-timeline::before { left: 52px; }
  .archive-timeline li { grid-template-columns: 52px minmax(0, 1fr); gap: 13px; }
  .archive-year { font-size: 14px; }
  .archive-year::after { right: -19px; width: 8px; height: 8px; }
  .archive-record h4 { font-size: 15px; }
  .service-hours-table { display: none; }
  .service-hours-mobile { display: block; margin: 12px 0 0; border-top: 2px solid var(--blue-deep); }
  .service-hours-mobile > div { display: grid; grid-template-columns: 34% 66%; border-bottom: 1px solid var(--line); }
  .service-hours-mobile dt, .service-hours-mobile dd { margin: 0; padding: 11px 9px; }
  .service-hours-mobile dt { color: var(--blue-deep); background: #e9e6da; font: 700 13px/1.5 "SimSun", serif; }
  .service-hours-mobile dd { color: var(--ink); }
  .service-hours-mobile time, .service-hours-mobile span { display: block; }
  .service-hours-mobile time { color: var(--blue-deep); font: 700 13px/1.5 Consolas, monospace; }
  .service-hours-mobile span { margin-top: 3px; color: var(--muted); font-size: 12px; line-height: 1.6; }
  .print-note-heading { display: block; }
  .print-note-heading time { display: block; margin-top: 4px; }
  .public-related-panel { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .civic-info-page .public-document *, .civic-info-page .public-document *::before, .civic-info-page .public-document *::after { animation: none !important; transition: none !important; transform: none !important; }
  .civic-info-page .archive-timeline li { opacity: 1; }
}

/* P04/P05 pilot: restrained paper registers with one deliberate document gesture per page. */
.notice-document-header { border-bottom-color: var(--red); }
.notice-filter-row { display: flex; align-items: center; flex-wrap: wrap; gap: 9px 12px; margin-top: 14px; padding: 10px 11px; border: 1px solid var(--line); background: #eef1ed; color: var(--muted); font-size: 12px; }
.notice-filter-row label { color: var(--blue-deep); font-weight: 700; }
.notice-filter-row select { min-height: 44px; min-width: 178px; padding: 7px 30px 7px 9px; border: 1px solid #82939a; border-radius: 0; background: var(--paper-light); color: var(--ink); }
.notice-filter-status { margin-left: auto; font: 10px/1.5 Consolas, monospace; }
.notice-list { margin-top: 14px; border-top: 2px solid var(--blue-deep); }
.notice-row { display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; gap: 16px; align-items: start; padding: 13px 10px; border-bottom: 1px solid var(--line); }
.notice-row.is-current { border-left: 4px solid var(--red); padding-left: 6px; background: rgba(233, 230, 218, .56); }
.notice-row.is-reissued { background: rgba(233, 230, 218, .28); }
.notice-row-meta { color: var(--muted); font: 11px/1.55 Consolas, "Microsoft YaHei", monospace; }
.notice-row-meta span { display: block; margin-top: 3px; color: var(--blue); font-family: "Microsoft YaHei", sans-serif; }
.notice-row-main h4 { margin: 0; color: var(--ink); font: 700 15px/1.5 "SimSun", "Songti SC", serif; }
.notice-row-main p { margin: 3px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.notice-title-button { min-height: 44px; margin: -7px 0; padding: 7px 0; border: 0; background: transparent; color: var(--blue-deep); font: inherit; font-weight: 700; text-align: left; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 3px; }
.notice-title-button:hover, .notice-title-button:focus-visible { color: var(--red); text-decoration-color: currentColor; }
.notice-status { padding: 3px 6px; border: 1px solid #aeb9b4; color: var(--muted); font: 10px/1.4 Consolas, monospace; white-space: nowrap; }
.notice-status.status-current { border-color: var(--red); color: var(--red); }
.notice-detail-paper { position: relative; margin-top: 15px; padding: 20px 22px 19px; border: 1px solid #b7b09e; background: #e8e3d4; box-shadow: inset 0 0 0 5px rgba(255, 255, 255, .2), 0 4px 12px rgba(39, 50, 58, .06); }
.notice-detail-disclosure { margin-top: 15px; border: 1px solid #aeb9b4; background: #e9e6da; }
.notice-detail-disclosure > summary { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 7px 13px; cursor: pointer; color: var(--blue-deep); font-weight: 700; list-style: none; }
.notice-detail-disclosure > summary::-webkit-details-marker { display: none; }
.notice-detail-disclosure > summary::before { width: 16px; content: "+"; color: var(--red); font: 700 18px/1 Consolas, monospace; }
.notice-detail-disclosure[open] > summary::before { content: "−"; }
.notice-detail-disclosure > summary span { flex: 1; }
.notice-detail-disclosure > summary small { color: var(--muted); font-size: 11px; font-weight: 400; }
.notice-detail-disclosure > summary:hover, .notice-detail-disclosure > summary:focus-visible { color: var(--red); }
.notice-detail-paper::before { position: absolute; top: 0; right: 16px; width: 60px; height: 8px; content: ""; background: rgba(130, 70, 67, .23); transform: rotate(-2deg); }
.notice-detail-meta { display: flex; gap: 12px; align-items: center; color: var(--muted); font: 10px/1.5 Consolas, monospace; }
.notice-detail-meta strong { margin-left: auto; color: var(--red); font-weight: 700; }
.notice-detail-paper h4 { margin: 13px 0 0; color: var(--blue-deep); font: 700 20px/1.4 "SimSun", "Songti SC", serif; letter-spacing: .06em; }
.notice-detail-paper p { margin: 11px 0 0; color: #424b4d; font-size: 14px; line-height: 1.85; }
.notice-detail-note { padding: 9px 11px; border-left: 3px solid var(--red); background: rgba(255, 255, 255, .25); font-size: 13px !important; }
.inline-search-button { min-height: 44px; padding: 4px 5px; border: 0; border-bottom: 1px solid var(--red); background: transparent; color: var(--blue-deep); font-weight: 700; }
.inline-search-button:hover, .inline-search-button:focus-visible { color: var(--red); }
.notice-search-form { margin-top: 14px; }
.notice-search-form label { display: block; margin-bottom: 6px; color: var(--blue-deep); font-size: 12px; font-weight: 700; }
.notice-search-form > div { display: grid; grid-template-columns: minmax(0, 1fr) 92px; gap: 7px; }
.notice-search-form input { width: 100%; min-height: 44px; padding: 8px 9px; border: 1px solid #82939a; border-radius: 0; background: #fffefa; color: var(--ink); }
.notice-search-form button { min-height: 44px; border: 1px solid var(--blue-deep); background: var(--blue-deep); color: #fff; font-weight: 700; }
.notice-search-help { margin: 7px 0 0 !important; color: var(--muted) !important; font-size: 12px !important; }
.notice-search-result { min-height: 2em; margin: 8px 0 0 !important; padding: 7px 9px; border-left: 3px solid var(--red); background: rgba(233, 230, 218, .5); color: var(--ink) !important; font-size: 13px !important; }
.optional-section { border-top: 4px solid var(--blue); }
.a01-attachment { margin-top: 15px; border: 1px solid #aeb9b4; background: #e9e6da; }
.a01-attachment > summary { min-height: 60px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 8px 13px; cursor: pointer; color: var(--blue-deep); font-weight: 700; list-style: none; }
.a01-attachment > summary::-webkit-details-marker { display: none; }
.a01-attachment > summary::before { width: 16px; content: "+"; color: var(--red); font: 700 18px/1 Consolas, monospace; }
.a01-attachment[open] > summary::before { content: "−"; }
.a01-attachment > summary span { flex: 1; }
.a01-attachment > summary small { color: var(--muted); font-size: 11px; font-weight: 400; }
.a01-sheet-wrap { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(180px, .88fr); gap: 12px; padding: 0 13px 13px; }
.a01-sheet { position: relative; min-height: 310px; padding: 19px 18px 15px; border: 1px solid #b1a993; background: #e4dfcf; box-shadow: inset 0 0 0 4px rgba(255, 255, 255, .2), 0 2px 7px rgba(39, 50, 58, .08); transform: rotate(-.35deg); }
.a01-sheet::after { position: absolute; top: 25px; right: -7px; width: 9px; height: 24px; content: ""; border: 1px solid #918a7c; border-left: 0; background: #bbb4a4; }
.a01-sheet-head, .a01-sheet-foot { display: flex; justify-content: space-between; gap: 10px; color: #5b625f; font: 10px/1.5 Consolas, monospace; }
.a01-sheet h4 { margin: 22px 0 13px; color: #3e5056; font: 700 18px/1.4 "SimSun", serif; letter-spacing: .05em; }
.a01-sheet p { margin: 9px 0 0; color: #485254; font-size: 13px; line-height: 1.8; }
.a01-recalled { position: absolute; top: 58px; right: 22px; padding: 4px 8px; border: 2px solid #8a6d68; color: #8a6d68; font: 700 15px/1 Consolas, monospace; letter-spacing: .12em; transform: rotate(-12deg); opacity: .8; }
.a01-handnote { margin: 18px 3px 15px auto; padding: 7px 9px; border-bottom: 1px solid #9a9385; color: #566875; font: 13px/1.8 "KaiTi", "STKaiti", cursive; transform: rotate(1deg); }
.a01-handnote span { font-size: 11px; }
.a01-sheet-foot { position: absolute; right: 18px; bottom: 13px; left: 18px; padding-top: 7px; border-top: 1px solid #b6ae9d; }
.a01-transcript { align-self: end; padding: 15px 14px; border-left: 3px solid var(--blue); background: rgba(251, 250, 245, .58); color: var(--muted); font-size: 13px; line-height: 1.8; }
.a01-transcript p { margin: 0; }
.a01-transcript-label { color: var(--blue-deep); font: 700 12px/1.4 "SimSun", serif; }
.a01-transcript-page { margin-top: 12px !important; color: #7b8382; font: 10px/1.5 Consolas, monospace; }
.a01-end-marker { margin: 0 13px; padding: 7px 9px; border-top: 1px dotted #a6aba7; color: var(--muted); font: 10px/1.5 Consolas, monospace; }
.a01-complete-button { min-height: 44px; margin: 9px 13px 0; padding: 6px 10px; border: 1px solid #84949a; background: transparent; color: var(--blue-deep); font-size: 12px; }
.a01-complete-button:disabled { cursor: not-allowed; opacity: .5; }
.a01-complete-button:not(:disabled):hover, .a01-complete-button:not(:disabled):focus-visible { border-color: var(--red); color: var(--red); }
.a01-complete-status { min-height: 1.6em; margin: 5px 13px 13px !important; color: var(--muted) !important; font-size: 11px !important; }
.notice-side-card ul, .floor-side-card ul { margin: 9px 0 0; padding-left: 17px; color: var(--muted); font-size: 12px; line-height: 1.85; }

.floor-document-header { border-bottom-color: var(--blue); }
.guide-switcher { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 14px 0 0; padding: 0; border: 0; }
.guide-switcher legend { width: 100%; margin-bottom: 2px; color: var(--blue-deep); font-size: 12px; font-weight: 700; }
.guide-switch { min-height: 44px; padding: 7px 13px; border: 1px solid #95a39f; background: transparent; color: var(--blue-deep); font-size: 13px; }
.guide-switch.is-selected { border-color: var(--blue-deep); background: var(--blue-deep); color: #fff; }
.guide-switch:hover, .guide-switch:focus-visible { border-color: var(--red); }
.guide-switch-help { margin: 9px 0 0 !important; color: var(--muted) !important; font: 11px/1.6 Consolas, "Microsoft YaHei", monospace; }
.floor-map-frame { margin-top: 14px; padding: 11px; border: 1px solid #aeb9b4; background: #e5e7df; overflow-x: auto; }
.floor-map-svg { display: block; width: 100%; min-width: 560px; height: auto; background: #f2f1e9; }
.map-frame-line { fill: none; stroke: #526c74; stroke-width: 2; }
.old-map-frame { stroke: #7b695e; }
.map-room { fill: #ece9de; stroke: #71858a; stroke-width: 1.5; }
.old-room { fill: #e9e2d6; stroke: #857469; }
.map-room-accent { fill: #d9e3de; stroke: #496b7a; stroke-width: 2; }
.map-floor-label { fill: #496b7a; font: 700 12px Consolas, "Microsoft YaHei", sans-serif; letter-spacing: 1px; }
.map-room-title { fill: #294b5a; font: 700 18px "SimSun", serif; }
.map-room-copy { fill: #5e686e; font: 12px "Microsoft YaHei", sans-serif; }
.floor-map-caption { margin: 9px 0 0 !important; color: var(--muted) !important; font-size: 11px !important; line-height: 1.7 !important; }
.legend-line, .legend-accent { display: inline-block; width: 19px; height: 11px; margin: 0 3px -1px 4px; border: 1px solid #71858a; background: #ece9de; }
.legend-accent { border: 2px solid var(--blue); background: #d9e3de; }
.guide-directory { margin-top: 15px; }
.guide-directory h4 { margin: 0; color: var(--blue-deep); font: 700 16px/1.4 "SimSun", serif; }
.guide-directory dl { margin: 9px 0 0; border-top: 2px solid var(--blue-deep); }
.guide-directory dl > div { display: grid; grid-template-columns: 92px minmax(0, 1fr); border-bottom: 1px solid var(--line); }
.guide-directory dt, .guide-directory dd { margin: 0; padding: 10px 11px; }
.guide-directory dt { color: var(--blue-deep); background: #e9e6da; font: 700 13px/1.55 "SimSun", serif; }
.guide-directory dd { color: var(--ink); font-size: 13px; line-height: 1.7; }
.old-guide-section { margin-top: 24px; border-top: 1px solid var(--line); }
.old-guide-section p { max-width: 690px; }
.floor-search-section { margin-top: 24px; border-top: 4px solid var(--blue); }

@media (max-width: 768px) {
  .notice-filter-status { width: 100%; margin-left: 0; }
  .notice-row { grid-template-columns: 1fr; gap: 4px; }
  .notice-row-meta span { display: inline; margin-left: 8px; }
  .notice-status { justify-self: start; margin-top: 4px; }
  .a01-sheet-wrap { grid-template-columns: 1fr; }
  .a01-transcript { align-self: stretch; }
  .floor-map-frame { margin-right: -5px; margin-left: -5px; }
}
@media (max-width: 520px) {
  .notice-filter-row { align-items: stretch; flex-direction: column; }
  .notice-filter-row select { width: 100%; }
  .notice-detail-paper { padding: 17px 15px; }
  .notice-detail-disclosure > summary { align-items: flex-start; flex-wrap: wrap; }
  .notice-detail-disclosure > summary small { width: calc(100% - 24px); margin-left: 24px; }
  .notice-detail-meta { align-items: flex-start; flex-direction: column; gap: 2px; }
  .notice-detail-meta strong { margin-left: 0; }
  .a01-attachment > summary { align-items: flex-start; flex-wrap: wrap; }
  .a01-attachment > summary small { width: calc(100% - 24px); margin-left: 24px; }
  .a01-sheet { min-height: 355px; padding-right: 13px; padding-left: 13px; }
  .a01-recalled { top: 76px; right: 14px; }
  .guide-directory dl > div { grid-template-columns: 76px minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .p04-page .notice-detail-paper, .p04-page .a01-sheet, .p05-page .floor-map-svg { animation: none !important; transform: none !important; }
}

/* P06/P07 public batch: one terminal, one paper rack, same civic system. */
.p06-document { background: #f8f6ed; }
.p06-document-header { border-bottom-color: var(--blue); }
.p06-terminal { margin-top: 20px; border: 1px solid #778b91; background: #dfe5e1; box-shadow: inset 0 0 0 4px rgba(255,255,255,.28), 0 4px 10px rgba(39,50,58,.1); }
.p06-terminal-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 43px; padding: 8px 13px; background: var(--blue-deep); color: #f4f1e8; font: 11px/1.4 Consolas, "Microsoft YaHei", monospace; letter-spacing: .04em; }
.p06-terminal-head > div { display: flex; align-items: center; gap: 8px; }
.p06-terminal-head strong { font: 700 14px/1.4 "SimSun", "Songti SC", serif; letter-spacing: .05em; }
.p06-led { display: inline-block; width: 8px; height: 8px; border: 1px solid #d7e3da; background: #a7c0a8; box-shadow: 0 0 0 2px rgba(167,192,168,.15); }
.p06-terminal-body { padding: 16px 15px 15px; }
.p06-search-form label { display: block; margin-bottom: 6px; color: var(--blue-deep); font-size: 12px; font-weight: 700; }
.p06-search-controls { display: grid; grid-template-columns: minmax(0,1fr) 86px 62px; gap: 7px; }
.p06-search-controls input { width: 100%; min-height: 44px; padding: 8px 10px; border: 1px solid #71858a; border-radius: 0; background: #fffefa; color: var(--ink); }
.p06-search-controls button { min-height: 44px; padding: 7px 9px; border-radius: 0; font-size: 12px; }
.p06-search-submit { border: 1px solid var(--blue-deep); background: var(--blue-deep); color: #fff; font-weight: 700; }
.p06-search-submit:hover, .p06-search-submit:focus-visible { background: var(--blue); }
.p06-search-reset { border: 1px solid #82939a; background: #eef1ed; color: var(--blue-deep); }
.p06-search-reset:hover, .p06-search-reset:focus-visible { background: var(--paper-light); }
.p06-search-prompt { margin: 8px 0 0; color: var(--muted); font-size: 12px; }
.p06-result-drawer { display: grid; grid-template-columns: 32px minmax(0,1fr) auto; gap: 11px; align-items: stretch; min-height: 66px; margin-top: 14px; border: 1px solid #a79e87; background: #e8e0cc; box-shadow: 3px 4px 0 rgba(39,50,58,.12); transition: transform .18s ease, box-shadow .18s ease; }
.p06-result-drawer[data-search-state="located"], .p06-result-drawer[data-search-state="unavailable"] { transform: translateX(3px); box-shadow: 1px 4px 0 rgba(39,50,58,.1); }
.p06-result-drawer[data-search-state="unavailable"] { border-left: 4px solid var(--red); }
.p06-result-drawer[data-search-state="unmatched"] { border-left: 4px solid #9a6a21; }
.p06-drawer-tab { display: grid; place-items: center; border-right: 1px solid #b9b09b; background: #ddd3b9; color: var(--red); font: 10px/1 Consolas, monospace; writing-mode: vertical-rl; }
.p06-result-drawer > div { min-width: 0; padding: 10px 0; }
.p06-result-drawer b { display: block; color: var(--blue-deep); font: 700 12px/1.4 "SimSun", serif; }
.p06-result-copy { display: block; margin-top: 3px; color: #454c4c; font-size: 13px; line-height: 1.6; }
.p06-result-code { align-self: center; margin-right: 12px; padding: 3px 5px; border: 1px solid #a79e87; color: var(--muted); font: 10px/1.2 Consolas, monospace; }
.p06-fields-section { border-top-color: var(--blue); }
.p06-field-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1px; margin-top: 14px; border: 1px solid var(--line); background: var(--line); }
.p06-field-card { min-width: 0; min-height: 158px; padding: 14px 13px 12px; background: rgba(233,230,218,.64); }
.p06-field-mark { display: inline-block; padding-bottom: 3px; border-bottom: 2px solid var(--red); color: var(--red); font: 10px/1.4 Consolas, monospace; letter-spacing: .08em; }
.p06-field-card h4 { margin: 10px 0 4px; color: var(--blue-deep); font: 700 16px/1.45 "SimSun", "Songti SC", serif; }
.p06-field-card p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.75; }
.p06-index-note { border-top-color: var(--blue); }
.p06-index-note > p { max-width: 700px; margin: 0; color: #4c5658; font-size: 13px; line-height: 1.85; }
.p06-help { margin-top: 20px; border: 1px solid #aeb9b4; background: #e9e6da; }
.p06-help > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; padding: 8px 13px; cursor: pointer; color: var(--blue-deep); font-weight: 700; list-style: none; }
.p06-help > summary::-webkit-details-marker { display: none; }
.p06-help > summary::before { width: 16px; content: "+"; color: var(--red); font: 700 18px/1 Consolas, monospace; }
.p06-help[open] > summary::before { content: "−"; }
.p06-help > summary span { flex: 1; }
.p06-help > summary small { color: var(--muted); font-size: 11px; font-weight: 400; }
.p06-help > summary:hover, .p06-help > summary:focus-visible { color: var(--red); }
.p06-help-content { padding: 2px 14px 12px 38px; border-top: 1px solid #c5c5b8; }
.p06-help-content p { margin: 9px 0 0; color: #4b5556; font-size: 13px; line-height: 1.8; }
.p06-help-content b { color: var(--blue-deep); }
.p06-side-card ul { margin: 9px 0 0; padding-left: 17px; color: var(--muted); font-size: 12px; line-height: 1.85; }
.p06-side-stamp { padding-top: 18px; padding-bottom: 18px; }
.p06-side-stamp b { color: var(--blue); }

.p07-document { background: #faf7ee; }
.p07-document-header { border-bottom-color: var(--red); }
.p07-rack { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; margin-top: 14px; padding: 15px 13px 17px; border: 1px solid #a8aaa0; background: linear-gradient(90deg, #d0cec1, #e0ded2 14%, #c4c3b8 14.5%, #d9d7ca 15%, #d9d7ca 85%, #c4c3b8 85.5%, #d0cec1); box-shadow: inset 0 0 0 4px rgba(255,255,255,.24), 0 3px 8px rgba(39,50,58,.08); }
.p07-index-card { position: relative; min-width: 0; min-height: 236px; padding: 14px 12px 12px; border: 1px solid #aaa18a; background: #eee9da; box-shadow: 2px 4px 7px rgba(39,50,58,.15); transform: rotate(-.8deg); }
.p07-index-card:nth-child(2) { transform: translateY(7px) rotate(.6deg); background: #e7e1d0; }
.p07-index-card:nth-child(3) { transform: rotate(-.25deg); background: #f1eddf; }
.p07-index-card::before { position: absolute; top: -6px; left: 14px; width: 48px; height: 10px; content: ""; border: 1px solid rgba(73,107,122,.28); background: rgba(215,218,205,.8); transform: rotate(-2deg); }
.p07-card-top { display: flex; justify-content: space-between; gap: 8px; padding-bottom: 7px; border-bottom: 1px solid #aca28e; color: var(--muted); font: 10px/1.4 Consolas, monospace; }
.p07-card-top time { color: var(--red); }
.p07-index-card h4 { margin: 16px 0 4px; color: var(--blue-deep); font: 700 18px/1.5 "SimSun", "Songti SC", serif; letter-spacing: .03em; }
.p07-index-card > p { margin: 0; color: var(--red); font-size: 12px; }
.p07-index-card dl { margin: 15px 0 0; border-top: 1px solid #b9b09b; }
.p07-index-card dl > div { display: grid; grid-template-columns: 36% 64%; border-bottom: 1px dotted #b9b09b; }
.p07-index-card dt, .p07-index-card dd { margin: 0; padding: 6px 4px; font-size: 11px; }
.p07-index-card dt { color: var(--muted); }
.p07-index-card dd { color: var(--ink); font-weight: 700; }
.p07-card-note { display: block; margin-top: 13px; color: #6b6e66; font: 11px/1.5 "KaiTi", "STKaiti", cursive; }
.p07-resource-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1px; margin-top: 14px; border: 1px solid var(--line); background: var(--line); }
.p07-resource-grid > div { min-height: 128px; padding: 13px; background: rgba(233,230,218,.58); }
.p07-resource-label { display: block; color: var(--red); font: 10px/1.4 Consolas, monospace; }
.p07-resource-grid strong { display: block; margin-top: 7px; color: var(--blue-deep); font: 700 16px/1.45 "SimSun", serif; }
.p07-resource-grid p { margin: 5px 0 0; color: var(--muted); font-size: 12px; line-height: 1.75; }
.p07-history-help { margin-top: 14px; border: 1px solid #aeb9b4; background: #e9e6da; }
.p07-history-help > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 7px 12px; cursor: pointer; color: var(--blue-deep); font-weight: 700; list-style: none; }
.p07-history-help > summary::-webkit-details-marker { display: none; }
.p07-history-help > summary::before { width: 16px; content: "+"; color: var(--red); font: 700 18px/1 Consolas, monospace; }
.p07-history-help[open] > summary::before { content: "−"; }
.p07-history-help > summary span { flex: 1; }
.p07-history-help > summary small { color: var(--muted); font-size: 11px; font-weight: 400; }
.p07-history-help > summary:hover, .p07-history-help > summary:focus-visible { color: var(--red); }
.p07-history-help > div { padding: 2px 13px 12px 37px; border-top: 1px solid #c5c5b8; }
.p07-history-help p { margin: 9px 0 0; color: #4b5556; font-size: 13px; line-height: 1.8; }
.p07-clipping { margin-top: 14px; border: 1px solid #a9a18e; background: #e9e2d2; }
.p07-clipping > summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 64px; padding: 9px 13px; cursor: pointer; color: var(--blue-deep); list-style: none; }
.p07-clipping > summary::-webkit-details-marker { display: none; }
.p07-clipping > summary::before { width: 17px; content: "+"; color: var(--red); font: 700 18px/1 Consolas, monospace; }
.p07-clipping[open] > summary::before { content: "−"; }
.p07-clipping > summary > span { display: flex; flex: 1; flex-direction: column; gap: 2px; }
.p07-clipping > summary b { font: 700 16px/1.5 "SimSun", "Songti SC", serif; }
.p07-clipping > summary small { color: var(--muted); font-size: 11px; font-weight: 400; }
.p07-clipping > summary time { color: var(--red); font: 10px/1.5 Consolas, monospace; white-space: nowrap; }
.p07-clipping > summary:hover, .p07-clipping > summary:focus-visible { color: var(--red); }
.p07-clipping-paper { position: relative; margin: 0 13px 13px; padding: 19px 20px 16px; border: 1px solid #b5ab95; background: #f1ead9; box-shadow: inset 0 0 0 4px rgba(255,255,255,.24), 2px 4px 8px rgba(39,50,58,.1); animation: p07-paper-open 280ms ease both; }
.p07-clipping-paper::before { position: absolute; top: -6px; right: 24px; width: 72px; height: 14px; content: ""; border: 1px solid rgba(130,70,67,.3); background: rgba(196,181,155,.82); transform: rotate(2deg); }
.p07-clipping-meta { display: flex; justify-content: space-between; gap: 10px; padding-bottom: 7px; border-bottom: 1px solid #b3a990; color: var(--muted); font: 10px/1.5 Consolas, monospace; }
.p07-clipping-meta b { color: var(--red); }
.p07-clipping-paper h4 { margin: 15px 0 6px; color: var(--blue-deep); font: 700 24px/1.4 "SimSun", "Songti SC", serif; letter-spacing: .08em; }
.p07-clipping-paper > p { margin: 9px 0 0; color: #4b5353; font-size: 14px; line-height: 1.85; }
.p07-clipping-paper h5 { margin: 17px 0 8px; padding-top: 9px; border-top: 1px solid #bbb19b; color: var(--red); font: 700 14px/1.5 "SimSun", serif; }
.p07-check-steps { display: grid; gap: 1px; margin: 0; padding: 0; list-style: none; border-top: 1px solid #bdb39e; background: #bdb39e; }
.p07-check-steps li { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 9px; align-items: start; padding: 9px 10px; background: rgba(255,255,255,.22); }
.p07-check-steps li > span { color: var(--red); font: 700 11px/1.5 Consolas, monospace; }
.p07-check-steps p { margin: 0; color: #4b5353; font-size: 13px; line-height: 1.7; }
.p07-notice-foot { padding-top: 10px; border-top: 1px dotted #b6ab93; }
.p07-notice-foot a { color: var(--blue-deep); font-weight: 700; text-underline-offset: 3px; }
.p07-side-card ul { margin: 9px 0 0; padding-left: 17px; color: var(--muted); font-size: 12px; line-height: 1.85; }
.p07-side-stamp { padding-top: 18px; padding-bottom: 18px; }
.p07-side-stamp b { color: var(--red); }
@keyframes p07-paper-open { from { opacity: .45; transform: translateY(-3px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 768px) {
  .p06-field-grid, .p07-resource-grid { grid-template-columns: 1fr; }
  .p07-rack { grid-template-columns: 1fr; padding-right: 12px; padding-left: 12px; }
  .p07-index-card, .p07-index-card:nth-child(2), .p07-index-card:nth-child(3) { transform: none; }
  .p07-index-card { min-height: 0; }
}
@media (max-width: 520px) {
  .p06-search-controls { grid-template-columns: minmax(0,1fr) 1fr; }
  .p06-search-submit, .p06-search-reset { width: 100%; }
  .p06-search-submit { grid-column: 1; }
  .p06-search-reset { grid-column: 2; grid-row: 2; }
  .p06-result-drawer { grid-template-columns: 27px minmax(0,1fr); }
  .p06-result-code { display: none; }
  .p06-help > summary, .p07-history-help > summary { align-items: flex-start; flex-wrap: wrap; }
  .p06-help > summary small, .p07-history-help > summary small { width: calc(100% - 24px); margin-left: 24px; }
  .p07-clipping > summary { align-items: flex-start; flex-wrap: wrap; }
  .p07-clipping > summary time { width: calc(100% - 24px); margin-left: 24px; }
  .p07-clipping-paper { padding: 16px 14px 14px; }
  .p07-clipping-paper h4 { font-size: 21px; }
  .p07-clipping-meta { align-items: flex-start; flex-direction: column; gap: 2px; }
}
@media (prefers-reduced-motion: reduce) {
  .p06-result-drawer, .p07-index-card, .p07-clipping-paper { animation: none !important; transform: none !important; transition: none !important; }
}

/* P08-P10 public batch: counter manual, wooden recommendation rack, contact ledger. */
.p08-document { background: #f7f5ec; }
.p08-document-header { border-bottom-color: #698b78; }
.p08-service-list { display: grid; gap: 1px; margin-top: 14px; border: 1px solid #aab8ad; background: #aab8ad; }
.p08-service-row { display: grid; grid-template-columns: 72px minmax(0,1fr) auto; gap: 14px; align-items: start; padding: 13px 14px; background: #eceee5; }
.p08-service-row:nth-child(even) { background: #f4f2e9; }
.p08-service-tab { align-self: start; padding: 6px 7px; border: 1px solid #7d9a89; background: #dbe5db; color: #365d4d; font: 700 12px/1.4 "SimSun", serif; text-align: center; }
.p08-service-row h4 { margin: 0; color: #315466; font: 700 16px/1.45 "SimSun", "Songti SC", serif; }
.p08-service-row p { margin: 4px 0 0; color: #56625f; font-size: 12px; line-height: 1.75; }
.p08-service-mark { align-self: center; color: #68736e; font: 10px/1.5 Consolas, monospace; white-space: nowrap; }
.p08-manual-section { border-top-color: #698b78; }
.p08-manual-intro { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.p08-principles { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; margin-top: 13px; }
.p08-principle { display: grid; grid-template-columns: 18px 28px minmax(0,1fr); gap: 7px; align-items: start; min-height: 96px; padding: 11px 10px; border: 1px solid #b7c0b5; background: #eff1e9; cursor: pointer; }
.p08-principle:hover, .p08-principle:focus-within { border-color: #698b78; }
.p08-principle.is-read { border-color: #698b78; background: #e2ebe0; }
.p08-principle input { width: 16px; height: 16px; margin: 2px 0 0; accent-color: #557b68; }
.p08-principle-number { color: #9a5d52; font: 700 14px/1.4 Consolas, monospace; }
.p08-principle b { display: block; color: #315466; font: 700 14px/1.5 "SimSun", serif; }
.p08-principle small { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; line-height: 1.6; }
.p08-manual-details { margin-top: 12px; border: 1px solid #aeb9b4; background: #e8ece4; }
.p08-manual-details > summary, .p10-instructions > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 50px; padding: 8px 13px; cursor: pointer; color: #315466; font-weight: 700; list-style: none; }
.p08-manual-details > summary::-webkit-details-marker, .p10-instructions > summary::-webkit-details-marker { display: none; }
.p08-manual-details > summary::before, .p10-instructions > summary::before { width: 16px; content: "+"; color: #9a5d52; font: 700 18px/1 Consolas, monospace; }
.p08-manual-details[open] > summary::before, .p10-instructions[open] > summary::before { content: "−"; }
.p08-manual-details > summary span, .p10-instructions > summary span { flex: 1; }
.p08-manual-details > summary small, .p10-instructions > summary small { color: var(--muted); font-size: 11px; font-weight: 400; }
.p08-manual-details > summary:hover, .p08-manual-details > summary:focus-visible, .p10-instructions > summary:hover, .p10-instructions > summary:focus-visible { color: #9a5d52; }
.p08-manual-paper { margin: 0 13px 13px; padding: 15px 16px; border: 1px solid #b1b6a9; background: #f5f3e9; color: #4d5a57; font-size: 13px; line-height: 1.8; }
.p08-manual-paper p { margin: 0; }
.p08-manual-paper p + p { margin-top: 10px; }
.p08-paper-kicker { color: #9a5d52; font: 10px/1.5 Consolas, monospace; letter-spacing: .08em; }
.p08-consultation-section { border-top-color: #698b78; }
.p08-consultation-form { display: grid; grid-template-columns: 120px minmax(0,1fr); gap: 8px 10px; align-items: center; max-width: 680px; margin-top: 14px; padding: 14px; border: 1px solid #b7c0b5; background: #eef0e7; }
.p08-consultation-form label { color: #315466; font-size: 12px; font-weight: 700; }
.p08-consultation-form select, .p08-consultation-form textarea { width: 100%; min-width: 0; padding: 8px 9px; border: 1px solid #879b90; border-radius: 0; background: #fffefa; color: var(--ink); font: inherit; }
.p08-consultation-form select { min-height: 42px; }
.p08-consultation-form textarea { resize: vertical; line-height: 1.6; }
.p08-consultation-form button { grid-column: 2; justify-self: start; min-height: 44px; padding: 8px 14px; border: 1px solid #315466; background: #315466; color: #fff; font-weight: 700; }
.p08-consultation-form button:hover, .p08-consultation-form button:focus-visible { background: #507789; }
.p08-form-status { grid-column: 2; min-height: 1.6em; margin: 0; color: #557b68; font-size: 11px; line-height: 1.6; }
.p08-side-stamp b { color: #557b68; }

.p09-document { background: #faf8ef; }
.p09-document-header, .p09-directory-section { border-bottom-color: #6d8985; }
.p09-catalog-list { margin: 12px 0 0; padding: 0; border: 1px solid #9eb0af; background: #fff; list-style: none; counter-reset: p09-books; }
.p09-book-entry { counter-increment: p09-books; border-bottom: 1px solid #b8c4c1; }
.p09-book-entry:last-child { border-bottom: 0; }
.p09-book-entry:nth-child(even) { background: #f3f6f1; }
.p09-book-details > summary { display: grid; grid-template-columns: 26px minmax(190px,1.3fr) minmax(130px,.8fr) minmax(180px,1fr); gap: 10px; align-items: center; min-height: 52px; padding: 8px 10px; cursor: pointer; color: #315966; font: 12px/1.55 Tahoma, "Microsoft YaHei", sans-serif; }
.p09-book-details > summary::before { content: counter(p09-books, decimal-leading-zero); color: #6f7e7c; font: 10px/1 Consolas, monospace; }
.p09-book-title { color: #274e5b; font: 700 15px/1.5 "SimSun", serif; }
.p09-book-author, .p09-book-summary { color: #56696a; }
.p09-book-fields { padding: 0 12px 12px 38px; border-top: 1px dotted #aebbb8; background: #f8f7ef; }
.p09-book-fields dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; }
.p09-book-fields dl > div { min-width: 0; padding: 8px; border-right: 1px solid #c5cdca; border-bottom: 1px solid #c5cdca; }
.p09-book-fields dt, .p09-book-fields dd { margin: 0; overflow-wrap: anywhere; }
.p09-book-fields dt { color: #6c7978; font-size: 11px; font-weight: 700; }
.p09-book-fields dd { color: #3f5053; font-size: 12px; }
.p09-recommendation { margin: 10px 0 0; color: #4f5e5c; font-size: 12px; line-height: 1.75; }
.p09-note-section { border-top-color: #9a6b43; }
.p09-note-section p { max-width: 700px; margin: 0; color: #5e5a50; font-size: 13px; line-height: 1.8; }

.p10-document { background: #f7f5ee; }
.p10-document-header { border-bottom-color: #657f89; }
.p10-contact-section { border-top-color: #657f89; }
.p10-contact-list { margin: 14px 0 0; border-top: 2px solid #657f89; }
.p10-contact-list > div { display: grid; grid-template-columns: 108px minmax(0,1fr) auto; gap: 12px; align-items: baseline; padding: 11px 10px; border-bottom: 1px solid #c4cbc6; }
.p10-contact-list > div:nth-child(even) { background: #ecefe9; }
.p10-contact-list dt { color: #365a68; font: 700 13px/1.5 "SimSun", serif; }
.p10-contact-list dd { min-width: 0; margin: 0; color: #3f4f55; font-size: 14px; overflow-wrap: anywhere; }
.p10-contact-list small { color: #7a8584; font: 10px/1.5 Consolas, monospace; white-space: nowrap; }
.p10-fiction-section { border-top-color: #9a5d52; }
.p10-fiction-notice { padding: 15px 16px; border: 1px solid #b9aaa3; border-left: 4px solid #9a5d52; background: #f2eae4; color: #56585b; }
.p10-fiction-notice strong { color: #734a49; font: 700 15px/1.5 "SimSun", serif; }
.p10-fiction-notice p { margin: 6px 0 0; font-size: 13px; line-height: 1.8; }
.p10-instructions-section { border-top-color: #657f89; }
.p10-instructions { margin-top: 14px; border: 1px solid #aeb9b4; background: #e9eeea; }
.p10-instructions-paper { margin: 0 13px 13px; padding: 14px 15px; border: 1px solid #b8c0b8; background: #f7f5ee; color: #505c5f; font-size: 13px; line-height: 1.8; }
.p10-instructions-paper p { margin: 0; }
.p10-instructions-paper p + p { margin-top: 9px; }
.p10-instructions-paper button { min-height: 44px; margin-top: 10px; }
.p10-faq-list { display: grid; gap: 8px; }
.p10-accessibility-section { border-top-color: #657f89; }
.p10-accessibility-list { margin: 0; padding-left: 22px; color: #4d5b5d; font-size: 13px; line-height: 1.8; }
.p10-archive-section { border-top-color: #9a5d52; }
.p10-archive-section > p { max-width: 700px; margin: 0; color: #566164; font-size: 13px; line-height: 1.8; }
.p10-archive-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.p10-archive-actions button { min-height: 44px; padding: 8px 13px; border: 1px solid #657f89; background: #eef1ed; color: #365a68; font-weight: 700; }
.p10-archive-actions button:hover, .p10-archive-actions button:focus-visible { background: #dfe9e2; }
.p10-archive-actions .p10-clear-button { border-color: #9a5d52; color: #734a49; }
.p10-archive-actions .p10-clear-button:hover, .p10-archive-actions .p10-clear-button:focus-visible { background: #f2e3dc; }
.p10-archive-status { min-height: 1.6em; margin-top: 8px !important; color: #557b68 !important; font-size: 12px !important; }
.p10-clear-dialog { width: min(480px, calc(100% - 28px)); max-height: calc(100dvh - 28px); padding: 0; overflow: auto; border: 1px solid #657f89; background: #f7f5ee; color: var(--ink); box-shadow: 5px 7px 0 rgba(39,50,58,.18); }
.p10-clear-dialog::backdrop { background: rgba(39,50,58,.28); }
.p10-clear-dialog form { padding: 19px; }
.p10-clear-dialog h4 { margin: 0; color: #365a68; font: 700 18px/1.5 "SimSun", serif; }
.p10-clear-dialog p { margin: 9px 0 0; color: #566164; font-size: 13px; line-height: 1.8; }
.p10-dialog-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; }
.p10-dialog-actions button { min-height: 44px; padding: 8px 13px; border: 1px solid #657f89; background: #eef1ed; color: #365a68; font-weight: 700; }
.p10-dialog-actions .p10-confirm-button { border-color: #9a5d52; background: #9a5d52; color: #fff; }
.p10-dialog-actions button:hover, .p10-dialog-actions button:focus-visible { filter: brightness(1.05); }
.p10-side-stamp b { color: #657f89; }

@media (max-width: 768px) {
  .p08-principles { grid-template-columns: 1fr; }
  .p09-book-details > summary { grid-template-columns: 1fr; gap: 2px; padding: 10px; }
  .p09-book-details > summary::before { display: none; }
  .p09-book-fields { padding: 0 10px 10px; }
  .p09-book-fields dl { grid-template-columns: 1fr 1fr; }
  .p10-contact-table, .p10-contact-table tbody, .p10-contact-table tr, .p10-contact-table th, .p10-contact-table td { display: block !important; width: 100%; }
  .p10-contact-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .p10-contact-table tr { padding: 8px; border: 1px solid #b8c4c1; border-bottom: 0; }
  .p10-contact-table tr:last-child { border-bottom: 1px solid #b8c4c1; }
  .p10-contact-table th, .p10-contact-table td { padding: 4px 5px !important; border: 0 !important; overflow-wrap: anywhere; }
  .p10-contact-table td:nth-child(2)::before { content: "联系："; font-weight: 700; }
  .p10-contact-table td:nth-child(3)::before { content: "时段："; font-weight: 700; }
  .p10-contact-table td:nth-child(4)::before { content: "位置："; font-weight: 700; }
  .p10-contact-list > div { grid-template-columns: 96px minmax(0,1fr); }
  .p10-contact-list small { grid-column: 2; }
}
@media (max-width: 520px) {
  .p08-service-row { grid-template-columns: 54px minmax(0,1fr); gap: 10px; }
  .p08-service-mark { grid-column: 2; justify-self: start; }
  .p08-consultation-form { grid-template-columns: 1fr; }
  .p08-consultation-form button, .p08-form-status { grid-column: 1; }
  .p09-book-fields dl { grid-template-columns: 1fr; }
  .p10-contact-list > div { grid-template-columns: 1fr; gap: 3px; }
  .p10-contact-list small { grid-column: auto; }
  .p10-dialog-actions { justify-content: stretch; }
  .p10-dialog-actions button { flex: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .p08-manual-paper, .p09-book-details, .p10-clear-dialog { animation: none !important; transform: none !important; transition: none !important; }
}

/* P11 protected catalog record: drawer, scan copy, and validation stamp. */
.p11-gate { max-width: 760px; margin: 34px auto 58px; padding: 0 18px; }
.p11-gate-paper { max-width: 620px; margin: 24px auto 0; padding: 30px 32px 28px; border: 1px solid #9b9e97; border-left: 5px solid var(--blue); background: #f0eee4; box-shadow: 4px 5px 0 rgba(39,50,58,.1); }
.p11-gate-paper h1 { margin: 10px 0 8px; color: var(--blue-deep); font: 700 25px/1.45 "SimSun", "Songti SC", serif; }
.p11-gate-paper > p:not(.public-file-label) { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.8; }
.p11-gate-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 20px; }
.p11-gate-actions .catalog-secondary-action { width: auto; min-width: 150px; min-height: 44px; margin: 0; padding: 8px 14px; text-align: center; }
.p11-formal-content { min-width: 0; }
.p11-document { background: #f7f5ed; }
.p11-document-header { border-bottom-color: #6b7f87; }
.p11-sidebar { border-top-color: #6b7f87; }
.p11-sidebar .public-sidebar-note { border-left-color: #9a5d52; }
.p11-record-section { position: relative; margin-top: 20px; padding: 0 15px 16px; }
.p11-record-drawer { position: absolute; top: 22px; right: 3px; display: grid; gap: 2px; width: 42px; padding: 7px 4px; border: 1px solid #8c806b; background: #d7cdb7; color: #6f5542; text-align: center; box-shadow: 2px 3px 0 rgba(39,50,58,.13); transform: rotate(3deg); }
.p11-record-drawer span { font: 9px/1.3 Consolas, monospace; writing-mode: vertical-rl; }
.p11-record-drawer b { font: 700 11px/1.3 Consolas, monospace; }
.p11-catalog-card { position: relative; max-width: 560px; margin: 0 auto; padding: 18px 24px 20px; border: 1px solid #a99d84; background: #eee8d8; box-shadow: 3px 5px 0 rgba(39,50,58,.14), inset 0 0 0 4px rgba(255,255,255,.2); }
.p11-catalog-card::before { position: absolute; top: -7px; left: 24px; width: 70px; height: 13px; content: ""; border: 1px solid rgba(73,107,122,.28); background: rgba(215,218,205,.86); transform: rotate(-2deg); }
.p11-card-head { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 8px; border-bottom: 1px solid #b8ad94; color: #747369; font: 10px/1.5 Consolas, monospace; }
.p11-catalog-card h3 { margin: 16px 0 8px; color: var(--blue-deep); font: 700 18px/1.5 "SimSun", "Songti SC", serif; }
.p11-field-list { margin: 0; border-top: 2px solid #6b7f87; }
.p11-field-list > div { display: grid; grid-template-columns: 110px minmax(0,1fr); border-bottom: 1px dotted #b9ad94; }
.p11-field-list dt, .p11-field-list dd { min-width: 0; margin: 0; padding: 9px 7px; font-size: 13px; line-height: 1.55; overflow-wrap: anywhere; }
.p11-field-list dt { color: #747369; }
.p11-field-list dd { color: #3f5056; font-weight: 700; }
.p11-revisit-status { margin-left: 8px; padding: 2px 5px; border: 1px solid #9a5d52; color: #734a49; font-size: 11px; font-weight: 700; }
.p11-copy-link { color: var(--blue-deep); font-weight: 700; text-underline-offset: 3px; }
.p11-card-rule { height: 12px; margin: 14px 0 10px; border-top: 1px solid #b8ad94; border-bottom: 1px dotted #b8ad94; }
.p11-verify-row { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.p11-verify-button { min-width: 180px; }
.p11-checklist { display: grid; gap: 8px; margin: 14px 0 12px; padding: 10px; border: 1px solid #b8ad94; background: rgba(242,236,220,.62); }
.p11-checklist legend { padding: 0 5px; color: var(--blue-deep); font: 700 13px/1.5 "SimSun", serif; }
.p11-check-item { display: grid; grid-template-columns: 28px minmax(0,1fr); align-items: start; gap: 8px; min-height: 44px; padding: 8px; border: 1px solid #c9bfaa; background: rgba(255,255,255,.28); cursor: pointer; }
.p11-check-item input { width: 22px; height: 22px; margin: 2px 0 0; accent-color: #5c7880; }
.p11-check-item span { display: grid; gap: 2px; min-width: 0; }
.p11-check-item strong { color: var(--ink); font-size: 13px; line-height: 1.45; }
.p11-check-item small { color: var(--muted); font-size: 11px; line-height: 1.55; }
.p11-check-item:focus-within { outline: 2px solid var(--blue); outline-offset: 1px; background: #f7f4e9; }
.p11-stamp { display: inline-grid; place-items: center; width: 82px; height: 58px; border: 2px solid #9a5d52; border-radius: 50%; color: #9a5d52; font: 700 12px/1.3 "SimSun", serif; text-align: center; transform: rotate(-8deg); }
.p11-stamp small { font: 10px/1.3 Consolas, monospace; }
.p11-verify-status { min-height: 1.7em; margin: 11px 0 0; color: #5f6866; font-size: 12px; line-height: 1.7; }
.p11-revisit-section { border-top-color: #9a5d52; }
.p11-revisit-section p { margin: 0; color: #525d5c; font-size: 13px; line-height: 1.8; }
.p11-attachment-section { border-top-color: #6b7f87; }
.p11-attachment { margin-top: 14px; border: 1px solid #a7a08f; background: #e9e3d4; }
.p11-attachment > summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 62px; padding: 9px 14px; cursor: pointer; color: var(--blue-deep); list-style: none; }
.p11-attachment > summary::-webkit-details-marker { display: none; }
.p11-attachment > summary::before { width: 17px; content: "+"; color: #9a5d52; font: 700 18px/1 Consolas, monospace; }
.p11-attachment[open] > summary::before { content: "−"; }
.p11-attachment > summary > span { flex: 1; font: 700 15px/1.5 "SimSun", serif; }
.p11-attachment > summary small { color: var(--muted); font-size: 11px; font-weight: 400; white-space: nowrap; }
.p11-attachment > summary:hover, .p11-attachment > summary:focus-visible { color: #9a5d52; }
.p11-attachment-paper { position: relative; margin: 0 14px; padding: 18px 19px 15px; border: 1px solid #b0a58f; background: #f2ecdc; box-shadow: inset 0 0 0 4px rgba(255,255,255,.25), 2px 4px 8px rgba(39,50,58,.1); animation: p11-scan-in 300ms ease both; }
.p11-scan-label { display: flex; justify-content: space-between; gap: 10px; padding-bottom: 7px; border-bottom: 1px solid #b5aa93; color: #777469; font: 10px/1.5 Consolas, monospace; }
.p11-scan-card { position: relative; max-width: 430px; margin: 14px auto 12px; padding: 14px 15px 18px; border: 1px solid #a99d84; background: #e7dfcb; color: #4b5353; }
.p11-scan-card::after { position: absolute; inset: 13% 0 auto; height: 1px; content: ""; background: rgba(115,105,85,.22); box-shadow: 0 21px rgba(115,105,85,.13), 0 42px rgba(115,105,85,.1); pointer-events: none; }
.p11-scan-card > p { margin: 0 0 10px; color: #586b70; font: 700 14px/1.5 "SimSun", serif; }
.p11-scan-card dl { margin: 0; border-top: 1px solid #afa38a; }
.p11-scan-card dl > div { display: grid; grid-template-columns: 75px minmax(0,1fr); border-bottom: 1px dotted #afa38a; }
.p11-scan-card dt, .p11-scan-card dd { margin: 0; padding: 6px 4px; font-size: 12px; line-height: 1.5; }
.p11-scan-card dt { color: #777469; }
.p11-scan-card dd { font-weight: 700; }
.p11-copy-stamp { position: absolute; right: 10px; bottom: 8px; padding: 3px 5px; border: 1px solid #9a5d52; color: #9a5d52; font: 10px/1.3 Consolas, monospace; transform: rotate(-5deg); }
.p11-scan-back { max-width: 430px; margin: 0 auto; padding: 11px 13px; border: 1px solid #b2a58c; background: #e8e0ce; color: #555c5b; font-size: 12px; line-height: 1.7; }
.p11-scan-back span { color: #9a5d52; font: 700 11px/1.4 "SimSun", serif; }
.p11-scan-back p { margin: 3px 0 0; }
.p11-attachment-transcript { margin: 12px 0 0; color: #555d5c; font-size: 12px; line-height: 1.8; }
.p11-attachment-end { margin-top: 14px; padding-top: 9px; border-top: 1px dashed #9f967f; color: #7b6d5e; font: 10px/1.5 Consolas, monospace; }
.p11-attachment-confirm { margin: 12px 14px 0; min-height: 44px; padding: 8px 13px; }
.p11-attachment-status { min-height: 1.6em; margin: 7px 14px 14px; color: #557b68; font-size: 11px; line-height: 1.6; }
.p11-side-card ul { margin: 9px 0 0; padding-left: 17px; color: var(--muted); font-size: 12px; line-height: 1.85; }
.p11-side-stamp { padding-top: 18px; padding-bottom: 18px; }
.p11-side-stamp b { color: #6b7f87; }
@keyframes p11-scan-in { from { opacity: .55; transform: translateY(-3px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 768px) {
  .p11-catalog-card { padding-right: 17px; padding-left: 17px; }
  .p11-field-list > div { grid-template-columns: 92px minmax(0,1fr); }
  .p11-record-drawer { right: -2px; }
}
@media (max-width: 520px) {
  .p11-gate { margin-top: 22px; padding: 0 13px; }
  .p11-gate-paper { padding: 23px 18px 21px; }
  .p11-gate-paper h1 { font-size: 21px; }
  .p11-gate-actions { flex-direction: column; }
  .p11-gate-actions .catalog-secondary-action, .p11-gate-actions .catalog-primary-action { width: 100%; }
  .p11-record-section { padding-right: 0; padding-left: 0; }
  .p11-record-drawer { display: none; }
  .p11-catalog-card { padding: 16px 13px 17px; }
  .p11-card-head { align-items: flex-start; flex-direction: column; gap: 2px; }
  .p11-field-list > div { grid-template-columns: 74px minmax(0,1fr); }
  .p11-field-list dt, .p11-field-list dd { padding-right: 4px; padding-left: 4px; font-size: 12px; }
  .p11-check-item { grid-template-columns: 27px minmax(0,1fr); }
  .p11-verify-row { align-items: stretch; flex-direction: column; }
  .p11-verify-button { width: 100%; }
  .p11-stamp { align-self: flex-start; }
  .p11-attachment > summary { align-items: flex-start; flex-wrap: wrap; }
  .p11-attachment > summary small { width: calc(100% - 24px); margin-left: 24px; white-space: normal; }
  .p11-attachment-paper { margin-right: 10px; margin-left: 10px; padding: 14px 12px 13px; }
  .p11-scan-label { align-items: flex-start; flex-direction: column; gap: 2px; }
  .p11-scan-card dl > div { grid-template-columns: 62px minmax(0,1fr); }
  .p11-attachment-confirm { width: calc(100% - 20px); margin-right: 10px; margin-left: 10px; }
  .p11-attachment-status { margin-right: 10px; margin-left: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .p11-record-drawer, .p11-stamp, .p11-attachment-paper { animation: none !important; transform: none !important; transition: none !important; }
}

/* P12 protected OPAC duplicate-record workbench. */
.p12-gate { max-width: 760px; margin: 34px auto 58px; padding: 0 18px; }
.p12-gate-paper { max-width: 620px; margin: 24px auto 0; padding: 30px 32px 28px; border: 1px solid #9b9e97; border-left: 5px solid var(--blue); background: #f0eee4; box-shadow: 4px 5px 0 rgba(39,50,58,.1); }
.p12-gate-paper h1 { margin: 10px 0 8px; color: var(--blue-deep); font: 700 25px/1.45 "SimSun", "Songti SC", serif; }
.p12-gate-paper > p:not(.public-file-label) { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.8; }
.p12-gate-actions, .p12-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.p12-gate-actions { margin-top: 20px; }
.p12-gate-actions .catalog-secondary-action { width: auto; min-width: 150px; min-height: 44px; margin: 0; padding: 8px 14px; text-align: center; }
.p12-formal-content { min-width: 0; }
.p12-document { background: #f6f3e9; }
.p12-document-header { border-bottom-color: #657d88; }
.p12-sidebar { border-top-color: #657d88; }
.p12-instruction { margin: 18px 0; padding: 9px 12px; border-left: 4px solid #657d88; background: #e3e7df; color: #43545a; font-size: 13px; line-height: 1.7; }
.p12-board { position: relative; margin: 0; padding: 13px; border: 1px solid #879395; background: #d9dfda; overflow: hidden; }
.p12-board::before { position: absolute; inset: 56px 34% 16px; content: ""; border-inline: 1px solid rgba(73,107,122,.28); background: repeating-linear-gradient(0deg, rgba(255,255,255,.16) 0 2px, transparent 2px 12px); pointer-events: none; }
.p12-board-head, .p12-row { display: grid; grid-template-columns: minmax(0,1fr) 128px minmax(0,1fr); gap: 9px; }
.p12-board-head { position: relative; z-index: 1; margin-bottom: 10px; color: #385761; font: 700 11px/1.4 Consolas, "Microsoft YaHei", monospace; letter-spacing: .04em; text-align: center; }
.p12-board-head span { padding: 6px; border-bottom: 2px solid #657d88; background: rgba(246,243,233,.72); }
.p12-row { position: relative; z-index: 1; grid-template-areas: "name name name" "a judge b"; margin-top: 8px; }
.p12-row h3 { grid-area: name; margin: 0; padding: 3px 6px; border-top: 1px solid #a4adab; color: #4a5b5f; font-size: 12px; letter-spacing: .05em; }
.p12-record-value { position: relative; min-width: 0; min-height: 58px; padding: 8px 10px; border: 1px solid #aaa797; background: #fffdf5; overflow: hidden; }
.p12-record-value:first-of-type { grid-area: a; }
.p12-record-value:last-child { grid-area: b; }
.p12-record-value small, .p12-record-value strong { position: relative; z-index: 1; display: block; overflow-wrap: anywhere; }
.p12-record-value small { color: #6d736f; font-size: 10px; line-height: 1.5; }
.p12-record-value strong { color: #32484f; font: 700 13px/1.55 Consolas, "Microsoft YaHei", sans-serif; }
.p12-judge { grid-area: judge; display: grid; place-items: center; min-width: 0; }
.p12-common-check { display: flex; align-items: center; justify-content: center; gap: 5px; width: 100%; min-height: 48px; padding: 5px; border: 1px solid #687d82; background: #edf0e9; color: #38535c; font-size: 11px; font-weight: 700; text-align: center; cursor: pointer; }
.p12-common-check input { width: 20px; height: 20px; margin: 0; accent-color: var(--blue-deep); }
.p12-field-note { color: #66716f; font-size: 11px; text-align: center; }
.p12-ghost { position: absolute; z-index: 0; right: 8px; bottom: 4px; color: rgba(126,70,66,.13); font: 700 16px/1 "SimSun", serif; pointer-events: none; transform: translate(-3px, 1px); white-space: nowrap; }
.p12-ghost.t05-title { color: rgba(73,107,122,.14); }
.p12-overlay { position: relative; z-index: 2; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 7px 10px; margin: 8px 0 12px; padding: 8px 10px; border: 1px solid #9ba49f; background: rgba(242,241,233,.93); color: #42606a; }
.p12-overlay-ring { width: 27px; height: 27px; border: 3px double #9aa8a6; border-radius: 50%; }
.p12-overlay.is-1 .p12-overlay-ring { border-right-color: #657d88; }
.p12-overlay.is-2 .p12-overlay-ring { border-right-color: #657d88; border-bottom-color: #657d88; }
.p12-overlay.is-3 .p12-overlay-ring { border-color: #657d88; box-shadow: 0 0 0 3px rgba(126,70,66,.12); }
.p12-overlay b { font: 700 13px/1 Consolas, monospace; }
.p12-overlay p { grid-column: 1 / -1; margin: 0; font-size: 11px; line-height: 1.6; }
.p12-action-panel { margin-top: 20px; padding: 16px; border: 1px solid #a0a59f; background: #ebe8dc; }
.p12-source-rule, .p12-impact { margin:14px 13px; padding:13px; border:1px solid #9aa6a2; background:#eef1e9; }
.p12-source-rule h3, .p12-impact h3 { margin:0 0 7px; color:#315864; font:700 17px/1.4 "SimSun",serif; }
.p12-source-rule p, .p12-impact p { margin:0; color:#465b5e; font-size:12px; line-height:1.75; }
.p12-impact-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.p12-impact-grid article { min-width:0; padding:10px; border:1px solid #aeb9b2; background:#fffdf5; }
.p12-impact-grid h4 { margin:0 0 6px; color:#355963; font:700 14px/1.4 "SimSun",serif; }
.p12-action-panel h3 { margin: 0 0 4px; color: var(--blue-deep); font: 700 19px/1.5 "SimSun", serif; }
.p12-action-panel > p { margin: 0 0 12px; color: var(--muted); font-size: 12px; }
.p12-action-panel fieldset { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 0; padding: 0; border: 0; }
.p12-action-panel legend { width: 100%; margin-bottom: 8px; color: #3e5962; font-size: 13px; font-weight: 700; }
.p12-action-panel label { display: flex; align-items: center; gap: 7px; min-height: 52px; padding: 8px; border: 1px solid #929b99; background: #fffdf5; color: #34484f; font-size: 13px; cursor: pointer; }
.p12-action-panel label span, .p12-action-panel label small { display:block; }
.p12-action-panel label small { margin-top:4px; color:#66716f; font-size:11px; line-height:1.45; }
.p12-action-panel input[type="radio"] { width: 20px; height: 20px; margin: 0; accent-color: var(--blue-deep); }
.p12-actions { margin-top: 13px; }
.p12-actions button { min-height: 44px; margin: 0; }
.p12-status { min-height: 1.7em; margin: 12px 0 0; padding: 7px 9px; border-left: 3px solid #657d88; background: #e2e7df; color: #40575d; font-size: 12px; line-height: 1.65; }
.p12-status.is-error { border-color: #9a5d52; background: #eee1d7; color: #713f3c; }
.p12-rejecting .p12-action-panel { animation: p12-reject .24s ease; }
.p12-result { position: relative; margin-top: 20px; padding: 19px; border: 2px solid #596f76; background: #e2e6df; box-shadow: inset 0 0 0 4px rgba(255,255,255,.36); }
.p12-result h3 { margin: 0 0 7px; color: #384f57; font: 700 23px/1.4 "SimSun", serif; }
.p12-result p { max-width: 680px; margin: 7px 0; color: #46575a; font-size: 13px; line-height: 1.8; }
.p12-result-stamp { position: absolute; top: 12px; right: 14px; padding: 5px 8px; border: 3px double #914f4a; color: #914f4a; font: 700 14px/1.2 "SimSun", serif; transform: rotate(-4deg) scaleX(1.018) scaleY(.985); }
.p12-result.is-linking { animation: p12-linking .65s cubic-bezier(.2,.7,.2,1) both; }
.p12-result.is-linking .p12-result-stamp { animation: p12-stamp .65s ease both; }
.p12-board.is-linking .p12-record-value:first-of-type { animation: p12-card-a .65s ease-out both; }
.p12-board.is-linking .p12-record-value:last-child { animation: p12-card-b .65s ease-out both; }
@keyframes p12-linking { 0% { transform: translateY(4px); } 48% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes p12-stamp { 0%,42% { opacity: .05; transform: rotate(-4deg) scale(1.05, .97); } 100% { opacity: 1; transform: rotate(-4deg) scaleX(1.018) scaleY(.985); } }
@keyframes p12-card-a { 0% { transform: translateX(7px); } 100% { transform: translateX(0); } }
@keyframes p12-card-b { 0% { transform: translateX(-7px); } 100% { transform: translateX(0); } }
@keyframes p12-reject { 0%,100% { transform: translateX(0); } 45% { transform: translateX(3px); } }
.p12-document .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 768px) {
  .p12-board { padding: 9px; }
  .p12-board::before { display: none; }
  .p12-board-head { grid-template-columns: 1fr 1fr; }
  .p12-board-head span:nth-child(2) { display: none; }
  .p12-row { grid-template-columns: minmax(0,1fr); grid-template-areas: "name" "a" "b" "judge"; gap: 5px; margin-top: 13px; padding-top: 8px; border-top: 2px solid #78888a; }
  .p12-row h3 { border: 0; padding-left: 1px; }
  .p12-record-value { min-height: 52px; }
  .p12-record-value small { font-weight: 700; }
  .p12-common-check { min-height: 44px; }
  .p12-action-panel fieldset { grid-template-columns: 1fr; }
  .p12-impact-grid { grid-template-columns:1fr; }
  .p12-action-panel label { min-height: 48px; }
}
@media (max-width: 520px) {
  .p12-gate { margin-top: 22px; padding: 0 13px; }
  .p12-gate-paper { padding: 23px 18px 21px; }
  .p12-gate-paper h1 { font-size: 21px; }
  .p12-gate-actions, .p12-actions { flex-direction: column; }
  .p12-gate-actions .catalog-secondary-action, .p12-gate-actions .catalog-primary-action, .p12-actions button { width: 100%; }
  .p12-result { padding-top: 51px; }
  .p12-result-stamp { top: 11px; left: 14px; right: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .p12-result, .p12-result *, .p12-board.is-linking .p12-record-value, .p12-rejecting .p12-action-panel { animation: none !important; transition: none !important; transform: none !important; }
  .p12-result-stamp { transform: rotate(-4deg) !important; }
}

/* S5b: P12 is a dense staff processing sheet, not a standalone puzzle card. */
.p12-workspace { width: min(1250px, calc(100% - 32px)); margin: 14px auto 34px; border: 1px solid #74868b; background: #dfe5df; color: #263d45; box-shadow: 2px 3px 0 rgba(38,61,69,.12); }
.staff-workspace-header { display: flex; align-items: stretch; justify-content: space-between; gap: 18px; padding: 14px 16px 12px; border-bottom: 1px solid #849398; background: #f3f2e9; }
.staff-workspace-header h1 { margin: 4px 0; color: #254954; font: 700 22px/1.35 "SimSun", "Songti SC", serif; letter-spacing: .06em; }
.staff-workspace-header p { margin: 0; color: #596d72; font: 12px/1.65 Consolas, "Microsoft YaHei", sans-serif; }
.staff-kicker { color: #496973 !important; font-weight: 700 !important; letter-spacing: .05em; }
.staff-workspace-header dl { min-width: 215px; display: grid; grid-template-columns: 1fr; gap: 0; margin: 0; border: 1px solid #9aa7a5; background: #e7ece6; }
.staff-workspace-header dl div { display: grid; grid-template-columns: 78px 1fr; min-height: 31px; border-bottom: 1px solid #b1bbaf; }
.staff-workspace-header dl div:last-child { border-bottom: 0; }
.staff-workspace-header dt, .staff-workspace-header dd { display: flex; align-items: center; margin: 0; padding: 4px 8px; font-size: 11px; }
.staff-workspace-header dt { border-right: 1px solid #b1bbaf; color: #5c6a69; background: #eef0e9; }
.staff-workspace-header dd { color: #2f555e; font-weight: 700; }
.staff-workspace-menu { display: flex; gap: 0; border-bottom: 2px solid #4e6b76; background: #718995; color: #eef3ef; font-size: 12px; }
.staff-workspace-menu span, .staff-workspace-menu b { min-height: 34px; display: inline-flex; align-items: center; padding: 6px 14px; border-right: 1px solid rgba(255,255,255,.3); font-weight: 400; }
.staff-workspace-menu b { background: #314f59; font-weight: 700; }
.p12-workspace-main { padding: 14px; background: repeating-linear-gradient(0deg, rgba(255,255,255,.14) 0 1px, transparent 1px 5px), #e3e7df; }
.p12-index-section, .p12-current-record { border: 1px solid #89989a; background: #f7f5eb; }
.p12-index-details > summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; list-style: none; }
.p12-index-details > summary::-webkit-details-marker { display: none; }
.p12-current-record { margin-top: 14px; }
.p12-section-heading, .p12-current-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; padding: 9px 11px; border-bottom: 2px solid #607d87; background: #e9eee8; }
.p12-section-heading h3, .p12-current-heading h3 { margin: 2px 0 0; color: #294e58; font: 700 18px/1.35 "SimSun", "Songti SC", serif; }
.p12-section-heading > p, .p12-section-heading > span { margin: 0; color: #5e6e70; font-size: 11px; }
.p12-filter { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; padding: 10px; border-bottom: 1px solid #b1bbb4; background: #f1f1e9; }
.p12-filter label { display: grid; gap: 3px; color: #425b62; font-size: 11px; font-weight: 700; }
.p12-filter select { min-height: 32px; min-width: 112px; border: 1px solid #86969a; border-radius: 0; background: #fffdf5; color: #2d454d; font: 12px "Microsoft YaHei", sans-serif; }
.p12-filter .catalog-secondary-action, .p12-pagination .catalog-secondary-action, .p12-index-table .catalog-secondary-action { min-height: 32px; margin: 0; padding: 4px 10px; border-radius: 0; font-size: 12px; }
.p12-index-wrap { overflow-x: auto; }
.p12-index-table { width: 100%; min-width: 720px; border-collapse: collapse; color: #34484d; font-size: 12px; }
.p12-index-table th, .p12-index-table td { padding: 8px 9px; border-right: 1px solid #c1c8bf; border-bottom: 1px solid #c1c8bf; text-align: left; vertical-align: middle; }
.p12-index-table th { background: #dce4df; color: #385761; font-size: 11px; letter-spacing: .03em; }
.p12-index-table td:last-child, .p12-index-table th:last-child { border-right: 0; text-align: center; }
.p12-index-table tr:nth-child(even) td { background: rgba(226,232,225,.38); }
.p12-index-empty { margin: 0; padding: 18px; color: #5e6e70; font-size: 12px; }
.p12-state { display: inline-block; padding: 2px 6px; border: 1px solid #87999b; background: #eef0e8; color: #405c64; font-size: 11px; }
.p12-state-pending { border-color: #917d53; background: #f3eedf; color: #65552e; }
.p12-pagination { display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding: 8px 10px; border-top: 1px solid #b1bbb4; background: #edf0e9; color: #52686d; font-size: 11px; }
.p12-current-heading { align-items: start; }
.p12-current-heading dl { display: grid; grid-template-columns: repeat(2, minmax(120px, 1fr)); margin: 0; border: 1px solid #aab5ae; background: #f8f7ef; }
.p12-current-heading dl div { display: grid; grid-template-columns: 55px 1fr; min-height: 26px; border-right: 1px solid #c0c8bf; border-bottom: 1px solid #c0c8bf; }
.p12-current-heading dl div:nth-last-child(-n+2) { border-bottom: 0; }
.p12-current-heading dl div:nth-child(even) { border-right: 0; }
.p12-current-heading dt, .p12-current-heading dd { margin: 0; padding: 4px 6px; font-size: 11px; }
.p12-current-heading dt { color: #5b6b69; background: #ecefe8; }
.p12-current-heading dd { color: #324d54; font-weight: 700; }
.p12-current-record .p12-instruction { margin: 0; border-top: 1px solid #b1bbb4; border-bottom: 1px solid #b1bbb4; }
.p12-current-record .p12-board { margin: 12px; }
.p12-current-record .p12-action-panel, .p12-current-record .p12-result { margin: 12px; }
.p12-action-panel { background: #edf0e9; }
.p12-action-panel fieldset { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.p12-action-panel label { background: #fbfaf3; border-radius: 0; }
.p12-result { border: 1px solid #596f76; box-shadow: inset 0 0 0 3px rgba(255,255,255,.36); }
.p12-result h3 { color: #314f59; }
.p12-result .p12-followup-action { display: inline-flex; align-items: center; justify-content: center; width: min(100%, 260px); min-height: 44px; margin-top: 12px; padding: 8px 12px; text-decoration: none; }
.p12-result .p12-followup-hold { margin: 12px 0 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.p12-result-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 12px 0; border-top: 1px solid #a7b2aa; border-left: 1px solid #a7b2aa; }
.p12-result-list div { display: grid; grid-template-columns: 118px 1fr; min-height: 34px; border-right: 1px solid #a7b2aa; border-bottom: 1px solid #a7b2aa; }
.p12-result-list dt, .p12-result-list dd { display: flex; align-items: center; margin: 0; padding: 4px 8px; font-size: 12px; }
.p12-result-list dt { color: #586b6b; background: #edf0e9; }
.p12-result-list dd { color: #314f59; background: #f8f7ef; font-weight: 700; }
.p12-result-code { font-family: Consolas, monospace; transform: scaleX(1.018); transform-origin: left center; }
.p12-result.is-linking .p12-result-code { animation: p12-linking .65s cubic-bezier(.2,.7,.2,1) both; }
@media (max-width: 768px) {
  .p12-workspace { width: calc(100% - 20px); margin-top: 10px; }
  .staff-workspace-header { display: block; padding: 12px; }
  .staff-workspace-header dl { margin-top: 10px; min-width: 0; }
  .staff-workspace-menu { overflow-x: auto; }
  .staff-workspace-menu span, .staff-workspace-menu b { flex: 0 0 auto; padding-inline: 11px; }
  .p12-current-heading { display: block; }
  .p12-current-heading dl { margin-top: 9px; }
  .p12-action-panel fieldset, .p12-result-list { grid-template-columns: 1fr; }
  .p12-result-list div { grid-template-columns: 128px 1fr; }
}
@media (max-width: 520px) {
  .p12-workspace-main { padding: 8px; }
  .p12-filter { display: grid; grid-template-columns: 1fr 1fr; }
  .p12-filter label { min-width: 0; }
  .p12-filter label:nth-child(3) { grid-column: 1 / -1; }
  .p12-filter .catalog-secondary-action { min-height: 44px; }
  .p12-index-wrap { margin-inline: -8px; }
  .p12-index-table { min-width: 650px; }
  .p12-pagination { justify-content: space-between; }
  .p12-pagination .catalog-secondary-action { min-height: 44px; }
  .p12-current-heading dl { grid-template-columns: 1fr; }
  .p12-current-heading dl div, .p12-current-heading dl div:nth-child(even), .p12-current-heading dl div:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid #c0c8bf; }
  .p12-current-heading dl div:last-child { border-bottom: 0; }
  .p12-result-list div { grid-template-columns: 112px 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .p12-result.is-linking .p12-result-code { animation: none !important; transform: scaleX(1.018) !important; }
}

/* S3 P01: a public portal first, with the handoff as one ordinary queue row. */
.p01-civic-portal { width: min(1250px, calc(100% - 32px)); margin: 12px auto 30px; }
.p01-portal-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 15px 18px 13px; border: 1px solid var(--line); border-top: 4px solid var(--blue-deep); background: var(--paper-light); }
.p01-portal-heading h1 { margin: 4px 0 2px; color: var(--blue-deep); font: 700 23px/1.3 "SimSun", serif; letter-spacing: .08em; }
.p01-portal-heading p { margin: 0; color: var(--muted); font-size: 12px; }
.p01-portal-version { display: grid; gap: 3px; min-width: 190px; color: var(--muted); font: 11px/1.45 Consolas, "Microsoft YaHei", sans-serif; text-align: right; }
.p01-portal-version b { color: var(--blue-deep); font-size: 12px; }
.p01-portal-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.85fr); gap: 14px; margin-top: 14px; }
.p01-portal-grid > section { min-width: 0; border: 1px solid var(--line); background: rgba(251,250,245,.96); }
.p01-portal-grid .section-heading-row { min-height: 39px; padding: 8px 11px; border-bottom: 2px solid var(--blue); background: var(--paper-panel); }
.p01-portal-grid .section-heading-row h2 { margin: 0; color: var(--blue-deep); font: 700 15px/1.3 "SimSun", serif; }
.p01-portal-grid .section-heading-row a { color: var(--blue-deep); font-size: 11px; }
.p01-portal-grid .section-heading-row b { color: var(--red); font-size: 11px; }
.p01-portal-search { grid-column: 1 / -1; }
.p01-portal-search .civic-record-filter { margin: 0; border: 0; border-bottom: 1px solid var(--line); background: #eef1ed; }
.p01-search-line { display: flex; gap: 8px; }
.p01-search-line input { flex: 1 1 auto; min-width: 0; min-height: 44px; padding: 7px 9px; border: 1px solid #82939a; border-radius: 0; background: #fffefa; }
.p01-search-line button { min-width: 80px; margin: 0; }
.p01-portal-search .civic-record-live, .p01-portal-search .civic-record-status { margin: 8px 11px; }
.p01-search-links { display: flex; flex-wrap: wrap; gap: 0; padding: 0 11px 10px; }
.p01-search-links a { margin-right: 14px; color: var(--blue-deep); font-size: 12px; }
.p01-portal-notices { grid-column: 1 / 2; }
.p01-portal-handoff { grid-column: 2 / 3; }
.p01-portal-hours { grid-column: 1 / 2; }
.p01-portal-services { grid-column: 2 / 3; }
.p01-portal-grid .civic-record-table { margin: 0; }
.p01-portal-grid .civic-record-table th, .p01-portal-grid .civic-record-table td { padding: 8px 9px; }
.p01-portal-grid .civic-record-table small { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; font-weight: 400; }
.p01-handoff-table .catalog-primary-action { min-width: 72px; min-height: 44px; padding: 6px 10px; }
.p01-handoff-table .catalog-handoff-actions { display: grid; grid-template-columns: 1fr; min-width: 124px; gap: 4px; }
.p01-handoff-table .catalog-handoff-signed-state { min-width: 124px; min-height: 44px; padding: 5px 7px; font-size: 11px; }
.p01-handoff-note { margin: 8px 11px 11px; color: var(--muted); font-size: 11px; }
.p01-status-text { color: var(--muted); font-size: 12px; }
.p01-service-list { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); }
.p01-service-list a { min-height: 44px; padding: 10px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--blue-deep); font-size: 12px; text-decoration: none; }
.p01-service-list a:hover, .p01-service-list a:focus-visible { background: #e8eeeb; }
@media (max-width: 768px) {
  .p01-civic-portal { width: calc(100% - 20px); }
  .p01-portal-heading { align-items: flex-start; flex-direction: column; gap: 8px; padding: 12px; }
  .p01-portal-heading h1 { font-size: 20px; }
  .p01-portal-version { min-width: 0; text-align: left; }
  .p01-portal-grid { display: flex; flex-direction: column; gap: 10px; }
  .p01-portal-grid .civic-record-table { table-layout: fixed; font-size: 11px; }
  .p01-portal-grid .civic-record-table th, .p01-portal-grid .civic-record-table td { padding: 7px 6px; }
  .p01-portal-grid .civic-record-table th, .p01-portal-grid .civic-record-table td { overflow-wrap: anywhere; }
  .p01-handoff-table th:nth-child(3), .p01-handoff-table td:nth-child(3) { display: none; }
  .p01-handoff-table th:last-child, .p01-handoff-table td:last-child { width: 34%; }
  .p01-service-list { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .p01-service-list a { padding: 10px 8px; }
}

/* S2 civic record controls: one dense, printable language for public records. */
.civic-record-app { min-width: 0; }
.civic-record-filter { margin-top: 14px; padding: 11px; border: 1px solid var(--line); background: #eef1ed; }
.civic-record-filter form { display: grid; grid-template-columns: auto minmax(120px, 1fr) auto minmax(120px, 1fr) auto auto; align-items: center; gap: 8px; }
.civic-record-filter label { color: var(--blue-deep); font-size: 12px; font-weight: 700; }
.civic-record-filter input, .civic-record-filter select { min-width: 0; min-height: 44px; padding: 7px 9px; border: 1px solid #82939a; border-radius: 0; background: #fffefa; color: var(--ink); }
.civic-record-filter button { min-height: 44px; margin: 0; padding: 7px 12px; white-space: nowrap; }
.civic-record-filter .catalog-primary-action { min-width: 74px; }
.civic-record-filter .catalog-secondary-action { width: auto; min-width: 88px; }
.civic-record-status { min-height: 1.6em; margin: 9px 0 0; color: var(--blue-deep); font: 700 12px/1.6 Consolas, "Microsoft YaHei", sans-serif; }
.civic-record-live { min-height: 1.4em; margin: 2px 0 0; color: var(--muted); font-size: 12px; }
.civic-record-table { width: 100%; margin-top: 10px; border-collapse: collapse; font-size: 12px; }
.civic-record-table caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.civic-record-table th, .civic-record-table td { padding: 10px 8px; border: 1px solid var(--line); text-align: left; vertical-align: top; }
.civic-record-table thead th { background: var(--paper-panel); color: var(--blue-deep); font: 700 12px/1.4 "SimSun", serif; }
.civic-record-table tbody th { color: var(--ink); font-weight: 700; }
.civic-record-table tbody tr:nth-child(even) { background: rgba(233,230,218,.38); }
.civic-record-table tbody tr:hover, .civic-record-table tbody tr:focus-within { background: #eef1ed; }
.record-action, .record-pagination button, .record-pagination select { min-height: 44px; padding: 7px 10px; border: 1px solid #82939a; border-radius: 0; background: #f2f1e9; color: var(--blue-deep); font-size: 12px; }
.record-action:hover, .record-pagination button:hover:not(:disabled), .record-action:focus-visible { background: #e1e7e5; }
.record-pagination { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 11px; padding-top: 9px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.record-pagination label { color: var(--blue-deep); font-weight: 700; }
.record-pagination span { min-width: 112px; font-family: Consolas, monospace; }
.record-pagination button:disabled { cursor: not-allowed; opacity: .48; }
.civic-record-empty { margin: 11px 0; padding: 12px; border-left: 3px solid var(--blue); background: rgba(233,230,218,.58); color: var(--muted); font-size: 13px; }
[hidden] { display: none !important; }
.record-error { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 11px; padding: 11px; border-left: 3px solid var(--red); background: #eee1d7; color: #713f3c; font-size: 13px; }
.record-detail-panel { margin-top: 20px; padding: 14px; border-top: 2px solid var(--blue); border-bottom: 1px solid var(--line); background: rgba(233,230,218,.45); }
.record-detail-panel h3 { margin: 0; color: var(--blue-deep); font: 700 15px/1.45 "SimSun", serif; }
.record-detail-panel dl { display: grid; grid-template-columns: 110px minmax(0,1fr); margin: 10px 0; border-top: 1px solid var(--line); }
.record-detail-panel dt, .record-detail-panel dd { margin: 0; padding: 8px; border-bottom: 1px solid var(--line); }
.record-detail-panel dt { background: var(--paper-panel); color: var(--muted); font-size: 12px; font-weight: 700; }
.record-detail-panel dd { color: var(--ink); font-size: 13px; }
.record-toast { min-height: 1.5em; margin: 7px 0 0; padding: 6px 9px; border-left: 3px solid var(--blue); background: rgba(233,230,218,.58); color: var(--blue-deep); font-size: 12px; }
dialog.record-dialog { width: min(560px, calc(100% - 28px)); padding: 0; border: 1px solid var(--blue-deep); border-radius: 0; background: var(--paper-light); color: var(--ink); }
dialog.record-dialog::backdrop { background: rgba(39,50,58,.32); }
dialog.record-dialog .record-dialog-body { padding: 16px; }
.p06-search-block { background: #e9e6da; }
.p06-search-block form { grid-template-columns: auto minmax(130px, .65fr) auto minmax(180px, 1.6fr) auto auto; }
.p06-search-help { margin: 8px 0 0; color: var(--muted); font-size: 12px; }
.p06-result-drawer { min-height: 2em; margin: 10px 0 0 !important; padding: 8px 10px; border-left: 3px solid var(--blue); background: rgba(255,255,255,.36); color: var(--ink) !important; box-shadow: none; transform: none !important; }
.p06-result-drawer[data-search-state="unavailable"] { border-left-color: var(--red); }
.p06-results-table th:nth-child(1) { width: 24%; }
.p06-results-table td:nth-child(4) { white-space: nowrap; }
.p06-results-table td:nth-child(5) { min-width: 150px; }
.a01-complete-button { min-height: 44px; margin: 10px 13px 0; padding: 7px 12px; border: 1px solid var(--blue-deep); background: var(--blue-deep); color: #fff; }
.a01-complete-button:disabled { cursor: not-allowed; opacity: .45; }
.a01-complete-status { min-height: 1.6em; margin: 5px 13px 13px !important; color: var(--muted) !important; font-size: 11px !important; }
@media print {
  html, body { background: #fff; }
  #siteShell, .catalog-footer, .public-page-sidebar, .public-related-panel, .catalog-breadcrumb, .civic-record-filter, .record-pagination, .record-action, .notice-search-section, .civic-record-live { display: none !important; }
  .catalog-page, .public-page-layout, .public-document { width: 100% !important; max-width: none !important; margin: 0 !important; display: block !important; border: 0 !important; background: #fff !important; }
  .civic-record-table { display: table !important; }
  .civic-record-table tr, .civic-record-table th, .civic-record-table td { break-inside: avoid; }
  .record-detail-panel { margin-top: 12px; }
}
@media (max-width: 768px) {
  .civic-record-filter form, .p06-search-block form { grid-template-columns: 1fr; }
  .civic-record-filter label { margin-top: 2px; }
  .civic-record-filter button { width: 100%; }
  .civic-record-table:not(.service-hours-table) { font-size: 12px; }
  .civic-record-table:not(.service-hours-table) th, .civic-record-table:not(.service-hours-table) td { padding: 8px 6px; }
  .civic-record-table:not(.service-hours-table) th:nth-child(n+3), .civic-record-table:not(.service-hours-table) td:nth-child(n+3) { display: none; }
  .civic-record-table:not(.service-hours-table) th:last-child, .civic-record-table:not(.service-hours-table) td:last-child { display: table-cell; }
  .p06-results-table th:nth-child(2), .p06-results-table td:nth-child(2), .p06-results-table th:nth-child(3), .p06-results-table td:nth-child(3) { display: none; }
  .p06-results-table th:nth-child(4), .p06-results-table td:nth-child(4), .p06-results-table th:nth-child(6), .p06-results-table td:nth-child(6) { display: table-cell; }
  .p06-results-table th:nth-child(5), .p06-results-table td:nth-child(5) { display: none; }
  .p06-results-table td:nth-child(6) { overflow-wrap: anywhere; }
  .record-pagination { align-items: stretch; }
  .record-pagination span { flex: 1 1 100%; order: 5; }
  .record-pagination button { flex: 1 1 0; }
  .record-detail-panel dl { grid-template-columns: 40% 60%; }
}

/* P17/P18: dense internal registers; the strange detail stays inside a familiar work sheet. */
.p17-formal-content, .p18-formal-content { width: min(1250px, calc(100% - 32px)); margin: 14px auto 34px; }
.p17-gate, .p18-gate { width: min(760px, calc(100% - 32px)); margin: 28px auto; }
.p17-gate-paper, .p18-gate-paper { padding: 18px; border: 1px solid var(--line); border-top: 3px solid var(--blue-deep); background: var(--paper-light); }
.p17-gate-paper h1, .p18-gate-paper h1 { margin: 5px 0; color: var(--blue-deep); font: 700 20px/1.45 "SimSun", "Songti SC", serif; }
.p17-gate-actions, .p18-gate-actions, .p17-check-actions, .p17-result-actions, .p18-action-row, .p18-result-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.p17-workspace, .p18-workspace { width: 100%; }
.p17-workspace-body, .p18-workspace-body { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 14px; padding: 14px; background: repeating-linear-gradient(0deg, rgba(255,255,255,.14) 0 1px, transparent 1px 5px), #e3e7df; }
.p17-queue, .p18-queue, .p17-side-record, .p18-side-record, .p17-check-panel, .p17-review-result, .p18-attribution-panel, .p18-normalized-result { min-width: 0; border: 1px solid #89989a; background: #f7f5eb; }
.p17-section-head, .p18-section-head { display: flex; align-items: end; justify-content: space-between; gap: 12px; padding: 9px 11px; border-bottom: 2px solid #607d87; background: #e9eee8; }
.p17-section-head h2, .p18-section-head h2, .p17-check-panel h2, .p17-review-result h2, .p18-attribution-panel h2, .p18-normalized-result h2 { margin: 2px 0 0; color: #294e58; font: 700 18px/1.38 "SimSun", "Songti SC", serif; }
.p17-section-head > p, .p18-section-head > p { margin: 0; color: #5e6e70; font-size: 11px; }
.p17-plan-grid { display: grid; gap: 10px; padding: 10px; }
.p17-plan-card { border: 1px solid #aeb9b4; background: #fbfaf3; }
.p17-plan-card > header { display: flex; align-items: start; justify-content: space-between; gap: 12px; padding: 9px 10px; border-bottom: 1px solid #c2cbc2; background: #eef1eb; }
.p17-plan-card h2 { margin: 2px 0 0; color: #365761; font: 700 15px/1.35 "SimSun", serif; }
.p17-plan-card header dl { display: grid; grid-template-columns: 1fr; min-width: 145px; margin: 0; border: 1px solid #b8c1bb; }
.p17-plan-card header dl div { display: grid; grid-template-columns: 45px 1fr; border-bottom: 1px solid #c6cec8; }
.p17-plan-card header dl div:last-child { border-bottom: 0; }
.p17-plan-card dt, .p17-plan-card dd { margin: 0; padding: 3px 5px; color: #596d70; font-size: 11px; }
.p17-plan-card dt { background: #e7ece6; }.p17-plan-card dd { color: #344e55; font-weight: 700; }
.p17-plan-card > .record-action { width: calc(100% - 20px); margin: 10px; text-align: left; }
.p17-plan-detail { display: grid; grid-template-columns: minmax(180px, .7fr) minmax(250px, 1.3fr); gap: 10px; padding: 0 10px 10px; }
.p17-plan-sheet { position: relative; min-height: 178px; overflow: hidden; border: 1px solid #778a8d; background: linear-gradient(90deg, #e8e4d6 0 49%, #f6f3e9 49% 100%); color: #36525a; font-size: 11px; }
.p17-plan-sheet::before, .p17-plan-sheet::after { content: ""; position: absolute; background: #7c9293; opacity: .65; }.p17-plan-sheet::before { inset: 20px 16px auto 30px; height: 1px; box-shadow: 0 44px 0 #7c9293, 0 88px 0 #7c9293; }.p17-plan-sheet::after { inset: 20px auto 16px 64%; width: 1px; }
.p17-plan-wall { position: absolute; inset: 0 12% 0 auto; width: 3px; background: #4d6b72; opacity: .78; }
.p17-plan-marker { position: absolute; z-index: 1; padding: 3px 5px; border: 1px solid #83979a; background: #f7f4e9; }.p17-marker-table { top: 29px; left: 13%; }.p17-marker-door { top: 77px; left: 36%; }.p17-marker-cabinet { bottom: 24px; left: 19%; }
.p17-transcript { border-left: 1px solid #c3cbc3; padding-left: 10px; }.p17-transcript h3 { margin: 0; color: #365761; font-size: 13px; }.p17-transcript ul { margin: 7px 0; padding: 0; list-style: none; }.p17-transcript li { display: grid; grid-template-columns: 92px 1fr; gap: 7px; padding: 5px 0; border-bottom: 1px dotted #bac3bc; font-size: 12px; }.p17-transcript p { margin: 8px 0 0; color: var(--muted); font-size: 11px; line-height: 1.7; }
.p17-side-record, .p18-side-record { grid-column: 2; grid-row: 1; padding: 10px; align-self: start; }.p17-side-record summary, .p18-side-record summary { cursor: pointer; color: #315660; font-weight: 700; }.p17-attachment-scroll, .p18-attachment-scroll { max-height: 158px; margin-top: 9px; padding: 8px; overflow: auto; border: 1px solid #bac3bc; background: #efeee7; color: #43565a; font-size: 12px; line-height: 1.75; }.p17-side-record button, .p18-side-record button { width: 100%; margin-top: 9px; }.p17-side-record [aria-live], .p18-side-record [aria-live] { min-height: 1.4em; margin: 5px 0 0; color: var(--muted); font-size: 11px; }
.p17-check-panel, .p17-review-result, .p18-attribution-panel, .p18-normalized-result { grid-column: 1 / -1; padding: 13px; }.p17-check-panel fieldset { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 12px 0 0; padding: 9px; border: 1px solid #aeb9b4; }.p17-check-panel label { display: flex; align-items: center; min-height: 44px; gap: 8px; padding: 7px; border: 1px solid #c1c9c2; background: #fbfaf3; font-size: 12px; }.p17-check-status, .p18-status { min-height: 1.6em; margin: 9px 0 0; color: #42616b; font-size: 12px; }.p17-review-result { border-top: 3px solid #526f77; }.p17-review-result.is-confirmed { animation: p17-record-confirm .42s ease-out both; }
.p17-zero-row { position: relative; margin: 9px 0 0; color: #50666a; font-size: 12px; }.p17-zero-base { position: relative; z-index: 1; color: #375963; font-weight: 700; }.p17-zero-ghost { position: absolute; left: 62px; top: 0; color: rgba(78,95,95,.24); pointer-events: none; transform: translateY(1px) scaleX(1.055); transform-origin: left center; }.p17-review-result.is-confirmed .p17-zero-ghost { animation: p17-zero-imprint .3s ease-out both; }
.p18-record-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }.p18-record-grid article { padding: 12px; border-right: 1px solid #c1c9c2; }.p18-record-grid article:last-child { border-right: 0; background: #f0eee5; }.p18-record-grid h3 { margin: 0 0 8px; color: #355963; font: 700 15px/1.4 "SimSun", serif; }.p18-record-grid p, .p18-record-grid blockquote { margin: 0 0 9px; font-size: 12px; line-height: 1.75; }.p18-record-grid blockquote { padding: 8px 10px; border-left: 3px solid #70888e; background: #fbfaf3; color: #334f58; }.p18-transcript-note, .p18-reviewer-note { color: var(--muted); font-size: 11px !important; }
.p18-source-list { display: grid; gap: 8px; margin-top: 12px; }.p18-source-row { display: grid; grid-template-columns: minmax(0, 1fr) 160px; gap: 9px; align-items: center; padding: 9px; border: 1px solid #bcc6be; background: #fbfaf3; }.p18-source-copy { margin: 0; font-size: 13px; line-height: 1.65; }.p18-source-row select { min-height: 44px; padding: 7px; border: 1px solid #82939a; border-radius: 0; background: #fffefa; color: var(--ink); }.p18-normalized-result { position: relative; border-top: 3px solid #526f77; }.p18-normalized-result dl { margin: 11px 0; border-top: 1px solid #abb8b0; }.p18-normalized-result dl > div { display: grid; grid-template-columns: 112px minmax(0, 1fr); border-bottom: 1px solid #abb8b0; }.p18-normalized-result dt, .p18-normalized-result dd { margin: 0; padding: 8px; font-size: 12px; line-height: 1.65; }.p18-normalized-result dt { background: #ecf0ea; color: #50666a; font-weight: 700; }.p18-summary-row dd { position: relative; color: #2e4d56; font-weight: 700; }.p18-ghost-copy { position: absolute; left: 8px; top: 8px; color: rgba(89,70,59,.28); pointer-events: none; transform: translateY(1px) scaleX(1.025); transform-origin: left center; }.p18-normalized-result.is-normalizing .p18-ghost-copy { animation: p18-copy-imprint .24s ease-out both; }.p18-version-note { margin: 0; color: var(--muted); font-size: 12px; }
@keyframes p17-record-confirm { from { background: #f8f7ef; } 50% { background: #e7eeea; } to { background: #f7f5eb; } }
@keyframes p17-zero-imprint { from { opacity: 0; transform: translateY(3px) scaleX(.96); } to { opacity: 1; transform: translateY(1px) scaleX(1.055); } }
@keyframes p18-copy-imprint { from { opacity: 0; transform: translateY(4px) scaleX(.97); } to { opacity: 1; transform: translateY(1px) scaleX(1.025); } }
@media (max-width: 768px) { .p17-formal-content, .p18-formal-content, .p17-gate, .p18-gate { width: calc(100% - 20px); }.p17-workspace-body, .p18-workspace-body { display: flex; flex-direction: column; padding: 8px; }.p17-side-record, .p18-side-record { order: 3; }.p17-check-panel, .p17-review-result, .p18-attribution-panel, .p18-normalized-result { order: 4; }.p17-plan-detail, .p18-record-grid { grid-template-columns: 1fr; }.p17-transcript { border-top: 1px solid #c3cbc3; border-left: 0; padding: 10px 0 0; }.p18-record-grid article { border-right: 0; border-bottom: 1px solid #c1c9c2; }.p17-check-panel fieldset { grid-template-columns: 1fr; }.p18-source-row { grid-template-columns: 1fr; }.p18-source-row select { width: 100%; }.p17-plan-card > header, .p17-section-head, .p18-section-head { display: block; }.p17-plan-card header dl { margin-top: 8px; }.p17-gate-actions .catalog-primary-action, .p17-gate-actions .catalog-secondary-action, .p18-gate-actions .catalog-primary-action, .p18-gate-actions .catalog-secondary-action, .p17-check-actions button, .p17-result-actions > *, .p18-action-row button, .p18-result-actions > * { width: 100%; }.p17-plan-sheet { min-height: 205px; } }
@media (prefers-reduced-motion: reduce) { .p17-review-result.is-confirmed, .p18-normalized-result.is-normalizing .p18-ghost-copy { animation: none !important; }.p18-ghost-copy { opacity: 1; transform: translateY(1px) scaleX(1.025); } }

/* P20: a quiet 1999 plan sheet; text remains the source of truth. */
.p20-gate { width: min(760px, calc(100% - 32px)); margin: 28px auto; }
.p20-gate-paper { padding: 18px; border: 1px solid var(--line); border-top: 3px solid var(--blue-deep); background: var(--paper-light); }
.p20-gate-paper h1 { margin: 5px 0; color: var(--blue-deep); font: 700 20px/1.45 "SimSun", "Songti SC", serif; }
.p20-gate-actions, .p20-action-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.p20-formal-content { width: min(1120px, calc(100% - 32px)); margin: 14px auto 34px; }
.p20-plan { border: 1px solid #89989a; background: #f7f5eb; box-shadow: 0 1px 0 rgba(27, 51, 55, .12); }
.p20-plan-header { padding: 16px 18px 13px; border-bottom: 2px solid #607d87; background: #e9eee8; }
.p20-plan-header h1 { margin: 3px 0 5px; color: #294e58; font: 700 27px/1.35 "SimSun", "Songti SC", serif; }
.p20-plan-meta { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; color: #5e6e70; font-size: 12px; }
.p20-plan-meta span + span { padding-left: 12px; border-left: 1px solid #aab5af; }
.p20-local-nav { display: flex; flex-wrap: wrap; gap: 2px; padding: 7px 12px; border-bottom: 1px solid #bdc6bf; background: #eef0e8; }
.p20-local-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 6px 10px; color: #315660; font-size: 12px; }
.p20-plan-body { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 0; }
.p20-plan-section { min-width: 0; padding: 16px 18px; border-bottom: 1px solid #c1c9c2; }
.p20-plan-body > .p20-plan-section { grid-column: 1 / -1; }
.p20-section-kicker { margin: 0 0 3px; color: #6a7a79; font-size: 11px; letter-spacing: .08em; }
.p20-plan-section h2 { margin: 0 0 9px; color: #294e58; font: 700 19px/1.4 "SimSun", "Songti SC", serif; }
.p20-plan-section p { max-width: 78ch; margin: 0 0 10px; color: #374b4e; font-size: 13px; line-height: 1.85; }
.p20-boundary-lede { color: #526465 !important; }
.p20-boundaries { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.p20-boundary-card { padding: 12px; border: 1px solid #b7c2ba; background: #fbfaf3; }
.p20-boundary-card h3 { margin: 0 0 6px; color: #355963; font: 700 16px/1.4 "SimSun", serif; }
.p20-boundary-card p { margin-bottom: 7px; font-size: 12px; line-height: 1.7; }
.p20-source-label { color: #71807d !important; font-size: 10px !important; letter-spacing: .08em; }
.p20-boundary-card blockquote { margin: 7px 0 0; padding: 8px 10px; border-left: 3px solid #70888e; background: #f0eee5; color: #334f58; font-size: 12px; line-height: 1.7; }
.p20-end-section { background: #f0eee5; }
.p20-end-marker { padding: 8px 10px; border-left: 3px solid #788e91; background: #fbfaf3; color: #4d6265 !important; }
.p20-action-row button { min-height: 44px; }
.p20-status { min-height: 1.5em; margin: 9px 0 0 !important; color: #42616b !important; font-size: 12px !important; }
.p20-complete-mark { margin: 14px 18px 0; padding: 9px 10px; border-left: 3px solid #526f77; color: #315660; font-weight: 700; }
.p20-related-record { border-top: 3px solid #526f77; background: #fbfaf3; }
.p20-related-record a { display: inline-flex; align-items: center; min-height: 44px; padding: 7px 10px; }
.p20-ethics { position: relative; padding: 16px 18px 22px; border-top: 1px solid #aebbb3; background: #e8ebe2; }
.p20-ethics > p:not(.p20-section-kicker) { margin: 6px 0; color: #38545a; font-size: 13px; line-height: 1.75; }
.p20-t12-visual { display: grid; gap: 8px; margin-top: 12px; padding-top: 10px; border-top: 1px solid #c0c8bf; color: #5a7070; font: 13px/1.75 "SimSun", serif; }
.p20-t12-visual span { opacity: .78; }
.p20-t12-visual.is-revealing span:first-child { animation: p20-ethics-reveal .78s ease-out both; }
.p20-t12-visual.is-revealing span:last-child { animation: p20-ethics-reveal .78s .12s ease-out both; }
.p20-persistence-warning { margin: 7px 0 0; color: #7a5c46; font-size: 11px; font-weight: 400; }
@keyframes p20-ethics-reveal { from { opacity: .18; transform: translateY(4px); } to { opacity: .78; transform: translateY(0); } }
@media (max-width: 768px) {
  .p20-formal-content, .p20-gate { width: calc(100% - 20px); }
  .p20-plan-header { padding: 13px 12px 11px; }
  .p20-plan-header h1 { font-size: 23px; }
  .p20-plan-meta { display: grid; gap: 4px; }
  .p20-plan-meta span + span { padding-left: 0; border-left: 0; }
  .p20-local-nav { padding: 5px 7px; }
  .p20-plan-body { display: block; }
  .p20-plan-section { padding: 14px 12px; }
  .p20-boundaries { grid-template-columns: 1fr; gap: 8px; }
  .p20-boundary-card { padding: 11px; }
  .p20-gate-actions > *, .p20-action-row > * { width: 100%; }
  .p20-ethics { padding: 14px 12px 18px; }
}
@media (prefers-reduced-motion: reduce) { .p20-t12-visual.is-revealing span:first-child, .p20-t12-visual.is-revealing span:last-child { animation: none !important; } }

/* P19: a restrained 2011 correction desk; all evidence stays selectable text. */
.p19-gate, .p19-formal-content { width: min(1080px, calc(100% - 32px)); margin: 22px auto 36px; }
.p19-gate-paper, .p19-paper, .p19-workbench { border: 1px solid #9aa9a8; background: #f8f6ed; }
.p19-gate-paper { padding: 18px; border-top: 3px solid #526f77; }.p19-gate-paper h1 { margin: 5px 0; color: #294e58; font: 700 21px/1.45 "SimSun", serif; }.p19-gate-actions, .p19-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.p19-workbench { overflow: hidden; box-shadow: 0 1px 0 rgba(25, 50, 54, .12); }.p19-header { padding: 17px 19px 14px; border-bottom: 2px solid #607d87; background: #e6ece7; }.p19-header h1 { margin: 3px 0 4px; color: #294e58; font: 700 28px/1.35 "SimSun", "Songti SC", serif; }.p19-header p:last-child { margin: 0; color: #627276; font-size: 12px; }
.p19-paper { position: relative; margin: 13px; padding: 14px 16px; min-width: 0; }.p19-paper h2 { margin: 2px 0 9px; color: #315660; font: 700 19px/1.45 "SimSun", serif; }.p19-paper > p { max-width: 78ch; color: #3b4d50; font-size: 13px; line-height: 1.8; }.p19-kicker, .p19-field-label { margin: 0 0 4px; color: #687b7c; font-size: 11px; letter-spacing: .08em; }
.p19-manifest dl, .p19-field-card dl { margin: 10px 0 0; border-top: 1px solid #b8c3bc; }.p19-manifest dl > div, .p19-field-card dl > div { display: grid; grid-template-columns: 160px minmax(0, 1fr); border-bottom: 1px solid #c5cec6; }.p19-manifest dt, .p19-manifest dd, .p19-field-card dt, .p19-field-card dd { margin: 0; padding: 8px 9px; font-size: 12px; line-height: 1.7; }.p19-manifest dt, .p19-field-card dt { background: #edf0e9; color: #506a70; font-weight: 700; }.p19-hash { overflow-wrap: anywhere; font-family: Consolas, monospace; font-size: 11px !important; }
.p19-field-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }.p19-field-card { min-width: 0; padding: 11px; border: 1px solid #b9c5bf; background: #fffdf6; }.p19-field-card label, .p19-submit label { display: grid; gap: 5px; margin-top: 10px; color: #435a5d; font-size: 12px; }.p19-field-card select, .p19-submit select { width: 100%; min-height: 44px; border: 1px solid #82969a; border-radius: 0; background: #fffefa; color: #263f45; padding: 7px; }
.p19-package a { display: inline-flex; align-items: center; min-height: 44px; }.p19-file-control { display: grid; gap: 6px; max-width: 420px; color: #40575a; font-size: 12px; }.p19-file-control input { min-height: 44px; padding: 7px; border: 1px solid #95a5a4; background: #fffefa; }.p19-package-status, .p19-status { min-height: 1.6em; margin: 10px 0 0; color: #45666e; font-size: 12px; line-height: 1.7; }
.p19-submit { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }.p19-submit h2, .p19-submit .p19-actions, .p19-submit .p19-status { grid-column: 1 / -1; }.p19-actions button { min-height: 44px; }.p19-complete { border-top: 3px solid #526f77; }.p19-equivalent { display: block; width: 100%; min-height: 160px; margin-top: 12px; padding: 9px; border: 1px solid #9aa8a2; border-radius: 0; background: #fffefa; color: #324a4f; font: 12px/1.6 Consolas, monospace; resize: vertical; }
.p19-t-static { margin: 10px 0 0; padding: 8px 10px; border-left: 3px solid #71888b; background: #f1efe6; color: #3f5960; font-family: Consolas, monospace; }.p19-t-layer { position: absolute; right: 14px; bottom: 13px; opacity: 0; color: #6b6a5b; font: 12px/1.3 Consolas, monospace; pointer-events: none; }.p19-t01 .p19-t-static { animation: p19-replace .24s steps(2, end) both; }.p19-t02 .p19-t-layer, .p19-t11 .p19-t-layer, .p19-t05 .p19-t-layer { opacity: .65; }.p19-t02 .p19-t-layer { animation: p19-imprint .4s ease-out both; }.p19-t11 .p19-t-layer { animation: p19-imprint .8s ease-out both; }.p19-t05 .p19-exception { box-shadow: inset 0 0 0 2px rgba(89, 109, 97, .22); }
@keyframes p19-replace { from { letter-spacing: .15em; opacity: .35; } to { letter-spacing: normal; opacity: 1; } } @keyframes p19-imprint { from { opacity: 0; transform: translateY(3px); } to { opacity: .65; transform: translateY(0); } }
@media (max-width: 768px) { .p19-gate, .p19-formal-content { width: calc(100% - 20px); margin-top: 12px; }.p19-header { padding: 14px 12px; }.p19-header h1 { font-size: 24px; }.p19-paper { margin: 9px; padding: 13px 11px; }.p19-field-list, .p19-submit { grid-template-columns: 1fr; }.p19-manifest dl > div, .p19-field-card dl > div { grid-template-columns: 1fr; }.p19-manifest dt, .p19-field-card dt { padding-bottom: 3px; }.p19-manifest dd, .p19-field-card dd { padding-top: 3px; }.p19-gate-actions > *, .p19-actions > * { width: 100%; }.p19-file-control, .p19-file-control input { width: 100%; max-width: none; }.p19-t-layer { position: static; display: block; margin-top: 8px; opacity: .65; } }
@media (prefers-reduced-motion: reduce) { .p19-t-static, .p19-t-layer { opacity: 1; animation: none !important; }.p19-t-layer { position: static; display: block; margin-top: 8px; }.p19-t05 .p19-exception { box-shadow: none; } }

/* Investigation-first vertical slice: source material is the primary control. */
.p11-source-lede { max-width: 68ch; margin: 0 0 13px; color: var(--muted); font-size: 13px; line-height: 1.8; }
.p11-source-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.p11-source { min-width: 0; border: 1px solid #a99d84; background: #eee8d8; }
.p11-source > summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 58px; padding: 9px 12px; cursor: pointer; list-style: none; color: var(--blue-deep); }
.p11-source > summary::-webkit-details-marker { display: none; }
.p11-source > summary span { font: 700 15px/1.5 "SimSun", serif; }
.p11-source > summary small { color: var(--muted); font-size: 11px; }
.p11-source-paper { margin: 0 10px 11px; padding: 13px; border: 1px solid #b0a58f; background: #f2ecdc; box-shadow: inset 0 0 0 3px rgba(255,255,255,.25); }
.p11-paper-label { margin: 0 0 10px; color: #687b7c; font: 700 11px/1.5 Consolas, monospace; }
.p11-source-note { margin: 11px 0 0; color: var(--muted); font-size: 11px; line-height: 1.65; }
.p11-record-info { margin-top: 16px; border-top: 1px solid #b8c3bc; border-bottom: 1px solid #b8c3bc; }
.p11-record-info summary { min-height: 44px; padding: 11px 0; cursor: pointer; color: var(--blue-deep); font-size: 12px; font-weight: 700; }
.p11-record-info dl { margin: 0 0 10px; border-top: 1px dotted #b8c3bc; }
.p11-record-info dl div { display: grid; grid-template-columns: 68px 1fr; border-bottom: 1px dotted #b8c3bc; }
.p11-record-info dt, .p11-record-info dd { margin: 0; padding: 5px 4px; font-size: 11px; line-height: 1.5; }
.p11-record-info dt { color: var(--muted); }.p11-record-info dd { color: var(--ink); font-weight: 700; }
.p11-source-status { min-height: 1.6em; margin: 13px 0 0; color: #536d70; font-size: 12px; line-height: 1.6; }
.p11-verify-button:disabled { opacity: .55; cursor: not-allowed; }
.p12-current-state { margin: 0; color: #526b70; font-size: 12px; font-weight: 700; }
.p12-field-mark { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 5px 8px; border: 1px solid #87999b; color: #536b70; font-size: 11px; text-align: center; }
.p12-field-aside { display: block; margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.45; text-align: center; }
.p12-action-panel label span { display: grid; gap: 2px; }.p12-action-panel label small { color: var(--muted); font-size: 11px; line-height: 1.5; }
.p12-activity-details { margin-top: 12px; border-top: 1px solid #a7b2aa; }.p12-activity-details summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; color: var(--blue-deep); font-size: 12px; font-weight: 700; }
.p19-source-proof { background: #f4f2e9; }.p19-source-proof p { margin: 6px 0 0; }.p19-credential { display: grid; gap: 8px; margin: 13px 0 0; padding: 0; border: 0; }.p19-credential legend { margin-bottom: 2px; color: #405b61; font-size: 12px; font-weight: 700; }.p19-credential label { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 7px 9px; border: 1px solid #b9c5bf; background: #fffdf6; color: #40575a; font-size: 12px; cursor: pointer; }.p19-credential input { width: 20px; height: 20px; }.p19-integrity { margin: 13px; border: 1px solid #b9c5bf; background: #f1f1e9; }.p19-integrity > summary { min-height: 44px; display: flex; align-items: center; padding: 8px 12px; cursor: pointer; color: var(--blue-deep); font-size: 12px; font-weight: 700; }.p19-integrity-body { padding: 0 12px 12px; }.p19-integrity-body > p { margin: 9px 0; }.p19-retained-copy { margin-top: 14px; border-top: 1px solid #b8c3bc; }.p19-retained-copy summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; color: var(--blue-deep); font-size: 12px; font-weight: 700; }.p19-complete > .catalog-secondary-action { display: inline-flex; align-items: center; min-height: 44px; margin-top: 11px; padding: 8px 12px; }
.wig-comm-quick-questions { display: flex; flex-wrap: wrap; gap: 6px; margin: 7px 0; }.wig-comm-quick-question { min-height: 44px; padding: 7px 10px; border: 1px solid #87999b; background: #f5f2e7; color: #405a61; font-size: 11px; cursor: pointer; }.wig-comm-quick-question:hover, .wig-comm-quick-question:focus-visible { background: #e6ece7; }
@media (max-width: 768px) { .p11-source-pair { grid-template-columns: 1fr; }.p11-source-paper { margin-right: 8px; margin-left: 8px; }.p19-integrity { margin-right: 9px; margin-left: 9px; } }
@media (prefers-reduced-motion: reduce) { .p11-source-paper, .p12-field-mark, .p19-source-proof { animation: none !important; transition: none !important; } }

/* B1 media identities: four established sites, one shared runtime. */
.cluster-section-nav { display: flex; flex-wrap: wrap; border-bottom: 1px solid var(--site-line); background: var(--site-band); }
.cluster-section-nav a { min-height: 44px; display: inline-flex; flex: 1 1 auto; align-items: center; justify-content: center; padding: 7px 12px; border-right: 1px solid var(--site-line); color: var(--site-ink); font-size: 12px; font-weight: 700; text-decoration: none; }
.cluster-section-nav a:hover, .cluster-section-nav a:focus-visible { background: rgba(255,255,255,.55); text-decoration: underline; }
.p13-formal-content, .p14-formal-content, .p15-formal-content, .p18-formal-content { width: 100%; margin: 0; }
.p13-page .catalog-breadcrumb, .p14-page .catalog-breadcrumb, .p15-page .catalog-breadcrumb, .p18-page .catalog-breadcrumb { margin: 0; padding: 8px 13px; border-bottom: 1px solid var(--site-line); background: var(--site-paper); color: #596568; font-size: 12px; }
.p13-page .p13-gate-paper, .p14-page .p14-gate-paper, .p15-page .p15-gate-paper, .p18-page .p18-gate-paper { border-color: var(--site-line); border-top-color: var(--site-deep); background: var(--site-paper); }
.p13-page .p13-gate-actions { display: flex; flex-wrap: wrap; gap: 8px; }

/* CAT / P13: restrained internal reader-card and scan directory. */
.p13-page.wig-site-cat { background: #d8dedb; color: #263b42; }
.p13-page.wig-site-cat .catalog-page { background: #eef1ec; }
.cat-module-bar { display: flex; justify-content: space-between; gap: 18px; padding: 11px 14px; border-bottom: 2px solid #536c72; background: #d9e0db; color: #334e56; }
.cat-module-bar > div { display: grid; gap: 2px; }
.cat-module-bar b { font: 700 16px/1.4 "SimSun", serif; }
.cat-module-bar span { color: #687676; font: 11px/1.5 Consolas, monospace; }
.cat-module-bar dl { min-width: 520px; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); margin: 0; border: 1px solid #9aa7a2; }
.cat-module-bar dl > div { min-width: 0; padding: 5px 8px; border-right: 1px solid #aab4ae; background: #edf0eb; }
.cat-module-bar dl > div:last-child { border-right: 0; }
.cat-module-bar dt, .cat-module-bar dd { margin: 0; font-size: 11px; }
.cat-module-bar dt { color: #6b7776; }.cat-module-bar dd { color: #334e56; font-weight: 700; }
.cat-section-nav { background: #e7ebe5; }
.cat-directory-layout { padding: 13px; }
.cat-directory-head { padding: 15px 16px 13px; border: 1px solid #9eaaa4; border-bottom: 3px double #60787c; background: #f6f5ed; }
.cat-directory-head h1 { margin: 3px 0 7px; color: #2d5059; font: 700 25px/1.35 "SimSun", serif; }
.cat-directory-head p:last-child { max-width: 76ch; margin: 0; color: #5a6869; font-size: 13px; }
.cat-directory-head .document-overline { margin: 0; color: #6c7775; font: 11px/1.5 Consolas, monospace; letter-spacing: .06em; }
.p13-page .p13-search-section, .p13-page .p13-index-section, .p13-page .p13-card-section, .p13-page .p13-help-section, .p13-page .p13-attachment-section, .p13-page .cat-type-note { margin: 0; padding: 15px 16px; border: 1px solid #a9b4ae; border-top: 0; background: #f8f7ef; }
.p13-page .document-section h2 { margin: 0 0 9px; color: #355861; font: 700 17px/1.45 "SimSun", serif; }
.cat-directory-table-wrap { width: 100%; }
.cat-directory-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 12px; }
.cat-directory-table th, .cat-directory-table td { padding: 8px 7px; border: 1px solid #aeb8b2; text-align: left; overflow-wrap: anywhere; }
.cat-directory-table th { background: #e2e7e1; color: #36535a; }.cat-directory-table tbody tr:nth-child(even) { background: #eef1eb; }
.cat-note-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.cat-note-grid p { margin: 0; padding: 10px; border-left: 3px solid #6c8588; background: #ecefe8; color: #536263; font-size: 12px; }
.cat-record-code { color: #5f7071; font: 11px/1.5 Consolas, monospace; }
.cat-record-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 9px 0; border-top: 1px dotted #aeb8b2; }
.cat-record-fields div { display: grid; grid-template-columns: 78px 1fr; padding: 5px 0; border-bottom: 1px dotted #aeb8b2; }
.cat-record-fields dt, .cat-record-fields dd { margin: 0; font-size: 11px; }.cat-record-fields dt { color: #6c7775; }.cat-record-fields dd { color: #3f565b; font-weight: 700; }
.p13-card-back dl { margin: 10px 0; border-top: 1px solid #aa9568; }.p13-card-back dl div { display: grid; grid-template-columns: 80px 1fr; border-bottom: 1px solid #b5a276; }.p13-card-back dt, .p13-card-back dd { margin: 0; padding: 6px; }
.cat-session-note { padding: 9px 16px; border: 1px solid #a9b4ae; border-top: 0; background: #e5ebe5; color: #4f6366; font-size: 11px; }

/* NIGHT / P14: a municipal community-school website. */
.p14-page.wig-site-night { background: #dbe1e8; color: #25364a; font-family: "SimSun", "Songti SC", serif; }
.p14-page.wig-site-night .catalog-page { max-width: 1040px; border-color: #758aa4; background: #fff; }
.p14-page.wig-site-night .catalog-header { border-top-color: #234b78; }
.p14-page.wig-site-night .catalog-nav { background: #264f7d; }
.night-school-site { border-top: 4px solid #234b78; background: #fff; }
.night-school-head { border-bottom: 1px solid #7890ac; }
.night-school-utility { margin: 0; padding: 4px 12px; background: #e9eef4; color: #52657d; font: 11px/1.5 Tahoma, sans-serif; text-align: right; }
.night-school-head > div { padding: 17px 19px 15px; background: #f8fbff; }
.night-school-head h1 { margin: 0 0 5px; color: #183f6d; font: 700 29px/1.25 "SimSun", serif; letter-spacing: .08em; }
.night-school-head p:last-child { margin: 0; color: #50647b; font-size: 12px; }
.night-school-nav { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); border-bottom: 3px solid #173f6c; background: #326291; }
.night-school-nav a { min-height: 44px; display: flex; align-items: center; justify-content: center; padding: 6px 4px; border-right: 1px solid #7693b1; color: #fff; font-size: 12px; font-weight: 700; text-decoration: none; text-align: center; }
.night-school-nav a:last-child { border-right: 0; }
.night-school-nav a:hover, .night-school-nav a:focus-visible { background: #204f7e; text-decoration: underline; }
.night-school-columns { display: grid; grid-template-columns: 174px minmax(0,1fr) 208px; grid-template-areas: "directory main contact"; align-items: start; gap: 12px; padding: 12px; }
.night-school-directory { grid-area: directory; border: 1px solid #9aabc0; background: #edf2f7; }
.night-school-contact { grid-area: contact; border: 1px solid #b4bdc8; background: #f6f7f8; }
.night-school-main { grid-area: main; min-width: 0; border: 1px solid #99aabd; }
.night-school-directory h2, .night-school-contact h2 { margin: 0; padding: 6px 8px; border-bottom: 1px solid #9aabc0; background: #315d8a; color: #fff; font: 700 14px/1.45 "SimSun", serif; }
.night-school-directory h2:not(:first-child) { margin-top: 13px; border-top: 1px solid #9aabc0; }
.night-school-directory ul { margin: 0; padding: 3px 8px 4px 23px; }
.night-school-directory li { padding: 5px 0; border-bottom: 1px dotted #aeb9c7; font-size: 12px; line-height: 1.5; }
.night-school-directory a { color: #204f7e; }
.night-school-directory p { margin: 0; padding: 7px 8px; border-bottom: 1px dotted #aeb9c7; color: #465b71; font-size: 12px; line-height: 1.55; }
.night-school-contact dl { margin: 0; padding: 4px 9px; }
.night-school-contact dt { margin-top: 6px; color: #53677d; font-size: 11px; }
.night-school-contact dd { margin: 2px 0 7px; padding-bottom: 6px; border-bottom: 1px dotted #bbc3cc; color: #263b52; font-size: 12px; font-weight: 700; line-height: 1.55; }
.night-school-contact p { margin: 4px 9px 10px; padding: 8px; border-left: 3px solid #a73535; background: #fff; color: #6a3a3a; font-size: 11px; line-height: 1.6; }
.night-school-intro, .night-school-section { padding: 13px 15px; border-bottom: 1px solid #b5c0cd; }
.night-school-intro { background: #f7f9fc; }
.night-school-intro h2, .night-school-section h2 { margin: 0 0 9px; padding-bottom: 5px; border-bottom: 2px solid #315d8a; color: #1f4c79; font: 700 18px/1.4 "SimSun", serif; }
.night-school-intro p, .night-school-section p, .night-enrolment li { font-size: 13px; line-height: 1.75; }
.night-school-summary { padding: 7px 8px; border: 1px solid #a8b8ca; background: #edf3f8; color: #425b73; }
.night-course-table, .night-staff-table, .p14-source-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 12px; }
.night-course-table caption, .night-staff-table caption { padding: 4px; color: #5a6c80; text-align: left; }
.night-course-table th, .night-course-table td, .night-staff-table th, .night-staff-table td, .p14-source-table th, .p14-source-table td { padding: 7px 6px; border: 1px solid #a8b6c6; text-align: left; overflow-wrap: anywhere; }
.night-course-table th, .night-staff-table th, .p14-source-table th { background: #dbe6f0; color: #244c75; }
.night-course-table tbody tr:nth-child(even), .night-staff-table tbody tr:nth-child(even), .p14-source-table tbody tr:nth-child(even) { background: #f3f6f9; }
.night-enrolment ol { margin: 0; padding-left: 25px; }
.night-notice-index, .night-history-list { margin: 0; padding: 0; list-style: none; }
.night-notice-index li { display: grid; grid-template-columns: 92px minmax(0,1fr) 42px; gap: 8px; padding: 6px 4px; border-bottom: 1px dotted #a9b5c2; font-size: 12px; line-height: 1.55; }
.night-notice-index time, .night-history-list time { color: #6e4b36; font-family: Tahoma, sans-serif; }
.night-notice-index em { color: #9b2e2e; font-style: normal; text-align: right; }
.night-history-list li { display: grid; grid-template-columns: 50px 1fr; gap: 8px; padding: 6px 4px; border-bottom: 1px dotted #a9b5c2; font-size: 12px; line-height: 1.6; }
.night-history-record { border-top: 5px solid #315d8a; background: #fff; }
.night-history-record > header { padding: 14px 15px; border-bottom: 1px solid #9eafc2; background: #e8eff6; }
.night-history-record > header p { margin: 2px 0; color: #52677d; font-size: 12px; }
.night-history-record > header h2 { margin: 4px 0; color: #193f6b; font: 700 22px/1.4 "SimSun", serif; }
.p14-page .p14-person-section, .p14-page .p14-sources, .p14-page .p14-judgement { padding: 14px 15px; border: 0; border-bottom: 1px solid #aebac7; background: #fff; }
.p14-page .p14-person-section h3, .p14-page .p14-sources h3 { margin: 0 0 9px; color: #204d78; font: 700 16px/1.45 "SimSun", serif; }
.p14-page .p14-life-paper { border-left-color: #315d8a; background: #eef3f8; }
.p14-page .p14-life-paper blockquote { border-color: #aab8c7; background: #fff; }
.p14-page .p14-transcript { border-color: #a5b4c4; background: #f4f7fa; }
.p14-page .p14-transcript summary, .p14-page .p14-judgement legend { color: #204d78; }
.night-history-footer { display: flex; justify-content: space-between; gap: 12px; padding: 9px 14px; border-top: 3px double #315d8a; background: #e7edf4; color: #51667c; font: 11px/1.6 Tahoma, sans-serif; }

/* TRANSIT / P15: a wide enterprise route-data website. */
.p15-page.wig-site-transit { background: #c7ccd0; color: #1d2c34; font-family: Tahoma, "Microsoft YaHei", sans-serif; }
.p15-page.wig-site-transit .catalog-page { max-width: 1200px; border-color: #58778a; background: #f7f8f8; }
.p15-page.wig-site-transit .catalog-nav { background: #0d4568; }
.transit-info-site { border-top: 5px solid #efbd24; background: #f7f8f8; }
.transit-info-head { display: grid; grid-template-columns: minmax(0,1fr) 470px; align-items: stretch; background: #0b4d74; color: #fff; }
.transit-info-head > div { padding: 17px 20px; }
.transit-info-head > div p { margin: 0 0 3px; color: #cfe0e9; font-size: 12px; }
.transit-info-head h1 { margin: 0; font: 700 28px/1.35 "Microsoft YaHei", sans-serif; letter-spacing: .03em; }
.transit-info-head dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; border-left: 1px solid #58809a; }
.transit-info-head dl > div { min-width: 0; padding: 14px 10px; border-left: 1px solid #174260; background: #e9eef1; color: #16384d; }
.transit-info-head dt, .transit-info-head dd { margin: 0; overflow-wrap: anywhere; }
.transit-info-head dt { color: #5a6e7b; font-size: 10px; }
.transit-info-head dd { margin-top: 5px; font-size: 12px; font-weight: 700; }
.transit-info-nav { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); border-bottom: 4px solid #efbd24; background: #143f5b; }
.transit-info-nav a { min-height: 44px; display: flex; align-items: center; justify-content: center; padding: 6px 5px; border-right: 1px solid #526f82; color: #fff; font-size: 12px; font-weight: 700; text-align: center; text-decoration: none; }
.transit-info-nav a:last-child { border-right: 0; }
.transit-info-nav a:hover, .transit-info-nav a:focus-visible { background: #efbd24; color: #172d39; }
.transit-info-main { padding: 12px; }
.transit-route-search { display: grid; grid-template-columns: minmax(180px,1fr) minmax(150px,.7fr) auto minmax(220px,1fr); align-items: end; gap: 8px; margin-bottom: 12px; padding: 10px; border: 1px solid #6d8796; background: #e7ecef; }
.transit-route-search label { display: grid; gap: 3px; color: #24495f; font-size: 12px; font-weight: 700; }
.transit-route-search input, .transit-route-search select { width: 100%; min-height: 44px; padding: 7px 9px; border: 1px solid #58778a; background: #fff; font: inherit; }
.transit-route-search button { min-height: 44px; padding: 7px 14px; border: 1px solid #a86519; background: #efbd24; color: #1c3543; font: inherit; font-weight: 700; }
.transit-route-search p { align-self: center; margin: 0; color: #22516c; font-size: 12px; }
.transit-route-search input:focus-visible, .transit-route-search select:focus-visible, .transit-route-search button:focus-visible { outline: 3px solid #efbd24; outline-offset: 2px; }
.transit-route-index, .transit-time-table, .transit-fare-table, .transit-operation-band, .transit-lost-band, .transit-company-band { margin-bottom: 12px; border: 1px solid #8195a1; background: #fff; }
.transit-info-main section > h2 { margin: 0; padding: 7px 10px; border-bottom: 1px solid #8195a1; background: #dce5ea; color: #173f58; font-size: 15px; line-height: 1.4; }
.transit-info-main table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 12px; }
.transit-info-main caption { padding: 5px 8px; color: #556b78; text-align: left; }
.transit-info-main th, .transit-info-main td { padding: 7px 8px; border: 1px solid #acb8bf; text-align: left; overflow-wrap: anywhere; }
.transit-info-main thead th { background: #e7ecef; color: #24495f; }
.transit-route-index tbody tr.is-current { background: #fff1b8; }
.transit-route-index tbody tr.is-current th { border-left: 6px solid #dd8524; }
.transit-route-lead { display: grid; grid-template-columns: 112px minmax(220px,.8fr) minmax(420px,1.4fr); margin-bottom: 12px; border: 1px solid #173f58; background: #fff; }
.transit-route-number { display: flex; align-items: center; justify-content: center; background: #efbd24; color: #183746; font: 700 64px/1 Arial, sans-serif; }
.transit-route-direction { padding: 13px 16px; border-right: 1px solid #8195a1; background: #124f73; color: #fff; }
.transit-route-direction p, .transit-route-direction h2, .transit-route-direction span { margin: 0; }
.transit-route-direction p { color: #cde0ea; font-size: 11px; }
.transit-route-direction h2 { margin: 4px 0 6px; font-size: 23px; }
.transit-route-direction span { color: #dbe7ed; font-size: 11px; }
.transit-route-lead dl { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 0; }
.transit-route-lead dl > div { padding: 16px 10px; border-right: 1px solid #b2bdc3; }
.transit-route-lead dl > div:last-child { border-right: 0; }
.transit-route-lead dt, .transit-route-lead dd { margin: 0; }
.transit-route-lead dt { color: #60727c; font-size: 10px; }
.transit-route-lead dd { margin-top: 6px; color: #153d55; font-size: 15px; font-weight: 700; }
.transit-stop-band { margin-bottom: 12px; border: 1px solid #6d8796; background: #fff; }
.transit-band-title { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 7px 10px; background: #174e6d; color: #fff; }
.transit-band-title h2, .transit-band-title p { margin: 0; }
.transit-band-title h2 { font-size: 15px; }.transit-band-title p { font-size: 11px; }
.transit-stop-list { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); margin: 0; padding: 20px 12px 16px; list-style: none; }
.transit-stop-list li { position: relative; min-width: 0; padding: 17px 5px 0; border-top: 5px solid #1b6387; color: #1c3d50; text-align: center; }
.transit-stop-list li::before { content: ""; position: absolute; top: -11px; left: 50%; width: 14px; height: 14px; box-sizing: border-box; border: 3px solid #1b6387; background: #fff; transform: translateX(-50%); }
.transit-stop-list li:first-child::before, .transit-stop-list li:last-child::before { background: #efbd24; }
.transit-stop-list b { display: block; color: #637782; font-size: 10px; }.transit-stop-list span { display: block; margin-top: 3px; font-size: 12px; font-weight: 700; }
.transit-data-pair { display: grid; grid-template-columns: 1.35fr .9fr; gap: 12px; }
.transit-operation-band tbody tr:nth-child(even), .transit-lost-band tbody tr:nth-child(even) { background: #f0f3f5; }
.transit-lost-band p, .transit-company-band p { margin: 0; padding: 9px 11px; color: #485e69; font-size: 12px; line-height: 1.65; }
.transit-history-record { margin-top: 16px; border: 2px solid #475c68; background: #fff; }
.transit-history-record > header { padding: 12px 14px; border-bottom: 5px solid #efbd24; background: #193f56; color: #fff; }
.transit-history-record > header p { margin: 2px 0; color: #cbd8de; font-size: 11px; }
.transit-history-record > header h2 { margin: 4px 0; color: #fff; font-size: 21px; }
.p15-page .p15-person-section, .p15-page .p15-sources, .p15-page .p15-judgement { padding: 13px 14px; border: 0; border-bottom: 1px solid #9aa9b1; background: #fff; }
.p15-page .p15-person-section h3, .p15-page .p15-sources h3 { margin: 0 0 8px; color: #194762; font-size: 16px; }
.p15-page .p15-life-paper { border-left-color: #dd8524; background: #edf1f3; }
.p15-page .p15-life-paper blockquote { border-color: #9cabb3; background: #fff; }
.p15-page .p15-transcript { border-color: #8295a0; background: #eef2f4; }
.p15-page .p15-transcript summary { color: #194762; }
.p15-page .p15-source-row { border-color: #8c9da6; background: #f1f4f5; }
.p15-page .p15-source-row:has(input:checked) { border-color: #c67820; background: #fff1b8; }
.transit-history-footer { display: flex; justify-content: space-between; gap: 12px; padding: 9px 13px; border-top: 5px solid #174e6d; background: #e4eaed; color: #526975; font: 11px/1.6 Tahoma, sans-serif; }

/* ARCHIVE / P18: a public local-history publishing platform. */
.p18-page.wig-site-archive { background: #d7dcdd; color: #34444b; font-family: "Microsoft YaHei", "SimSun", sans-serif; }
.p18-page.wig-site-archive .catalog-page { background: #f4f2e9; border-color: #8f9fa4; }.p18-page.wig-site-archive .catalog-nav { background: #405966; }
.archive-site-page { display: grid; grid-template-columns: 235px minmax(0,1fr); gap: 14px; padding: 14px; }
.archive-site-aside { min-width: 0; padding: 14px; border: 1px solid #9aa8aa; background: #e4e8e5; }.archive-site-aside h1 { margin: 3px 0 8px; color: #405b68; font: 700 22px/1.35 "SimSun", serif; }.archive-site-aside h2 { margin: 18px 0 7px; padding-top: 10px; border-top: 1px solid #aab4b2; color: #405b68; font-size: 15px; }.archive-site-aside p { font-size: 12px; line-height: 1.8; }.archive-site-aside dl { margin: 12px 0 0; border-top: 1px solid #aab4b2; }.archive-site-aside dl div { padding: 6px 0; border-bottom: 1px solid #b8c0bd; }.archive-site-aside dt, .archive-site-aside dd { margin: 0; font-size: 11px; }.archive-site-aside dt { color: #748083; }.archive-site-aside dd { color: #40565d; font-weight: 700; }
.archive-platform-label, .archive-caption { color: #6b797d; font: 11px/1.55 Tahoma, sans-serif; letter-spacing: .03em; }.archive-platform-label { margin: 0; }
.archive-document { min-width: 0; border: 1px solid #9aa8aa; background: #faf8ef; }.archive-document-header { padding: 16px; border-bottom: 4px double #718894; background: #f1f2eb; }.archive-document-header h2 { margin: 3px 0 6px; color: #3e5c69; font: 700 25px/1.35 "SimSun", serif; }.archive-document-header p:last-child { max-width: 75ch; margin: 0; color: #5f6d71; font-size: 13px; }
.archive-ordinary-section, .p18-page .p18-material-section, .p18-page .p18-choice-section, .p18-page .p18-a06 { padding: 15px 16px; border: 0; border-bottom: 1px solid #aab5b3; background: transparent; }.archive-ordinary-section h3, .p18-page .p18-material-section h3, .p18-page .p18-choice-section h3 { margin: 0 0 9px; color: #405e6a; font: 700 17px/1.45 "SimSun", serif; }
.archive-directory-list { border-top: 2px solid #718894; }.archive-directory-list article { display: grid; grid-template-columns: minmax(180px,.8fr) minmax(180px,.7fr) minmax(220px,1fr); gap: 10px; padding: 9px 8px; border-bottom: 1px solid #b1bbb8; }.archive-directory-list article:nth-child(even) { background: #eef0e9; }.archive-directory-list b { color: #405e6a; font-size: 13px; }.archive-directory-list span { color: #758083; font-size: 11px; }.archive-directory-list p { margin: 0; font-size: 12px; }
.archive-record-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 12px; }.archive-record-table th, .archive-record-table td { padding: 7px; border: 1px solid #abb6b4; text-align: left; overflow-wrap: anywhere; }.archive-record-table th { background: #dfe5e2; color: #405e6a; }
.p18-page .p18-material { border-color: #94a3a7; background: #f0f2ec; }.p18-page .p18-material summary { color: #405e6a; }.p18-page .p18-material > div { background: #fbf8ed; }.p18-page .p18-letter > div { background: #edf2ef; }.p18-page .p18-letter blockquote { border-left-color: #557785; background: #e6eceb; }
.p18-page .p18-choice-section { background: #ecefe9; }.p18-page .p18-choice-section legend { color: #405e6a; }.p18-page .p18-choice-section label { border-color: #a9b4b2; background: #f8f6ed; }
.p18-preview { margin-top: 12px; padding: 13px; border: 1px solid #84989e; background: #f8f6ed; }.p18-preview h3 { margin-top: 0; }.p18-preview p { margin: 7px 0; }.p18-preview button { margin: 6px 6px 0 0; }
.archive-document-footer { display: flex; justify-content: space-between; gap: 12px; padding: 10px 16px; border-top: 4px solid #526d79; color: #69777a; font-size: 11px; }
.p14-page.wig-site-night .catalog-nav-link { min-height: 44px; }
.p15-page.wig-site-transit .catalog-nav-link { min-height: 44px; }

@media (max-width: 760px) {
  .p13-page.wig-site-cat .catalog-nav, .p18-page.wig-site-archive .catalog-nav { display: grid; grid-template-columns: 1fr; overflow: visible; }
  .p13-page.wig-site-cat .catalog-nav-link, .p18-page.wig-site-archive .catalog-nav-link { width: 100%; min-width: 0; justify-content: flex-start; }
  .p14-page.wig-site-night .catalog-nav { display: grid; grid-template-columns: 1fr; overflow: visible; }
  .p14-page.wig-site-night .catalog-nav-link { width: 100%; min-width: 0; justify-content: flex-start; }
  .p15-page.wig-site-transit .catalog-nav { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); overflow: visible; }
  .p15-page.wig-site-transit .catalog-nav-link { width: 100%; min-width: 0; justify-content: center; padding-inline: 4px; white-space: normal; text-align: center; }
  .p15-page.wig-site-transit .catalog-shell-breadcrumb { display: none; }
  .cluster-section-nav { display: block; }.cluster-section-nav a { width: 100%; justify-content: flex-start; border-right: 0; border-bottom: 1px solid var(--site-line); }
  .p13-formal-content, .p14-formal-content, .p15-formal-content, .p18-formal-content { width: 100%; margin: 0; }
  .p13-page .catalog-page, .p14-page .catalog-page, .p15-page .catalog-page, .p18-page .catalog-page { width: calc(100% - 16px); margin: 8px auto 18px; }
  .cat-module-bar { display: block; padding: 10px; }.cat-module-bar dl { min-width: 0; grid-template-columns: 1fr; margin-top: 9px; }.cat-module-bar dl > div { border-right: 0; border-bottom: 1px solid #aab4ae; }.cat-module-bar dl > div:last-child { border-bottom: 0; }
  .cat-directory-layout, .archive-site-page { display: block; padding: 8px; }
  .cat-directory-head, .p13-page .p13-search-section, .p13-page .p13-index-section, .p13-page .p13-card-section, .p13-page .p13-help-section, .p13-page .p13-attachment-section, .p13-page .cat-type-note { padding: 12px 10px; }
  .cat-note-grid, .cat-record-fields { grid-template-columns: 1fr; }.cat-record-fields div { grid-template-columns: 1fr; }.cat-record-fields dt { padding-bottom: 2px; }
  .cat-directory-table, .cat-directory-table tbody, .cat-directory-table tr, .cat-directory-table td { display: block; width: 100%; }.cat-directory-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }.cat-directory-table tr { margin-bottom: 8px; border: 1px solid #aeb8b2; }.cat-directory-table td { border: 0; border-bottom: 1px dotted #aeb8b2; }.cat-directory-table td:last-child { border-bottom: 0; }
  .archive-site-aside { margin-bottom: 8px; }.archive-document-header h2, .cat-directory-head h1 { font-size: 22px; }
  .archive-record-table, .archive-record-table tbody, .archive-record-table tr, .archive-record-table td { display: block; width: 100%; }.archive-record-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }.archive-record-table tr { margin-bottom: 8px; border: 1px solid #b1aaa0; }.archive-record-table td { border: 0; border-bottom: 1px dotted #b1aaa0; }.archive-record-table td:last-child { border-bottom: 0; }
  .night-school-head > div { padding: 14px 11px; }.night-school-head h1 { font-size: 24px; }.night-school-utility { text-align: left; }
  .night-school-nav { grid-template-columns: repeat(2,minmax(0,1fr)); }.night-school-nav a { min-height: 44px; justify-content: flex-start; padding-inline: 10px; border-bottom: 1px solid #7693b1; }
  .night-school-columns { display: flex; flex-direction: column; gap: 8px; padding: 8px; }.night-school-contact, .night-school-directory, .night-school-main { width: 100%; }.night-school-main { order: 0; display: flex; flex-direction: column; }.night-school-directory { order: 1; }.night-school-contact { order: 2; }
  .night-school-main > #night-enrolment { order: 0; }.night-school-main > #night-notices { order: 1; }.night-school-main > #night-staff { order: 2; }.night-school-main > #night-overview { order: 3; }.night-school-main > #night-courses { order: 4; }.night-school-main > #night-history { order: 5; }.night-school-main > .night-history-record { order: 6; }
  .night-course-table, .night-course-table tbody, .night-course-table tr, .night-course-table td, .night-staff-table, .night-staff-table tbody, .night-staff-table tr, .night-staff-table td { display: block; width: 100%; }
  .night-course-table thead, .night-staff-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .night-course-table tr, .night-staff-table tr { margin-bottom: 8px; border: 1px solid #a8b6c6; }.night-course-table td, .night-staff-table td { display: grid; grid-template-columns: 84px minmax(0,1fr); border: 0; border-bottom: 1px dotted #a8b6c6; }.night-course-table td:last-child, .night-staff-table td:last-child { border-bottom: 0; }
  .night-course-table td::before, .night-staff-table td::before { color: #52677d; font-weight: 700; }.night-course-table td:nth-child(1)::before { content: "课程"; }.night-course-table td:nth-child(2)::before { content: "上课时间"; }.night-course-table td:nth-child(3)::before { content: "教室"; }.night-course-table td:nth-child(4)::before { content: "报名对象"; }.night-staff-table td:nth-child(1)::before { content: "姓名"; }.night-staff-table td:nth-child(2)::before { content: "课程或职责"; }.night-staff-table td:nth-child(3)::before { content: "值班时段"; }
  .night-history-footer { display: block; }.night-history-footer a { min-height: 44px; display: flex; align-items: center; }
  .transit-info-head, .transit-info-nav { display: none; }
  .transit-info-main { padding: 8px; }.transit-route-search { grid-template-columns: repeat(2,minmax(0,1fr)); margin-bottom: 8px; padding: 8px; }.transit-route-search p { align-self: center; padding: 4px 0; }
  .transit-info-main table, .transit-info-main tbody, .transit-info-main tr, .transit-info-main th, .transit-info-main td { display: block; width: 100%; min-width: 0; }.transit-info-main thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }.transit-info-main tr { margin-bottom: 8px; border: 1px solid #acb8bf; }.transit-info-main th, .transit-info-main td { display: grid; grid-template-columns: 100px minmax(0,1fr); gap: 8px; border: 0; border-bottom: 1px dotted #acb8bf; }.transit-info-main th:last-child, .transit-info-main td:last-child { border-bottom: 0; }.transit-info-main [data-label]::before { content: attr(data-label); color: #526975; font-weight: 700; }
  .transit-route-lead { display: block; }.transit-route-number { min-height: 92px; }.transit-route-direction { border-right: 0; }.transit-route-lead dl { grid-template-columns: repeat(2,minmax(0,1fr)); }.transit-route-lead dl > div:nth-child(2) { border-right: 0; }.transit-route-lead dl > div:nth-child(-n+2) { border-bottom: 1px solid #b2bdc3; }
  .transit-stop-list { display: block; padding: 10px 12px; }.transit-stop-list li { min-height: 52px; padding: 7px 7px 7px 31px; border-top: 0; border-left: 5px solid #1b6387; text-align: left; }.transit-stop-list li::before { top: 50%; left: -9px; transform: translateY(-50%); }.transit-stop-list b, .transit-stop-list span { display: inline; }.transit-stop-list span { margin-left: 8px; }
  .transit-data-pair { grid-template-columns: 1fr; gap: 0; }.transit-history-footer { display: block; }.transit-history-footer a { min-height: 44px; display: flex; align-items: center; }
  .archive-directory-list article { grid-template-columns: 1fr; gap: 3px; }.archive-document-footer { display: block; }.archive-document-footer a { display: inline-flex; align-items: center; min-height: 44px; margin-top: 5px; }
  .p18-preview button { width: 100%; margin-right: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .p14-result.t08-active, .p15-result.t07-active, .p18-summary-layer > span { animation: none !important; transform: none; }
}

/* P21: one restrained 2011 repair desk; the selectable transcript is authoritative. */
.p21-gate, .p21-formal-content { width: min(1080px, calc(100% - 32px)); margin: 22px auto 36px; }
.p21-gate-paper, .p21-workbench, .p21-paper { border: 1px solid #9aa9a8; background: #f8f6ed; }.p21-gate-paper { padding: 18px; border-top: 3px solid #526f77; }.p21-gate-paper h1, .p21-header h1 { margin: 5px 0; color: #294e58; font: 700 22px/1.4 "SimSun", "Songti SC", serif; }.p21-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }.p21-actions > * { min-height: 44px; }
.p21-workbench { position: relative; overflow: hidden; box-shadow: 0 1px 0 rgba(25, 50, 54, .12); }.p21-workbench::after { content: ""; position: absolute; top: 72px; right: 0; width: 3px; height: 68px; background: #86969a; opacity: .7; pointer-events: none; }.p21-header { padding: 17px 19px 14px; border-bottom: 2px solid #607d87; background: #e6ece7; }.p21-header p:last-child { margin: 0; color: #627276; font-size: 12px; }.p21-paper { position: relative; margin: 13px; padding: 14px 16px; min-width: 0; }.p21-paper h2 { margin: 2px 0 9px; color: #315660; font: 700 19px/1.45 "SimSun", serif; }.p21-paper h3 { margin: 0 0 7px; color: #365960; font: 700 15px/1.4 "SimSun", serif; }.p21-paper p { max-width: 78ch; color: #3b4d50; font-size: 13px; line-height: 1.8; }.p21-kicker { margin: 0 0 4px; color: #687b7c; font-size: 11px; letter-spacing: .08em; }
.p21-material-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }.p21-material-grid article { min-width: 0; padding: 12px; border: 1px solid #b9c5bf; background: #fffdf6; }.p21-normal-empty { padding: 7px 9px; border-left: 3px solid #71888b; background: #f1efe6; }.p21-t03 { display: inline-block; color: #536468; font: 13px/1.5 Consolas, monospace; transform: scaleX(1.05) scaleY(.96); }.p21-ocr { color: #5e6d69 !important; font-family: Consolas, monospace; }.p21-impression { margin: 12px 0 0; color: #647169 !important; font: 12px/1.5 Consolas, monospace; letter-spacing: .14em; opacity: .72; }.p21-cover { float: right; width: min(180px, 34%); margin: 0 0 10px 14px; border: 1px solid #a9b0a8; filter: grayscale(.18); }
.p21-a07 summary { min-height: 44px; cursor: pointer; color: #315660; font-weight: 700; }.p21-a07[open] summary { margin-bottom: 10px; }.p21-file, .p21-paste { display: grid; gap: 6px; margin-top: 11px; color: #435a5d; font-size: 12px; }.p21-file input, .p21-paste textarea, .p21-field-list select { width: 100%; min-height: 44px; box-sizing: border-box; border: 1px solid #82969a; border-radius: 0; background: #fffefa; color: #263f45; padding: 7px; }.p21-paste textarea { min-height: 116px; resize: vertical; font-family: Consolas, monospace; }.p21-paste button { width: fit-content; min-height: 44px; }.p21-import-status, .p21-status { min-height: 1.6em; color: #45666e !important; font-size: 12px !important; }
.p21-field-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }.p21-field-list label { display: grid; gap: 5px; padding: 11px; border: 1px solid #b9c5bf; background: #fffdf6; color: #435a5d; font-size: 12px; }.p21-receipt { border-top: 3px solid #526f77; }.p21-receipt a { display: inline-flex; align-items: center; min-height: 44px; padding: 7px 10px; }.p21-persistence-warning { color: #7a5c46 !important; font-size: 11px !important; }.p21-effects-off .p21-t03 { transform: none; }.p21-effects-off .p21-impression { display: none; }
@media (max-width: 768px) { .p21-gate, .p21-formal-content { width: calc(100% - 20px); margin-top: 12px; }.p21-header { padding: 14px 12px; }.p21-header h1 { font-size: 24px; }.p21-paper { margin: 9px; padding: 13px 11px; }.p21-material-grid, .p21-field-list { grid-template-columns: 1fr; }.p21-actions > * { width: 100%; }.p21-paste button { width: 100%; }.p21-cover { float: none; width: 100%; max-width: 280px; margin: 0 0 10px; }.p21-workbench::after { top: 64px; } }
@media (prefers-reduced-motion: reduce) { .p21-t03 { transform: none; }.p21-impression { letter-spacing: normal; } }

/* P13-P18 mobile contract: keep every formal touch target at least 44px. */
@media (max-width: 560px) {
  .p13-page .catalog-breadcrumb a, .p14-page .catalog-breadcrumb a, .p15-page .catalog-breadcrumb a, .p16-page .catalog-breadcrumb a, .p17-page .catalog-breadcrumb a, .p18-page .catalog-breadcrumb a,
  .p13-formal-content a, .p14-formal-content a, .p15-formal-content a, .p16-formal-content a, .p17-formal-content a, .p18-formal-content a,
  .p13-page .staff-gate a, .p14-page .staff-gate a, .p15-page .staff-gate a, .p16-page .staff-gate a, .p17-page .staff-gate a, .p18-page .staff-gate a,
  .p13-page .p13-gate a, .p14-page .p14-gate a, .p15-page .p15-gate a, .p16-page .p16-gate a, .p17-page .p17-gate a, .p18-page .p18-gate a,
  .p13-page button, .p14-page button, .p15-page button, .p16-page button, .p17-page button, .p18-page button,
  .p13-page select, .p14-page select, .p15-page select, .p16-page select, .p17-page select, .p18-page select,
  .p13-page input, .p14-page input, .p15-page input, .p16-page input, .p17-page input, .p18-page input,
  .p13-page textarea, .p14-page textarea, .p15-page textarea, .p16-page textarea, .p17-page textarea, .p18-page textarea,
  .p13-page summary, .p14-page summary, .p15-page summary, .p16-page summary, .p17-page summary, .p18-page summary { min-height: 44px; }
  .p13-formal-content a, .p14-formal-content a, .p15-formal-content a, .p16-formal-content a, .p17-formal-content a, .p18-formal-content a,
  .p13-page .staff-gate a, .p14-page .staff-gate a, .p15-page .staff-gate a, .p16-page .staff-gate a, .p17-page .staff-gate a, .p18-page .staff-gate a,
  .p13-page .p13-gate a, .p14-page .p14-gate a, .p15-page .p15-gate a, .p16-page .p16-gate a, .p17-page .p17-gate a, .p18-page .p18-gate a,
  .p13-page .catalog-breadcrumb a, .p14-page .catalog-breadcrumb a, .p15-page .catalog-breadcrumb a, .p16-page .catalog-breadcrumb a, .p17-page .catalog-breadcrumb a, .p18-page .catalog-breadcrumb a { display: inline-flex; align-items: center; }
  .p13-page .catalog-brand, .p14-page .catalog-brand, .p15-page .catalog-brand, .p16-page .catalog-brand, .p17-page .catalog-brand, .p18-page .catalog-brand { min-height: 44px; }
  .p13-page .catalog-credit summary, .p14-page .catalog-credit summary, .p15-page .catalog-credit summary, .p16-page .catalog-credit summary, .p17-page .catalog-credit summary, .p18-page .catalog-credit summary { min-height: 44px; }
  .p13-page .skip-link, .p14-page .skip-link, .p15-page .skip-link, .p16-page .skip-link, .p17-page .skip-link, .p18-page .skip-link { min-height: 44px; }
}

/* G01: an original low-resolution 2011 desktop mail client, deliberately separate from the public library shell. */
.g01-page { --g01-ink: #20333B; --g01-paper: #F4EAD2; --g01-teal: #3B7588; --g01-amber: #8B5A17; --g01-green: #507344; --g01-red: #934942; margin: 0; overflow-x: hidden; background: var(--g01-ink); color: var(--g01-ink); font-family: Tahoma, Arial, sans-serif; }
.g01-page .wig-g01-fallback { width: min(560px, calc(100% - 32px)); margin: 12vh auto 0; padding: 24px; border: 1px solid var(--g01-teal); background: var(--g01-paper); color: var(--g01-ink); box-shadow: 3px 4px 0 rgba(32,51,59,.2); }
.g01-page .wig-g01-fallback h1 { margin: 0 0 10px; font: 700 20px/1.45 Tahoma, "Microsoft YaHei", sans-serif; }
.g01-page .wig-g01-fallback p { margin: 0 0 16px; color: var(--g01-teal); font-size: 13px; }
.g01-page .wig-g01-fallback a { display: inline-flex; align-items: center; min-height: 44px; padding: 7px 12px; border: 1px solid var(--g01-teal); background: #fffaf0; color: var(--g01-ink); text-decoration: none; font-size: 12px; }
.g01-page .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.g01-page .wig-g01-mailbox > .wig-comm-live { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.g01-page #g01-mailbox { min-height: 100vh; }
.wig-g01-mailbox { min-height: 100vh; background: var(--g01-ink); }
.wig-g01-desktop { min-height: calc(100vh - 40px); padding: 18px 24px 14px; background: linear-gradient(145deg, rgba(244,234,210,.22) 0 12%, transparent 12% 100%), linear-gradient(140deg, var(--g01-teal) 0 54%, var(--g01-green) 54% 100%); }
.wig-g01-window { width: min(1230px, 100%); height: calc(100vh - 84px); min-height: 480px; margin: 0 auto; display: flex; flex-direction: column; border: 1px solid var(--g01-ink); background: var(--g01-paper); box-shadow: 3px 4px 0 rgba(32,51,59,.28), 0 0 12px rgba(244,234,210,.18); }
.wig-g01-mail-view { min-height: 0; flex: 1; display: flex; flex-direction: column; }
.wig-g01-window-titlebar { position: relative; min-height: 34px; display: flex; align-items: center; justify-content: space-between; padding: 0 7px 0 10px; border-bottom: 0; background: var(--g01-teal); color: #fffaf0; }
.wig-g01-window-titlebar::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 4px; background: linear-gradient(90deg, var(--g01-amber) 0 40%, var(--g01-green) 40% 75%, var(--g01-red) 75% 100%); pointer-events: none; }
.wig-g01-window-brand { display: flex; align-items: center; gap: 7px; min-width: 0; }
.wig-g01-window-brand strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 700 13px/1 Tahoma, "Microsoft YaHei", sans-serif; }
.wig-g01-brand-icon, .wig-g01-account-icon { width: 20px; height: 20px; image-rendering: pixelated; }
.wig-g01-window-controls { display: flex; gap: 2px; align-items: center; height: 24px; }
.wig-g01-window-controls span { width: 25px; height: 20px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(244,234,210,.58); background: rgba(244,234,210,.16); color: #fffaf0; font: 12px/1 Arial, sans-serif; }
.wig-g01-window-controls span:last-child { color: #ffd8cb; }
.wig-g01-toolbar { min-height: 38px; display: flex; align-items: center; gap: 10px; padding: 0 10px; border-bottom: 1px solid rgba(32,51,59,.38); background: #dfe7d8; }
.wig-g01-toolbar-label { color: var(--g01-ink); font-size: 12px; font-weight: 700; }
.wig-g01-toolbar input { width: min(300px, 45%); min-height: 28px; margin-left: auto; padding: 4px 8px; border: 1px solid var(--g01-teal); border-radius: 0; background: #fffaf0; color: var(--g01-ink); font: 12px Tahoma, Arial, sans-serif; }
.wig-g01-work-area { flex: 1; min-height: 0; display: grid; grid-template-columns: 186px 312px minmax(0, 1fr); }
.wig-g01-account { min-width: 0; overflow: auto; padding: 12px 9px; border-right: 1px solid rgba(32,51,59,.36); background: #e2eadc; color: var(--g01-ink); font-size: 11px; }
.wig-g01-account-head { display: flex; align-items: center; gap: 8px; padding: 5px 6px 12px; border-bottom: 1px solid rgba(32,51,59,.24); background: var(--g01-paper); color: var(--g01-ink); font-size: 13px; font-weight: 700; }
.wig-g01-account-network { margin: 10px 6px 12px; color: var(--g01-green); line-height: 1.55; }
.wig-g01-folder-nav { display: grid; gap: 2px; }
.wig-g01-folder-button { min-height: 38px; display: flex; align-items: center; gap: 8px; width: 100%; padding: 7px 8px; border: 1px solid transparent; border-radius: 0; background: transparent; color: var(--g01-ink); text-align: left; font: 12px Tahoma, Arial, sans-serif; }
.wig-g01-folder-button[data-wig-comm-folder="inbox"] { color: var(--g01-amber); }
.wig-g01-folder-button[data-wig-comm-folder="sent"] { color: var(--g01-green); }
.wig-g01-folder-button[data-wig-comm-folder="draft"] { color: var(--g01-red); }
.wig-g01-folder-button[aria-pressed="true"] { border-color: var(--g01-amber); background: rgba(139,90,23,.15); }
.wig-g01-folder-button:hover { border-color: var(--g01-teal); background: rgba(59,117,136,.13); }
.wig-g01-folder-icon { width: 16px; height: 16px; image-rendering: pixelated; }
.wig-g01-list { min-width: 0; overflow: auto; border-right: 1px solid rgba(32,51,59,.36); background: #f0e9d7; }
.wig-g01-list .wig-comm-mail-item { width: 100%; min-height: 64px; display: block; padding: 10px 10px 9px; border: 0; border-bottom: 1px solid rgba(32,51,59,.2); border-left: 3px solid transparent; border-radius: 0; background: transparent; color: var(--g01-ink); text-align: left; }
.wig-g01-list .wig-comm-mail-item.is-current, .wig-g01-list .wig-comm-mail-item:hover { background: #d7e5e3; }
.wig-g01-list .wig-comm-mail-item.is-current { border-left-color: var(--g01-teal); }
.wig-g01-list .wig-comm-mail-item.is-unread { border-left-color: var(--g01-amber); font-weight: 700; }
.wig-g01-list .wig-comm-mail-item b, .wig-g01-list .wig-comm-mail-item time, .wig-g01-list .wig-comm-mail-item small { display: block; }
.wig-g01-list .wig-comm-mail-item b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.wig-g01-list .wig-comm-mail-item time { float: right; margin-left: 8px; color: var(--g01-teal); font: 11px Tahoma, Arial, sans-serif; }
.wig-g01-list .wig-comm-mail-item small { margin-top: 6px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #49666c; font-weight: normal; }
.wig-g01-detail { position: relative; min-width: 0; overflow: auto; padding: 18px 26px 30px; background: var(--g01-paper); }
.wig-g01-detail h3 { max-width: 840px; margin: 0 170px 10px 0; color: var(--g01-ink); font: 700 20px/1.45 "SimSun", "Microsoft YaHei", serif; }
.wig-g01-detail .wig-comm-mail-head { white-space: pre-line; padding-bottom: 12px; border-bottom: 1px solid rgba(32,51,59,.3); color: #49666c; font-size: 11px; line-height: 1.75; }
.wig-g01-detail .wig-comm-mail-body { position: relative; max-width: 840px; min-height: 85px; padding: 20px 0; white-space: pre-line; color: var(--g01-ink); font: 15px/2 "SimSun", "Microsoft YaHei", serif; }
.wig-g01-detail.is-syncing .wig-comm-mail-body::after { content: ""; position: absolute; top: 20px; left: -2%; width: 104%; height: 2px; background: rgba(239,250,249,.94); box-shadow: 0 0 3px rgba(164,224,221,.85); animation: wig-g01-mail-band 240ms linear 1; pointer-events: none; }
@keyframes wig-g01-mail-band { from { transform: translateX(-92%); } to { transform: translateX(92%); } }
.wig-g01-message-id-echo { position: absolute; top: 111px; right: 20px; visibility: hidden; opacity: 0; color: var(--g01-teal); font: 10px/1 Tahoma, Arial, sans-serif; white-space: nowrap; transform: translateX(1px); }
.wig-g01-detail.is-syncing .wig-g01-message-id-echo, .wig-g01-detail.is-synced .wig-g01-message-id-echo { visibility: visible; opacity: .62; }
.wig-g01-flow-slip { float: right; width: 150px; margin: -105px 0 12px 20px; padding: 7px 9px; border: 1px solid rgba(32,51,59,.3); border-left: 4px solid var(--g01-amber); background: #fffaf0; color: #49666c; white-space: pre-line; font: 10px/1.6 Tahoma, Arial, sans-serif; }
.wig-g01-attachment { display: flex; align-items: center; gap: 8px; max-width: 840px; min-height: 48px; margin-top: 10px; padding: 7px 8px; border: 1px solid var(--g01-amber); background: rgba(139,90,23,.12); color: var(--g01-ink); font-size: 11px; }
.wig-g01-attachment > span:not(.wig-g01-file-icon) { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wig-g01-file-icon { width: 18px; height: 18px; flex: 0 0 auto; image-rendering: pixelated; }
.wig-g01-attachment button, .wig-g01-assignment button, .wig-g01-home { min-height: 38px; margin-left: auto; padding: 7px 13px; border: 1px solid var(--g01-teal); border-radius: 0; background: #fffaf0; color: var(--g01-ink); text-decoration: none; font: 12px Tahoma, Arial, sans-serif; }
.wig-g01-attachment button { border-color: var(--g01-amber); color: var(--g01-amber); }
.wig-g01-attachment-note { position: relative; max-width: 840px; overflow: hidden; margin-top: 8px; padding: 12px; border: 1px solid rgba(32,51,59,.3); background: #fffaf0; white-space: pre-line; color: var(--g01-ink); font: 12px/1.8 "SimSun", "Microsoft YaHei", serif; }
.wig-g01-attachment-note.is-scanning::before { content: ""; position: absolute; z-index: 1; inset: 0; height: 18px; background: rgba(248,250,248,.7); box-shadow: 0 0 4px rgba(171,182,182,.8); animation: wig-g01-attachment-scan 400ms linear 1; pointer-events: none; }
@keyframes wig-g01-attachment-scan { from { transform: translateY(-22px); } to { transform: translateY(calc(100% + 22px)); } }
.wig-g01-assignment { max-width: 840px; margin-top: 16px; padding: 13px 0; border-top: 1px solid rgba(32,51,59,.3); color: var(--g01-ink); font-size: 12px; }
.wig-g01-assignment p { line-height: 1.65; }
.wig-g01-assignment button { display: inline-flex; align-items: center; margin: 8px 7px 0 0; margin-left: 0; }
.wig-g01-assignment [data-g01-assignment="accepted"] { border-color: var(--g01-green); color: var(--g01-green); background: rgba(80,115,68,.1); }
.wig-g01-assignment [data-g01-assignment="declined"] { border-color: var(--g01-red); color: var(--g01-red); background: rgba(147,73,66,.08); }
.wig-g01-receipt { margin-top: 12px; padding: 11px; border-left: 3px solid var(--g01-green); background: rgba(80,115,68,.13); color: var(--g01-ink); line-height: 1.75; }
.wig-g01-receipt .wig-g01-home { display: inline-flex; align-items: center; margin-top: 8px; background: #fffaf0; }
.wig-g01-persistence-warning { padding: 8px 10px; border-left: 3px solid var(--g01-red); background: rgba(147,73,66,.1); color: var(--g01-red); }
.wig-g01-back-list { display: none; min-height: 44px; margin-bottom: 10px; padding: 7px 12px; border: 1px solid var(--g01-teal); border-radius: 0; background: #d7e5e3; color: var(--g01-ink); font: 12px Tahoma, Arial, sans-serif; }
.wig-g01-detail .wig-comm-quote { max-width: 840px; margin: 8px 0 0; padding: 8px 10px; border-left: 3px solid var(--g01-teal); background: rgba(59,117,136,.1); color: #49666c; font-size: 11px; }
.wig-g01-detail .wig-comm-reply { max-width: 840px; margin-top: 16px; padding-top: 13px; border-top: 1px solid #c0ced1; }
.wig-g01-detail .wig-comm-reply textarea { display: block; width: 100%; min-height: 74px; margin: 7px 0; padding: 8px; border: 1px solid #93aab2; border-radius: 0; background: #fff; color: #314e59; font: 12px/1.6 Tahoma, "Microsoft YaHei", sans-serif; }
.wig-g01-detail .wig-comm-reply button { min-height: 38px; margin: 4px 6px 0 0; border: 1px solid #93aab2; border-radius: 0; background: #edf3f2; color: #314e59; padding: 7px 10px; font: 12px Tahoma, Arial, sans-serif; }
.wig-g01-statusbar { min-height: 22px; display: flex; align-items: center; justify-content: space-between; padding: 0 8px; border-top: 1px solid rgba(32,51,59,.38); background: #dfe7d8; color: var(--g01-ink); font: 10px Tahoma, Arial, sans-serif; }
.wig-g01-taskbar { position: fixed; z-index: 20; right: 0; bottom: 0; left: 0; height: 40px; display: flex; align-items: stretch; gap: 6px; padding: 3px 8px; border-top: 1px solid var(--g01-ink); background: linear-gradient(90deg, var(--g01-ink), var(--g01-teal)); box-shadow: 0 -2px 5px rgba(32,51,59,.2); }
.wig-g01-start-button, .wig-g01-task-mail { min-height: 32px; display: inline-flex; align-items: center; gap: 6px; padding: 3px 11px; border: 1px solid rgba(244,234,210,.66); border-radius: 0; background: rgba(244,234,210,.12); color: #fffaf0; font: 700 11px Tahoma, Arial, sans-serif; }
.wig-g01-start-button:disabled { opacity: 1; cursor: default; }
.wig-g01-start-icon, .wig-g01-task-mail-icon, .wig-g01-network-icon { width: 18px; height: 18px; image-rendering: pixelated; }
.wig-g01-task-mail { min-width: 190px; justify-content: flex-start; border-color: rgba(244,234,210,.66); background: rgba(59,117,136,.58); font-weight: normal; }
.wig-g01-taskbar.is-queue-ack .wig-g01-task-mail { border-color: var(--g01-green); background: rgba(80,115,68,.74); }
.wig-g01-taskbar.is-queue-ack .wig-g01-task-mail-icon { filter: sepia(1) saturate(.8) hue-rotate(45deg); }
.wig-g01-tray { display: flex; align-items: center; gap: 12px; margin-left: auto; padding: 0 10px; color: #fffaf0; font: 11px Tahoma, Arial, sans-serif; }
.wig-g01-network { display: inline-flex; align-items: center; gap: 4px; }
.wig-g01-clock { min-width: 114px; text-align: right; font-variant-numeric: tabular-nums; }
.g01-page button:focus-visible, .g01-page a:focus-visible, .g01-page input:focus-visible, .g01-page textarea:focus-visible { outline: 2px solid var(--g01-amber); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .g01-page *, .g01-page *::before, .g01-page *::after { animation: none !important; transition: none !important; } .wig-g01-detail.is-syncing .wig-g01-mail-body::after, .wig-g01-attachment-note.is-scanning::before { display: none; } }
@media (forced-colors: active) {
  .g01-page .wig-g01-folder-button[aria-pressed="true"], .g01-page .wig-g01-list .wig-comm-mail-item.is-current { outline: 2px solid ButtonText; outline-offset: -2px; border-color: ButtonText; }
  .g01-page .wig-g01-list .wig-comm-mail-item.is-unread { border-left-color: ButtonText; font-weight: 800; }
  .g01-page button:focus-visible, .g01-page a:focus-visible, .g01-page input:focus-visible, .g01-page textarea:focus-visible { outline-color: Highlight; }
}

/* G01 dual-route resource handoff: a plain mail-client form, not a modern card. */
.wig-g01-resource-slot { max-width: 840px; margin-top: 16px; padding-top: 13px; border-top: 1px solid rgba(32,51,59,.3); color: var(--g01-ink); }
.wig-g01-resource-title { margin: 0; color: var(--g01-ink); font: 700 16px/1.45 "SimSun", "Microsoft YaHei", serif; }
.wig-g01-resource-intro, .wig-g01-release-placeholder, .wig-g01-resource-status, .wig-g01-package-privacy, .wig-g01-online-fallback, .wig-g01-cache-status { margin: 7px 0 0; color: #49666c; font-size: 12px; line-height: 1.7; }
.wig-g01-resource-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.wig-g01-resource-choice { min-height: 44px; padding: 8px 11px; border: 1px solid var(--g01-teal); border-radius: 0; background: #fffaf0; color: var(--g01-ink); text-align: left; font: 700 12px/1.4 Tahoma, "Microsoft YaHei", sans-serif; }
.wig-g01-resource-choice:hover, .wig-g01-resource-choice:focus-visible { border-color: var(--g01-amber); background: #f8f0dc; }
.wig-g01-resource-choice:disabled { border-color: #9ca7a5; background: #e6e7de; color: #6d7775; cursor: not-allowed; }
.wig-g01-package-panel { margin-top: 10px; padding: 11px; border-left: 3px solid var(--g01-teal); background: rgba(59,117,136,.08); }
.wig-g01-package-panel h4 { margin: 0; color: var(--g01-ink); font: 700 14px/1.45 "SimSun", "Microsoft YaHei", serif; }
.wig-g01-package-panel > p { margin: 7px 0 0; }
.wig-g01-resource-slot button, .wig-g01-resource-slot input, .wig-g01-package-links a { min-height: 44px; box-sizing: border-box; }
.wig-g01-package-links a { display: inline-flex; align-items: center; color: var(--g01-ink); text-decoration: underline; text-underline-offset: 2px; }
.wig-g01-package-hash { overflow-wrap: anywhere; word-break: break-word; color: var(--g01-amber) !important; font: 11px/1.6 Consolas, monospace; }
.wig-g01-file-control { display: block; margin-top: 10px; color: var(--g01-ink); font-size: 12px; font-weight: 700; }
.wig-g01-file-control input { display: block; width: 100%; min-height: 44px; margin-top: 5px; padding: 8px; border: 1px solid var(--g01-teal); border-radius: 0; background: #fffaf0; color: var(--g01-ink); font: 12px Tahoma, Arial, sans-serif; }
.wig-g01-package-cancel, .wig-g01-cache-consent, .wig-g01-skip-usb { min-height: 44px; margin-top: 8px; padding: 7px 11px; border: 1px solid var(--g01-teal); border-radius: 0; background: #fffaf0; color: var(--g01-ink); font: 12px Tahoma, Arial, sans-serif; }
.wig-g01-package-cancel:hover, .wig-g01-cache-consent:hover, .wig-g01-skip-usb:hover { border-color: var(--g01-amber); background: #f8f0dc; }
.wig-g01-usb-stage { display: grid; gap: 3px; margin-top: 10px; padding: 10px; border-left: 3px solid var(--g01-green); background: rgba(80,115,68,.12); color: var(--g01-green); }
.wig-g01-usb-stage strong { font-size: 13px; }
.wig-g01-usb-stage span { font-size: 12px; }
.wig-g01-cache-consent { border-color: var(--g01-green); color: var(--g01-green); }
.wig-g01-release-placeholder { padding: 8px 10px; border-left: 3px solid #8b8f83; background: rgba(139,143,131,.1); }

/* P22: a compact civic index sheet; the anomaly stays local to the zero-row label. */
.p22-formal-content, .p22-gate { width: min(1120px, calc(100% - 32px)); margin: 14px auto 34px; }
.p22-gate-paper { padding: 18px; border: 1px solid var(--line); border-top: 3px solid var(--blue-deep); background: var(--paper-light); }
.p22-gate-paper h1 { margin: 5px 0; color: var(--blue-deep); font: 700 20px/1.45 "SimSun", "Songti SC", serif; }
.p22-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.p22-workspace { width: 100%; border: 1px solid #89989a; background: #f7f5eb; }
.p22-header { display: flex; align-items: stretch; justify-content: space-between; gap: 18px; padding: 14px 16px 12px; border-bottom: 1px solid #849398; background: #f3f2e9; }
.p22-header h1 { margin: 4px 0; color: #254954; font: 700 22px/1.35 "SimSun", "Songti SC", serif; letter-spacing: .06em; }
.p22-header p { margin: 0; color: #596d72; font: 12px/1.65 Consolas, "Microsoft YaHei", sans-serif; }
.p22-header dl { min-width: 225px; display: grid; grid-template-columns: 1fr; margin: 0; border: 1px solid #9aa7a5; background: #e7ece6; }
.p22-header dl div { display: grid; grid-template-columns: 78px 1fr; min-height: 31px; border-bottom: 1px solid #b1bbaf; }
.p22-header dl div:last-child { border-bottom: 0; }
.p22-header dt, .p22-header dd { display: flex; align-items: center; margin: 0; padding: 4px 8px; font-size: 11px; }
.p22-header dt { border-right: 1px solid #b1bbaf; color: #5c6a69; background: #eef0e9; }
.p22-header dd { color: #2f555e; font-weight: 700; }
.p22-workspace-menu { display: flex; border-bottom: 2px solid #4e6b76; background: #718995; color: #eef3ef; font-size: 12px; }
.p22-workspace-menu span, .p22-workspace-menu b { min-height: 34px; display: inline-flex; align-items: center; padding: 6px 14px; border-right: 1px solid rgba(255,255,255,.3); font-weight: 400; }
.p22-workspace-menu b { background: #314f59; font-weight: 700; }
.p22-body { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 14px; padding: 14px; background: repeating-linear-gradient(0deg, rgba(255,255,255,.14) 0 1px, transparent 1px 5px), #e3e7df; }
.p22-paper { min-width: 0; border: 1px solid #89989a; background: #f7f5eb; }
.p22-section-head { display: flex; align-items: end; justify-content: space-between; gap: 12px; padding: 9px 11px; border-bottom: 2px solid #607d87; background: #e9eee8; }
.p22-section-head h2, .p22-check h2, .p22-receipt h2 { margin: 2px 0 0; color: #294e58; font: 700 18px/1.38 "SimSun", "Songti SC", serif; }
.p22-section-head > p { margin: 0; color: #5e6e70; font-size: 11px; }
.p22-record-grid { display: grid; gap: 12px; padding: 11px; }
.p22-record-grid section { min-width: 0; }
.p22-record-grid h3 { margin: 0 0 6px; color: #365761; font: 700 14px/1.4 "SimSun", serif; }
.p22-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.p22-table th, .p22-table td { padding: 8px 7px; border: 1px solid var(--line); text-align: left; vertical-align: top; }
.p22-table thead th { background: #ecefe8; color: var(--blue-deep); font: 700 12px/1.4 "SimSun", serif; }
.p22-table tbody th { width: 78px; color: var(--ink); font-weight: 700; }
.p22-table [data-p22-open-record] { display: inline-flex; align-items: center; width: 100%; min-height: 44px; }
.p22-table small, .p22-source-label { display: block; }
.p22-table small { margin-top: 3px; color: var(--muted); line-height: 1.6; }
.p22-source-label { color: #315660; font-size: 11px; font-weight: 700; }
.p22-review-note { margin: 0 11px 11px; padding: 9px; border-left: 3px solid #718995; background: #eef1eb; color: #4f6266; font-size: 12px; line-height: 1.7; }
.p22-zero-line { margin: 0 11px 12px; padding: 8px 9px; border-top: 1px dotted #aab5b2; color: #365761; font: 14px/1.7 "SimSun", serif; }
.p22-zero-ghost { display: inline-block; margin-left: 7px; color: #536a6e; opacity: .55; }
.p22-zero-ghost.p22-signature { animation: p22-zero-drift 360ms ease-out 1; }
@keyframes p22-zero-drift { 0%, 100% { transform: translateY(0) scaleX(1); } 48% { transform: translateY(1px) scaleX(.96); } }
.p22-check, .p22-receipt { align-self: start; padding: 13px; }
.p22-kicker { margin: 0; color: #5f777c; font: 11px/1.5 Consolas, "Microsoft YaHei", sans-serif; letter-spacing: .04em; }
.p22-check > p:not(.p22-kicker), .p22-receipt > p { color: #4e6265; font-size: 13px; line-height: 1.75; }
.p22-choice-list { display: grid; gap: 9px; margin: 13px 0; }
.p22-choice-list label { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 8px; align-items: center; color: #365761; font-size: 12px; font-weight: 700; }
.p22-choice-list select { width: 100%; min-height: 44px; padding: 7px 9px; border: 1px solid #82939a; border-radius: 0; background: #fffefa; color: var(--ink); }
.p22-check .catalog-primary-action, .p22-check .catalog-secondary-action { min-height: 44px; }
.p22-status { min-height: 2.8em; margin: 10px 0 0; color: #53696e; font: 12px/1.65 "Microsoft YaHei", sans-serif; }
.p22-receipt { border-top: 3px solid #668894; }
.p22-receipt-fields { padding: 8px; border-left: 3px solid #718995; background: #eef1eb; }
.p22-follow-search { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.p22-follow-search a { min-height: 44px; display: inline-flex; align-items: center; }
.p22-hold-note { color: var(--muted) !important; font-size: 11px !important; }
.p22-persistence-warning { padding: 8px; border-left: 3px solid #b38a48; background: #f7f3e8; color: #68563d; font-size: 12px; }
@media (prefers-reduced-motion: reduce) { .p22-zero-ghost.p22-signature { animation: none; transform: translateY(1px) scaleX(.97); } }

/* C2 source-reading layouts: page-local, text-first additions. */
.p16-source-titles, .p16-action-row, .p17-version-directory, .p17-check-actions, .p20-action-row, .p22-source-buttons { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.p16-source-titles > *, .p17-version-directory > *, .p20-local-nav > *, .p22-source-buttons > * { min-height: 44px; display: inline-flex; align-items: center; }
.p16-formal-content .catalog-primary-action, .p16-formal-content .catalog-secondary-action, .p17-formal-content .catalog-primary-action, .p17-formal-content .catalog-secondary-action,
.p20-formal-content .catalog-primary-action, .p20-formal-content .catalog-secondary-action, .p22-formal-content .catalog-primary-action, .p22-formal-content .catalog-secondary-action,
.p16-formal-content button, .p17-formal-content button, .p20-formal-content button, .p22-formal-content button,
.p16-formal-content summary, .p17-formal-content summary, .p20-formal-content summary, .p22-formal-content summary { min-height: 44px; }
.p16-formal-content a.catalog-primary-action, .p16-formal-content a.catalog-secondary-action, .p17-formal-content a.catalog-primary-action, .p17-formal-content a.catalog-secondary-action,
.p20-formal-content a.catalog-primary-action, .p20-formal-content a.catalog-secondary-action, .p22-formal-content a.catalog-primary-action, .p22-formal-content a.catalog-secondary-action,
.p16-formal-content summary, .p17-formal-content summary, .p20-formal-content summary, .p22-formal-content summary { display: inline-flex; align-items: center; }
.p16-record-sheet, .p17-review-result, .p20-reader, .p20-plan, .p22-paper { min-width: 0; }
.p16-record-sheet > dl, .p16-comparison article dl { display: grid; gap: 0; margin: 10px 0; border: 1px solid var(--line); }
.p16-record-sheet dl div, .p16-comparison article dl div { display: grid; grid-template-columns: 110px minmax(0,1fr); border-bottom: 1px solid var(--line); }
.p16-record-sheet dl div:last-child, .p16-comparison article dl div:last-child { border-bottom: 0; }
.p16-record-sheet dt, .p16-record-sheet dd { margin: 0; padding: 7px 9px; }
.p16-record-sheet dt { background: #e9eee8; color: #42616b; font-weight: 700; }
.p16-comparison { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 12px; }
.p16-comparison article { min-width: 0; padding: 11px; border: 1px solid #aeb9b4; background: #fbfaf3; }
.p17-version-directory { padding: 9px; border: 1px solid #aeb9b4; background: #eef1eb; }
.p17-version-directory a { padding: 7px 10px; border: 1px solid #82939a; background: #fffefa; color: #315660; font-weight: 700; }
.p17-layer-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.p17-layer-grid article { padding: 10px; border: 1px solid #b7c2ba; background: #fbfaf3; }
.p20-archive-layout { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 14px; }
.p20-document { min-width: 0; }
.p20-title-link { width: 100%; min-height: 44px; padding: 7px 9px; border: 0; background: transparent; color: #315660; font: 700 14px/1.5 "SimSun",serif; text-align: left; text-decoration: underline; cursor: pointer; }
.p20-local-nav button { min-height: 44px; padding: 7px 10px; border: 1px solid #82939a; border-radius: 0; background: #f8f6ef; color: #315660; }
.p20-plan-body { display: block; }
.p22-page .archive-tool-nav { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-bottom: 2px solid #405d69; background: #d7dfdc; }
.p22-page .archive-tool-nav > * { min-height: 44px; display: flex; align-items: center; justify-content: center; padding: 7px 8px; border-right: 1px solid #9dacab; color: #31515d; font-weight: 700; text-align: center; }
.p22-filter { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding: 12px; }
.p22-filter label { align-self: end; color: #365761; font-weight: 700; }
.p22-filter input, .p22-filter select, .p22-filter button { min-height: 44px; }
.p22-paper > .p22-kicker, .p22-paper > h2, .p22-paper > p, .p22-paper > dl, .p22-paper > [data-p22-results], .p22-paper > [data-p22-detail] { margin-right: 12px; margin-left: 12px; }
.p22-paper > .p22-kicker { margin-top: 12px; }
.p22-paper > [data-p22-results], .p22-paper > [data-p22-detail] { margin-bottom: 12px; }

@media (max-width: 768px) {
  .p16-comparison, .p17-layer-grid, .p20-archive-layout, .p22-filter { grid-template-columns: 1fr; }
  .p16-source-titles > *, .p16-action-row > *, .p17-version-directory > *, .p17-check-actions > *, .p20-action-row > *, .p22-source-buttons > * { width: 100%; }
  .p22-page .archive-tool-nav { grid-template-columns: 1fr; }
  .p22-table { table-layout: auto; }
  .p22-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .p22-table tr { display: grid; margin-bottom: 8px; border: 1px solid var(--line); }
  .p22-table th, .p22-table td { display: block; width: auto !important; border: 0; border-bottom: 1px solid var(--line); }
}
@media (max-width: 760px) {
  .p22-formal-content, .p22-gate { width: calc(100% - 20px); margin-top: 10px; }
  .p22-header { display: block; padding: 12px; }
  .p22-header dl { min-width: 0; margin-top: 10px; }
  .p22-workspace-menu { overflow-x: auto; }
  .p22-workspace-menu span, .p22-workspace-menu b { flex: 0 0 auto; padding-inline: 11px; }
  .p22-body { display: block; padding: 9px; }
  .p22-check, .p22-receipt { margin-top: 10px; }
  .p22-record-grid { display: block; }
  .p22-record-grid section + section { margin-top: 12px; }
  .p22-table { table-layout: fixed; font-size: 11px; }
  .p22-table th, .p22-table td { padding: 7px 5px; overflow-wrap: anywhere; }
  .p22-choice-list label { grid-template-columns: 38px minmax(0, 1fr); }
  .p22-actions > * { flex: 1 1 100%; text-align: center; }
}
@media (max-width: 760px) {
  .g01-page { overflow-x: hidden; }
  .g01-page .wig-g01-mailbox button, .g01-page .wig-g01-mailbox a, .g01-page .wig-g01-mailbox input, .g01-page .wig-g01-mailbox textarea { min-height: 44px; box-sizing: border-box; }
  .wig-g01-desktop { min-height: calc(100vh - 40px); padding: 0; }
  .wig-g01-window { width: 100%; height: calc(100vh - 40px); min-height: 0; border: 0; box-shadow: none; }
  .wig-g01-window-titlebar { min-height: 44px; padding: 0 8px; }
  .wig-g01-window-controls { display: none; }
  .wig-g01-toolbar { min-height: 46px; flex-wrap: wrap; padding: 4px 8px; }
  .wig-g01-toolbar-label { min-height: 34px; display: inline-flex; align-items: center; }
  .wig-g01-toolbar input { order: 2; flex: 1 1 100%; width: 100%; min-height: 44px; margin-left: 0; }
  .wig-g01-work-area { display: block; }
  .wig-g01-account { display: none; }
  .wig-g01-mail-view:not([data-g01-state="detail"]) .wig-g01-detail { display: none; }
  .wig-g01-mail-view[data-g01-state="detail"] .wig-g01-list { display: none; }
  .wig-g01-list { min-height: 0; height: 100%; border-right: 0; }
  .wig-g01-detail { min-height: 0; height: 100%; padding: 13px 13px 24px; }
  .wig-g01-back-list { display: inline-flex; align-items: center; }
  .wig-g01-detail h3 { margin: 0 0 12px; font-size: 19px; }
  .wig-g01-message-id-echo { position: static; display: block; margin-top: -6px; margin-bottom: 6px; }
  .wig-g01-flow-slip { float: none; width: auto; margin: 12px 0; }
  .wig-g01-detail .wig-comm-mail-body { font-size: 15px; }
  .wig-g01-attachment { align-items: flex-start; flex-wrap: wrap; }
  .wig-g01-attachment button { margin-left: 0; width: 100%; }
  .wig-g01-taskbar { padding-inline: 4px; }
  .wig-g01-start-button { width: 62px; padding-inline: 6px; }
  .wig-g01-task-mail { min-width: 0; flex: 1 1 auto; }
  .wig-g01-task-mail span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .wig-g01-tray { gap: 4px; padding-inline: 3px; }
  .wig-g01-network span { display: none; }
  .wig-g01-clock { min-width: 94px; font-size: 10px; }
  .wig-g01-resource-slot { margin-top: 13px; padding-top: 11px; }
  .wig-g01-resource-choices { grid-template-columns: 1fr; gap: 7px; }
  .wig-g01-resource-choice { width: 100%; }
  .wig-g01-package-panel { padding: 10px; }
  .wig-g01-package-hash { font-size: 10px; }
  .wig-g01-package-links { overflow-wrap: anywhere; }
}

/* P25: the sequential work order uses ledger rows, not puzzle cards. */
.p25-formal-content, .p25-gate, .p26-formal-content, .p26-gate { width: min(1160px, calc(100% - 32px)); margin: 14px auto 34px; }
.p25-gate-paper, .p26-gate-paper { padding: 18px; border: 1px solid #9aa8aa; border-top: 3px solid #315762; background: #fbfaf5; }
.p25-gate-paper h1, .p26-gate-paper h1 { margin: 5px 0; color: #294b5a; font: 700 20px/1.45 "SimSun", serif; }
.p25-actions, .p26-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.p25-workspace, .p26-workspace { border: 1px solid #829296; background: #e7ebe5; box-shadow: 0 1px 0 rgba(35,50,58,.12); }
.p25-header, .p26-header { display: grid; grid-template-columns: 1fr auto; gap: 4px 18px; padding: 14px 17px; border-bottom: 3px double #71858b; background: #edf0e9; }
.p25-header p, .p26-header p { grid-column: 1 / -1; margin: 0; color: #52666b; font: 11px/1.5 Consolas, "Microsoft YaHei", sans-serif; letter-spacing: .05em; }
.p25-header h1, .p26-header h1 { margin: 0; color: #264d59; font: 700 24px/1.35 "SimSun", serif; letter-spacing: .05em; }
.p25-header span, .p26-header span { align-self: end; color: #556a6f; font: 12px/1.5 Consolas, "Microsoft YaHei", sans-serif; text-align: right; }
.p25-ledger { margin: 15px; border: 1px solid #98a5a5; background: #faf9f2; }
.p25-ledger > header { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 10px 13px; border-bottom: 1px solid #a8b3b1; background: #e9eee8; }
.p25-ledger h2, .p26-paper h2 { margin: 0; color: #315661; font: 700 18px/1.4 "SimSun", serif; }
.p25-ledger > header p { max-width: 580px; margin: 0; color: #53656a; font-size: 12px; }
.p25-event { display: grid; grid-template-columns: minmax(250px, 1fr) minmax(410px, 1.4fr); gap: 8px 16px; padding: 12px 13px; border-bottom: 1px dotted #aeb8b6; }
.p25-event:last-child { border-bottom: 0; }
.p25-event header { display: flex; gap: 10px; align-items: flex-start; }
.p25-row-no { flex: 0 0 27px; height: 27px; display: grid; place-items: center; border: 1px solid #758c91; background: #e1e8e4; color: #315560; font: 700 13px/1 Consolas, monospace; }
.p25-event header p { margin: 0; color: #647478; font: 11px/1.3 Consolas, monospace; }
.p25-event h2 { margin: 2px 0 0; color: #293e45; font: 700 16px/1.45 "SimSun", serif; }
.p25-record-note, .p25-return { grid-column: 1; margin: 0; color: #57676a; font-size: 12px; }
.p25-return a { font-weight: 700; }
.p25-fields { grid-column: 2; grid-row: 1 / span 2; display: grid; grid-template-columns: 70px minmax(130px, 1fr) minmax(150px, 1.2fr); gap: 8px; align-content: start; }
.p25-fields label, .p26-reference label { display: grid; gap: 3px; color: #486069; font-size: 11px; font-weight: 700; }
.p25-fields select, .p26-reference select, .p26-layer select { min-height: 44px; width: 100%; padding: 6px 8px; border: 1px solid #82959a; border-radius: 0; background: #fffefa; color: #27323a; font: 12px/1.4 "Microsoft YaHei", sans-serif; }
.p25-move { grid-column: 2; display: flex; gap: 6px; flex-wrap: wrap; }
.p25-move button, .p26-layer button { min-height: 44px; padding: 7px 10px; border: 1px solid #86999d; border-radius: 0; background: #eef2ed; color: #365661; font: 12px "Microsoft YaHei", sans-serif; }
.p25-event { display:block; }
.p25-event header { display:block; }
.p25-evidence { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:10px 0 0; border-top:1px solid #b2bdb9; border-left:1px solid #b2bdb9; }
.p25-evidence > div { min-width:0; padding:8px 10px; border-right:1px solid #b2bdb9; border-bottom:1px solid #b2bdb9; }
.p25-evidence > div:last-child { grid-column:1 / -1; }
.p25-evidence dt, .p25-evidence dd { margin:0; overflow-wrap:anywhere; }
.p25-evidence dt { color:#506970; font-size:11px; font-weight:700; }
.p25-evidence dd { margin-top:4px; color:#31484e; font-size:12px; line-height:1.65; }
.p25-move { margin-top:10px; }
.p25-move button:disabled { color:#788486; background:#e1e4df; cursor:not-allowed; }
.p25-actions, .p26-actions { padding: 12px 13px; border-top: 1px solid #aab5b2; }
.p25-actions button, .p26-actions button { min-height: 44px; }
.p25-status, .p26-status { min-height: 2.6em; margin: 0; padding: 0 13px 13px; color: #526970; font-size: 12px; }
.p25-confirmed-list { margin: 0; padding: 0; list-style: none; }
.p25-confirmed-list li { display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 4px 12px; padding: 10px 13px; border-top: 1px dotted #aeb8b6; }
.p25-confirmed-list b { color: #456a73; font: 12px Consolas, monospace; }
.p25-confirmed-list small { grid-column: 2; color: #5b6d70; font-size: 11px; }
.p25-ledger > p { margin: 12px 13px; color: #53666a; font-size: 12px; }
.p25-next-hold, .p26-next-hold { margin: 15px; padding: 11px 13px; border: 1px solid #a7b3b2; background: #f4f5ee; color: #55676a; font-size: 12px; }
.p25-next-hold p, .p26-next-hold p { margin: 0; }
.p25-next-hold a, .p26-next-hold a { min-height: 44px; display: inline-flex; align-items: center; }

/* P26: transparent drafting lines are deliberately secondary to its paper trail. */
.p26-layout { padding: 15px; }
.p26-layout form { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(310px, .8fr); gap: 14px; }
.p26-paper { min-width: 0; border: 1px solid #98a5a5; background: #faf9f2; }
.p26-layers { padding: 13px; }
.p26-layers > p, .p26-reference > p { margin: 5px 0 12px; color: #586a6e; font-size: 12px; }
.p26-layer { margin-top: 9px; border-top: 2px solid #79929a; background: #f2f4ed; opacity: .75; }
.p26-layer.is-visible { opacity: 1; }
.p26-layer > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 44px; padding: 7px 9px; background: #e2e9e4; color: #335762; font-weight: 700; }
.p26-layer > header label { min-height: 30px; display: inline-flex; align-items: center; gap: 5px; font-size: 13px; }
.p26-visible { color: #53696d; font-size: 11px !important; font-weight: 400 !important; }
.p26-layer-body { display: grid; grid-template-columns: 185px minmax(0, 1fr); gap: 8px 12px; padding: 10px; }
.p26-plan-signature { grid-row: 1 / span 2; min-height: 112px; border: 1px solid #94a8a6; background: repeating-linear-gradient(0deg, rgba(71,109,116,.06) 0 1px, transparent 1px 8px), #f7f8f1; }
.p26-plan-signature svg { width: 100%; height: 100%; min-height: 112px; fill: none; stroke: #567580; stroke-width: 2; }
.p26-plan-2003 svg { stroke-dasharray: 5 3; }
.p26-plan-2008 svg { stroke: #7b8a76; stroke-width: 1.5; }
.p26-coordinate { margin: 0; color: #52676c; font-size: 12px; }
.p26-layer-body > label { display: grid; gap: 3px; color: #486069; font-size: 11px; font-weight: 700; }
.p26-layer-body button { justify-self: start; }
.p26-reference { padding: 13px; }
.p26-reference table { width: 100%; border-collapse: collapse; font-size: 12px; }
.p26-reference caption { padding: 7px 0; color: #647478; text-align: left; font-size: 11px; }
.p26-reference th, .p26-reference td { padding: 8px 6px; border: 1px solid #b4bfbc; vertical-align: top; text-align: left; }
.p26-reference th { width: 72px; color: #3e6069; background: #eef1ea; }
.p26-reference td:last-child { width: 88px; }
.p26-layout .p26-actions, .p26-layout .p26-status { grid-column: 1 / -1; margin: 0; }
.p26-workspace > form { padding:15px; }
.p26-layer-controls { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:10px; }
.p26-layer-control { display:grid; gap:8px; padding:10px; border:1px solid #a6b2ae; background:#eef1ea; }
.p26-layer-control label { min-height:44px; display:flex; align-items:center; gap:8px; color:#405e66; font-size:12px; font-weight:700; }
.p26-layer-control label:last-of-type { display:grid; grid-template-columns:auto minmax(0,1fr); }
.p26-layer-control input[type="checkbox"] { width:20px; height:20px; }
.p26-layer-control input[type="range"] { width:100%; }
.p26-layer-control button { min-height:44px; border:1px solid #86999d; border-radius:0; background:#f7f7f0; color:#365661; }
.p26-map-stack { margin-top:12px; border:1px solid #879c9f; background:repeating-linear-gradient(0deg,rgba(71,109,116,.06) 0 1px,transparent 1px 10px),#f7f8f1; overflow:hidden; }
.p26-map-stack svg { display:block; width:100%; height:auto; min-height:220px; }
.p26-svg-layer { fill:none; stroke:#456e78; stroke-width:2; }
.p26-svg-layer text { fill:#315762; stroke:none; font:12px "SimSun",serif; }
.p26-svg-2003 { stroke:#6d6652; stroke-dasharray:6 3; }
.p26-svg-2008 { stroke:#7b5151; stroke-width:3; }
.p26-legends { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:10px; }
.p26-layer-legend { padding:10px; border:1px solid #a7b4af; background:#f6f6ef; }
.p26-layer-legend h3 { margin:0; color:#355a64; font:700 14px/1.4 "SimSun",serif; }
.p26-layer-legend p, .p26-layer-legend ul { margin:6px 0 0; color:#52686c; font-size:11px; line-height:1.65; }
.p26-reference { margin-top:12px; }
.p26-reference dl { margin:10px 0; border-top:1px solid #b2bdb9; }
.p26-reference dl div { display:grid; grid-template-columns:90px minmax(0,1fr); border-bottom:1px solid #b2bdb9; }
.p26-reference dt, .p26-reference dd { margin:0; padding:8px; }
.p26-reference dt { color:#45626a; background:#eef1eb; font-weight:700; }
.p26-location { display:grid; gap:7px; margin-top:12px; padding:10px; border:1px solid #9fadaa; }
.p26-location legend { padding:0 5px; color:#355a64; font-weight:700; }
.p26-location label { min-height:44px; display:flex; align-items:center; gap:8px; padding:5px 8px; border:1px solid #b4bfbc; background:#fffefa; }
.p26-static { margin: 15px; padding: 13px; }
.p26-static dl { margin: 12px 0 0; border-top: 1px solid #abb7b4; }
.p26-static dl div { display: grid; grid-template-columns: 92px minmax(0, 1fr); border-bottom: 1px solid #c0c9c5; }
.p26-static dt, .p26-static dd { margin: 0; padding: 8px; }
.p26-static dt { color: #45626a; background: #eef1eb; font-weight: 700; }
.p26-static p { color: #58696d; font-size: 12px; }
.p24-audit-confirmation { margin: 7px 0 0; padding: 8px; border-left: 3px solid #668894; background: #eef1eb; color: #45626a; font-size: 12px; }
.p24-holds > a { min-height: 112px; display: flex; flex-direction: column; justify-content: center; gap: 5px; padding: 14px; border: 1px solid #8da0a4; background: #f5f6ef; color: #345763; text-decoration: none; }
.p24-holds > a b { font: 700 17px/1.4 "SimSun", serif; }
.p24-holds > a span { color: #596b6f; font-size: 12px; }
@media (max-width: 760px) {
  .p25-formal-content, .p25-gate, .p26-formal-content, .p26-gate { width: calc(100% - 20px); margin-top: 10px; }
  .p25-header, .p26-header { display: block; padding: 12px; }
  .p25-header span, .p26-header span { display: block; margin-top: 5px; text-align: left; }
  .p25-ledger, .p26-layout, .p25-next-hold, .p26-next-hold { margin: 9px; }
  .p25-ledger > header { display: block; }
  .p25-event { display: block; padding: 12px 10px; }
  .p25-record-note, .p25-return { margin-top: 8px; }
  .p25-fields { display: block; margin-top: 9px; }
  .p25-fields label { margin-top: 8px; }
  .p25-move { margin-top: 8px; }
  .p25-move button { flex: 1 1 30%; }
  .p25-evidence { grid-template-columns:1fr; }
  .p25-evidence > div:last-child { grid-column:auto; }
  .p25-actions > *, .p26-actions > * { flex: 1 1 100%; text-align: center; }
  .p26-layout { padding: 9px; }
  .p26-layout form { display: block; }
  .p26-reference { margin-top: 10px; }
  .p26-layer > header { align-items: flex-start; flex-direction: column; }
  .p26-layer-body { display: block; }
  .p26-plan-signature { margin-bottom: 9px; }
  .p26-layer-body > label, .p26-layer-body button { margin-top: 8px; }
  .p26-reference th, .p26-reference td { overflow-wrap: anywhere; }
  .p26-workspace > form { padding:9px; }
  .p26-layer-controls, .p26-legends { grid-template-columns:1fr; }
  .p26-reference dl div { grid-template-columns:82px minmax(0,1fr); }
}

@media (forced-colors: active) {
  .p26-map-stack { display:none; }
  .p26-layer-legend, .p26-reference { border:1px solid CanvasText; }
}

@media (prefers-reduced-motion: reduce) {
  .p25-workspace *, .p26-workspace * { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}

/* A2 public library pages: ordinary 2011 service information. */
.p02-page .p02-facts, .p03-page .p03-today-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 12px 0 0; border-top: 1px solid #aebbb8; border-left: 1px solid #aebbb8; }
.p02-page .p02-facts > div, .p03-page .p03-today-grid > div { padding: 10px 12px; border-right: 1px solid #aebbb8; border-bottom: 1px solid #aebbb8; background: #f1f4ed; }
.p02-page .p02-facts dt, .p03-page .p03-today-grid dt { color: #49666b; font-size: 12px; font-weight: 700; }
.p02-page .p02-facts dd, .p03-page .p03-today-grid dd { margin: 4px 0 0; color: #243f49; font: 700 15px/1.5 Tahoma,"Microsoft YaHei",sans-serif; }
.p02-page .p02-record-table details, .p02-page .p02-source-note, .p08-page .p08-service-table details, .p08-page .p08-faq details { border: 1px solid #b4c0bc; background: #f7f7f0; }
.p02-page .p02-record-table summary, .p02-page .p02-source-note summary, .p08-page .p08-service-table summary, .p08-page .p08-faq summary { min-height: 44px; padding: 10px; color: #315966; cursor: pointer; font-weight: 700; }
.p02-page .p02-record-table details p, .p02-page .p02-source-note p, .p08-page .p08-service-table details p, .p08-page .p08-faq details p { margin: 0; padding: 0 10px 10px; }
.p03-page .p03-arrival-list > div { display: grid; grid-template-columns: 100px minmax(0,1fr); border-bottom: 1px dotted #aebbb8; }
.p03-page .p03-arrival-list dt, .p03-page .p03-arrival-list dd { margin: 0; padding: 9px; }
.p03-page .p03-arrival-list dt { color: #315966; font-weight: 700; }
.p03-page .service-hours-mobile { display: none; }
.p05-page .floor-map-frame { overflow: hidden; }
.p05-page .floor-map-svg { min-width: 0; }
.p05-page .p05-accessibility ul, .p08-page .p08-service-notes { margin: 0; padding-left: 22px; line-height: 1.8; }
.p05-page .p05-accessibility li + li, .p08-page .p08-service-notes li + li { margin-top: 5px; }
.p08-page .p08-filter { display: grid; grid-template-columns: auto minmax(150px,1fr) auto auto; align-items: center; gap: 8px; }
.p08-page .p08-filter label { color: #315966; font-size: 12px; font-weight: 700; }
.p08-page .p08-filter select { min-height: 44px; }
.p08-page .p08-faq { display: grid; gap: 8px; margin-top: 12px; }

@media (max-width: 760px) {
  .p02-page .p02-facts, .p03-page .p03-today-grid { grid-template-columns: 1fr; }
  .p08-page .p08-filter { grid-template-columns: 1fr; }
  .p08-page .p08-filter button, .p08-page .p08-filter select { width: 100%; min-height: 44px; }
  .p02-page .p02-department-table, .p02-page .p02-record-table, .p03-page .service-hours-table, .p05-page .p05-area-table, .p08-page .p08-service-table,
  .p02-page .p02-department-table tbody, .p02-page .p02-record-table tbody, .p03-page .service-hours-table tbody, .p05-page .p05-area-table tbody, .p08-page .p08-service-table tbody { display: block; width: 100%; border: 0; }
  .p02-page .p02-department-table thead, .p02-page .p02-record-table thead, .p03-page .service-hours-table thead, .p05-page .p05-area-table thead, .p08-page .p08-service-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .p02-page .p02-department-table tr, .p02-page .p02-record-table tr, .p03-page .service-hours-table tr, .p05-page .p05-area-table tr, .p08-page .p08-service-table tr { display: block; margin-bottom: 9px; border: 1px solid #a8b8b5; background: #fff; }
  .p02-page .p02-department-table th, .p02-page .p02-record-table th, .p03-page .service-hours-table th, .p05-page .p05-area-table th, .p08-page .p08-service-table th { display: block; color: #174f68; background: #edf3ef; font-size: 14px; }
  .p02-page .p02-department-table td, .p02-page .p02-record-table td, .p03-page .service-hours-table td, .p05-page .p05-area-table td, .p08-page .p08-service-table td { display: block; width: auto; min-width: 0; overflow-wrap: anywhere; border-width: 1px 0 0; }
  .p03-page .service-hours-table { display: block; }
  .p05-page .guide-directory dl > div, .p03-page .p03-arrival-list > div { grid-template-columns: 82px minmax(0,1fr); }
}

@media (prefers-reduced-motion: reduce) {
  .p02-page *, .p03-page *, .p05-page *, .p08-page * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* B2: P11/P12 share one restrained CAT cataloguing intranet surface. */
.p11-page .cat-intranet, .p12-page .cat-intranet { width: min(1250px, calc(100% - 32px)); margin: 14px auto 34px; border: 1px solid #75868a; background: #dfe5e1; color: #263d44; box-shadow: 2px 3px 0 rgba(38,61,69,.12); }
.p11-page .cat-intranet-head, .p12-page .cat-intranet-head { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,520px); align-items: stretch; gap: 18px; padding: 14px 16px 12px; border-bottom: 1px solid #849398; background: #f3f2e9; }
.p11-page .cat-intranet-head h1, .p12-page .cat-intranet-head h1 { margin: 4px 0; color: #254954; font: 700 23px/1.35 "SimSun", "Songti SC", serif; letter-spacing: .04em; }
.p11-page .cat-intranet-head p, .p12-page .cat-intranet-head p { margin: 0; color: #596d72; font-size: 12px; line-height: 1.65; }
.p11-page .cat-kicker, .p12-page .cat-kicker { color: #496973 !important; font: 700 11px/1.5 Consolas, "Microsoft YaHei", sans-serif !important; letter-spacing: .05em; }
.p11-page .cat-intranet-head dl, .p12-page .cat-intranet-head dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; border: 1px solid #9aa7a5; background: #e7ece6; }
.p11-page .cat-intranet-head dl div, .p12-page .cat-intranet-head dl div { min-width: 0; padding: 6px 8px; border-right: 1px solid #b1bbaf; }
.p11-page .cat-intranet-head dl div:last-child, .p12-page .cat-intranet-head dl div:last-child { border-right: 0; }
.p11-page .cat-intranet-head dt, .p11-page .cat-intranet-head dd, .p12-page .cat-intranet-head dt, .p12-page .cat-intranet-head dd { margin: 0; overflow-wrap: anywhere; font-size: 11px; line-height: 1.5; }
.p11-page .cat-intranet-head dt, .p12-page .cat-intranet-head dt { color: #667573; }
.p11-page .cat-intranet-head dd, .p12-page .cat-intranet-head dd { color: #2f555e; font-weight: 700; }
.p11-page .cat-intranet-nav, .p12-page .cat-intranet-nav { display: flex; flex-wrap: wrap; border-bottom: 2px solid #4e6b76; background: #718995; color: #eef3ef; font-size: 12px; }
.p11-page .cat-intranet-nav span, .p11-page .cat-intranet-nav b, .p11-page .cat-intranet-nav a, .p12-page .cat-intranet-nav span, .p12-page .cat-intranet-nav b, .p12-page .cat-intranet-nav a { min-height: 44px; display: inline-flex; align-items: center; padding: 7px 14px; border-right: 1px solid rgba(255,255,255,.3); color: inherit; font-weight: 400; text-decoration: none; }
.p11-page .cat-intranet-nav b, .p12-page .cat-intranet-nav b { background: #314f59; font-weight: 700; }
.p11-page .cat-intranet-nav a:hover, .p11-page .cat-intranet-nav a:focus-visible, .p12-page .cat-intranet-nav a:hover, .p12-page .cat-intranet-nav a:focus-visible { background: #496772; outline-color: #fff; }
.p11-page .cat-intranet-body, .p12-page .cat-intranet-body { display: grid; grid-template-columns: minmax(0,1fr) 310px; align-items: start; gap: 12px; padding: 12px; }
.p11-page .cat-record-main, .p12-page .cat-record-main { min-width: 0; }
.p11-page .cat-record-head, .p12-page .p12-current-record { border: 1px solid #89989a; background: #f7f5eb; }
.p11-page .cat-record-head { padding: 13px 15px; border-bottom: 3px double #607d87; }
.p11-page .cat-record-head h2 { margin: 3px 0 6px; color: #294e58; font: 700 21px/1.4 "SimSun", serif; }
.p11-page .cat-record-head > p:not(.cat-kicker):not(.p11-revisit-note) { margin: 0; color: #5b696a; font-size: 13px; line-height: 1.7; }
.p11-page .p11-revisit-note { margin: 9px 0 0; padding: 6px 8px; border-left: 3px solid #6d8589; background: #e8ece6; color: #405c62; font-size: 12px; }
.p11-page .cat-panel { margin-top: 12px; border: 1px solid #89989a; background: #f7f5eb; }
.p11-page .cat-panel-head { display: flex; align-items: end; justify-content: space-between; gap: 12px; padding: 9px 11px; border-bottom: 2px solid #607d87; background: #e9eee8; }
.p11-page .cat-panel-head h3 { margin: 0; color: #294e58; font: 700 18px/1.4 "SimSun", serif; }
.p11-page .cat-panel-head span { color: #5e6e70; font-size: 11px; }
.p11-page .cat-panel > .p11-source-lede, .p11-page .cat-panel > .p11-source-pair, .p11-page .cat-panel > .p11-source-status, .p11-page .cat-panel > .p11-verify-row, .p11-page .cat-panel > .p11-verify-status { margin-right: 12px; margin-left: 12px; }
.p11-page .cat-panel > .p11-source-pair { margin-top: 10px; }
.p11-page .cat-panel > .p11-verify-status { margin-bottom: 12px; }
.p11-page .p11-attachment-section > .p11-attachment { margin: 12px; }
.p11-page .cat-business-help, .p12-page .cat-business-help { min-width: 0; border: 1px solid #89989a; background: #eef1eb; }
.p11-page .cat-business-help section, .p12-page .cat-business-help section { padding: 12px 13px; border-bottom: 1px solid #aab5ae; }
.p11-page .cat-business-help section:last-child, .p12-page .cat-business-help section:last-child { border-bottom: 0; }
.p11-page .cat-business-help h2, .p12-page .cat-business-help h2 { margin: 0 0 7px; color: #31515a; font: 700 15px/1.4 "SimSun", serif; }
.p11-page .cat-business-help p, .p12-page .cat-business-help p { margin: 6px 0 0; color: #536263; font-size: 12px; line-height: 1.7; }
.p11-page .cat-business-help dl, .p12-page .cat-business-help dl { margin: 0; border-top: 1px dotted #aeb8b2; }
.p11-page .cat-business-help dl div, .p12-page .cat-business-help dl div { display: grid; grid-template-columns: 84px minmax(0,1fr); border-bottom: 1px dotted #aeb8b2; }
.p11-page .cat-business-help dt, .p11-page .cat-business-help dd, .p12-page .cat-business-help dt, .p12-page .cat-business-help dd { margin: 0; padding: 6px 3px; overflow-wrap: anywhere; font-size: 11px; line-height: 1.55; }
.p11-page .cat-business-help dt, .p12-page .cat-business-help dt { color: #697675; }
.p11-page .cat-business-help dd, .p12-page .cat-business-help dd { color: #40575c; font-weight: 700; }
.p11-page .cat-intranet-foot, .p12-page .cat-intranet-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 38px; padding: 7px 13px; border-top: 1px solid #87979a; background: #d5ded8; color: #50666a; font: 11px/1.5 Consolas, "Microsoft YaHei", sans-serif; }
.p11-page .cat-intranet-foot a, .p12-page .cat-intranet-foot a { min-height: 44px; display: inline-flex; align-items: center; color: #284e59; font-weight: 700; }
.p12-page .p12-workspace-main { padding: 0; background: transparent; }
.p12-page .p12-current-record { margin: 0; }
.p12-page .p12-save-warning { border-left: 3px solid #98664d; padding-left: 9px; color: #6d483c; }

@media (max-width: 820px) {
  .p11-page .cat-intranet, .p12-page .cat-intranet { width: calc(100% - 20px); margin-top: 10px; }
  .p11-page .cat-intranet-head, .p12-page .cat-intranet-head { display: block; padding: 12px; }
  .p11-page .cat-intranet-head dl, .p12-page .cat-intranet-head dl { grid-template-columns: 1fr; margin-top: 10px; }
  .p11-page .cat-intranet-head dl div, .p12-page .cat-intranet-head dl div { border-right: 0; border-bottom: 1px solid #b1bbaf; }
  .p11-page .cat-intranet-head dl div:last-child, .p12-page .cat-intranet-head dl div:last-child { border-bottom: 0; }
  .p11-page .cat-intranet-nav, .p12-page .cat-intranet-nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .p11-page .cat-intranet-nav span, .p11-page .cat-intranet-nav b, .p11-page .cat-intranet-nav a, .p12-page .cat-intranet-nav span, .p12-page .cat-intranet-nav b, .p12-page .cat-intranet-nav a { min-width: 0; justify-content: center; border-right: 1px solid rgba(255,255,255,.3); border-bottom: 1px solid rgba(255,255,255,.2); padding: 7px 5px; text-align: center; }
  .p11-page .cat-intranet-body, .p12-page .cat-intranet-body { display: block; padding: 8px; }
  .p11-page .cat-business-help, .p12-page .cat-business-help { margin-top: 8px; }
  .p11-page .cat-panel-head { align-items: start; flex-direction: column; gap: 2px; }
  .p11-page .cat-intranet-foot, .p12-page .cat-intranet-foot { align-items: start; flex-direction: column; gap: 0; }
}

@media (max-width: 520px) {
  .p11-page .cat-intranet-head h1, .p12-page .cat-intranet-head h1 { font-size: 20px; }
  .p11-page .cat-business-help dl div, .p12-page .cat-business-help dl div { grid-template-columns: 1fr; }
  .p11-page .cat-business-help dt, .p12-page .cat-business-help dt { padding-bottom: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .p11-page .cat-intranet *, .p12-page .cat-intranet * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* C1: one restrained 2011 ARCHIVE tool family for version, scan, disposition and visitor records. */
.p19-page.wig-site-archive, .p21-page.wig-site-archive, .p23-page.wig-site-archive, .p24-page.wig-site-archive, .p25-page.wig-site-archive, .p26-page.wig-site-archive, .p27-page.wig-site-archive, .p28-page.wig-site-archive { background: #d6dcdd; color: #34464d; font-family: "Microsoft YaHei", "SimSun", sans-serif; }
.p19-page .archive-tool, .p21-page .archive-tool, .p23-page .archive-tool, .p24-page .archive-tool, .p25-page .archive-tool, .p26-page .archive-tool, .p27-page .archive-tool, .p28-page .archive-tool { border-color: #829499; background: #eef0e9; }
.p19-page .archive-tool-nav, .p21-page .archive-tool-nav, .p23-page .archive-tool-nav, .p24-page .archive-tool-nav { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); border-bottom: 2px solid #405d69; background: #d7dfdc; }
.p19-page .archive-tool-nav > *, .p21-page .archive-tool-nav > *, .p23-page .archive-tool-nav > *, .p24-page .archive-tool-nav > * { min-width: 0; min-height: 44px; display: flex; align-items: center; justify-content: center; padding: 7px 8px; border-right: 1px solid #9dacab; color: #31515d; font: 700 12px/1.35 "SimSun", "Microsoft YaHei", sans-serif; text-align: center; text-decoration: none; }
.p19-page .archive-tool-nav > *:last-child, .p21-page .archive-tool-nav > *:last-child, .p23-page .archive-tool-nav > *:last-child, .p24-page .archive-tool-nav > *:last-child { border-right: 0; }
.p19-page .archive-tool-nav a:hover, .p19-page .archive-tool-nav a:focus-visible, .p21-page .archive-tool-nav a:hover, .p21-page .archive-tool-nav a:focus-visible, .p23-page .archive-tool-nav a:hover, .p23-page .archive-tool-nav a:focus-visible, .p24-page .archive-tool-nav a:hover, .p24-page .archive-tool-nav a:focus-visible { background: #f8f6ef; color: #203f4a; outline: 2px solid #315d6b; outline-offset: -2px; }
.p19-page .archive-tool-nav span, .p21-page .archive-tool-nav span, .p23-page .archive-tool-nav span, .p24-page .archive-tool-nav span { color: #66777a; font-weight: 400; }
.p19-page .p19-header, .p21-page .p21-header, .p23-page .p23-header, .p24-page .p24-header { border-top: 4px solid #405d69; background: #e5e9e4; }
.p19-page .p19-paper, .p21-page .p21-paper, .p23-page .p23-paper, .p24-page .p24-paper { border-radius: 0; box-shadow: none; }
.p19-page.wig-site-archive .p19-gate-actions a, .p21-page.wig-site-archive .p21-gate-actions a, .p23-page.wig-site-archive .p23-actions a, .p24-page.wig-site-archive .p24-actions a { min-height: 44px; }

@media (max-width: 600px) {
  .p19-page .archive-tool-nav, .p21-page .archive-tool-nav, .p23-page .archive-tool-nav, .p24-page .archive-tool-nav { grid-template-columns: 1fr; }
  .p19-page .archive-tool-nav > *, .p21-page .archive-tool-nav > *, .p23-page .archive-tool-nav > *, .p24-page .archive-tool-nav > * { justify-content: flex-start; border-right: 0; border-bottom: 1px solid #a8b4b1; padding-inline: 12px; text-align: left; }
  .p19-page .archive-tool-nav > *:last-child, .p21-page .archive-tool-nav > *:last-child, .p23-page .archive-tool-nav > *:last-child, .p24-page .archive-tool-nav > *:last-child { border-bottom: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .p19-page .archive-tool *, .p21-page .archive-tool *, .p23-page .archive-tool *, .p24-page .archive-tool *, .p27-page .archive-tool * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
.wig-package-presented-image {
  display: block;
  width: min(100%, 920px);
  max-height: 70vh;
  margin: 0 auto 1rem;
  object-fit: contain;
  border: 1px solid rgba(61, 53, 38, .28);
  background: #eee8d8;
}

.wig-package-presented-text {
  max-height: 22rem;
  overflow: auto;
  margin: 0 0 1rem;
  padding: .9rem;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  border: 1px solid rgba(61, 53, 38, .28);
  background: #f4f0e4;
  font: inherit;
}

.wig-voice-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
}

.wig-voice-status {
  flex-basis: 100%;
  font-size: .9em;
}

/* Batch C public-site imagery: one stable online/local image, with HTML meaning kept visible. */
.public-site-figure { margin: 12px 0; overflow: hidden; }
.public-site-figure img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; background: #e8e8df; }
.public-site-figure figcaption { display: grid; gap: 2px; padding: 8px 10px; font-size: 12px; line-height: 1.55; }
.public-site-figure figcaption b, .public-site-figure figcaption strong { font-size: 13px; }
.p01-page .public-site-figure, .p02-page .public-site-figure, .p07-page .public-site-figure, .p09-page .public-site-figure { border: 1px solid #9caaa6; background: #f5f5ed; }
.p01-page .public-site-figure figcaption, .p02-page .public-site-figure figcaption, .p07-page .public-site-figure figcaption, .p09-page .public-site-figure figcaption { border-top: 1px solid #acb7b3; color: #4b6063; }
.p01-exterior-figure img, .p02-exterior-figure img { object-position: 50% 43%; }
.p01-reading-figure img, .p02-reading-figure img { object-position: 47% 48%; }
.p01-new-arrivals-figure img, .p09-new-arrivals-figure img { object-position: 52% 44%; }
.p07-periodicals-figure img, .night-history-wall-figure img, .archive-scan-figure img { aspect-ratio: 4 / 3; }
.p07-periodicals-figure img { object-position: 48% 46%; }
.night-school-site .public-site-figure { border: 1px solid #8ea4bc; background: #edf2f7; }
.night-school-site .public-site-figure figcaption { border-top: 3px double #7791ad; color: #405b78; font-family: "SimSun", serif; }
.night-classroom-figure img { object-position: 46% 42%; }
.night-history-wall-figure img { object-position: 54% 48%; }
.transit-info-site .public-site-figure { border: 1px solid #718b99; background: #fff; }
.transit-info-site .public-site-figure figcaption { border-top: 5px solid #efbd24; color: #385566; font-family: Tahoma, "Microsoft YaHei", sans-serif; }
.transit-vehicle-figure img { object-position: 56% 46%; }
.transit-depot-figure { margin: 0; border: 0 !important; border-bottom: 1px solid #8195a1 !important; }
.transit-depot-figure img { object-position: 43% 46%; }
.archive-site-page .public-site-figure { border: 1px solid #91a0a2; background: #eef1ec; }
.archive-site-page .public-site-figure figcaption { border-top: 1px solid #91a0a2; color: #465d63; }
.archive-site-page .public-site-figure figcaption strong { color: #714b36; }
.archive-books-figure img { object-position: 48% 45%; }
.archive-scan-figure img { object-position: 51% 48%; }

@media (min-width: 761px) {
  .p01-exterior-figure { display: grid; grid-template-columns: minmax(0,2.2fr) minmax(240px,.8fr); align-items: stretch; }
  .p01-exterior-figure figcaption { align-content: center; border-top: 0; border-left: 1px solid #acb7b3; }
  .p01-portal-reading { grid-column: span 2; }
  .p01-portal-reading .public-site-figure { display: grid; grid-template-columns: minmax(280px,.9fr) minmax(0,1.1fr); }
  .p01-portal-reading .public-site-figure figcaption { align-content: center; border-top: 0; border-left: 1px solid #acb7b3; }
  .p02-page .public-site-figure { max-width: 720px; }
  .p07-periodicals-figure { display: grid; grid-template-columns: minmax(260px,.75fr) minmax(0,1.25fr); }
  .p07-periodicals-figure figcaption { align-content: center; border-top: 0; border-left: 1px solid #acb7b3; }
  .p09-new-arrivals-figure { max-width: 760px; }
  .night-classroom-figure, .night-history-wall-figure { max-width: 720px; }
  .transit-vehicle-figure { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(250px,.7fr); }
  .transit-vehicle-figure figcaption { align-content: center; border-top: 0; border-left: 5px solid #efbd24; }
  .archive-site-page .public-site-figure { max-width: 780px; }
}

@media (max-width: 760px) {
  .public-site-figure { margin: 9px 0; }
  .public-site-figure figcaption { padding: 8px; }
  .public-site-figure img { min-height: 0; }
}
