/* Ash & Blood v5.53 — personalized portal home */
.ph-home{margin:1.1rem 0 1.35rem;padding:1.15rem;border:1px solid rgba(255,255,255,.075);border-radius:22px;background:radial-gradient(circle at 88% 0,rgba(155,111,55,.09),transparent 30%),linear-gradient(180deg,rgba(17,22,28,.97),rgba(10,14,18,.97));box-shadow:0 24px 70px rgba(0,0,0,.18)}
.ph-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:.2rem .2rem 1rem}.ph-head h2{margin:.2rem 0 .2rem;font-family:Cinzel,serif;font-size:1.35rem;color:#eee7dc}.ph-head p{margin:0;color:#858d96;font-size:.76rem}.ph-since{min-width:150px;padding:.65rem .8rem;border:1px solid rgba(188,150,89,.13);border-radius:14px;background:rgba(188,150,89,.045);text-align:right}.ph-since small,.ph-since strong{display:block}.ph-since small{color:#777f88;text-transform:uppercase;letter-spacing:.09em;font-size:.56rem}.ph-since strong{margin-top:.18rem;color:#c5aa7d;font-size:.72rem}
.ph-change-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin-bottom:.8rem}.ph-change{display:flex;align-items:center;gap:.65rem;padding:.7rem;border:1px solid rgba(255,255,255,.055);border-radius:14px;background:rgba(255,255,255,.018)}.ph-change>i{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.035);color:#7d858e}.ph-change span{min-width:0}.ph-change strong,.ph-change small{display:block}.ph-change strong{font-size:.88rem;color:#d8d4ce}.ph-change small{margin-top:.04rem;color:#747d86;font-size:.57rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ph-change.has-change{border-color:rgba(192,147,76,.2);background:rgba(192,147,76,.055)}.ph-change.has-change>i,.ph-change.has-change strong{color:#d1ac70}
.ph-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.ph-card{min-width:0;border:1px solid rgba(255,255,255,.06);border-radius:17px;background:linear-gradient(180deg,#10161c,#0c1116);overflow:hidden}.ph-card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.8rem .9rem;border-bottom:1px solid rgba(255,255,255,.05)}.ph-card-head>span:first-child{display:flex;gap:.48rem;align-items:center;color:#ddd8d0;font-size:.72rem;font-weight:800}.ph-card-head>span:first-child i{color:#aa8352}.ph-card-head>a,.ph-card-head>span:last-child{color:#8e969e;font-size:.62rem;text-decoration:none}.ph-card-head>a:hover{color:#d1aa72}.ph-attention{border-color:rgba(170,74,70,.16);background:radial-gradient(circle at 100% 0,rgba(162,61,61,.075),transparent 45%),linear-gradient(180deg,#12171d,#0c1116)}
.ph-list{display:grid}.ph-list>a,.ph-static{display:grid;grid-template-columns:28px minmax(0,1fr) 16px;gap:.55rem;align-items:center;padding:.72rem .9rem;border-top:1px solid rgba(255,255,255,.035);color:inherit;text-decoration:none;transition:.15s ease}.ph-list>a:first-child,.ph-static:first-child{border-top:0}.ph-list>a:hover{background:rgba(255,255,255,.025)}.ph-list>a>i:first-child,.ph-static>i:first-child{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:rgba(171,132,78,.07);color:#a7865c}.ph-list>a>span,.ph-static>span{min-width:0}.ph-list strong,.ph-list small,.ph-static strong,.ph-static small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ph-list strong,.ph-static strong{color:#d9d5cf;font-size:.68rem}.ph-list small,.ph-static small{margin-top:.14rem;color:#747d86;font-size:.58rem}.ph-list>a>i:last-child{color:#555e67;font-size:.62rem}.ph-list>a.is-unread{background:rgba(166,126,70,.035)}.ph-list>a.is-unread strong{color:#e9d7b8}
.ph-empty{display:flex;gap:.55rem;align-items:center;justify-content:center;min-height:74px;padding:1rem;color:#747d86;font-size:.66rem;text-align:center}.ph-empty i{color:#69816f;font-size:1rem}
.ph-character-row{display:flex;gap:.55rem;padding:.85rem;overflow:auto}.ph-character-row>a{flex:0 0 74px;color:#bdb8b0;text-decoration:none;text-align:center;font-size:.58rem}.ph-character-row img{width:52px;height:52px;display:block;margin:0 auto .35rem;border-radius:50%;object-fit:cover;border:1px solid rgba(194,153,91,.22);background:#080b0e}.ph-character-row span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1050px){.ph-change-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.ph-home{padding:.8rem;border-radius:18px}.ph-head{display:grid}.ph-since{text-align:left;min-width:0}.ph-change-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ph-grid{grid-template-columns:1fr}}@media(max-width:430px){.ph-change-grid{grid-template-columns:1fr 1fr}.ph-change{padding:.55rem}.ph-card-head{padding:.72rem}.ph-list>a,.ph-static{padding:.65rem .72rem}}

/* v5.56 — calmer, collapsible Portal command board */
.ph-head-actions{display:flex;align-items:center;gap:.65rem;justify-content:flex-end}.ph-collapse-btn{white-space:nowrap}.ph-home.is-collapsed{padding:.8rem 1rem;background:linear-gradient(180deg,rgba(17,22,28,.95),rgba(10,14,18,.95))}.ph-home.is-collapsed .ph-change-grid,.ph-home.is-collapsed .ph-grid{display:none}.ph-home.is-collapsed .ph-head{margin:0;align-items:center}.ph-home.is-collapsed .ph-head>div:first-child p{display:none}.ph-home.is-collapsed .ph-head>div:first-child h2{font-size:1.05rem;margin-bottom:0}.ph-home.is-collapsed .ph-since{padding:.45rem .65rem}.ab-portal-page .ab-xf-cover{border-radius:20px;overflow:hidden;box-shadow:0 22px 60px rgba(0,0,0,.22)}.ab-portal-page .ab-xf-tabs{border-radius:14px;overflow:auto hidden;scrollbar-width:thin}
@media(max-width:760px){.ph-head-actions{width:100%;justify-content:space-between}.ph-home.is-collapsed .ph-head{gap:.55rem}.ph-home.is-collapsed .ph-head-actions{display:grid;grid-template-columns:1fr auto}.ph-home.is-collapsed .ph-since{min-width:0}}
.ab-claim-steps{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin:.75rem 0}.ab-claim-steps>div{display:grid;grid-template-columns:28px 1fr;gap:.5rem;align-items:center;padding:.55rem;border:1px solid rgba(255,255,255,.065);border-radius:10px;background:rgba(255,255,255,.025)}.ab-claim-steps b{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:rgba(183,140,85,.13);color:#d3ae7c;font-size:.65rem}.ab-claim-steps span{display:flex;flex-direction:column}.ab-claim-steps strong{color:#e8e2da;font-size:.67rem}.ab-claim-steps small{color:#7d8790;font-size:.57rem;line-height:1.35;margin-top:.08rem}@media(max-width:640px){.ab-claim-steps{grid-template-columns:1fr}}
