:root{--ink:#243c31;--muted:#777b73;--paper:#f6f5ef;--line:#dfdfd5;--accent:#a87543;--white:#fff;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);font:14px/1.65 var(--sans);color:var(--ink)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #a87543;outline-offset:3px}button{border:0;background:none}img{max-width:100%;display:block}figure{margin:0}.topbar{height:89px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;border-bottom:1px solid var(--line);background:var(--paper)}.brand{display:flex;align-items:center;gap:16px;font-size:16px;letter-spacing:2.3px;font-weight:650}.brand small{display:block;font-size:8px;letter-spacing:1.6px;font-weight:400;margin-top:3px;color:var(--muted)}.brand-mark{font:42px/.9 Georgia,serif;width:45px;border-right:1px solid var(--line);position:relative}.brand-mark span{font:11px var(--sans);position:absolute;top:-2px;right:9px}.top-actions{display:flex;gap:24px;align-items:center}.private-label{font-size:11px;color:var(--muted);display:flex;gap:7px;align-items:center}.private-label i{width:5px;height:5px;background:#547459;border-radius:50%}.outline{border:1px solid #bfc6b9;padding:9px 15px;background:transparent;border-radius:3px;font-size:12px}.outline:hover{background:#e9ede5}.outline span{margin-left:14px}.subtle{color:var(--muted);font-size:12px;padding:7px}.subtle:hover{color:var(--ink)}.layout{display:grid;grid-template-columns:220px 1fr;max-width:1920px;margin:0 auto}.sidebar{padding:36px 22px;position:sticky;top:0;height:100vh;overflow:auto;border-right:1px solid var(--line)}.nav-label{color:#92958a;font-size:10px;letter-spacing:1.5px;margin:0 14px 14px}.nav-label span{float:right}.nav-button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:9px 13px;font-size:12px;border-radius:3px;text-align:left;gap:10px;margin:2px 0}.nav-button span{font-size:10px;color:#8b9184;font-variant-numeric:tabular-nums}.nav-button.active{background:#e7ebdf;color:#244b35;font-weight:650}.nav-button:hover{background:#ebeee5}.nav-divider{border-top:1px solid var(--line);margin:25px 14px}.sidebar-bottom{margin:45px 14px 0;font-size:10px;color:var(--muted)}.sidebar-bottom b{font-size:11px;font-weight:500;color:#596b55}.mini-line{display:block;width:22px;height:2px;background:#a2ac90;margin-bottom:15px}.sidebar-bottom a{display:block;margin-top:22px;color:#566952;text-decoration:underline;text-underline-offset:4px}main{padding:40px 42px 0;min-width:0}.intro{display:grid;grid-template-columns:0.9fr 1.3fr;gap:40px;align-items:center;padding-bottom:36px;border-bottom:1px solid var(--line);margin-bottom:31px}.eyebrow{font-size:9px;letter-spacing:1.9px;color:#8b8e7f;margin:0 0 15px;font-weight:500}.intro h1{font-size:38px;font-weight:500;letter-spacing:1px;line-height:1.3;margin:0 0 18px}.intro-text{font-size:14px;color:#7b8073;line-height:1.9;margin:0 0 23px}.intro-meta{display:flex;gap:22px;font-size:10px;color:var(--muted);margin-bottom:25px;flex-wrap:wrap}.intro-meta b{font:21px Georgia,serif;color:var(--ink);margin-right:5px;font-variant-numeric:tabular-nums}.dark-btn{background:var(--ink);color:#fff;padding:11px 17px;border-radius:3px;font-size:12px;display:inline-flex;align-items:center;gap:32px}.dark-btn:hover{background:#3a5844}.intro-image{position:relative;align-self:stretch;min-height:260px;display:flex;flex-direction:column;justify-content:center}.intro-image img{width:100%;aspect-ratio:1.85;object-fit:cover;border-radius:2px}.intro-image figcaption{font-size:8px;display:flex;justify-content:space-between;letter-spacing:1px;color:var(--muted);margin-top:9px}.section-heading{display:flex;align-items:end;justify-content:space-between}.section-heading .eyebrow{font-size:8px;margin-bottom:5px}.section-heading h2{font-size:21px;font-weight:500;margin:0}.section-heading>span{font-size:11px;color:#8b8c7c}.section-note{font-size:11px;color:var(--muted);margin:10px 0 21px}.toolbar{display:flex;gap:10px;margin:21px 0 22px;align-items:center}.search{display:flex;gap:10px;align-items:center;border:1px solid var(--line);background:#fcfcf9;padding:8px 13px;flex:1;border-radius:3px}.search svg{width:16px;height:16px;fill:none;stroke:#94998a;stroke-width:1.5;flex-shrink:0}.search input{border:0;background:none;min-width:0;width:100%;font-size:11px;outline:none}.toolbar select{font-size:11px;padding:9px 23px 9px 12px;border:1px solid var(--line);background:#fcfcf9;border-radius:3px;max-width:180px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 19px}.card{background:#fff;border:1px solid #e7e7df;border-radius:4px;overflow:hidden;transition:transform .18s,box-shadow .18s;min-width:0}.card:hover{transform:translateY(-3px);box-shadow:0 7px 24px #243c310b}.card-image{width:100%;aspect-ratio:1.48;position:relative;display:block;overflow:hidden;text-align:left;padding:0;background:#eeeee7}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.card-image:hover img{transform:scale(1.025)}.card-image.is-page img{object-fit:contain;background:#fff}.card-image::after{content:'查看选材卡 ↗';position:absolute;right:11px;bottom:10px;font-size:9px;padding:4px 8px;background:#ffffffed;border-radius:2px;color:#52624a}.card-badge{position:absolute;left:10px;top:10px;font-size:9px;background:#fffef3ec;color:#6b735b;padding:3px 7px;border-radius:2px}.placeholder{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#9b9e8d;background:repeating-linear-gradient(135deg,#ededE6 0px,#ededE6 1px,#f4f3ec 1px,#f4f3ec 15px)}.placeholder b{font:34px Georgia,serif;font-weight:400}.placeholder span{font-size:10px;margin-top:8px}.card-body{padding:15px 16px 14px}.card-meta{display:flex;justify-content:space-between;font-size:8px;color:#8d9284;letter-spacing:.3px;gap:7px}.card h3{font-size:14px;font-weight:550;margin:9px 0 6px;line-height:1.5}.card-title{text-align:left;padding:0}.card-summary{font-size:10px;color:#828778;line-height:1.8;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:36px}.card-foot{border-top:1px solid #f0f0e8;margin-top:13px;padding-top:10px;display:flex;justify-content:space-between;font-size:9px;color:#899079}.status{display:inline-flex;align-items:center;gap:5px}.status i{width:4px;height:4px;background:#bdbb9b;border-radius:100%}.status.reviewed i{background:#b39051}.status.selected i{background:#527653}.sample-mark{font-size:8px;color:#a37c50}.empty{padding:65px;text-align:center;border:1px dashed var(--line);color:var(--muted)}.empty b{font-weight:500}.empty p{font-size:12px}.empty[hidden]{display:none}footer{display:flex;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:42px;padding:23px 0;font-size:9px;color:#999c8c;justify-content:space-between}.text-btn{font-size:10px;padding:0;text-decoration:underline;text-underline-offset:3px}.segmented{display:flex;gap:9px;margin:20px 0}.segmented button{border:1px solid var(--line);padding:7px 18px;font-size:12px;border-radius:2px}.segmented button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.exterior-stage{position:relative;overflow:hidden;border:1px solid var(--line)}.exterior-stage>img{width:100%}.pin{position:absolute;transform:translate(-50%,-50%);background:var(--ink);color:#fff;border:2px solid #fff;width:32px;height:32px;border-radius:50%;font-size:12px;box-shadow:0 0 0 5px #ffffff38;display:grid;place-items:center}.pin:hover{background:#a87543;scale:1.12}.pin-legend{display:flex;flex-wrap:wrap;gap:9px 22px;margin-top:16px}.pin-legend button{font-size:11px;display:flex;align-items:center;gap:7px;text-align:left}.pin-legend b{background:#e5e9de;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;font-size:9px}.version-note{font-size:11px;line-height:1.9;color:#8a8d7b;margin:23px 0}.detail-dialog{padding:0;border:0;border-radius:7px;width:min(1130px,94vw);max-height:93vh;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#172a22a8;backdrop-filter:blur(3px)}.detail-top{padding:25px 33px 20px;position:sticky;top:0;z-index:3;background:var(--paper);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center}.detail-top .eyebrow{margin:0 0 6px}.detail-top h2{font-size:23px;line-height:1.4;font-weight:500;margin:0}.detail-top p{margin:7px 0 0;color:var(--muted);font-size:11px}.detail-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}.close-btn{font-size:26px;font-weight:200;width:32px;height:32px;line-height:1}.detail-content{padding:26px 33px 36px}.detail-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;margin-bottom:26px;align-items:start}.detail-figure{background:#fff;border:1px solid var(--line);padding:8px}.detail-figure button{padding:0;width:100%;background:#eee}.detail-figure img{width:100%;aspect-ratio:1.45;object-fit:contain;background:#fff}.detail-figure figcaption{font-size:9px;color:var(--muted);display:flex;justify-content:space-between;gap:15px;padding:7px 3px 0}.spec-list{margin:0;background:#fff;border:1px solid var(--line);padding:0 19px}.spec-list div{padding:10px 0;border-bottom:1px solid #ebeee4;display:grid;grid-template-columns:90px 1fr;gap:10px}.spec-list div:last-child{border:0}.spec-list dt{font-size:10px;color:#919685}.spec-list dd{font-size:11px;margin:0;line-height:1.8;overflow-wrap:anywhere}.detail-tabs{display:flex;border-bottom:1px solid var(--line);gap:28px;margin:24px 0}.detail-tabs button{font-size:12px;padding:0 0 10px;color:#7d8574;border-bottom:2px solid transparent}.detail-tabs button.active{border-color:var(--ink);color:var(--ink)}.image-section h3,.candidate-heading h3,.sources h3{font-weight:500;font-size:15px;margin:24px 0 14px}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.gallery figure{min-width:0;background:#fff;border:1px solid var(--line);padding:9px}.gallery button{width:100%;padding:0;background:#fff}.gallery img{width:100%;height:210px;object-fit:contain}.gallery figcaption{font-size:10px;margin:8px 2px 1px;color:#7b826e;line-height:1.7}.gallery figcaption small{display:block;font-size:9px;color:#999e90}.questions{padding:14px 17px;border-left:2px solid #b39051;background:#eeeadc;font-size:11px;line-height:1.9;margin-top:23px;color:#6e654d}.questions b{font-size:10px;letter-spacing:1px;display:block;margin-bottom:5px}.record-info{display:flex;gap:22px;align-items:center;background:#e8ecdf;padding:16px 20px;margin-bottom:18px}.record-info label{font-size:11px;display:flex;gap:11px;align-items:center}.record-info select{background:#fff;border:1px solid #ccd1bf;padding:5px 12px;border-radius:2px}.record-info small{font-size:10px;color:#7b846d}.notes-input{width:100%;min-height:90px;padding:12px;background:#fff;border:1px solid var(--line);resize:vertical;font-size:12px}.field-label{display:block;font-size:11px;margin:15px 0 8px}.save-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:10px;font-size:10px;color:var(--muted)}.candidate-heading{display:flex;justify-content:space-between;align-items:center;margin-top:17px}.candidate-heading span{font-size:10px;color:var(--muted)}.candidate-list{display:grid;gap:14px}.candidate-item{border:1px solid var(--line);background:#fff;padding:17px;display:grid;grid-template-columns:100px 1fr;gap:18px}.candidate-item img{width:100px;height:105px;object-fit:cover}.candidate-no-image{width:100px;height:105px;background:#f0f1e9;display:grid;place-items:center;font-size:11px;color:var(--muted)}.candidate-item h4{font-size:13px;margin:0}.candidate-item p{font-size:11px;color:#818975;margin:5px 0;white-space:pre-wrap;overflow-wrap:anywhere}.candidate-item .chosen-label{font-size:10px;color:#44714e;font-weight:600}.candidate-buttons{display:flex;gap:16px;margin-top:10px;flex-wrap:wrap}.candidate-buttons button{font-size:10px;text-decoration:underline;text-underline-offset:3px}.candidate-form{border:1px solid var(--line);padding:20px;background:#efefe6;margin-top:20px}.candidate-form h4{margin:0 0 13px;font-size:13px;font-weight:500}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.candidate-form label{font-size:10px;color:#7c846e;display:block}.candidate-form input,.candidate-form textarea{width:100%;border:1px solid #d9ddce;background:#fff;padding:8px 10px;margin-top:5px;font-size:12px;min-width:0}.candidate-form textarea{min-height:65px}.candidate-form .full{grid-column:1/-1}.candidate-form input[type=file]{font-size:10px}.source-row{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);padding:13px 18px;margin-bottom:8px;font-size:11px;gap:16px}.source-row span{color:var(--muted);font-size:10px}.sources>p{font-size:12px;line-height:1.9;overflow-wrap:anywhere}.lightbox{background:#1e2923;border:0;padding:50px 20px 15px;max-width:98vw;width:98vw;height:96vh;max-height:96vh;border-radius:4px;color:#fff}.lightbox>img{height:calc(100% - 45px);width:100%;object-fit:contain}.close-light{position:absolute;right:20px;top:9px;font-size:31px;color:#fff}.light-caption{display:flex;justify-content:space-between;gap:16px;padding:12px;font-size:11px}.light-caption a{text-decoration:underline}.guide-dialog{width:min(640px,92vw);padding:37px 40px;border:0;border-radius:5px;color:var(--ink);background:var(--paper);max-height:90vh}.close-guide{position:absolute;top:12px;right:16px;font-size:25px}.guide-dialog h2{font-size:25px;font-weight:500;margin:0}.guide-dialog h3{font-size:14px;font-weight:500}.guide-dialog ol{padding-left:20px;margin:26px 0}.guide-dialog li{padding-left:5px;margin-bottom:18px}.guide-dialog b{font-size:13px;font-weight:550}.guide-dialog p{font-size:12px;color:var(--muted);margin:5px 0}.local-note{background:#e9ecdf;padding:17px;margin:20px 0}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);padding:11px 21px;background:var(--ink);color:#fff;z-index:50;border-radius:4px;font-size:12px;opacity:0;transition:.2s;pointer-events:none;max-width:90vw}.toast.show{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}
@media(min-width:1550px){main{padding:48px 62px 0}.intro{grid-template-columns:1fr 1.4fr}.intro h1{font-size:45px}.intro-image{min-height:325px}.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.intro-text{font-size:16px}}@media(max-width:1150px){.layout{grid-template-columns:185px 1fr}.sidebar{padding:30px 12px}main{padding:30px 26px 0}.topbar{padding:0 27px}.top-actions{gap:13px}.intro{gap:25px}.intro h1{font-size:30px}.intro-image{min-height:250px}.intro-meta{gap:11px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{flex-wrap:wrap}.search{flex-basis:100%}.toolbar select{flex:1;max-width:unset}}@media(max-width:760px){.topbar{height:74px;padding:0 18px}.brand{font-size:13px;gap:10px;letter-spacing:1.5px}.brand-mark{font-size:33px;width:33px}.brand-mark span{right:5px}.brand small{font-size:6px}.top-actions{gap:7px}.private-label{display:none}.top-actions .outline{font-size:10px;padding:7px 9px}.top-actions .outline span{display:none}.top-actions .subtle{font-size:10px}.layout{display:block}.sidebar{position:static;height:auto;padding:13px 16px;border-right:0;border-bottom:1px solid var(--line);overflow:hidden}.sidebar .nav-label,.sidebar .nav-divider,.sidebar-bottom,#categories{display:none}#views{display:flex;gap:4px;overflow-x:auto}.nav-button{width:auto;white-space:nowrap;font-size:11px;padding:7px 10px;flex-shrink:0}.nav-button span{font-size:9px}main{padding:24px 18px 0}.intro{grid-template-columns:1fr;margin-bottom:25px;gap:23px;padding-bottom:24px}.intro-copy{position:relative}.intro h1{font-size:30px;margin:0 0 12px}.intro .eyebrow{font-size:8px;margin-bottom:10px}.intro-text{font-size:12px;line-height:1.6;margin:0 0 14px}.intro-text br{display:none}.intro-meta{gap:16px;margin-bottom:18px}.intro-meta b{font-size:18px}.intro-image{min-height:unset}.intro-image img{aspect-ratio:1.88}.dark-btn{font-size:11px;padding:9px 13px;gap:20px}.section-heading h2{font-size:19px}.section-note{font-size:11px}.cards{gap:16px 12px}.card-image{aspect-ratio:1.23}.card-image::after{font-size:8px;right:6px;bottom:7px;padding:3px 5px}.card-body{padding:11px}.card-meta{font-size:8px;flex-wrap:wrap;line-height:1.4}.card h3{font-size:12px;margin-top:7px;min-height:36px}.card-summary{font-size:9px;line-height:1.6;min-height:29px}.card-foot{font-size:8px;margin-top:10px;gap:4px;flex-wrap:wrap}.sample-mark{font-size:8px}.toolbar{gap:8px;margin-top:16px}.toolbar select{font-size:10px;max-width:44%;padding:9px}.toolbar .subtle{padding:6px;font-size:10px}.search input{font-size:11px}.empty{padding:35px 20px}footer{font-size:8px;gap:12px;margin-top:30px;padding:20px 0}.detail-dialog{width:100vw;max-width:100vw;max-height:100dvh;height:100dvh;border-radius:0;margin:0}.detail-top{padding:17px 18px;align-items:start;gap:10px}.detail-top h2{font-size:20px}.detail-top p{font-size:10px}.detail-top .eyebrow{font-size:8px}.detail-actions{gap:7px}.detail-actions .outline{font-size:9px;padding:6px 9px}.detail-content{padding:19px 18px}.detail-hero{grid-template-columns:1fr;gap:18px}.detail-figure img{aspect-ratio:1.5}.detail-tabs{gap:20px}.detail-tabs button{font-size:11px}.gallery{gap:12px}.gallery img{height:145px}.gallery figure{padding:6px}.gallery figcaption{font-size:9px}.gallery figcaption small{font-size:8px}.spec-list{padding:0 14px}.spec-list div{grid-template-columns:83px 1fr}.spec-list dd{font-size:11px}.record-info{padding:12px;gap:12px;align-items:start;flex-direction:column}.record-info small{font-size:9px}.candidate-item{grid-template-columns:75px 1fr;gap:13px;padding:12px}.candidate-item img,.candidate-no-image{width:75px;height:90px}.candidate-form{padding:15px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.guide-dialog{padding:28px 25px}.pin{width:27px;height:27px;font-size:10px;border-width:1.5px}.segmented button{font-size:11px;padding:6px 14px}.pin-legend{gap:9px 14px}.pin-legend button{font-size:10px}.light-caption{font-size:10px;flex-direction:column;gap:3px}.lightbox>img{height:calc(100% - 65px)}}
@media print{body{background:#fff}.app,.detail-actions,.detail-tabs,.record-info,.candidate-form,.save-row,.close-btn,.toast{display:none!important}.detail-dialog[open]{display:block;position:static;width:100%;max-width:none;height:auto;max-height:none;margin:0;background:#fff;overflow:visible;box-shadow:none}.detail-top{position:static;padding:0 0 14px;background:#fff}.detail-content{padding:16px 0}.detail-hero{grid-template-columns:1fr 1fr}.detail-figure,.spec-list,.gallery figure{break-inside:avoid}.gallery img{height:190px}.questions{break-inside:avoid}.detail-panel{display:block!important}.candidate-form{display:none!important}dialog::backdrop{background:none}.lightbox{display:none!important}@page{size:A4;margin:15mm}}
