:root{--card-w:220px;--card-radius:12px;--border-inset:7px}.card{width:100%;max-width:var(--card-w);aspect-ratio:2/3;border-radius:var(--card-radius);box-shadow:0 0 36px var(--t-glow), 0 0 72px var(--t-glow2), 0 16px 48px #00000073;transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s;position:relative;overflow:hidden}.card:hover{box-shadow:0 0 48px var(--t-glow), 0 0 96px var(--t-glow2), 0 24px 64px #00000080;transform:translateY(-6px)}.card-image{background:var(--card-img,var(--t-fallback));background-position:50%;background-size:cover;position:absolute;inset:0}.card-image-fade{z-index:2;background:linear-gradient(#080b1466 0%,#0000 100%);height:56px;position:absolute;top:0;left:0;right:0}.card-sheen{border-radius:var(--card-radius);pointer-events:none;z-index:7;background:linear-gradient(135deg,#0000 35%,#ffffff05 42%,#ffffff0d 48%,#ffffff05 54%,#0000 61%);position:absolute;inset:0}.card-border-outer{border:1.5px solid var(--t-border);border-radius:var(--card-radius);pointer-events:none;z-index:10;position:absolute;inset:0}.card-border-inner{inset:var(--border-inset);border:1px solid var(--t-border);pointer-events:none;z-index:10;opacity:.75;border-radius:9px;position:absolute}.corner{z-index:11;pointer-events:none;width:18px;height:18px;position:absolute}.corner svg{width:100%;height:100%}.c-tl{top:3px;left:3px}.c-tr{top:3px;right:3px;transform:scaleX(-1)}.c-bl{bottom:3px;left:3px;transform:scaleY(-1)}.c-br{bottom:3px;right:3px;transform:scale(-1)}.card-header{z-index:5;background:linear-gradient(#080b14b3 0%,#080b1440 70%,#0000 100%);flex-direction:column;align-items:center;padding-top:12px;padding-bottom:8px;display:flex;position:absolute;top:0;left:0;right:0}.code-row{align-items:center;width:100%;margin-bottom:6px;display:flex}.code-text{letter-spacing:.55em;color:var(--t-color);text-shadow:0 0 10px var(--t-shadow);font-family:Cinzel,serif;font-size:.72rem;font-weight:700}.code-line{background:linear-gradient(90deg, transparent, var(--t-border), transparent);flex:1;height:1px;margin:0 12px}.card-footer{z-index:5;background:linear-gradient(#0000 0%,#080b1499 60%,#080b14e0 100%);flex-direction:column;align-items:center;padding-top:20px;padding-bottom:14px;display:flex;position:absolute;bottom:0;left:0;right:0}.name-cn{letter-spacing:.28em;color:#f5f5f7e6;text-shadow:0 0 16px var(--t-shadow);margin-bottom:2px;font-family:Noto Serif SC,PingFang SC,serif;font-size:1.15rem;font-weight:700}.name-en{letter-spacing:.45em;color:var(--t-muted);text-transform:uppercase;font-family:Cinzel,serif;font-size:.5rem;font-weight:600}.gallery-main{flex:1;width:100%;max-width:960px;margin:0 auto;padding:2rem 1.5rem 4rem}.gallery-header{text-align:center;margin-bottom:5rem}.gallery-label{letter-spacing:.3em;color:var(--gray);margin-bottom:8px;font-family:Cinzel,serif;font-size:.72rem;font-weight:600}.gallery-title{letter-spacing:.2em;color:var(--cream);margin-bottom:6px;font-family:Noto Serif SC,PingFang SC,serif;font-size:2rem;font-weight:700}.gallery-subtitle{letter-spacing:.5em;color:var(--gold);opacity:.55;text-transform:uppercase;font-family:Cinzel,serif;font-size:.65rem;font-weight:600}.gallery-grid{flex-direction:column;gap:3.5rem;display:flex}.tribe-heading{align-items:center;gap:16px;max-width:960px;margin:0 auto 1.75rem;padding:0 4px;display:flex}.tribe-heading span{letter-spacing:.4em;white-space:nowrap;font-family:Cinzel,serif;font-size:.6rem;font-weight:600}.tribe-line{opacity:.2;flex:1;height:1px}.card-row{grid-template-columns:repeat(4, minmax(0, var(--card-w)));z-index:1;justify-content:center;gap:28px;width:100%;display:grid;position:relative}.highlighted .card{box-shadow:0 0 48px #f5d78e40, 0 0 96px #f5d78e1f, 0 0 2px 2px var(--gold)}.gallery-footer{text-align:center;color:var(--gray);margin-top:5rem;padding-bottom:2rem;font-size:.75rem}.g-reveal{opacity:0;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transform:translateY(24px)}.g-reveal.visible{opacity:1;transform:translateY(0)}@media (max-width:1024px){.card-row{grid-template-columns:repeat(2, var(--card-w))}}@media (max-width:520px){:root{--card-w:260px}.card-row{max-width:var(--card-w);grid-template-columns:1fr;margin:0 auto}}
