.guild-page { padding-top:28px; }
.guild-page > .character-back { display:inline-block; margin-bottom:20px; color:#cfa994; font-size:14px; }
.guild-top-cards { display:grid; grid-template-columns:1.15fr 1fr; gap:22px; margin-bottom:28px; }
.guild-command-card,.guild-identity-card { min-width:0; padding:24px; border:1px solid #3b242b; border-radius:12px; background:linear-gradient(135deg,#171314,#0f0b0c); }
.guild-command-card h2,.guild-roster h2 { margin:0; color:#ff9485; font:750 23px/1.4 var(--font-display); }
.guild-command-table { width:100%; border-collapse:collapse; margin-top:18px; }
.guild-command-table th { color:#f4eedb; font-size:12px; letter-spacing:.06em; text-transform:uppercase; text-align:start; padding:8px 10px; }
.guild-command-table td { height:37px; padding:7px 10px; border-top:1px solid #ffffff0d; color:#fcfadb; font-size:14px; }
.guild-command-table td:last-child { color:#f7a89c; }
.guild-identity-card { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.guild-emblem { width:80px; height:80px; object-fit:contain; margin:0 0 13px; }
.guild-eyebrow { color:#f8f4e6; font-size:11px; letter-spacing:.16em; }
.guild-identity-card h2 { margin:7px 0 22px; font:800 clamp(25px,3vw,35px)/1.25 var(--font-display); color:#ffd4cd; overflow-wrap:anywhere; }
.guild-identity-card dl { margin:0; width:100%; max-width:320px; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.guild-identity-card dl > div { border-top:1px solid #422e32; padding-top:14px; }
.guild-identity-card dt { font-size:12px; font-weight:700; color:#f4eedb; }
.guild-identity-card dd { margin:6px 0 0; font-size:27px; font-weight:800; color:#fff4ec; }
.guild-roster { overflow:hidden; border:1px solid #372026; border-radius:10px; background:#100b0d; }
.guild-roster > header { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; padding:18px 21px; background:linear-gradient(100deg,#141414,#171314); border-bottom:1px solid #372026; }
.guild-roster input { width:250px; max-width:100%; padding:11px 14px; border:1px solid #3e272d; border-radius:4px; background:#0f0b0c; color:#fef6f7; font-size:14px; }
.guild-roster input:focus { outline:1px solid #fe8473; }
.guild-table-scroll { overflow-x:auto; }
.guild-roster table { width:100%; min-width:650px; border-collapse:collapse; text-align:start; }
.guild-roster th { padding:16px 20px; color:#f0e8cb; font-size:11px; font-weight:800; letter-spacing:.08em; text-align:start; }
.guild-roster td { height:68px; border-top:1px solid #361e25; padding:13px 20px; color:#fcd4d9; font-size:14px; }
.guild-roster tbody tr:nth-child(even) { background:#171113; }
.guild-roster tbody tr:hover { background:#27151a; }
.guild-roster th:first-child { width:31%; }
.guild-member-link { display:flex; align-items:center; gap:16px; color:#ffffff; }
.guild-member-link:hover { color:#ff998b; }
.guild-master-row .guild-member-link { color:#ff8c78; }
.guild-member-portrait { flex:none; display:grid; place-items:center; width:36px; height:36px; overflow:hidden; border:1px solid #3c272c; border-radius:4px; background:#050404; }
.guild-member-portrait img { width:100%; height:100%; object-fit:cover; }
.guild-member-level { display:inline-block; min-width:34px; text-align:center; padding:3px 6px; border:1px solid #3c272c; background:#090607; color:#ffffff; font:700 15px/1.1 Georgia,serif; }
.guild-member-role { font-size:11px; font-weight:800; letter-spacing:.05em; color:#f7f3e4; }
.guild-role-master { display:inline-block; padding:5px 9px; color:#ff8b76; background:rgba(255,130,108,0.086); border-radius:2px; }
.guild-presence { display:inline-flex; align-items:center; gap:12px; white-space:nowrap; color:#f7f4e6; font-size:13px; }
.guild-presence i { width:6px; height:6px; border-radius:50%; background:#d4c37a; }
.guild-presence-online i { background:#3dd18b; box-shadow:0 0 9px rgba(61,209,139,0.439); }
.guild-member-joined { white-space:nowrap; font-variant-numeric:tabular-nums; }
[data-guild-empty] td { text-align:center; color:#f6a7b1; }
@media(max-width:700px) { .guild-top-cards { grid-template-columns:1fr; }.guild-command-card { order:2; }.guild-identity-card { order:1; }.guild-command-card,.guild-identity-card { padding:20px; }.guild-roster input { width:100%; }.guild-roster label { width:100%; } }

.guild-page-hero { text-align:center; }
.guild-page-hero .page-hero-copy { width:100%; max-width:1100px; margin-inline:auto; }
.guild-display-name { font-family:Georgia,'Times New Roman',serif!important; font-weight:600!important; text-transform:uppercase; letter-spacing:.045em; color:#fecfa9!important; background:linear-gradient(180deg,#fef4ec 8%,#fde5d2 30%,#cdac98 48%,#a37355 66%,#f39c89 89%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; filter:drop-shadow(0 2px 1px #000000) drop-shadow(0 0 14px rgba(249,176,162,0.071)); }
.guild-page-hero .guild-display-name { font-size:clamp(34px,5vw,68px); line-height:1.15; letter-spacing:.045em; margin:0; overflow-wrap:anywhere; }
.guild-identity-card h2.guild-display-name { font-size:clamp(22px,2.6vw,32px); }
.guild-foundation { display:grid; gap:7px; margin:0 0 8px; }
.guild-foundation > span { color:#f5efdc; font-size:12px; font-weight:700; }
.guild-foundation time { color:#ffd0ad; font-size:13px; font-weight:650; line-height:1.5; }
.guild-identity-card dl { max-width:100%; grid-template-columns:minmax(0,.65fr) minmax(0,.8fr) minmax(0,1.4fr); gap:12px; }
.guild-identity-card dd { font-size:clamp(18px,2.2vw,27px); overflow-wrap:anywhere; }
.guild-identity-card .guild-fortress-line { justify-content:center; margin-top:18px; }

.guild-identity-card .guild-fortress-line{margin:0 0 12px}
.guild-identity-card dl{margin-top:8px}
.guild-command-person{display:inline-flex;align-items:center;gap:7px;color:inherit}
.guild-command-person img{flex:none;width:18px;height:18px;object-fit:contain;background:none;border:0}
.guild-command-person span{overflow-wrap:anywhere}
.union-identity-card{max-width:780px;margin:0 auto 28px;padding:22px 28px}
.union-identity-card .guild-emblem{width:72px;height:72px}
.union-identity-card .union-leader-label{color:#f5f0df;font-size:13px;font-weight:700;margin:0}
.union-identity-card h2{margin:7px 0 16px}
.union-identity-card dl{grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr) minmax(0,1fr);gap:18px}
.union-identity-card .union-age{font-size:14px;line-height:1.6}
.union-page .union-roster-title{color:var(--accent-soft);font:700 22px/1.4 var(--font-display);margin:0 0 16px}
@media(max-width:560px){.union-identity-card{padding:20px 16px}.union-identity-card dl{grid-template-columns:1fr}.union-identity-card dd{font-size:21px}}
