.rh-purchase-shell{
    position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;
    padding:16px;background:rgba(0,0,0,.72);backdrop-filter:blur(8px);
    opacity:0;pointer-events:none;transition:opacity .22s;
}
.rh-purchase-shell.open{opacity:1;pointer-events:auto}
.rh-purchase-panel{
    width:min(440px,calc(100vw - 28px));max-height:90vh;overflow:auto;
    padding:26px 24px 22px;border-radius:18px;
    background:rgba(20,26,36,.98);border:1px solid rgba(201,162,84,.32);
    box-shadow:0 24px 60px rgba(0,0,0,.5);position:relative;
}
.rh-purchase-shell.theme-danger .rh-purchase-panel{
    border-color:rgba(248,113,113,.45);
    box-shadow:0 24px 60px rgba(0,0,0,.5),0 0 0 1px rgba(248,113,113,.12);
}
.rh-purchase-x{
    position:absolute;top:10px;right:12px;width:32px;height:32px;border:none;border-radius:8px;
    background:rgba(255,255,255,.05);color:#8d98ab;font-size:1.25rem;cursor:pointer;
}
.rh-purchase-x:hover{color:#eef2f8;background:rgba(255,255,255,.1)}
.rh-purchase-heading{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#8d98ab;margin:0 0 6px}
.rh-purchase-title{margin:0 0 8px;font-size:1.25rem;font-weight:800;color:#e8c878;line-height:1.25}
.rh-purchase-price{font-size:1.05rem;font-weight:700;color:#c9a254;margin-bottom:12px}
.rh-purchase-note{font-size:.86rem;color:#8d98ab;line-height:1.55;margin:0 0 14px}
.rh-purchase-legal{font-size:.76rem;color:#8d98ab;line-height:1.45;margin:0 0 12px}
.rh-purchase-legal a{color:#e8c878}
.rh-purchase-age{
    display:flex;align-items:flex-start;gap:12px;margin:0 0 16px;padding:12px 14px;
    border-radius:12px;border:1px solid rgba(201,162,84,.24);
    background:linear-gradient(135deg,rgba(201,162,84,.08),rgba(0,0,0,.18));
    cursor:pointer;transition:border-color .18s,box-shadow .18s,background .18s;
    user-select:none;
}
.rh-purchase-age:hover{border-color:rgba(201,162,84,.4);background:linear-gradient(135deg,rgba(201,162,84,.11),rgba(0,0,0,.2))}
.rh-purchase-age.is-warn{
    border-color:rgba(248,113,113,.55);
    box-shadow:0 0 0 1px rgba(248,113,113,.15);
    animation:rh-age-shake .42s ease;
}
.rh-purchase-age input{
    position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
    clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.rh-age-box{
    flex-shrink:0;width:22px;height:22px;margin-top:1px;border-radius:7px;
    border:2px solid rgba(201,162,84,.45);background:rgba(0,0,0,.25);
    display:flex;align-items:center;justify-content:center;transition:.18s;
    box-shadow:inset 0 1px 2px rgba(0,0,0,.35);
}
.rh-age-box::after{
    content:'';width:6px;height:10px;border:solid transparent;border-width:0 2.5px 2.5px 0;
    transform:rotate(45deg) scale(0);margin-top:-2px;transition:transform .16s ease;
}
.rh-purchase-age input:checked + .rh-age-box{
    border-color:#e8c878;
    background:linear-gradient(145deg,#e8c878,#c9a254);
    box-shadow:0 0 14px rgba(201,162,84,.35);
}
.rh-purchase-age input:checked + .rh-age-box::after{
    border-color:#1a1208;transform:rotate(45deg) scale(1);
}
.rh-purchase-age input:focus-visible + .rh-age-box{outline:2px solid rgba(232,200,120,.65);outline-offset:2px}
.rh-age-text{font-size:.8rem;color:#b8c0d0;line-height:1.5;text-align:left}
.rh-age-text strong{color:#e8c878;font-weight:700}
@keyframes rh-age-shake{
    0%,100%{transform:translateX(0)}
    20%{transform:translateX(-5px)}
    40%{transform:translateX(5px)}
    60%{transform:translateX(-4px)}
    80%{transform:translateX(4px)}
}
.rh-purchase-loot{max-height:160px;overflow:auto;margin:0 0 14px;padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,.07);background:rgba(0,0,0,.22)}
.rh-purchase-loot li{font-size:.78rem;color:#8d98ab;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.05);list-style:none}
.rh-purchase-loot li:last-child{border-bottom:none}
.rh-purchase-actions{display:flex;gap:10px;flex-wrap:wrap}
.rh-purchase-actions button{
    flex:1;min-width:120px;padding:11px 16px;border-radius:10px;font-family:inherit;
    font-weight:700;font-size:.88rem;cursor:pointer;border:1px solid rgba(255,255,255,.1);transition:.15s;
}
.rh-purchase-cancel{background:transparent;color:#eef2f8}
.rh-purchase-cancel:hover{border-color:rgba(201,162,84,.35);color:#e8c878}
.rh-purchase-ok{
    background:linear-gradient(135deg,#e8c878,#c9a254,#8a6a28);color:#1a1208;border:none;
    box-shadow:0 4px 16px rgba(201,162,84,.28);
}
.rh-purchase-shell.theme-danger .rh-purchase-ok{
    background:linear-gradient(135deg,#fca5a5,#ef4444,#b91c1c);color:#fff;
    box-shadow:0 4px 16px rgba(239,68,68,.35);
}
.rh-purchase-ok:hover{filter:brightness(1.06);transform:translateY(-1px)}
.rh-purchase-ok.is-disabled,.rh-purchase-ok:disabled{
    opacity:.42;cursor:not-allowed;filter:none;transform:none;
    box-shadow:none;
}
