:root{--mat-blue:#567ace;--mat-blue-dark:#344f8c;--mat-ink:#26324a;--mat-paper:#f8f7f1;--mat-line:rgba(86,122,206,.15)}
*{box-sizing:border-box}
body{margin:0;background:#eceef2;color:var(--mat-ink);font-family:"Segoe UI","Microsoft YaHei","Noto Sans CJK SC","Source Han Sans SC",Roboto,sans-serif}
.material-app{width:min(1440px,calc(100% - 48px));height:calc(100vh - 48px);margin:24px auto;display:grid;grid-template-columns:178px minmax(0,1fr);overflow:hidden;border:1px solid rgba(255,255,255,.75);border-radius:28px;background:var(--mat-paper);box-shadow:0 24px 70px rgba(27,39,64,.15)}
.mat-main{position:relative;min-width:0;overflow-y:auto;padding:36px clamp(24px,4.6vw,64px) 60px;background:radial-gradient(circle at 88% 4%,rgba(166,189,239,.22),transparent 26%),linear-gradient(rgba(255,255,255,.5),rgba(248,247,241,.9))}

.mat-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:20px;color:#6d7688;font-size:11px;text-decoration:none}
.mat-back:hover{color:var(--mat-blue-dark)}

.mat-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 18px;padding:8px 12px;border:1px solid var(--mat-line);border-radius:14px;background:rgba(255,255,255,.72);font-size:13px}
.mat-pager[hidden]{display:none}
.mat-pager-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:999px;border:1px solid rgba(86,122,206,.28);color:var(--mat-blue-dark);text-decoration:none;font-weight:600;white-space:nowrap;transition:background .15s ease}
.mat-pager-btn:hover{background:rgba(86,122,206,.1)}
.mat-pager-btn.is-off{opacity:.38;pointer-events:none;border-color:var(--mat-line);color:#8693a8}
.mat-pager-pos{color:#5b6b85;font-size:12px;letter-spacing:.02em;font-variant-numeric:tabular-nums;text-align:center}
@media(max-width:640px){.mat-pager{margin-bottom:12px;padding:7px 9px}.mat-pager-btn{padding:5px 10px;font-size:12px}}

.mat-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(20px,3vw,42px);align-items:start;padding-bottom:30px;border-bottom:1px solid var(--mat-line)}
.mat-photo{position:relative;min-height:300px;display:grid;place-items:center;padding:14px;border:1px solid rgba(66,86,116,.1);border-radius:24px;background:linear-gradient(135deg,#eef2fb,#e4eaf7);overflow:hidden;color:#7f93c4;font-size:12px}
.mat-photo img{width:100%;max-height:min(62vh,560px);object-fit:contain;border-radius:16px;display:block}

/* 无图：类型化版式（配色由类型色族决定，不留空白） */
.mat-photo.no-thumb{min-height:206px;padding:18px 20px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:14px;color:var(--mat-ink);
  background:radial-gradient(circle at 88% 8%,color-mix(in srgb,var(--mat-type-a) 20%,transparent),transparent 58%),linear-gradient(135deg,color-mix(in srgb,var(--mat-type-a) 10%,#f8f7f1),color-mix(in srgb,var(--mat-type-b) 7%,#f5f4ee))}
.mat-photo.no-thumb::after{content:"";position:absolute;right:-52px;bottom:-64px;width:190px;height:190px;border-radius:50%;border:1px solid color-mix(in srgb,var(--mat-type-a) 26%,transparent);background:color-mix(in srgb,var(--mat-type-a) 8%,transparent);pointer-events:none}
.mat-type-badge{position:relative;z-index:1;display:inline-flex;align-items:center;height:23px;padding:0 11px;border-radius:999px;background:linear-gradient(135deg,var(--mat-type-a),var(--mat-type-b));color:#fff;font-size:10px;font-weight:700;letter-spacing:.12em;white-space:nowrap}
.mat-type-line{position:relative;z-index:1;margin:0;max-width:100%;color:#33405c;font:600 clamp(13px,1.5vw,15px)/1.6 Georgia,"Noto Serif SC","Noto Serif CJK SC","Source Han Serif SC","Songti SC",serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mat-info{padding-top:6px;min-width:0}
.mat-info small{color:var(--mat-blue);font-size:10px;font-weight:700;letter-spacing:.24em}
.mat-info h1{margin:10px 0 14px;font:600 clamp(20px,2.1vw,30px)/1.45 Georgia,"Noto Serif SC","Noto Serif CJK SC","Source Han Serif SC","Songti SC",serif;letter-spacing:-.01em;word-break:break-word}
.mat-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.mat-chip{padding:4px 10px;border-radius:999px;background:rgba(86,122,206,.1);color:var(--mat-blue-dark);font-size:10.5px}

/* 标签行：系统标签实心浅蓝，UGC 标签描边虚线；「+ 标一个」是很淡的行内入口 */
.mat-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:-6px 0 16px;min-height:22px}
.mat-tags-label{color:#8b95a8;font-size:10px;letter-spacing:.18em}
.mat-tag{padding:3px 9px;border-radius:999px;background:rgba(86,122,206,.1);color:var(--mat-blue-dark);font-size:10.5px;line-height:1.6;max-width:100%;word-break:break-word}
.mat-tag.ugc{border:1px dashed rgba(86,122,206,.45);background:#fff}
.mat-tag-add{padding:0 2px;border:0;background:none;color:#9aa5b8;font-size:11px;line-height:1.6;cursor:pointer}
.mat-tag-add:hover,.mat-tag-add:focus-visible{color:var(--mat-blue);outline:0}
.mat-tag-editor{flex-basis:100%;display:flex;align-items:center;gap:8px;margin-top:2px}
.mat-tag-editor[hidden],.mat-tag-add[hidden]{display:none}
.mat-tag-editor input{flex:1 1 auto;min-width:0;height:34px;padding:0 11px;border:1px solid rgba(86,122,206,.25);border-radius:10px;background:#fff;color:var(--mat-ink);font:inherit;font-size:12px;outline:0}
.mat-tag-editor input:focus{border-color:rgba(86,122,206,.6)}
.mat-tag-editor button{flex:0 0 auto;height:34px;padding:0 14px;border:0;border-radius:10px;background:var(--mat-blue);color:#fff;font-size:11.5px;cursor:pointer}
.mat-tag-editor button:disabled{opacity:.6;cursor:default}
.mat-tag-tip{flex-basis:100%;color:#8b95a8;font-size:10.5px;line-height:1.6}
.mat-tag-tip a{color:var(--mat-blue-dark)}
.mat-tag-tip:empty{display:none}
.mat-link{margin:0 0 20px;font-size:11px;line-height:1.7;word-break:break-all}
.mat-link a{color:var(--mat-blue-dark);text-decoration:none;border-bottom:1px dashed rgba(86,122,206,.45)}
.mat-actions{display:flex;flex-wrap:wrap;gap:9px}
.mat-btn{height:38px;display:inline-flex;align-items:center;padding:0 16px;border:1px solid rgba(86,122,206,.3);border-radius:12px;background:#fff;color:var(--mat-blue-dark);font-size:11.5px;text-decoration:none;cursor:pointer;transition:.2s}
.mat-btn:hover{border-color:rgba(86,122,206,.55);box-shadow:0 9px 20px rgba(86,122,206,.14)}
.mat-btn.primary{background:var(--mat-blue);border-color:var(--mat-blue);color:#fff;box-shadow:0 10px 24px rgba(86,122,206,.26)}

.mat-section{margin-top:28px}
.mat-sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}
.mat-sec-head small{color:var(--mat-blue);font-size:9px;font-weight:700;letter-spacing:.22em}
.mat-sec-head h2{margin:5px 0 0;font:600 19px/1.3 Georgia,"Noto Serif SC","Noto Serif CJK SC","Source Han Serif SC","Songti SC",serif}

.mat-card-wrap{display:flex;justify-content:center;padding:16px;border:1px solid var(--mat-line);border-radius:22px;background:rgba(255,255,255,.86)}
.mat-card-wrap img{width:min(360px,72vw);height:auto;border-radius:14px;box-shadow:0 18px 40px rgba(38,50,74,.16);background:#f2f0e8;display:block}

.mat-sim-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.mat-sim{display:grid;grid-template-columns:96px minmax(0,1fr);gap:13px;padding:11px;border:1px solid rgba(66,86,116,.1);border-radius:17px;background:#fff;color:inherit;text-decoration:none;transition:.2s}
.mat-sim:hover{transform:translateY(-2px);border-color:rgba(86,122,206,.42);box-shadow:0 14px 30px rgba(38,50,74,.1)}
.mat-sim-thumb{--mat-type-a:#8b95a8;--mat-type-b:#66707f;width:96px;height:72px;border-radius:11px;overflow:hidden;background:linear-gradient(135deg,#e8edfa,#dfe7f8);display:grid;place-items:center;color:#7f93c4;font-size:9px}
.mat-sim-thumb img{width:100%;height:100%;object-fit:cover}
.mat-sim-thumb.is-type{padding:0 6px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.05em;line-height:1.3;text-align:center;word-break:break-word;
  background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.1) 0 1px,transparent 1px 9px),linear-gradient(140deg,var(--mat-type-a),var(--mat-type-b))}

/* 类型色族：SNS 品牌蓝 / 直拍 靛紫 / 视频 青蓝 / 节目 暖金 / 其他 灰蓝 */
.mat-type-sns{--mat-type-a:#5a7bd0;--mat-type-b:#3b5899}
.mat-type-fancam{--mat-type-a:#7b74c7;--mat-type-b:#534f97}
.mat-type-video{--mat-type-a:#4a8fa4;--mat-type-b:#2f6a7d}
.mat-type-show{--mat-type-a:#b58a3f;--mat-type-b:#8b6527}
.mat-type-other{--mat-type-a:#8b95a8;--mat-type-b:#66707f}
.mat-sim-body{min-width:0}
.mat-sim-body h3{margin:0 0 6px;font-size:12.5px;line-height:1.5;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mat-reason{display:inline-block;margin-bottom:5px;padding:2px 8px;border-radius:999px;background:rgba(86,122,206,.1);color:var(--mat-blue-dark);font-size:9.5px}
.mat-sim-meta{color:#8b95a8;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mat-empty{grid-column:1/-1;padding:24px;color:#8b95a8;font-size:12px;text-align:center}

/* 相关物料分组：同一场 / 同系列 / 同作品 / 同一拍摄者 */
.mat-rel-groups{display:grid;gap:18px}
.mat-rel-group{display:grid;gap:10px}
.mat-rel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 2px}
.mat-rel-head h3{margin:0;font-size:13px;font-weight:600;color:#3a4560}

@media(max-width:980px){.material-app{grid-template-columns:82px minmax(0,1fr)}.mat-hero{grid-template-columns:1fr}.mat-photo{min-height:240px}}
@media(max-width:820px){
  body{background:var(--mat-paper)}
  .material-app{width:100%;height:100dvh;margin:0;display:block;border:0;border-radius:0;box-shadow:none}
  .mat-main{height:calc(100dvh - 56px);padding:20px 14px 40px}
  .mat-back{margin-bottom:14px}
  .mat-hero{gap:18px;padding-bottom:22px}
  .mat-photo{min-height:200px;border-radius:18px}
  .mat-photo.no-thumb{min-height:150px;padding:14px 16px;gap:10px}
  .mat-type-line{font-size:13px}
  .mat-photo img{max-height:46vh}
  .mat-info h1{font-size:20px}
  .mat-sec-head{display:block}
  .mat-sim-list{grid-template-columns:1fr}
  .mat-card-wrap{padding:12px}
  .mat-card-wrap img{width:min(300px,78vw)}
}

/* 收藏按钮已收藏态（沿用 .mat-btn 基础样式，只换强调色） */
.mat-btn.is-on{border-color:#c9a227;color:#8a6d1f;background:rgba(201,162,39,.12)}

/* 点图看原图 */
.mat-photo.is-zoomable{cursor:zoom-in}
.mat-photo.is-zoomable img{transition:transform .25s ease}
.mat-photo.is-zoomable:hover img{transform:scale(1.01)}
.mat-zoom-hint{position:absolute;right:12px;bottom:12px;padding:5px 10px;border-radius:999px;background:rgba(17,24,39,.62);color:#fff;font-size:11px;letter-spacing:.02em;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.mat-viewer{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;background:rgba(9,12,20,.94);padding:56px 64px 72px;box-sizing:border-box;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}
.mat-viewer[hidden]{display:none}
.mat-viewer-stage{margin:0;display:flex;flex-direction:column;align-items:center;gap:10px;max-width:100%;max-height:100%}
.mat-viewer-stage img{max-width:calc(100vw - 128px);max-height:calc(100vh - 150px);width:auto;height:auto;object-fit:contain;border-radius:6px;background:#101520}
.mat-viewer-stage figcaption{color:rgba(255,255,255,.72);font-size:12px;line-height:1.4;max-width:72vw;text-align:center;word-break:break-all}
.mat-viewer-close{position:absolute;top:16px;right:18px;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:24px;line-height:1;cursor:pointer}
.mat-viewer-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:28px;line-height:1;cursor:pointer}
.mat-viewer-nav.is-prev{left:16px}
.mat-viewer-nav.is-next{right:16px}
.mat-viewer-nav.is-off{opacity:.25;pointer-events:none}
.mat-viewer-bar{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));color:rgba(255,255,255,.8);font-size:12px}
#matViewerDl{color:#fff;text-decoration:none;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.16);font-weight:600;white-space:nowrap}
#matViewerDl:hover{background:rgba(255,255,255,.26)}
@media(max-width:640px){.mat-viewer{padding:64px 12px 84px}.mat-viewer-stage img{max-width:calc(100vw - 24px);max-height:calc(100vh - 190px)}.mat-viewer-nav{width:38px;height:38px;font-size:24px}.mat-viewer-nav.is-prev{left:8px}.mat-viewer-nav.is-next{right:8px}}
