.xz-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.25rem;align-items:end;
  padding:1.5rem 1.75rem;border:1px solid var(--line);border-radius:var(--radius);
  background:var(--surface);box-shadow:var(--shadow)}
.xz-hero h1{margin:0 0 0.5rem;font-family:"Noto Serif TC","Songti TC",serif;font-size:1.625rem;font-weight:900}
.xz-hero p{margin:0;color:var(--muted);font-size:0.84375rem;max-width:52ch}
.xz-tags{display:flex;flex-wrap:wrap;gap:0.5rem}
.xz-tag{padding:0.4375rem 0.9375rem;border:1px solid #bfe6e2;border-radius:999px;background:var(--teal-soft);
  color:#26938c;font-size:0.8125rem;font-weight:900;text-decoration:none}
.xz-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(16.875rem,1fr));gap:0.875rem;margin-top:1.25rem}
.xz-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:20px;
  background:var(--surface);overflow:hidden;box-shadow:var(--shadow)}
.xz-src{display:flex;flex-direction:column;gap:0.6875rem;padding:1.25rem 1.25rem 1.125rem;
  background:#fdfcf8;border-left:0.1875rem solid var(--sand)}
.xz-badge{display:flex;align-items:center;justify-content:space-between;gap:0.5rem}
.xz-badge b{padding:0.1875rem 0.625rem;border-radius:999px;background:#fff;color:#a87a3c;
  font-size:0.65625rem;font-weight:900;letter-spacing:.04em}
.xz-badge span{color:#b09164;font-size:0.6875rem;font-weight:900}
.xz-line{margin:0;font-family:"Noto Serif TC","Songti TC",serif;font-size:1.0625rem;line-height:2}
.xz-by{color:#8d7550;font-size:0.75rem}
.xz-ai{display:flex;flex-direction:column;gap:0.625rem;margin:0.875rem;padding:0.875rem 1rem;
  border:1px dashed #dbe6e8;border-radius:14px;background:var(--canvas)}
.xz-ai>b{color:#9aa3ad;font-size:0.65625rem;font-weight:900;letter-spacing:.08em}
.xz-row{display:grid;grid-template-columns:3.25rem minmax(0,1fr);gap:0.5625rem}
.xz-row i{font-style:normal;color:var(--teal-strong);font-size:0.6875rem;font-weight:900}
.xz-row span{color:#4c5560;font-size:0.78125rem;line-height:1.8}
.xz-panel{padding:1.375rem 1.625rem;border:1px solid var(--line);border-radius:var(--radius);
  background:var(--surface);margin-top:1.125rem}
.xz-panel>h2{margin:0 0 0.25rem;font-size:0.8125rem;font-weight:900}
.xz-panel>p.s{margin:0 0 0.875rem;color:#9aa3ad;font-size:0.71875rem}
.xz-angle{display:flex;align-items:flex-start;gap:0.75rem;width:100%;padding:0.875rem 1rem;margin-bottom:0.5625rem;
  border:1px solid #eef2f3;border-radius:15px;background:#fff;text-align:left;font:inherit;cursor:pointer}
.xz-angle[aria-pressed="true"]{border-color:#bfe6e2;background:#f4fcfb}
.xz-angle u{flex-shrink:0;width:1rem;height:1rem;margin-top:0.25rem;border-radius:50%;
  border:5px solid #e2e9ea;background:#fff;text-decoration:none}
.xz-angle[aria-pressed="true"] u{border-color:var(--teal-strong)}
.xz-angle span{font-size:0.875rem;line-height:1.75}
.xz-work{display:grid;grid-template-columns:16.375rem minmax(0,1fr);gap:1rem;margin-top:1.125rem}
.xz-sk{display:flex;align-items:center;gap:0.6875rem;padding:0.6875rem 0.8125rem;margin-bottom:0.5rem;
  border:1px solid #eef2f3;border-radius:13px;background:var(--canvas)}
.xz-sk b{font-size:0.8125rem}
.xz-sk span{color:var(--muted);font-size:0.71875rem}
.xz-paper{min-height:9.375rem;padding:1rem 1.125rem;border:1px solid #dbe6e8;border-radius:15px;
  background:repeating-linear-gradient(180deg,var(--canvas) 0 35px,#f2f7f7 35px 36px);
  color:#b7c3c6;font-family:"Noto Serif TC","Songti TC",serif;font-size:1rem}
.xz-dims{display:flex;align-items:center;gap:0.5625rem;flex-wrap:wrap;margin-top:0.75rem}
.xz-dims b{padding:0.3125rem 0.8125rem;border-radius:999px;background:var(--teal-soft);
  color:#26938c;font-size:0.75rem}
.xz-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(13.125rem,1fr));gap:0.75rem}
.xz-item{display:flex;flex-direction:column;gap:0.375rem;padding:1.125rem 1.25rem;border:1px solid var(--line);
  border-radius:18px;background:var(--surface);text-decoration:none;color:inherit}
.xz-item:hover{border-color:var(--teal)}
.xz-item b{font-family:"Noto Serif TC","Songti TC",serif;font-size:1.125rem}
.xz-item span{color:var(--muted);font-size:0.75rem}
@media(max-width:860px){.xz-cards{grid-template-columns:1fr}.xz-work{grid-template-columns:1fr}}