/* =====================================================
   CRIMORA CITY PROFILE SYSTEM
   ===================================================== */

:root {
    --profile-accent: #e0b84c;
    --profile-accent-rgb: 224, 184, 76;
    --profile-accent-soft: rgba(224, 184, 76, .14);
    --profile-bg: #080a0d;
    --profile-surface: #11151b;
    --profile-surface-raised: #171c24;
    --profile-surface-soft: #1c222c;
    --profile-border: rgba(255,255,255,.09);
    --profile-border-strong: rgba(255,255,255,.16);
    --profile-text: #f4f6f9;
    --profile-muted: #98a1ad;
    --profile-dim: #68717d;
    --profile-success: #4fd786;
    --profile-danger: #ff6673;
    --profile-warning: #f2bd55;
    --profile-info: #65b9ff;
    --profile-radius-xl: 28px;
    --profile-radius-lg: 20px;
    --profile-radius-md: 14px;
    --profile-shadow: 0 24px 70px rgba(0,0,0,.48);
}

body[data-accent="red"] { --profile-accent:#ef5f67; --profile-accent-rgb:239,95,103; }
body[data-accent="admin-red"] { --profile-accent:#ff3f50; --profile-accent-rgb:255,63,80; --profile-accent-soft:rgba(255,63,80,.16); }
body[data-accent="blue"] { --profile-accent:#5faeff; --profile-accent-rgb:95,174,255; }
body[data-accent="green"] { --profile-accent:#55d88b; --profile-accent-rgb:85,216,139; }
body[data-accent="purple"] { --profile-accent:#bb7cff; --profile-accent-rgb:187,124,255; }
body[data-accent="cyan"] { --profile-accent:#4de8df; --profile-accent-rgb:77,232,223; }
body[data-accent="orange"] { --profile-accent:#f29c52; --profile-accent-rgb:242,156,82; }
body[data-accent="silver"] { --profile-accent:#c8d0da; --profile-accent-rgb:200,208,218; }

body[data-theme="slate"] { --profile-bg:#0a0d11; --profile-surface:#141920; --profile-surface-raised:#1c232c; --profile-surface-soft:#232b36; }
body[data-theme="crimson"] { --profile-bg:#0e0709; --profile-surface:#190e12; --profile-surface-raised:#241319; --profile-surface-soft:#301921; }
body[data-theme="emerald"] { --profile-bg:#06100d; --profile-surface:#0c1915; --profile-surface-raised:#10231d; --profile-surface-soft:#163028; }
body[data-theme="royal"] { --profile-bg:#0c0813; --profile-surface:#171020; --profile-surface-raised:#21172d; --profile-surface-soft:#2b1d3a; }
body[data-theme="neon"] { --profile-bg:#050910; --profile-surface:#0a1420; --profile-surface-raised:#0d1c2a; --profile-surface-soft:#102638; }
body[data-theme="syndicate"] { --profile-bg:#080808; --profile-surface:#121212; --profile-surface-raised:#191919; --profile-surface-soft:#202020; }
body[data-theme="imperial"] { --profile-bg:#0c0b08; --profile-surface:#17140d; --profile-surface-raised:#211c11; --profile-surface-soft:#2d2617; }
body[data-theme="administrator"] { --profile-bg:#0d0305; --profile-surface:#1a070a; --profile-surface-raised:#290a0f; --profile-surface-soft:#3a1017; }
body[data-theme="amber"] { --profile-bg:#150d02; --profile-surface:#241705; --profile-surface-raised:#382209; --profile-surface-soft:#4f3010; }
body[data-theme="toxic"] { --profile-bg:#0a1400; --profile-surface:#182b00; --profile-surface-raised:#253f00; --profile-surface-soft:#345700; }
body[data-theme="wine"] { --profile-bg:#170308; --profile-surface:#2b0610; --profile-surface-raised:#3f0a18; --profile-surface-soft:#591024; }
body[data-theme="arctic"] { --profile-bg:#050d14; --profile-surface:#0d1e2c; --profile-surface-raised:#142c40; --profile-surface-soft:#1c3d57; }
body[data-theme="carbon"] { --profile-bg:#0a0a0a; --profile-surface:#141414; --profile-surface-raised:#1e1e1e; --profile-surface-soft:#292929; }
body[data-accent="rose"] { --profile-accent:#ff8fb3; --profile-accent-rgb:255,143,179; }
body[data-accent="lime"] { --profile-accent:#a8ff3d; --profile-accent-rgb:168,255,61; }
body[data-accent="copper"] { --profile-accent:#c97b4a; --profile-accent-rgb:201,123,74; }
body[data-accent="ice"] { --profile-accent:#bdeeff; --profile-accent-rgb:189,238,255; }


/* =====================================================
   RELIABLE HIDDEN STATE
   ===================================================== */

/*
   Some profile components use display:grid or display:flex.
   This rule ensures the HTML hidden attribute always wins,
   including hospital and prison status cards.
*/
[hidden] {
    display: none !important;
}

.is-hidden {
    display: none !important;
}

body {
    background:
        radial-gradient(circle at 15% 8%, rgba(var(--profile-accent-rgb), .08), transparent 34rem),
        linear-gradient(180deg, var(--profile-bg), #07080a 72%);
    color: var(--profile-text);
}

body.modal-open { overflow: hidden; }

.profile-page-shell,
.customisation-shell {
    width: min(1480px, calc(100% - 24px));
    margin: 14px auto 40px;
}

.profile-loading-card,
.profile-error-card {
    min-height: 380px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:45px;
    border:1px solid var(--profile-border);
    border-radius:var(--profile-radius-xl);
    background:linear-gradient(145deg, var(--profile-surface-raised), var(--profile-surface));
    box-shadow:var(--profile-shadow);
}

.profile-loading-card h1,
.profile-loading-card h2,
.profile-error-card h1,
.profile-error-card h2 { margin:18px 0 8px; color:var(--profile-text); }
.profile-loading-card p,
.profile-error-card p { margin:0 0 24px; color:var(--profile-muted); }
.profile-loading-spinner {
    width:54px; height:54px; border-radius:50%;
    border:4px solid rgba(255,255,255,.09);
    border-top-color:var(--profile-accent);
    animation:profileSpin .8s linear infinite;
}
.profile-error-icon { font-size:54px; }

.profile-dossier { animation:profileEntrance .45s ease both; }

.profile-hero {
    min-height:335px;
    position:relative;
    overflow:hidden;
    border:1px solid var(--profile-border-strong);
    border-radius:var(--profile-radius-xl);
    box-shadow:var(--profile-shadow);
    isolation:isolate;
    background:#111;
}

.profile-hero::before,
.profile-preview-banner::before {
    content:"";
    position:absolute; inset:0;
    background:
        radial-gradient(circle at 78% 18%, rgba(var(--profile-accent-rgb), .35), transparent 27rem),
        linear-gradient(115deg, rgba(6,8,11,.12), rgba(6,8,11,.8));
    z-index:1;
}

.profile-hero-image,
.profile-preview-header-image {
    position:absolute;
    inset:0;
    z-index:0;
    background-position:center right;
    background-size:cover;
    background-repeat:no-repeat;
}
.profile-hero-image::after,
.profile-preview-header-image::after {
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg,#050609 0%,rgba(5,6,9,.82) 11%,rgba(5,6,9,.42) 24%,rgba(5,6,9,.08) 38%,transparent 52%),
        linear-gradient(180deg,transparent 65%,rgba(5,6,9,.12));
}
.profile-preview-header-image { background-position:center; }
.profile-preview-header-image::after {
    background:linear-gradient(180deg,transparent 58%,rgba(5,6,9,.28));
}

.profile-hero[data-banner="city"], .profile-preview-card[data-banner="city"] .profile-preview-banner { background:linear-gradient(135deg,#101820,#1e2731 48%,#0b0e13); }
.profile-hero[data-banner="alleys"], .profile-preview-card[data-banner="alleys"] .profile-preview-banner { background:linear-gradient(135deg,#171416,#332021 48%,#0b0b0c); }
.profile-hero[data-banner="docks"], .profile-preview-card[data-banner="docks"] .profile-preview-banner { background:linear-gradient(135deg,#081922,#173446 48%,#071014); }
.profile-hero[data-banner="skyline"], .profile-preview-card[data-banner="skyline"] .profile-preview-banner { background:linear-gradient(135deg,#11162c,#283d65 48%,#080b15); }
.profile-hero[data-banner="vault"], .profile-preview-card[data-banner="vault"] .profile-preview-banner { background:linear-gradient(135deg,#161718,#41464a 48%,#0b0c0d); }
.profile-hero[data-banner="penthouse"], .profile-preview-card[data-banner="penthouse"] .profile-preview-banner { background:linear-gradient(135deg,#17120a,#59441c 48%,#0b0905); }
.profile-hero[data-banner="command"], .profile-preview-card[data-banner="command"] .profile-preview-banner { background:radial-gradient(circle at 76% 22%,rgba(255,61,78,.34),transparent 27%),linear-gradient(135deg,#150204,#700d18 50%,#080102); }
.profile-hero[data-banner="warehouse"], .profile-preview-card[data-banner="warehouse"] .profile-preview-banner { background:linear-gradient(135deg,#141210,#3a3327 48%,#0c0b09); }
.profile-hero[data-banner="underground"], .profile-preview-card[data-banner="underground"] .profile-preview-banner { background:linear-gradient(135deg,#0d0f0a,#2a3320 48%,#080a06); }
.profile-hero[data-banner="neon-strip"], .profile-preview-card[data-banner="neon-strip"] .profile-preview-banner { background:radial-gradient(circle at 70% 25%,rgba(255,45,190,.35),transparent 30%),linear-gradient(135deg,#0a0414,#2a0f3d 55%,#07030c); }
.profile-hero[data-banner="rooftop"], .profile-preview-card[data-banner="rooftop"] .profile-preview-banner { background:linear-gradient(135deg,#0a0f1c,#1f2f4d 48%,#060911); }

.profile-hero-pattern {
    position:absolute; inset:0;
    z-index:2;
    background-image:
        linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
    background-size:36px 36px;
    mask-image:linear-gradient(to right, transparent, #000 35%, #000);
}
.profile-hero.has-custom-header .profile-hero-pattern,
.profile-preview-card.has-custom-header .profile-hero-pattern { display:none; }
.profile-hero.has-custom-header::before {
    background:
        linear-gradient(90deg,rgba(0,0,0,.22),transparent 42%),
        linear-gradient(180deg,transparent 58%,rgba(0,0,0,.72));
}
.profile-preview-card.has-custom-header .profile-preview-banner::before {
    background:linear-gradient(180deg,transparent 42%,rgba(0,0,0,.78));
}
.profile-hero-shade { position:absolute; inset:0; z-index:3; background:linear-gradient(90deg,rgba(5,7,9,.92),rgba(5,7,9,.58) 55%,rgba(5,7,9,.14)); }
.profile-hero.has-custom-header .profile-hero-shade { background:linear-gradient(90deg,rgba(0,0,0,.08),transparent 42%); }
.profile-hero.has-hospital-status { border-color:rgba(101,185,255,.5); }
.profile-hero.has-prison-status { border-color:rgba(255,102,115,.5); }

.profile-hero-content {
    position:relative;
    z-index:4;
    min-height:335px;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:end;
    gap:32px;
    padding:58px 58px 46px;
}

.profile-avatar-frame {
    width:184px; height:184px; flex:0 0 auto;
    border-radius:50%; padding:7px; position:relative;
    background:linear-gradient(145deg,var(--profile-accent),rgba(var(--profile-accent-rgb),.25));
    box-shadow:0 0 0 5px rgba(0,0,0,.35),0 20px 55px rgba(0,0,0,.5),0 0 32px rgba(var(--profile-accent-rgb),.22);
}
.profile-avatar { width:100%; height:100%; display:block; object-fit:cover; border-radius:inherit; background:#0a0b0d; border:4px solid #0c0e11; }
.profile-online-dot { position:absolute; right:10px; bottom:18px; width:24px; height:24px; border-radius:50%; background:#66707c; border:5px solid #0c0e11; }
.profile-online-dot.online { background:#4fd786; box-shadow:0 0 16px rgba(79,215,134,.75); }

.frame-steel { border-radius:24%; background:repeating-linear-gradient(135deg,#d5d9de 0 8px,#666d76 8px 16px); }
.frame-steel::before,.frame-steel::after { content:"•"; position:absolute; color:#252a30; font-size:24px; z-index:3; }
.frame-steel::before { left:8px; top:2px; }.frame-steel::after { right:8px; bottom:2px; }
.frame-crimson { background:linear-gradient(135deg,#f9ff9f,#d3a014,#f9ff9f); clip-path:polygon(12% 0,88% 0,100% 12%,100% 88%,88% 100%,12% 100%,0 88%,0 12%); border-radius:10%; }
.frame-tactical { background:conic-gradient(from 0deg,var(--profile-accent) 0 8%,transparent 8% 17%,var(--profile-accent) 17% 25%,transparent 25% 42%,var(--profile-accent) 42% 50%,transparent 50% 67%,var(--profile-accent) 67% 75%,transparent 75% 92%,var(--profile-accent) 92%); padding:10px; }
.frame-tactical::after { content:"⌖"; position:absolute; inset:-16px; display:grid; place-items:center; font-size:230px; color:rgba(var(--profile-accent-rgb),.18); pointer-events:none; }
.frame-royal { background:conic-gradient(#f5d77c,#7f48c7,#f5d77c,#7f48c7,#f5d77c); box-shadow:0 0 0 5px #21152d,0 0 35px rgba(187,124,255,.38); }
.frame-crown::before { content:"♛"; position:absolute; left:50%; top:-42px; transform:translateX(-50%); font-size:52px; color:var(--profile-accent); text-shadow:0 5px 15px #000; z-index:4; }
.frame-administrator { border-radius:18px; background:linear-gradient(135deg,#ff3448,#7b0715 48%,#ff5364); box-shadow:0 0 0 3px rgba(255,255,255,.08),0 0 40px rgba(255,45,67,.48); }
.frame-neon-ring { background:#0a0c10; box-shadow:0 0 0 4px #0a0c10,0 0 0 6px #2ff3ff,0 0 26px 4px rgba(47,243,255,.65),0 0 46px 10px rgba(255,47,230,.35); }
.frame-chainlink { border-radius:50%; background:repeating-radial-gradient(circle at 50% 50%,#9aa0a6 0 3px,#3a3f44 3px 9px,#9aa0a6 9px 12px); }
.frame-barbed { border-radius:50%; background:repeating-conic-gradient(#c7cbd1 0 5deg,#33383e 5deg 22deg); box-shadow:0 0 0 4px #14161a,0 10px 26px rgba(0,0,0,.5); }
.frame-barbed::before,.frame-barbed::after { content:"✕"; position:absolute; color:#1a1c20; font-size:16px; font-weight:900; z-index:3; }
.frame-barbed::before { left:2px; top:38%; } .frame-barbed::after { right:2px; bottom:38%; }
.frame-laurel { background:conic-gradient(#d9b64a,#4a7c3f,#d9b64a,#4a7c3f,#d9b64a); box-shadow:0 0 0 4px #14170f,0 0 30px rgba(74,124,63,.4); }

.profile-identity { min-width:0; }
.profile-eyebrow-row { display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin-bottom:13px; }
.profile-presence,.profile-role-badge,.profile-featured-badge {
    display:inline-flex; align-items:center; min-height:29px; padding:5px 11px;
    border-radius:999px; border:1px solid var(--profile-border-strong);
    background:rgba(7,9,12,.58); color:#bac1ca; font-size:12px; font-weight:800; letter-spacing:.05em; text-transform:uppercase;
}
.profile-presence::before { content:""; width:7px; height:7px; border-radius:50%; background:#69717b; margin-right:7px; }
.profile-presence.online::before { background:#4fd786; box-shadow:0 0 9px rgba(79,215,134,.75); }
.profile-role-badge.administrator { border-color:rgba(255,67,84,.62); color:#ff7886; background:rgba(92,5,16,.46); }
.profile-featured-badge.administrator { border-color:rgba(255,67,84,.62); color:#ff7886; background:rgba(92,5,16,.46); box-shadow:0 0 18px rgba(255,45,67,.16); }
.profile-featured-badge { border-color:rgba(var(--profile-accent-rgb),.38); color:var(--profile-accent); }
.profile-account-ban {
    display:inline-flex; align-items:center; min-height:29px; padding:5px 11px;
    border:1px solid rgba(255,67,84,.52); border-radius:999px;
    background:rgba(72,8,17,.34); color:#ff5364; font-size:11px; font-weight:900;
    letter-spacing:.04em; line-height:1; text-transform:uppercase; white-space:nowrap;
}
.profile-account-ban[hidden] { display:none !important; }
.profile-identity h1 { margin:0; font-size:clamp(34px,5vw,62px); line-height:1; letter-spacing:-.035em; color:#fff; text-shadow:0 8px 30px #000; overflow-wrap:anywhere; }
.profile-title { margin:13px 0 0; font-size:19px; font-weight:800; color:var(--profile-accent); letter-spacing:.03em; }
.profile-status-message { margin:15px 0 0; max-width:720px; font-size:16px; color:#dfe4ea; font-style:italic; }
.profile-identity-meta { display:flex; flex-wrap:wrap; gap:10px 20px; margin-top:24px; color:#aeb6c1; font-size:14px; }
.profile-identity-meta strong { color:#fff; }
.profile-hero.has-custom-header .profile-identity h1,
.profile-hero.has-custom-header .profile-identity .profile-status-message,
.profile-hero.has-custom-header .profile-identity-meta,
.profile-hero.has-custom-header .profile-identity-meta strong {
    text-shadow:0 1px 3px #000,0 0 9px rgba(0,0,0,.92),0 0 20px rgba(0,0,0,.66);
}
.profile-level-meta,.profile-experience-meta,.profile-rank-meta,.profile-protection-meta { display:inline-flex; align-items:center; gap:7px; }
.profile-protection-meta { padding:5px 8px; border:1px solid rgba(91,176,255,.32); border-radius:9px; background:rgba(45,121,184,.12); color:#b9ddff; }
.profile-protection-meta[hidden] { display:none; }
.profile-protection-meta button { margin-left:3px; padding:3px 7px; border:1px solid rgba(255,120,130,.4); border-radius:7px; background:rgba(120,25,34,.28); color:#ffd8dc; font:inherit; font-size:11px; font-weight:800; cursor:pointer; }
.profile-protection-meta button:hover,.profile-protection-meta button:focus-visible { border-color:#ff7c88; background:rgba(160,36,47,.42); }
.profile-level-icon { width:30px; height:30px; object-fit:contain; flex:0 0 auto; filter:drop-shadow(0 3px 7px rgba(0,0,0,.45)); }
.profile-rank-icon { width:27px; height:27px; object-fit:contain; flex:0 0 auto; filter:drop-shadow(0 3px 7px rgba(0,0,0,.45)); }
.profile-rank-icon[hidden] { display:none !important; }
.profile-role-badge { gap:7px; }
.profile-role-icon { width:24px; height:24px; object-fit:contain; flex:0 0 auto; filter:drop-shadow(0 3px 7px rgba(0,0,0,.45)); }
.profile-hero-actions { display:flex; flex-direction:column; gap:10px; align-items:stretch; min-width:180px; }

.profile-primary-button,.profile-secondary-button,.profile-level-button {
    display:inline-flex; justify-content:center; align-items:center; gap:7px;
    min-height:38px; padding:8px 14px; border-radius:10px; cursor:pointer;
    font:inherit; font-size:14px; font-weight:850; text-decoration:none; transition:.2s ease;
}
.profile-primary-button { border:1px solid var(--profile-accent); background:var(--profile-accent); color:#111; box-shadow:0 10px 24px rgba(var(--profile-accent-rgb),.18); }
.profile-secondary-button { border:1px solid var(--profile-border-strong); background:rgba(12,15,19,.72); color:#f4f6f9; }
.profile-primary-button:hover,.profile-secondary-button:hover,.profile-level-button:hover { transform:translateY(-2px); filter:brightness(1.08); }
.profile-primary-button:disabled,.profile-secondary-button:disabled,.profile-level-button:disabled { opacity:.55; cursor:not-allowed; transform:none; }


.profile-status-stack[hidden],
.profile-live-status[hidden],
.profile-status-stack.is-hidden,
.profile-live-status.is-hidden {
    display: none !important;
}

.profile-status-stack { display:grid; gap:8px; margin-top:10px; }
.profile-live-status {
    display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px;
    padding:12px 14px; border-radius:13px; border:1px solid var(--profile-border-strong);
    box-shadow:0 12px 30px rgba(0,0,0,.28);
}
.status-hospital { background:linear-gradient(115deg,rgba(20,54,78,.96),rgba(10,25,36,.96)); border-color:rgba(101,185,255,.42); }
.status-prison { background:linear-gradient(115deg,rgba(72,22,29,.96),rgba(32,11,15,.96)); border-color:rgba(255,102,115,.42); }
.status-icon { width:40px; height:40px; border-radius:12px; display:grid; place-items:center; font-size:20px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1); }
.status-copy h2 { margin:2px 0 3px; font-size:16px; color:#fff; }.status-copy p { margin:0; font-size:12px; color:#cbd3dc; }
.status-kicker,.panel-kicker { display:block; color:var(--profile-accent); font-size:10px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.status-timing { text-align:right; }.status-timing span,.status-timing small { display:block; color:#aeb6c1; font-size:12px; }.status-timing strong { display:block; margin:3px 0; font-size:16px; color:#fff; font-variant-numeric:tabular-nums; }

.profile-summary-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:8px 0; border:1px solid var(--profile-border); border-radius:13px; background:linear-gradient(165deg,rgba(255,255,255,.035),rgba(255,255,255,.006)),rgba(15,19,24,.9); box-shadow:inset 0 1px rgba(255,255,255,.04); overflow:hidden; }
.profile-summary-item { display:flex; align-items:center; gap:8px; padding:9px 10px; border-right:1px solid var(--profile-border); }
.profile-summary-item:last-child { border-right:0; }.summary-icon { font-size:16px; }.summary-icon--image { width:22px; height:22px; display:grid; place-items:center; flex:0 0 22px; }.summary-icon--image img { width:22px; height:22px; object-fit:contain; filter:drop-shadow(0 3px 7px rgba(0,0,0,.4)); }.profile-summary-item small,.profile-summary-item strong { display:block; }.profile-summary-item small { color:var(--profile-muted); font-size:9px; text-transform:uppercase; letter-spacing:.06em; }.profile-summary-item strong { margin-top:2px; color:#fff; font-size:12px; }

.profile-main-grid { column-count:2; column-gap:7px; column-fill:balance; }
.profile-main-grid > * { break-inside:avoid; -webkit-column-break-inside:avoid; }
.profile-main-column { display:flex; flex-direction:column; gap:7px; }
.profile-main-grid .profile-panel,
.profile-main-grid .profile-live-status,
.profile-main-grid .profile-actions-panel { margin-bottom:7px; }
.profile-panel { position:relative; padding:9px; border-radius:11px; border:1px solid var(--profile-border); background:linear-gradient(145deg,var(--profile-surface-raised),var(--profile-surface)); box-shadow:0 14px 38px rgba(0,0,0,.25), inset 0 1px rgba(255,255,255,.04); overflow:hidden; transition:border-color .2s,transform .2s; }
.profile-panel::before { content:""; position:absolute; top:0; left:22px; right:22px; height:1px; background:linear-gradient(90deg,transparent,rgba(var(--profile-accent-rgb),.55),transparent); opacity:.65; }
.profile-panel:hover { border-color:rgba(var(--profile-accent-rgb),.35); transform:translateY(-2px); }
.profile-panel-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:8px; margin-bottom:6px; }
.profile-panel-heading h2 { margin:2px 0 0; font-size:13px; color:#fff; }.panel-icon { width:22px; height:22px; display:grid; place-items:center; border-radius:7px; font-size:12px; background:var(--profile-accent-soft); border:1px solid rgba(var(--profile-accent-rgb),.2); }
.panel-icon--image img { width:18px; height:18px; object-fit:contain; filter:drop-shadow(0 4px 8px rgba(0,0,0,.45)); }
.profile-bio { margin:0; color:#c7ced7; font-size:12px; line-height:1.45; white-space:pre-line; overflow-wrap:anywhere; }

.profile-progress-copy,.profile-progress-footer,.resource-label { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.profile-progress-copy { margin-bottom:4px; color:var(--profile-muted); font-size:12px; }.profile-progress-copy strong { color:#fff; }
.profile-progress-track,.resource-track { height:6px; border-radius:999px; overflow:hidden; background:#080a0d; border:1px solid rgba(255,255,255,.08); }
.profile-progress-fill,.resource-fill { height:100%; width:0; border-radius:inherit; background:linear-gradient(90deg,var(--profile-accent),rgba(var(--profile-accent-rgb),.72)); transition:width .5s ease; }
.profile-progress-footer { margin-top:4px; color:var(--profile-muted); font-size:11px; }.profile-level-button { min-height:26px; padding:5px 9px; border:1px solid var(--profile-accent); background:var(--profile-accent-soft); color:var(--profile-accent); }
@media(max-width:600px){.profile-progress-footer{display:grid;grid-template-columns:1fr;align-items:stretch}.profile-level-button{width:100%;min-height:36px}}
.profile-resource-list { display:grid; gap:6px; }.profile-resource { --resource-color:var(--profile-accent); }.profile-resource[data-resource="health"] { --resource-color:#ff4b55; }.profile-resource[data-resource="energy"] { --resource-color:#ffd83d; }.profile-resource[data-resource="momentum"] { --resource-color:#35cfff; }.profile-resource[data-resource="courage"] { --resource-color:#ff9f2f; }
.resource-label span { display:inline-flex; align-items:center; gap:4px; }.resource-label .ec-resource-icon-image { width:14px; height:14px; }.resource-label { margin-bottom:3px; color:#b8c0ca; font-size:11px; }.resource-label strong { color:#fff; }.profile-resource .resource-fill { background:var(--resource-color); box-shadow:0 0 16px color-mix(in srgb,var(--resource-color) 32%,transparent); }

.profile-finance-grid { display:grid; grid-template-columns:1fr 1fr; gap:6px; }.profile-finance-grid>div { padding:7px 8px; border-radius:8px; background:linear-gradient(165deg,rgba(255,255,255,.04),rgba(255,255,255,.008)),var(--profile-surface-soft); box-shadow:inset 0 1px rgba(255,255,255,.04); border:1px solid var(--profile-border); }.profile-finance-grid small,.profile-finance-grid strong { display:block; }.profile-finance-grid small { color:var(--profile-muted); font-size:10px; }.profile-finance-grid strong { margin-top:2px; color:#68df98; font-size:15px; }.profile-private-note { margin:6px 0 0; color:var(--profile-dim); font-size:10px; }

.profile-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }.profile-stat { padding:6px 5px; border-radius:7px; text-align:center; background:linear-gradient(165deg,rgba(255,255,255,.04),rgba(255,255,255,.008)),var(--profile-surface-soft); box-shadow:inset 0 1px rgba(255,255,255,.04); border:1px solid var(--profile-border); }.profile-stat small,.profile-stat strong { display:block; }.profile-stat small { color:var(--profile-muted); font-size:8.5px; letter-spacing:.04em; text-transform:uppercase; }.profile-stat strong { margin-top:2px; color:#fff; font-size:13px; }.profile-stat.featured { border-color:rgba(var(--profile-accent-rgb),.3); background:var(--profile-accent-soft); }.profile-stat.featured strong { color:var(--profile-accent); }.profile-stat.success strong { color:var(--profile-success); }.profile-stat.danger strong { color:var(--profile-danger); }
.profile-private-state { padding:10px; border:1px dashed var(--profile-border-strong); border-radius:9px; background:rgba(0,0,0,.14); text-align:center; color:var(--profile-muted); font-size:12px; }

.profile-equipment-grid { display:grid; grid-template-columns:1fr 1fr; gap:6px; }.equipment-slot { display:flex; align-items:center; gap:7px; min-height:0; padding:7px; border-radius:9px; background:linear-gradient(165deg,rgba(255,255,255,.04),rgba(255,255,255,.008)),var(--profile-surface-soft); box-shadow:inset 0 1px rgba(255,255,255,.04); border:1px solid var(--profile-border); }.equipment-icon { width:28px; height:28px; flex:0 0 auto; display:grid; place-items:center; border-radius:8px; font-size:14px; background:rgba(var(--profile-accent-rgb),.11); }.equipment-slot small,.equipment-slot strong,.equipment-slot em { display:block; }.equipment-slot small { color:var(--profile-muted); font-size:10px; }.equipment-slot strong { margin-top:1px; color:#fff; font-size:12px; }.equipment-slot em { margin-top:1px; color:var(--profile-accent); font-size:9px; font-style:normal; }

.battle-record-display { display:flex; align-items:center; justify-content:space-between; gap:8px; }.battle-record-score { display:flex; align-items:center; gap:8px; }.battle-record-score span:not(.record-divider) { text-align:center; }.battle-record-score small,.battle-record-score strong { display:block; }.battle-record-score small { color:var(--profile-muted); text-transform:uppercase; font-size:8.5px; letter-spacing:.06em; }.battle-record-score strong { margin-top:2px; font-size:19px; }.wins strong { color:var(--profile-success); }.losses strong { color:var(--profile-danger); }.record-divider { color:var(--profile-dim); font-size:16px; }.battle-win-rate { min-width:70px; padding:6px; text-align:center; border-radius:8px; background:var(--profile-accent-soft); border:1px solid rgba(var(--profile-accent-rgb),.22); }.battle-win-rate span,.battle-win-rate strong { display:block; }.battle-win-rate span { color:var(--profile-muted); font-size:9px; }.battle-win-rate strong { margin-top:2px; color:var(--profile-accent); font-size:15px; }
.combat-attribute-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }.combat-attribute-grid>div { display:grid; justify-items:center; align-content:center; min-height:62px; padding:6px 5px; border-radius:7px; text-align:center; background:linear-gradient(165deg,rgba(255,255,255,.04),rgba(255,255,255,.008)),var(--profile-surface-soft); box-shadow:inset 0 1px rgba(255,255,255,.04); border:1px solid var(--profile-border); }.combat-attribute-grid>div>.combat-stat-icon { margin-bottom:4px; width:20px !important; height:20px !important; }.combat-attribute-grid small,.combat-attribute-grid strong { display:block; }.combat-attribute-grid small { color:var(--profile-muted); font-size:9px; }.combat-attribute-grid strong { margin-top:2px; color:#fff; font-size:13px; }.combat-attribute-grid .battle-power { grid-column:1/-1; background:var(--profile-accent-soft); border-color:rgba(var(--profile-accent-rgb),.25); }.combat-attribute-grid .battle-power strong { color:var(--profile-accent); font-size:16px; }

.profile-actions-panel { margin-top:8px; padding:14px 16px; border:1px solid var(--profile-border); border-radius:16px; background:linear-gradient(145deg,var(--profile-surface-raised),var(--profile-surface)); box-shadow:var(--profile-shadow), inset 0 1px rgba(255,255,255,.04); }.profile-actions-heading { display:flex; justify-content:space-between; gap:12px; align-items:end; margin-bottom:10px; }.profile-actions-heading h2 { margin:2px 0 0; font-size:16px; }.profile-actions-heading p { margin:0; color:var(--profile-muted); font-size:12px; }.profile-action-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }.profile-action { min-height:46px; display:flex; align-items:center; gap:8px; padding:8px 10px; border-radius:10px; cursor:pointer; text-align:left; color:#fff; background:linear-gradient(165deg,rgba(255,255,255,.04),rgba(255,255,255,.008)),var(--profile-surface-soft); box-shadow:inset 0 1px rgba(255,255,255,.04); border:1px solid var(--profile-border); transition:.2s; }.profile-action:hover { transform:translateY(-2px); border-color:var(--action-color,var(--profile-accent)); box-shadow:0 12px 25px rgba(0,0,0,.24); }.profile-action:disabled { opacity:.38; cursor:not-allowed; transform:none; }.profile-action>span { width:28px; height:28px; flex:0 0 auto; display:grid; place-items:center; border-radius:9px; font-size:14px; background:rgba(255,255,255,.06); }.profile-action strong,.profile-action small { display:block; font-size:13px; }.profile-action small { margin-top:2px; color:var(--profile-muted); font-size:11px; }.attack-action { --action-color:#ff6673; }.mug-action { --action-color:#f2bd55; }.hospital-action { --action-color:#65b9ff; } .revive-action { --action-color:#4fd786; }.message-action { --action-color:#62d9ef; }.money-action { --action-color:#4fd786; }.trade-action { --action-color:#56d6c9; }.friend-action { --action-color:#b477f3; }

.profile-modal[hidden] { display:none; }.profile-modal { position:fixed; inset:0; z-index:10000; display:grid; place-items:center; padding:20px; background:rgba(3,4,6,.82); backdrop-filter:blur(10px); }.profile-modal-card { width:min(460px,100%); position:relative; padding:34px; border-radius:24px; text-align:center; background:linear-gradient(145deg,var(--profile-surface-raised),var(--profile-surface)); border:1px solid rgba(var(--profile-accent-rgb),.38); box-shadow:0 30px 90px rgba(0,0,0,.7); animation:modalEntrance .22s ease both; }.profile-modal-close { position:absolute; right:14px; top:11px; width:38px; height:38px; border:0; border-radius:50%; cursor:pointer; color:var(--profile-muted); background:transparent; font-size:28px; }.profile-modal-icon { width:70px; height:70px; display:grid; place-items:center; margin:0 auto 18px; border-radius:20px; font-size:34px; background:var(--profile-accent-soft); border:1px solid rgba(var(--profile-accent-rgb),.28); }.profile-modal-card h2 { margin:6px 0 12px; }.profile-modal-card p { margin:0; color:var(--profile-muted); line-height:1.6; }.profile-modal-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:25px; }

/* =====================================================
   CUSTOMISATION PAGE
   ===================================================== */
.customisation-page-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:24px; }.customisation-page-heading h1 { margin:5px 0 7px; font-size:clamp(32px,5vw,52px); color:#fff; }.customisation-page-heading p { margin:0; color:var(--profile-muted); }
.customisation-workspace { display:grid; grid-template-columns:minmax(300px,430px) minmax(0,1fr); gap:20px; align-items:start; }.customisation-preview-column,.customisation-form-column { min-width:0; }.preview-sticky-wrap { position:sticky; top:22px; display:grid; gap:15px; }.preview-label { color:var(--profile-accent); font-size:11px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.profile-preview-card { overflow:hidden; border-radius:26px; background:var(--profile-surface); border:1px solid var(--profile-border-strong); box-shadow:var(--profile-shadow); }.profile-preview-banner { height:125px; position:relative; z-index:0; overflow:hidden; }.profile-preview-body { position:relative; z-index:2; padding:0 25px 27px; text-align:center; }.preview-frame { z-index:3; width:128px; height:128px; margin:-64px auto 14px; }.profile-preview-body h2 { margin:9px 0 0; font-size:27px; }.profile-preview-body .profile-title { font-size:15px; }.profile-preview-body .profile-status-message { margin:11px auto 0; font-size:13px; }.profile-preview-bio { min-height:60px; margin:18px 0; color:#c3cad3; line-height:1.55; white-space:pre-line; overflow-wrap:anywhere; }.preview-placeholder { opacity:.48; font-style:italic; }.preview-stat-row { display:flex; justify-content:center; flex-wrap:wrap; gap:14px; padding-top:15px; border-top:1px solid var(--profile-border); color:var(--profile-muted); font-size:13px; }.preview-stat-row strong { color:#fff; }
.avatar-upload-card,.customisation-section { padding:24px; border:1px solid var(--profile-border); border-radius:var(--profile-radius-lg); background:linear-gradient(145deg,var(--profile-surface-raised),var(--profile-surface)); box-shadow:0 12px 35px rgba(0,0,0,.25); }.avatar-upload-card h2 { margin:4px 0 7px; }.avatar-upload-card p { color:var(--profile-muted); }.avatar-file-control { position:relative; display:block; overflow:hidden; margin:16px 0 12px; padding:14px; border-radius:13px; border:1px dashed var(--profile-border-strong); background:rgba(0,0,0,.12); cursor:pointer; }.avatar-file-control input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }.avatar-file-control span,.avatar-file-control strong { display:block; }.avatar-file-control span { color:var(--profile-accent); font-weight:800; }.avatar-file-control strong { margin-top:4px; color:var(--profile-muted); font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.avatar-upload-card>.profile-secondary-button { width:100%; }.customisation-inline-message { min-height:18px; margin:10px 0 0!important; font-size:12px; color:var(--profile-accent)!important; }
.profile-header-upload-card { border-color:rgba(var(--profile-accent-rgb),.28); }
.profile-header-positioner{margin:14px 0;padding:13px;border:1px solid var(--profile-border);border-radius:14px;background:rgba(0,0,0,.18)}
.profile-header-position-image{position:relative;width:100%;height:140px;overflow:hidden;border:1px solid var(--profile-border-strong);border-radius:11px;background:#0b0e12 50% 50%/cover no-repeat;cursor:grab;touch-action:none}
.profile-header-position-image:active{cursor:grabbing}
.profile-header-position-preview-label{display:block;margin:12px 0 6px;color:var(--profile-accent);font-size:.6rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.profile-header-position-preview{width:100%;height:64px;overflow:hidden;border:1px solid var(--profile-border-strong);border-radius:11px;background:#0b0e12 50% 50%/cover no-repeat}
.profile-header-positioner>p{margin:12px 0 8px;color:var(--profile-muted);font-size:.7rem;line-height:1.4}
.profile-header-positioner label{display:grid;gap:4px;margin-top:8px;color:var(--profile-muted);font-size:.68rem;font-weight:800}
.profile-header-positioner input[type="range"]{width:100%;accent-color:var(--profile-accent)}
.profile-header-upload-actions { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px; }
.profile-header-upload-actions .profile-secondary-button { width:100%; }
.profile-remove-image-button { min-height:46px; padding:11px 15px; border:1px solid rgba(255,92,108,.38); border-radius:12px; background:rgba(100,13,25,.22); color:#ff9eaa; font:inherit; font-weight:800; cursor:pointer; }
.profile-remove-image-button:hover { border-color:#ff6b7c; background:rgba(133,19,34,.34); }
.profile-remove-image-button:disabled { opacity:.55; cursor:not-allowed; }
.customisation-form-column form { display:grid; gap:16px; }.customisation-section-heading { display:flex; align-items:center; gap:15px; margin-bottom:22px; }.customisation-section-heading>span { width:48px; height:48px; display:grid; place-items:center; border-radius:14px; background:var(--profile-accent-soft); font-size:23px; }.customisation-section-heading h2 { margin:0; }.customisation-section-heading p { margin:5px 0 0; color:var(--profile-muted); }
.customisation-field-grid { display:grid; grid-template-columns:1fr 1fr; gap:17px; }.customisation-field { display:block; }.customisation-wide-field { grid-column:1/-1; }.customisation-field>span { display:flex; justify-content:space-between; gap:12px; margin-bottom:8px; color:#e9edf2; font-weight:800; }.customisation-field>span small { color:var(--profile-dim); font-weight:600; }.customisation-field input,.customisation-field textarea,.customisation-field select { width:100%; border:1px solid var(--profile-border-strong); border-radius:12px; background:#0b0e12; color:#f5f7fa; padding:13px 14px; font:inherit; outline:none; transition:.2s; }.customisation-field textarea { resize:vertical; min-height:130px; line-height:1.55; }.customisation-field select { cursor:pointer; }.customisation-field input:focus,.customisation-field textarea:focus,.customisation-field select:focus { border-color:var(--profile-accent); box-shadow:0 0 0 3px var(--profile-accent-soft); }.customisation-field em { display:block; min-height:17px; margin-top:7px; color:var(--profile-muted); font-size:11px; font-style:normal; }
.privacy-option-list { display:grid; gap:10px; }.privacy-option { position:relative; display:grid; overflow:hidden; grid-template-columns:auto minmax(0,1fr); gap:14px; align-items:center; padding:15px; border:1px solid var(--profile-border); border-radius:14px; background:var(--profile-surface-soft); cursor:pointer; }.privacy-option input { position:absolute; width:1px; height:1px; opacity:0; }.privacy-toggle { width:47px; height:25px; position:relative; border-radius:999px; background:#0a0c0f; border:1px solid var(--profile-border-strong); transition:.2s; }.privacy-toggle::after { content:""; position:absolute; width:17px; height:17px; left:3px; top:3px; border-radius:50%; background:#67717e; transition:.2s; }.privacy-option input:checked+.privacy-toggle { background:var(--profile-accent-soft); border-color:var(--profile-accent); }.privacy-option input:checked+.privacy-toggle::after { left:25px; background:var(--profile-accent); }.privacy-option strong,.privacy-option small { display:block; }.privacy-option small { margin-top:4px; color:var(--profile-muted); }

/* Condensed public-visibility list used on the Settings page */
.privacy-option-list--compact{gap:6px}
.privacy-option-list--compact .privacy-option{grid-template-columns:auto minmax(0,1fr);gap:11px;padding:9px 11px;border-radius:11px}
.privacy-option-list--compact .privacy-option strong{font-size:.82rem}
.privacy-option-list--compact .privacy-option small{margin-top:1px;font-size:.68rem;line-height:1.3}
.privacy-option-list--compact .privacy-toggle{width:36px;height:20px}
.privacy-option-list--compact .privacy-toggle::after{width:12px;height:12px;left:3px;top:3px}
.privacy-option-list--compact .privacy-option input:checked+.privacy-toggle::after{left:19px}
.customisation-save-bar { position:relative; top:auto; bottom:auto; z-index:5; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:17px 19px; border:1px solid rgba(var(--profile-accent-rgb),.28); border-radius:17px; background:rgba(13,16,21,.93); backdrop-filter:blur(14px); box-shadow:0 18px 50px rgba(0,0,0,.45); }.customisation-save-bar strong,.customisation-save-bar span { display:block; }.customisation-save-bar span { margin-top:3px; color:var(--profile-muted); font-size:12px; }

/* Compact Identity / Change player name sections */
.customisation-section--compact { padding:15px; }
.customisation-section--compact .customisation-section-heading { margin-bottom:12px; }
.customisation-section--compact .customisation-field-grid,
.customisation-section--compact form { gap:10px; }
.customisation-section--compact .customisation-field { margin-top:0; }
.customisation-section--compact .customisation-field+.customisation-field { margin-top:10px; }
.customisation-section--compact .customisation-field>span { margin-bottom:5px; }
.customisation-section--compact .customisation-field input,
.customisation-section--compact .customisation-field textarea { padding:9px 11px; }
.customisation-section--compact .customisation-field textarea { min-height:74px; }
.customisation-section--compact .customisation-field em { min-height:0; margin-top:4px; }
.customisation-section--compact .profile-name-change-card { gap:10px; }
.customisation-section--compact .profile-name-change-cost { min-width:180px; padding:10px 12px; gap:2px; }
.customisation-section--compact .profile-name-change-cost strong { font-size:1rem; }
.customisation-section--compact .profile-name-change-cost button { margin-top:4px; min-height:38px; }

body[data-layout="compact"] .profile-panel { padding:19px; }body[data-layout="compact"] .profile-main-grid { gap:12px; }
body[data-layout="showcase"] .profile-hero { min-height:390px; } body[data-layout="showcase"] .profile-hero-content { min-height:390px; padding-top:80px; } body[data-layout="showcase"] .profile-avatar-frame { width:210px; height:210px; }

@keyframes profileSpin { to { transform:rotate(360deg); } }
@keyframes profileEntrance { from { opacity:0; transform:translateY(15px); } to { opacity:1; transform:none; } }
@keyframes modalEntrance { from { opacity:0; transform:translateY(15px) scale(.96); } to { opacity:1; transform:none; } }

@media (max-width:1100px) {
    .profile-hero-content { grid-template-columns:auto minmax(0,1fr); padding:45px 38px 38px; }
    .profile-hero-actions { grid-column:1/-1; flex-direction:row; }.profile-hero-actions>* { flex:1; }
    .profile-summary-strip { grid-template-columns:1fr 1fr; }.profile-summary-item:nth-child(2) { border-right:0; }.profile-summary-item:nth-child(-n+2) { border-bottom:1px solid var(--profile-border); }
    .profile-stat-grid { grid-template-columns:1fr 1fr; }
    .customisation-workspace { grid-template-columns:340px minmax(0,1fr); }
}

@media (max-width:820px) {
    .profile-page-shell,.customisation-shell { width:min(100% - 22px,1480px); margin-top:18px; }
    .profile-hero-content { grid-template-columns:1fr; text-align:center; justify-items:center; padding:42px 24px 30px; }.profile-hero-shade { background:linear-gradient(180deg,rgba(5,7,9,.35),rgba(5,7,9,.92)); }.profile-hero.has-custom-header .profile-hero-shade { background:linear-gradient(180deg,transparent 58%,rgba(5,7,9,.34) 100%); }.profile-hero-image { background-position:center; }.profile-hero-image::after { background:radial-gradient(circle at 50% 24%,rgba(5,6,9,.46),transparent 27%),linear-gradient(180deg,transparent 70%,rgba(5,6,9,.16)); }.profile-eyebrow-row,.profile-identity-meta { justify-content:center; }.profile-status-message { margin-left:auto; margin-right:auto; }.profile-hero-actions { width:100%; }
    .profile-main-grid { column-count:1; }.profile-live-status { grid-template-columns:auto 1fr; }.status-timing { grid-column:1/-1; padding-top:13px; border-top:1px solid rgba(255,255,255,.1); text-align:left; }
    .profile-action-grid { grid-template-columns:1fr 1fr; }.profile-actions-heading { align-items:flex-start; flex-direction:column; }
    .customisation-workspace { grid-template-columns:1fr; }.preview-sticky-wrap { position:static; }.profile-preview-card { max-width:500px; width:100%; margin:auto; }.customisation-page-heading { align-items:flex-start; flex-direction:column; }.customisation-page-heading .profile-secondary-button { width:100%; }
}

@media (max-width:560px) {
    .profile-avatar-frame { width:145px; height:145px; }.profile-identity h1 { font-size:36px; }.profile-hero-actions { flex-direction:column; }
    .profile-summary-strip { grid-template-columns:1fr; }.profile-summary-item { border-right:0; border-bottom:1px solid var(--profile-border); }.profile-summary-item:last-child { border-bottom:0; }
    .profile-live-status { grid-template-columns:1fr; text-align:center; }.status-icon { margin:auto; }.status-timing { text-align:center; }
    .profile-panel { padding:11px; }.profile-finance-grid,.profile-equipment-grid,.profile-action-grid,.customisation-field-grid { grid-template-columns:1fr; }.customisation-wide-field { grid-column:auto; }
    .battle-record-display { align-items:stretch; flex-direction:column; }.battle-record-score { justify-content:center; }.combat-attribute-grid { grid-template-columns:1fr 1fr; }.profile-modal-actions { grid-template-columns:1fr; }
    .customisation-save-bar { align-items:stretch; flex-direction:column; }.customisation-save-bar .profile-primary-button { width:100%; }
}

@media (prefers-reduced-motion:reduce) {
    *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}


/* =====================================================
   LEVEL-UP CONFIRMATION
===================================================== */

.profile-level-up-modal {
    z-index:330000;
    background:
        radial-gradient(circle at 50% 20%, rgba(var(--profile-accent-rgb), .16), transparent 34%),
        rgba(3, 4, 6, .86);
}

.level-up-modal-card {
    width:min(580px, 100%);
    overflow:hidden;
    padding:38px;
}

.level-up-modal-card::before {
    content:"";
    position:absolute;
    inset:0 0 auto;
    height:5px;
    background:linear-gradient(90deg, transparent, var(--profile-accent), transparent);
}

.level-up-celebration {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:15px;
    margin-bottom:16px;
    color:var(--profile-accent);
    font-size:18px;
}

.level-up-celebration > span {
    animation:levelSpark 1.7s ease-in-out infinite alternate;
}

.level-up-celebration > span:last-child {
    animation-delay:.45s;
}

.level-up-modal-icon {
    width:78px;
    height:78px;
    margin:0;
    font-size:38px;
    border-radius:24px;
    box-shadow:
        0 0 0 8px rgba(var(--profile-accent-rgb), .06),
        0 0 38px rgba(var(--profile-accent-rgb), .18);
}

.level-up-introduction {
    max-width:470px;
    margin:0 auto!important;
}

.level-up-preview {
    display:grid;
    grid-template-columns:1fr auto 1fr;
    gap:14px;
    align-items:center;
    margin:27px 0 18px;
}

.level-preview-stage {
    min-height:112px;
    display:grid;
    place-content:center;
    gap:7px;
    padding:17px;
    border-radius:18px;
    background:rgba(0,0,0,.18);
    border:1px solid var(--profile-border);
}

.level-preview-stage small {
    color:var(--profile-muted);
    font-size:11px;
    font-weight:850;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.level-preview-stage strong {
    color:#fff;
    font-size:42px;
    line-height:1;
}

.level-preview-stage.next-stage {
    border-color:rgba(var(--profile-accent-rgb), .5);
    background:var(--profile-accent-soft);
    box-shadow:inset 0 0 24px rgba(var(--profile-accent-rgb), .08);
}

.level-preview-stage.next-stage strong {
    color:var(--profile-accent);
    text-shadow:0 0 18px rgba(var(--profile-accent-rgb), .28);
}

.level-preview-arrow {
    color:var(--profile-accent);
    font-size:27px;
    animation:levelArrow 1.25s ease-in-out infinite alternate;
}

.level-up-benefits {
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:10px;
    text-align:left;
}

.level-up-benefits > div {
    min-width:0;
    display:flex;
    align-items:center;
    gap:10px;
    padding:13px;
    border-radius:14px;
    background:rgba(255,255,255,.035);
    border:1px solid var(--profile-border);
}

.level-up-benefits > div > span {
    width:37px;
    height:37px;
    flex:0 0 auto;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:var(--profile-accent-soft);
}

.level-up-benefits p,
.level-up-benefits small,
.level-up-benefits strong {
    display:block;
    margin:0;
}

.level-up-benefits small {
    color:var(--profile-muted);
    font-size:10px;
}

.level-up-benefits strong {
    margin-top:3px;
    color:#fff;
    font-size:13px;
}

.level-up-hold-note {
    margin:17px 0 0!important;
    padding:12px 14px;
    border-radius:12px;
    color:var(--profile-muted)!important;
    background:rgba(255,255,255,.025);
    border:1px dashed var(--profile-border);
    font-size:12px;
}

.level-up-modal-message {
    margin:14px 0 0!important;
    padding:11px 13px;
    border-radius:11px;
    font-weight:750;
    font-size:13px;
}

.level-up-modal-message.success {
    color:#71e49b!important;
    background:rgba(50,190,108,.1);
    border:1px solid rgba(80,220,135,.25);
}

.level-up-modal-message.error {
    color:#ff8a93!important;
    background:rgba(220,65,78,.1);
    border:1px solid rgba(255,100,112,.25);
}

.level-up-modal-actions {
    margin-top:20px;
}

@keyframes levelSpark {
    from { opacity:.45; transform:scale(.82) rotate(-8deg); }
    to { opacity:1; transform:scale(1.16) rotate(8deg); }
}

@keyframes levelArrow {
    from { transform:translateX(-3px); opacity:.65; }
    to { transform:translateX(3px); opacity:1; }
}

@media(max-width:600px) {
    .level-up-modal-card { padding:30px 20px 22px; }
    .level-up-preview { grid-template-columns:1fr auto 1fr; gap:8px; }
    .level-preview-stage { min-height:95px; padding:12px 8px; }
    .level-preview-stage strong { font-size:34px; }
    .level-preview-arrow { font-size:20px; }
    .level-up-benefits { grid-template-columns:1fr; }
}

@media(prefers-reduced-motion:reduce) {
    .level-up-celebration > span,
    .level-preview-arrow { animation:none; }
}

.profile-action.is-planned{opacity:.52;filter:saturate(.35);cursor:not-allowed}.profile-action.is-planned:hover{transform:none;border-color:var(--profile-line)}


/* =========================
   KINGPIN PROFILE OPTIONS
========================= */
body[data-accent="blackgold"] { --profile-accent:#f3cf70; --profile-accent-rgb:243,207,112; }
body[data-theme="kingpin"] {
    --profile-bg:#060606;
    --profile-surface:#0d0d0d;
    --profile-surface-raised:#15130e;
    --profile-surface-soft:#1f1a10;
}
.profile-hero[data-banner="blackcard-suite"],
.profile-preview-card[data-banner="blackcard-suite"] .profile-preview-banner {
    background:
        radial-gradient(circle at 76% 28%,rgba(225,238,255,.3),transparent 23%),
        linear-gradient(135deg,#04070a,#16222c 48%,#050708);
}
.frame-blackcard {
    border-radius:28px;
    background:linear-gradient(145deg,#f7df91,#3a2609 34%,#0a0a0a 51%,#c8912f 78%,#f7df91);
    box-shadow:0 0 0 3px #070707,0 0 42px rgba(235,183,70,.34);
}
.frame-blackcard::before {
    content:"♠";
    position:absolute;
    right:-8px;
    top:-18px;
    z-index:5;
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:#070707;
    border:2px solid #f3cf70;
    color:#f3cf70;
    font-size:20px;
    box-shadow:0 8px 20px rgba(0,0,0,.55);
}
body[data-layout="executive"] .profile-hero { min-height:410px; }
body[data-layout="executive"] .profile-hero-content { min-height:410px; padding-top:86px; }
body[data-layout="executive"] .profile-avatar-frame { width:220px; height:220px; }
.profile-role-badge.kingpin,
.profile-kingpin-status,
.kingpin-customisation-notice {
    border:1px solid rgba(243,207,112,.5);
    background:linear-gradient(135deg,rgba(243,207,112,.18),rgba(9,9,9,.82));
    color:#f8df91;
    box-shadow:0 0 20px rgba(221,162,42,.12);
}
.profile-role-badge.kingpin { text-transform:uppercase; letter-spacing:.08em; }
.profile-kingpin-status { display:inline-flex; width:max-content; margin-top:10px; padding:7px 11px; border-radius:999px; font-size:.78rem; font-weight:800; }
.kingpin-customisation-notice { margin-top:12px; padding:10px 13px; border-radius:12px; font-size:.84rem; }

/* Expanded Kingpin collections */
body[data-accent="platinum"]{--profile-accent:#dce5ef;--profile-accent-rgb:220,229,239}body[data-accent="champagne"]{--profile-accent:#efd59b;--profile-accent-rgb:239,213,155}body[data-accent="bloodgold"]{--profile-accent:#d9a43d;--profile-accent-rgb:217,164,61}
body[data-theme="obsidian-vault"]{--profile-bg:#030405;--profile-surface:#090b0d;--profile-surface-raised:#12161a;--profile-surface-soft:#1b2025}body[data-theme="velvet-rope"]{--profile-accent:#ff62ba;--profile-accent-rgb:255,98,186;--profile-accent-soft:rgba(255,98,186,.16);--profile-bg:#10040b;--profile-surface:#1d0714;--profile-surface-raised:#300b21;--profile-surface-soft:#45102f}body[data-theme="gold-smoke"]{--profile-bg:#0b0905;--profile-surface:#151109;--profile-surface-raised:#221b0e;--profile-surface-soft:#302613}body[data-theme="midnight-executive"]{--profile-bg:#030712;--profile-surface:#081122;--profile-surface-raised:#0d1a31;--profile-surface-soft:#132440}
.profile-hero[data-banner="penthouse-night"],.profile-preview-card[data-banner="penthouse-night"] .profile-preview-banner{background:radial-gradient(circle at 70% 20%,rgba(255,45,190,.34),transparent 28%),linear-gradient(135deg,#0a0210,#2e0a2e 54%,#070308)}.profile-hero[data-banner="private-casino"],.profile-preview-card[data-banner="private-casino"] .profile-preview-banner{background:radial-gradient(circle at 72% 30%,rgba(60,255,140,.32),transparent 24%),linear-gradient(135deg,#040a06,#0d3320 52%,#060a07)}.profile-hero[data-banner="gold-vault"],.profile-preview-card[data-banner="gold-vault"] .profile-preview-banner{background:radial-gradient(circle at 72% 22%,rgba(255,206,92,.36),transparent 25%),linear-gradient(135deg,#060606,#36260b 55%,#080704)}.profile-hero[data-banner="boardroom"],.profile-preview-card[data-banner="boardroom"] .profile-preview-banner{background:linear-gradient(145deg,rgba(3,6,12,.86),rgba(30,39,52,.86)),radial-gradient(circle at 80% 20%,rgba(225,189,96,.28),transparent 30%)}
.profile-hero[data-banner="throne-room"],.profile-preview-card[data-banner="throne-room"] .profile-preview-banner{background:radial-gradient(circle at 25% 25%,rgba(255,200,110,.26),transparent 32%),linear-gradient(135deg,#04130a,#0f5c34 52%,#020a06)}.profile-hero[data-banner="skybridge-vip"],.profile-preview-card[data-banner="skybridge-vip"] .profile-preview-banner{background:radial-gradient(circle at 30% 70%,rgba(80,200,255,.32),transparent 30%),linear-gradient(135deg,#020c16,#0e3550 52%,#040a10)}
.frame-diamond-cut{border-radius:26px;background:conic-gradient(from 20deg,#ffdcee,#8f97a3,#ff9fc9,#3a3f47,#ffdcee);box-shadow:0 0 0 3px #0a080a,0 0 35px rgba(255,140,200,.3)}.frame-crownline{border-radius:50% 50% 38% 38%;background:linear-gradient(145deg,#a7dbe8,#123342 34%,#0a1216 55%,#2f7189 78%,#a7dbe8);box-shadow:0 0 0 3px #060a0c,0 0 38px rgba(90,190,220,.35)}.frame-private-vault{border-radius:50%;background:radial-gradient(circle at 28% 26%,rgba(200,160,255,.75) 0%,rgba(160,100,230,.4) 10%,transparent 26%),radial-gradient(circle at 74% 72%,rgba(170,110,240,.7) 0%,rgba(130,70,200,.4) 11%,transparent 28%),linear-gradient(150deg,#1d1129,#0a0611 58%,#1d1129);box-shadow:0 0 0 3px #050409,0 0 0 5px rgba(180,130,255,.5),0 0 22px 3px rgba(170,110,240,.6),0 0 48px 12px rgba(140,80,220,.35)}
body[data-layout="portfolio"] .profile-content-grid{grid-template-columns:1.25fr .75fr}body[data-layout="penthouse"] .profile-hero{min-height:460px}body[data-layout="penthouse"] .profile-hero-content{min-height:460px;padding-top:105px}body[data-layout="dossier"] .profile-section{border-style:dashed}body[data-layout="dossier"] .profile-hero-content{align-items:flex-start}


/* The Administrator theme keeps its red-black surfaces, while the accent selector remains independent. */

.profile-assets-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile-asset-card{display:flex;gap:13px;align-items:center;padding:15px;border-radius:14px;border:1px solid var(--profile-border,rgba(255,255,255,.1));background:rgba(10,15,24,.52)}.profile-asset-card>span{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:var(--profile-accent-soft,rgba(205,160,57,.12));font-size:1.55rem}.profile-asset-card small,.profile-asset-card em{display:block;color:var(--profile-muted,#9aa5b5);font-style:normal}.profile-asset-card strong{display:block;margin:3px 0}@media(max-width:620px){.profile-assets-grid{grid-template-columns:1fr}}


.profile-achievement-summary{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:center;margin-bottom:12px}.profile-achievement-summary>div{padding:12px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07)}.profile-achievement-summary small{display:block;color:var(--profile-muted,#9ea7b4);font-size:.75rem}.profile-achievement-summary strong{font-size:1.2rem}.profile-achievement-summary a{color:var(--profile-accent,#d9aa52);font-weight:750;text-decoration:none}.profile-achievement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.profile-achievement-chip{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;background:rgba(255,255,255,.028);border:1px solid rgba(255,255,255,.07)}.profile-achievement-chip>span{font-size:1.35rem}.profile-achievement-chip small{display:block;color:var(--profile-muted,#9ea7b4);font-size:.72rem}.profile-achievement-chip strong{font-size:.88rem}.profile-achievement-empty{grid-column:1/-1;padding:14px;text-align:center;color:var(--profile-muted,#9ea7b4);border:1px dashed rgba(255,255,255,.08);border-radius:12px}@media(max-width:620px){.profile-achievement-summary{grid-template-columns:1fr 1fr}.profile-achievement-summary a{grid-column:1/-1}.profile-achievement-grid{grid-template-columns:1fr}}

.combat-protection-notice { margin:0 0 16px; padding:13px 15px; border-radius:14px; border:1px solid rgba(100,185,255,.28); background:rgba(47,122,180,.1); color:var(--profile-muted); }
.combat-protection-notice strong { color:#fff; }
.combat-protection-notice.is-warning { border-color:rgba(242,189,85,.35); background:rgba(242,189,85,.09); }
.combat-protection-notice.is-blocked { border-color:rgba(255,102,115,.34); background:rgba(255,102,115,.09); }
.combat-protection-notice ul { margin:8px 0 0; padding-left:20px; }
.combat-protection-notice li + li { margin-top:5px; }
.combat-modal-protection { margin:14px 0 0; padding:12px 14px; border-radius:13px; color:var(--profile-muted); background:rgba(242,189,85,.09); border:1px solid rgba(242,189,85,.28); }

/* =====================================================
   DIRECT PLAYER MONEY TRANSFER
===================================================== */
.money-send-modal-card { width:min(520px,100%); }
.money-send-balance { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:22px 0 18px; padding:15px 17px; border:1px solid var(--profile-border); border-radius:14px; background:var(--profile-surface-soft); text-align:left; }
.money-send-balance span { color:var(--profile-muted); font-size:13px; font-weight:700; }
.money-send-balance strong { color:var(--profile-accent); font-size:22px; }
.money-send-entry { text-align:left; }
.money-send-field { display:block; }
.money-send-field>span { display:block; margin-bottom:8px; color:#eef2f6; font-weight:800; }
.money-send-input-shell { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; overflow:hidden; border:1px solid var(--profile-border-strong); border-radius:13px; background:#090c10; transition:.2s; }
.money-send-input-shell:focus-within { border-color:var(--profile-accent); box-shadow:0 0 0 3px var(--profile-accent-soft); }
.money-send-input-shell>span { padding:0 0 0 15px; color:var(--profile-accent); font-size:22px; font-weight:900; }
.money-send-input-shell input { min-width:0; width:100%; border:0; outline:0; padding:14px; background:transparent; color:#fff; font:inherit; font-size:20px; font-weight:850; }
.money-send-entry>small { display:block; margin-top:10px; color:var(--profile-muted); font-size:12px; }
.money-send-max { display:block; margin:9px 0 0 auto; padding:0; border:0; background:transparent; color:var(--profile-accent); cursor:pointer; font:inherit; font-size:12px; font-weight:800; }
.money-send-max:hover { text-decoration:underline; }
.money-send-review { margin-top:18px; padding:20px; border:1px solid rgba(var(--profile-accent-rgb),.3); border-radius:16px; background:var(--profile-accent-soft); }
.money-send-review>span,.money-send-review>strong { display:block; }
.money-send-review>span { color:var(--profile-muted); font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.money-send-review>strong { margin:7px 0; color:var(--profile-accent); font-size:34px; }
.money-send-review p { font-size:13px; }
.money-send-success { margin-top:18px; padding:22px; border:1px solid rgba(79,215,134,.35); border-radius:16px; background:rgba(79,215,134,.08); }
.money-send-success>span { width:44px; height:44px; display:grid; place-items:center; margin:0 auto 10px; border-radius:50%; background:#4fd786; color:#07140d; font-size:22px; font-weight:900; }
.money-send-success strong,.money-send-success small { display:block; }
.money-send-success strong { color:#7ce5a5; font-size:20px; }
.money-send-success p { margin:8px 0!important; }
.money-send-success small { color:var(--profile-muted); overflow-wrap:anywhere; }
.money-send-message { margin-top:14px!important; padding:11px 13px; border-radius:11px; font-size:13px; }
.money-send-message.error { color:#ff9ca6!important; background:rgba(255,88,105,.1); border:1px solid rgba(255,88,105,.28); }

/* =====================================
   FRIENDS & RIVALS
   ===================================== */
.rival-action { --action-color:#ff7b72; }
.friend-action.is-selected,
.rival-action.is-selected {
    border-color:var(--action-color);
    background:color-mix(in srgb,var(--action-color) 12%,var(--profile-surface-soft));
    box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--action-color) 35%,transparent);
}
.friend-action.is-selected>span,
.rival-action.is-selected>span {
    background:color-mix(in srgb,var(--action-color) 18%,transparent);
}
.profile-social-panel { padding:0;overflow:hidden; }
.profile-social-summary--compact {
    display:grid;
    grid-template-columns:1fr 1fr;
    margin:0;
}
.profile-social-summary--compact>div {
    min-height:82px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:16px 20px;
    color:inherit;
    text-decoration:none;
    background:var(--profile-surface-soft);
    transition:.18s ease;
}
.profile-social-summary--compact>div+div { border-left:1px solid var(--profile-border); }
.profile-social-summary--compact small { color:var(--profile-muted);font-size:12px; }
.profile-social-summary--compact strong { margin-top:3px;font-size:27px; }
.social-summary-friends strong { color:#e9c76b; }
.social-summary-rivals strong { color:#ff8c84; }

/* =====================================
   PRIVATE PLAYER REPORTS
   ===================================== */
.report-action { --action-color:#ffb35c; }
.report-action>span { color:#ffd19a; }
.player-report-modal-card { width:min(600px,100%); text-align:left; }
.player-report-modal-icon { color:#ffd19a; background:rgba(255,179,92,.12); }
.player-report-form { display:grid; gap:15px; margin-top:20px; }
.player-report-form label>span { display:block; margin-bottom:7px; color:#eef2f6; font-size:13px; font-weight:800; }
.player-report-form label em { color:var(--profile-muted); font-style:normal; font-weight:600; }
.player-report-form select,
.player-report-form textarea { width:100%; border:1px solid var(--profile-border-strong); border-radius:13px; background:#090c10; color:#fff; font:inherit; padding:12px 13px; resize:vertical; outline:none; }
.player-report-form select:focus,
.player-report-form textarea:focus { border-color:var(--profile-accent); box-shadow:0 0 0 3px var(--profile-accent-soft); }
.player-report-form label>small { display:block; margin-top:5px; color:var(--profile-muted); text-align:right; font-size:11px; }
.player-report-privacy { display:grid; grid-template-columns:32px 1fr; gap:10px; padding:13px; border:1px solid rgba(255,179,92,.24); border-radius:13px; background:rgba(255,179,92,.07); }
.player-report-privacy>span { font-size:20px; }
.player-report-privacy p { margin:0!important; color:var(--profile-muted)!important; font-size:12px; line-height:1.55; }
.player-report-privacy strong { display:block; color:#fff; }
.player-report-message { margin:0!important; padding:11px 13px; border-radius:11px; font-size:13px; }
.player-report-message.error { color:#ff9ca6!important; background:rgba(255,88,105,.1); border:1px solid rgba(255,88,105,.28); }
.player-report-success { margin-top:20px; padding:24px; border:1px solid rgba(79,215,134,.35); border-radius:16px; background:rgba(79,215,134,.08); text-align:center; }
.player-report-success>span { width:46px; height:46px; display:grid; place-items:center; margin:0 auto 10px; border-radius:50%; background:#4fd786; color:#07140d; font-size:23px; font-weight:900; }
.player-report-success strong { display:block; color:#7ce5a5; font-size:20px; }
.player-report-success p { margin:8px 0 18px!important; color:var(--profile-muted)!important; overflow-wrap:anywhere; }

.profile-role-badge.staff {
    border-color: rgba(74, 168, 255, .6);
    color: #8ccaff;
    background: rgba(10, 48, 86, .52);
}
.profile-role-badge.moderator {
    border-color: rgba(172, 112, 255, .58);
    color: #c8a4ff;
    background: rgba(54, 22, 94, .5);
}

.profile-statistics-button {
    border-color: rgba(96, 165, 250, 0.38);
    background: rgba(96, 165, 250, 0.09);
}

.profile-action.statistics-action {
    --action-accent: #60a5fa;
}

/* =====================================
   SEARCHABLE NPC PROFILES
   ===================================== */
body[data-entity-type="npc"] .profile-dossier {
    --npc-blue: #76bfff;
}
.profile-role-badge.npc {
    color: #b7dcff;
    border-color: rgba(118, 191, 255, .48);
    background: rgba(55, 133, 202, .18);
}
.profile-online-dot.npc {
    opacity: 1;
    background: #76bfff;
    box-shadow: 0 0 0 4px rgba(118, 191, 255, .13), 0 0 18px rgba(118, 191, 255, .52);
}
.npc-actions-panel {
    border-color: rgba(var(--profile-accent-rgb), .28);
}
.npc-district-action {
    background: linear-gradient(145deg, rgba(var(--profile-accent-rgb), .12), rgba(255, 255, 255, .025));
}
.npc-profile-panel {
    position: relative;
    overflow: hidden;
}
.npc-profile-panel::after {
    content: "NPC DOSSIER";
    position: absolute;
    right: 18px;
    bottom: 10px;
    color: rgba(255, 255, 255, .035);
    font-size: 22px;
    font-weight: 900;
    letter-spacing: .14em;
    pointer-events: none;
}
.npc-threat-display {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}
.npc-threat-display {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.npc-threat-display > div {
    display: grid;
    gap: 5px;
    min-width: 0;
    padding: 14px;
    border: 1px solid rgba(var(--profile-accent-rgb), .18);
    border-radius: 14px;
    background: rgba(255, 255, 255, .025);
}
.npc-threat-display small {
    color: var(--profile-muted);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .09em;
}
.npc-threat-display strong {
    color: var(--profile-text);
    font-size: 18px;
}
.npc-profile-quote {
    margin: 0 0 16px;
    padding: 14px 16px;
    color: var(--profile-accent);
    background: rgba(var(--profile-accent-rgb), .07);
    border-left: 3px solid var(--profile-accent);
    border-radius: 0 12px 12px 0;
    font-size: 13px;
    font-style: italic;
    line-height: 1.65;
}
@media (max-width: 680px) {
    .npc-threat-display { grid-template-columns: 1fr; }
    .npc-profile-panel::after { display: none; }
}

.profile-role-tag { display:inline-grid; place-items:center; font-size:1rem; line-height:1; }

/* =====================================================
   CUSTOM PROFILE ICON ARTWORK
   ===================================================== */
.profile-id-meta {
    display:inline-flex;
    align-items:center;
    gap:7px;
}
.profile-inline-icon {
    width:30px;
    height:30px;
    object-fit:contain;
    flex:0 0 auto;
    filter:drop-shadow(0 3px 7px rgba(0,0,0,.45));
}
.profile-button-icon {
    width:29px;
    height:29px;
    object-fit:contain;
    flex:0 0 auto;
    filter:drop-shadow(0 3px 7px rgba(0,0,0,.42));
}
.profile-action-icon-image {
    width:39px;
    height:39px;
    object-fit:contain;
    filter:drop-shadow(0 4px 8px rgba(0,0,0,.45));
}
.profile-action.statistics-action > span {
    overflow:hidden;
}
@media (max-width:640px) {
    .profile-inline-icon { width:27px; height:27px; }
    .profile-button-icon { width:26px; height:26px; }
    .profile-action-icon-image { width:36px; height:36px; }
}

/* Organisable personal profile cards */
.profile-main-column { display:contents; }
.profile-presence.inactive { color:#ffb0b0; border-color:rgba(216,91,91,.42); background:rgba(216,91,91,.12); }
.profile-card-order-heading{margin-bottom:12px}
.profile-card-order-reset{padding:9px 14px;border:1px solid var(--profile-border-strong);border-radius:10px;background:#0b0e12;color:var(--profile-muted);font-weight:800;font-size:.78rem;cursor:pointer;white-space:nowrap}
.profile-card-order-reset:disabled{opacity:.4;cursor:not-allowed}
.profile-card-order-reset:not(:disabled):hover{border-color:var(--profile-accent);color:var(--profile-accent)}
.profile-card-order-help{margin:0 0 10px;color:var(--profile-muted);font-size:.72rem;line-height:1.4}
.profile-card-order-list{display:grid;gap:5px}
.profile-card-order-item{display:grid;grid-template-columns:14px 20px minmax(0,1fr) auto;gap:9px;align-items:center;padding:7px 10px;border:1px solid var(--profile-border);border-radius:10px;background:var(--profile-surface-soft);cursor:grab}
.profile-card-order-item.is-dragging{opacity:.48}
.profile-card-order-item.is-drop-target{border-color:var(--profile-accent)}
.profile-card-order-handle{color:var(--profile-dim);font-weight:900;font-size:.8rem;letter-spacing:-.2em;text-align:center}
.profile-card-order-number{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,.06);color:var(--profile-muted);font-size:.62rem;font-weight:900}
.profile-card-order-info{display:flex;align-items:baseline;gap:8px;min-width:0;overflow:hidden}
.profile-card-order-info>div{display:flex;align-items:center;gap:7px;min-width:0;flex:0 1 auto;overflow:hidden}
.profile-card-order-info strong{overflow:hidden;font-size:.78rem;white-space:nowrap;text-overflow:ellipsis}
.profile-card-order-info>small{overflow:hidden;color:var(--profile-muted);font-size:.66rem;white-space:nowrap;text-overflow:ellipsis}
.profile-card-order-visibility{flex:0 0 auto;padding:1px 7px;border-radius:999px;font-size:.56rem;font-weight:850;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}
.profile-card-order-visibility.is-public{color:#8fe3ab;background:rgba(84,219,145,.12)}
.profile-card-order-visibility.is-personal{color:#8fc8ff;background:rgba(101,185,255,.12)}
.profile-card-order-visibility.is-hidden{color:#9aa3ad;background:rgba(255,255,255,.07)}
.profile-card-order-controls{display:flex;align-items:center;gap:4px}
.profile-card-order-controls button{width:23px;height:23px;border:1px solid var(--profile-border-strong);border-radius:6px;background:#0b0e12;color:#fff;font-size:.65rem;line-height:1;cursor:pointer}
.profile-card-order-controls button:disabled{opacity:.3;cursor:not-allowed}
.profile-card-order-controls button:not(:disabled):hover{border-color:var(--profile-accent);color:var(--profile-accent)}
.profile-card-order-controls select{height:23px;padding:0 4px;border:1px solid var(--profile-border-strong);border-radius:6px;background:#0b0e12;color:#cdd3db;font-size:.6rem;max-width:88px}
.profile-card-order-announcement{min-height:0;margin:8px 0 0;color:var(--profile-accent);font-size:.7rem}
.profile-card-order-announcement:empty{margin:0}
.profile-card-order-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.profile-card-order-footer span{color:var(--profile-muted);font-size:.72rem}
@media(max-width:560px){.profile-card-order-info{flex-direction:column;align-items:flex-start;gap:1px}.profile-card-order-info>small{display:none}}

/* Dedicated combat actions directly beneath the player identity card */
.profile-combat-actions-panel {
    margin-top: 14px;
    border-color: rgba(255, 102, 115, .22);
    background: linear-gradient(145deg, rgba(31, 20, 24, .96), var(--profile-surface));
}
.profile-combat-actions-panel .profile-actions-heading { margin-bottom: 16px; }
.profile-combat-action-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .profile-combat-action-grid { grid-template-columns: 1fr; } }

/* Player bounty placement */
.bounty-profile-modal-card {
    width: min(560px, calc(100vw - 28px));
}

.bounty-modal-icon {
    background: linear-gradient(135deg, rgba(211, 75, 84, 0.22), rgba(117, 28, 39, 0.22));
}

.bounty-profile-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 18px 0;
}

.bounty-profile-summary > div {
    min-width: 0;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.035);
}

.bounty-profile-summary small,
.bounty-profile-summary strong {
    display: block;
}

.bounty-profile-summary small {
    color: var(--profile-muted, #9ba4af);
    margin-bottom: 5px;
}

.bounty-profile-summary strong {
    overflow-wrap: anywhere;
}

.bounty-profile-field {
    display: grid;
    gap: 8px;
    color: #e7e9ed;
    font-weight: 750;
}

.bounty-profile-field > div {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.25);
    overflow: hidden;
}

.bounty-profile-field b {
    padding-left: 13px;
}

.bounty-profile-field input {
    min-width: 0;
    border: 0;
    outline: 0;
    padding: 12px;
    color: #fff;
    background: transparent;
    font: inherit;
}

.bounty-profile-message {
    margin: 14px 0 0;
    padding: 10px 12px;
    border-radius: 9px;
    color: #f0c8ca;
    background: rgba(211, 75, 84, 0.13);
}

.bounty-profile-message.success {
    color: #82deb2;
    background: rgba(76, 190, 131, 0.12);
}

.bounty-board-link {
    display: block;
    margin-top: 12px;
    color: #d8bd7e;
    text-align: center;
    text-decoration: none;
    font-weight: 750;
}

@media (max-width: 620px) {
    .bounty-profile-summary {
        grid-template-columns: 1fr;
    }
}


/* Brighter VIP Black Card profile collection. */
body[data-accent="blackgold"] { --profile-accent:#ffd85f; --profile-accent-rgb:255,216,95; }
body[data-accent="platinum"] { --profile-accent:#f2f8ff; --profile-accent-rgb:242,248,255; }
body[data-accent="champagne"] { --profile-accent:#ffe19b; --profile-accent-rgb:255,225,155; }
body[data-accent="bloodgold"] { --profile-accent:#ffb53f; --profile-accent-rgb:255,181,63; }
body[data-theme="kingpin"] { --profile-bg:#0d0a02; --profile-surface:#201805; --profile-surface-raised:#33270a; --profile-surface-soft:#493711; }
body[data-theme="obsidian-vault"] { --profile-bg:#05080d; --profile-surface:#101823; --profile-surface-raised:#1a293a; --profile-surface-soft:#253d54; }
body[data-theme="velvet-rope"] { --profile-accent:#ff72c8; --profile-accent-rgb:255,114,200; --profile-bg:#44072b; --profile-surface:#440130; --profile-surface-raised:#461039; --profile-surface-soft:#631750; }
body[data-theme="gold-smoke"] { --profile-bg:#120d02; --profile-surface:#251a06; --profile-surface-raised:#3d2b0a; --profile-surface-soft:#584013; }
body[data-theme="midnight-executive"] { --profile-accent:#75b8ff; --profile-accent-rgb:117,184,255; --profile-bg:#030918; --profile-surface:#0a1934; --profile-surface-raised:#102851; --profile-surface-soft:#183b71; }
body[data-banner="black-card"] .profile-hero { background-image:radial-gradient(circle at 78% 18%,rgba(255, 254, 253, 0.58),transparent 28%),linear-gradient(125deg,#030303 6%,#ffee00 55%,#080602); }
body[data-banner="penthouse"] .profile-hero { background-image:radial-gradient(circle at 76% 20%,rgba(103,184,255,.58),transparent 31%),linear-gradient(125deg,#020713,#153c68 58%,#05080d); }
body[data-banner="gold-smoke"] .profile-hero { background-image:radial-gradient(circle at 22% 78%,rgba(255,204,68,.55),transparent 35%),linear-gradient(125deg,#120b01,#513709 58%,#0c0802); }
body[data-banner="midnight-executive"] .profile-hero { background-image:radial-gradient(circle at 82% 20%,rgba(89,161,255,.48),transparent 32%),linear-gradient(125deg,#020716,#173765 58%,#05070c); }
.profile-role-badge.kingpin,
.profile-kingpin-status,
.kingpin-customisation-notice { box-shadow:0 0 0 1px rgba(var(--profile-accent-rgb),.48),0 0 24px rgba(var(--profile-accent-rgb),.22); }


/* Public active-bounty warning */
.profile-active-bounty{display:inline-flex;align-items:center;width:max-content;margin-top:10px;padding:7px 11px;border:1px solid rgba(255,62,76,.62);border-radius:8px;color:#ff4f5f;background:rgba(105,0,10,.34);font-size:.78rem;font-weight:950;letter-spacing:.09em;text-transform:uppercase;box-shadow:inset 0 0 18px rgba(255,31,52,.08)}
.profile-active-bounty[hidden]{display:none}
@media(max-width:1120px){.profile-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-summary-item:nth-child(3){border-right:0}.profile-summary-item:nth-child(-n+3){border-bottom:1px solid var(--profile-border)}.profile-summary-item:nth-child(2){border-right:1px solid var(--profile-border)}}
@media(max-width:620px){
    .profile-summary-strip{grid-template-columns:1fr}
    .profile-summary-item{border-right:0!important;border-bottom:1px solid var(--profile-border)!important}
    .profile-summary-item:last-child{border-bottom:0!important}
}

/* Temporary caffeine combat penalty */
.profile-caffeine-penalty{margin-top:5px;color:#ff6674;font-size:.74rem;font-weight:850}.profile-caffeine-penalty[hidden]{display:none}.combat-stat-temporary-loss{display:inline-flex;margin-left:5px;color:#ff6674;font-size:.7em;font-style:normal;font-weight:900}.combat-attribute-grid strong{display:flex;align-items:baseline;justify-content:center;gap:2px;flex-wrap:wrap}

/* Property Prestige residence showcase */
.profile-residence-showcase__hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 8px;border:1px solid var(--profile-border);border-radius:9px;background:linear-gradient(165deg,rgba(255,255,255,.04),rgba(255,255,255,.008)),var(--profile-surface-soft);box-shadow:inset 0 1px rgba(255,255,255,.04)}
.profile-residence-showcase__hero>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--profile-accent-soft);font-size:1rem}.profile-residence-showcase__hero small,.profile-residence-showcase__hero em{display:block;color:var(--profile-muted);font-style:normal;font-size:.65rem}.profile-residence-showcase__hero strong{display:block;margin:1px 0;font-size:.8rem}.profile-residence-showcase__hero b{color:var(--profile-accent);font-size:.74rem;white-space:nowrap}.profile-residence-showcase__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:6px}.profile-residence-showcase__stats>div{padding:5px 6px;border:1px solid var(--profile-border);border-radius:7px;background:rgba(0,0,0,.14)}.profile-residence-showcase__stats small{display:block;color:var(--profile-muted);font-size:.6rem}.profile-residence-showcase__stats strong{display:block;margin-top:1px;font-size:.74rem}.profile-residence-showcase__bar{height:5px;margin-top:6px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.08)}.profile-residence-showcase__bar span{display:block;height:100%;border-radius:inherit;background:var(--profile-accent)}@media(max-width:620px){.profile-residence-showcase__hero{grid-template-columns:auto 1fr}.profile-residence-showcase__hero b{grid-column:1/-1}.profile-residence-showcase__stats{grid-template-columns:1fr}}

/* Compact player and combat action panels */
.profile-actions-panel{padding:9px 10px!important;margin-top:7px!important}.profile-actions-heading{margin-bottom:7px!important}.profile-actions-heading h2{font-size:.86rem!important;margin:.08rem 0!important}.profile-actions-heading p{font-size:.68rem!important}.profile-action-grid{gap:6px!important}.profile-action{min-height:40px!important;padding:6px 8px!important;border-radius:8px!important}.profile-action>span{width:24px!important;height:24px!important;font-size:.82rem!important}.profile-action strong{font-size:.74rem!important}.profile-action small{font-size:.62rem!important}.profile-online-dot.idle{background:#f2c94c!important;box-shadow:0 0 0 3px rgba(242,201,76,.16),0 0 12px rgba(242,201,76,.65)!important}.profile-presence.idle{color:#f2c94c!important;border-color:rgba(242,201,76,.34)!important;background:rgba(242,201,76,.08)!important}.bounty-profile-field textarea{width:100%;resize:vertical;min-height:72px}

.profile-benefits-intro{margin:-4px 0 12px;color:var(--ec-muted);font-size:.78rem}.profile-benefits-list{display:grid;gap:8px;max-height:360px;overflow-y:auto;padding-right:5px;scrollbar-width:thin}.profile-benefit-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;padding:10px 11px;border:1px solid var(--ec-line);border-radius:10px;background:rgba(255,255,255,.025)}.profile-benefit-row>div{display:grid;gap:2px}.profile-benefit-row small{color:var(--ec-gold-bright);font-size:.63rem;text-transform:uppercase;letter-spacing:.08em}.profile-benefit-row strong{font-size:.82rem}.profile-benefit-row span{color:var(--ec-muted);font-size:.7rem}.profile-benefit-row aside{display:grid;justify-items:end;align-content:start;gap:4px}.profile-benefit-row aside b{font-size:.78rem;color:#fff}.profile-benefit-row aside em{padding:2px 6px;border-radius:999px;background:rgba(91,176,255,.1);color:#8fc8ff;font-size:.6rem;font-style:normal;text-transform:uppercase}.profile-benefit-row aside em.is-permanent{background:rgba(91,215,143,.1);color:#77e1a4}.profile-benefit-row p{grid-column:1/-1;margin:2px 0 0;color:var(--ec-muted);font-size:.68rem}
.profile-panel-link{display:inline-flex;align-items:center;justify-content:center;margin-top:12px;padding:9px 12px;border:1px solid var(--ec-line);border-radius:10px;color:var(--ec-gold-bright);text-decoration:none;font-size:.8rem;font-weight:800;background:rgba(224,184,76,.045)}.profile-panel-link:hover{border-color:rgba(224,184,76,.38);background:rgba(224,184,76,.09)}

.profile-level-icon--max { width:36px; height:36px; filter:drop-shadow(0 0 7px rgba(232,188,76,.38)) drop-shadow(0 3px 7px rgba(0,0,0,.5)); }

.profile-name-change-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end}.profile-name-change-cost{display:grid;gap:4px;min-width:220px;padding:14px;border:1px solid var(--ec-line);border-radius:13px;background:rgba(255,255,255,.025)}.profile-name-change-cost small,.profile-name-change-cost span{color:var(--ec-muted)}.profile-name-change-cost strong{font-size:1.18rem;color:var(--ec-gold-bright)}.profile-name-change-cost button{margin-top:6px}@media(max-width:720px){.profile-name-change-card{grid-template-columns:1fr}.profile-name-change-cost{min-width:0}}

.profile-asset-image,.profile-residence-image{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.28))}.profile-asset-card>span,.profile-residence-showcase__hero>span{overflow:hidden;padding:3px}

/* =====================================================
   PROFILE VISUAL STYLE PRESETS
   ===================================================== */
.customisation-section--visual{overflow:hidden}
.customisation-subsection-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:24px 0 12px;padding-top:18px;border-top:1px solid var(--profile-border)}
.customisation-subsection-heading span{color:var(--profile-accent);font-size:.68rem;font-weight:950;letter-spacing:.13em}
.customisation-subsection-heading p{margin:0;color:var(--profile-muted);font-size:.72rem}
@media(max-width:760px){.customisation-subsection-heading{align-items:flex-start;flex-direction:column;gap:4px}}

/* Compact swatch-picker UI: replaces the old plain <select> dropdowns for visual style fields. */
.style-picker-groups{display:grid;gap:14px;margin-top:14px}
.customisation-hidden-select{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.profile-style-picker{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.style-swatch{position:relative;display:grid;grid-template-rows:38px 1fr;justify-items:center;gap:0;width:78px;padding:0;border:1px solid var(--profile-border);border-radius:11px;overflow:hidden;background:rgba(255,255,255,.02);color:var(--profile-text);font:inherit;cursor:pointer;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}
.style-swatch:hover:not(:disabled){transform:translateY(-2px);border-color:rgba(var(--profile-accent-rgb),.55)}
.style-swatch:focus-visible{outline:2px solid var(--profile-accent);outline-offset:2px}
.style-swatch.is-selected{border-color:var(--profile-accent);box-shadow:0 0 0 2px rgba(var(--profile-accent-rgb),.35)}
.style-swatch:disabled{opacity:.4;cursor:not-allowed}
.style-swatch__visual{width:100%;height:38px;overflow:hidden;background:#0b0e12}
.style-swatch__visual.style-swatch__icon{display:grid;place-items:center;font-size:1.15rem}
.style-swatch__visual.style-swatch__icon img{width:22px;height:22px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}
.style-swatch__visual.style-swatch__frame{display:grid;place-content:center}
.style-swatch__frame .profile-avatar-frame{transform:scale(.2);pointer-events:none}
.style-swatch__label{display:flex;align-items:center;justify-content:center;width:100%;min-height:2.4em;padding:3px 4px 5px;overflow:hidden;color:var(--profile-muted);font-size:.53rem;font-weight:800;line-height:1.2;text-align:center;white-space:normal;word-break:break-word}
.style-swatch.is-selected .style-swatch__label{color:var(--profile-accent)}
.style-swatch__lock,.style-swatch__check{position:absolute;top:3px;width:14px;height:14px;display:grid;place-items:center;border-radius:50%;font-size:.5rem;line-height:1}
.style-swatch__lock{right:3px;background:rgba(0,0,0,.65)}
.style-swatch__check{left:3px;background:var(--profile-accent);color:#100b02;font-weight:950;opacity:0}
.style-swatch.is-selected .style-swatch__check{opacity:1}

/* Sharpen the previously gold-looking Crimson frame so presets read distinctly. */
.frame-crimson{background:linear-gradient(135deg,#8fd8ff,#0b6fb0 48%,#bfeaff);box-shadow:0 0 0 3px #041420,0 0 32px rgba(90,190,255,.4)}

/* =====================================================
   PROFILE CUSTOMISATION COLOUR DISTINCTNESS PASS
   Keep the original independent Theme / Accent / Frame / Banner system.
   Velvet Rope is intentionally left unchanged.
   ===================================================== */
body[data-accent="red"] { --profile-accent:#ff3d55; --profile-accent-rgb:255,61,85; --profile-accent-soft:rgba(255,61,85,.17); }
body[data-accent="blue"] { --profile-accent:#3ba9ff; --profile-accent-rgb:59,169,255; --profile-accent-soft:rgba(59,169,255,.17); }
body[data-accent="green"] { --profile-accent:#35e782; --profile-accent-rgb:53,231,130; --profile-accent-soft:rgba(53,231,130,.16); }
body[data-accent="purple"] { --profile-accent:#b85cff; --profile-accent-rgb:184,92,255; --profile-accent-soft:rgba(184,92,255,.17); }
body[data-accent="cyan"] { --profile-accent:#18e9e1; --profile-accent-rgb:24,233,225; --profile-accent-soft:rgba(24,233,225,.16); }
body[data-accent="orange"] { --profile-accent:#ff8a2b; --profile-accent-rgb:255,138,43; --profile-accent-soft:rgba(255,138,43,.17); }
body[data-accent="silver"] { --profile-accent:#edf4fb; --profile-accent-rgb:237,244,251; --profile-accent-soft:rgba(237,244,251,.14); }
body[data-accent="blackgold"] { --profile-accent:#ffd642; --profile-accent-rgb:255,214,66; --profile-accent-soft:rgba(255,214,66,.18); }
body[data-accent="platinum"] { --profile-accent:#a9b8cc; --profile-accent-rgb:169,184,204; --profile-accent-soft:rgba(169,184,204,.18); }
body[data-accent="champagne"] { --profile-accent:#f0c8a0; --profile-accent-rgb:240,200,160; --profile-accent-soft:rgba(240,200,160,.17); }
body[data-accent="bloodgold"] { --profile-accent:#ff9f21; --profile-accent-rgb:255,159,33; --profile-accent-soft:rgba(255,159,33,.18); }
body[data-accent="crimson-royale"] { --profile-accent:#ff1f7a; --profile-accent-rgb:255,31,122; --profile-accent-soft:rgba(255,31,122,.18); }
body[data-accent="voidglass"] { --profile-accent:#6a5cff; --profile-accent-rgb:106,92,255; --profile-accent-soft:rgba(106,92,255,.18); }

body[data-theme="slate"] { --profile-bg:#071019; --profile-surface:#101d2a; --profile-surface-raised:#172a3a; --profile-surface-soft:#20384b; }
body[data-theme="crimson"] { --profile-bg:#150308; --profile-surface:#260710; --profile-surface-raised:#3a0b17; --profile-surface-soft:#511020; }
body[data-theme="emerald"] { --profile-bg:#03140c; --profile-surface:#08251a; --profile-surface-raised:#0c3826; --profile-surface-soft:#124d34; }
body[data-theme="royal"] { --profile-bg:#10051d; --profile-surface:#210b38; --profile-surface-raised:#321150; --profile-surface-soft:#47186e; }
body[data-theme="neon"] { --profile-bg:#02101b; --profile-surface:#05243a; --profile-surface-raised:#083652; --profile-surface-soft:#0b4b6e; }
body[data-theme="syndicate"] { --profile-bg:#100902; --profile-surface:#211105; --profile-surface-raised:#341b08; --profile-surface-soft:#4a280d; }
body[data-theme="imperial"] { --profile-bg:#120d02; --profile-surface:#281d06; --profile-surface-raised:#3d2c09; --profile-surface-soft:#58400e; }
body[data-theme="kingpin"] { --profile-bg:#100b00; --profile-surface:#261900; --profile-surface-raised:#3d2a04; --profile-surface-soft:#58400a; }
body[data-theme="obsidian-vault"] { --profile-bg:#020a13; --profile-surface:#07192b; --profile-surface-raised:#0c2942; --profile-surface-soft:#123b5d; }
/* Velvet Rope deliberately remains exactly as previously styled. */
body[data-theme="gold-smoke"] { --profile-bg:#180d00; --profile-surface:#332003; --profile-surface-raised:#503407; --profile-surface-soft:#714a0d; }
body[data-theme="midnight-executive"] { --profile-bg:#01081d; --profile-surface:#061a3a; --profile-surface-raised:#0b2d5b; --profile-surface-soft:#12437f; }
body[data-theme="onyx-inferno"] { --profile-accent:#ff6a2b; --profile-accent-rgb:255,106,43; --profile-accent-soft:rgba(255,106,43,.17); --profile-bg:#0a0605; --profile-surface:#1a0d08; --profile-surface-raised:#2b0e04; --profile-surface-soft:#421506; }
body[data-theme="sapphire-syndicate"] { --profile-accent:#5cc8ff; --profile-accent-rgb:92,200,255; --profile-accent-soft:rgba(92,200,255,.17); --profile-bg:#020a16; --profile-surface:#071a30; --profile-surface-raised:#0d2c52; --profile-surface-soft:#12406f; }

/* Stronger banner separation while preserving the existing banner choices. */
.profile-hero[data-banner="city"], .profile-preview-card[data-banner="city"] .profile-preview-banner { background:linear-gradient(135deg,#07121e,#173752 48%,#050a10); }
.profile-hero[data-banner="alleys"], .profile-preview-card[data-banner="alleys"] .profile-preview-banner { background:linear-gradient(135deg,#21060c,#611522 50%,#0b0204); }
.profile-hero[data-banner="docks"], .profile-preview-card[data-banner="docks"] .profile-preview-banner { background:linear-gradient(135deg,#021823,#07516d 50%,#031015); }
.profile-hero[data-banner="skyline"], .profile-preview-card[data-banner="skyline"] .profile-preview-banner { background:linear-gradient(135deg,#100728,#42267d 50%,#080313); }
.profile-hero[data-banner="vault"], .profile-preview-card[data-banner="vault"] .profile-preview-banner { background:linear-gradient(135deg,#0b1115,#536675 50%,#050708); }
.profile-hero[data-banner="penthouse"], .profile-preview-card[data-banner="penthouse"] .profile-preview-banner { background:linear-gradient(135deg,#1a0a10,#8a3a52 50%,#0a0509); }

.frame-molten-core{border-radius:26px;background:radial-gradient(circle at 22% 28%,rgba(255,176,90,.95) 0%,rgba(255,110,30,.6) 9%,transparent 20%),radial-gradient(circle at 78% 68%,rgba(255,140,50,.9) 0%,rgba(255,80,20,.55) 10%,transparent 24%),radial-gradient(circle at 65% 18%,rgba(255,210,150,.7) 0%,transparent 14%),linear-gradient(150deg,#0c0806,#050302 55%,#0c0806);box-shadow:0 0 0 3px #050302,0 0 0 5px rgba(255,100,30,.4),inset 0 0 16px rgba(0,0,0,.55),0 0 22px 3px rgba(255,120,40,.55),0 0 48px 12px rgba(255,70,15,.32)}
.frame-phantom-halo{border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.1),transparent 55%),conic-gradient(from 0deg,#8cbeff,#b478ff,#8cbeff);box-shadow:0 0 0 3px #05070c,0 0 0 7px rgba(255,255,255,.07),0 0 24px 4px rgba(150,210,255,.55),0 0 46px 10px rgba(150,110,255,.35)}

/* Every active-Kingpin-only avatar frame carries the same Kingpin marker. */
.frame-blackcard::before,
.frame-diamond-cut::before,
.frame-crownline::before,
.frame-private-vault::before,
.frame-molten-core::before,
.frame-phantom-halo::before {
    content:"♠";
    position:absolute;
    right:-8px;
    top:-18px;
    z-index:5;
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:#070707;
    border:2px solid var(--profile-accent);
    color:var(--profile-accent);
    font-size:20px;
    line-height:1;
    box-shadow:0 8px 20px rgba(0,0,0,.55),0 0 16px rgba(var(--profile-accent-rgb),.24);
    pointer-events:none;
}

/* Gold Tooth: profile-launched shared boss encounter */
body[data-npc-slug="gold-tooth"] {
    --profile-accent:#e6b94f;
    --profile-accent-rgb:230,185,79;
}
body[data-npc-slug="gold-tooth"] .profile-hero {
    border-color:rgba(230,185,79,.48);
    background:
        radial-gradient(circle at 76% 22%,rgba(165,24,30,.26),transparent 35%),
        linear-gradient(115deg,#070707 0%,#15100a 58%,#090706 100%);
    box-shadow:0 28px 75px rgba(0,0,0,.6),0 0 38px rgba(230,185,79,.1);
}
body[data-npc-slug="gold-tooth"] .profile-avatar-frame {
    box-shadow:0 0 0 5px rgba(7,7,7,.96),0 0 0 8px #d3a83f,0 16px 46px rgba(0,0,0,.75),0 0 30px rgba(230,185,79,.25);
}
body[data-npc-slug="gold-tooth"] .profile-title,
body[data-npc-slug="gold-tooth"] .profile-status-message { text-shadow:0 2px 10px #000,0 0 16px rgba(0,0,0,.92); }
.gold-tooth-raid-action { --action-color:#e6b94f; }
.gold-tooth-raid-action>span {
    color:#f6d878;
    background:linear-gradient(145deg,rgba(230,185,79,.2),rgba(117,21,24,.12));
    border:1px solid rgba(230,185,79,.28);
}
.gold-tooth-raid-panel {
    isolation:isolate;
    position:relative;
    overflow:hidden;
    margin:18px 0;
    padding:clamp(20px,3vw,34px);
    border:1px solid rgba(230,185,79,.38);
    border-radius:var(--profile-radius-xl);
    background:
        linear-gradient(135deg,rgba(22,18,12,.97),rgba(9,10,12,.98) 52%,rgba(26,9,11,.96)),
        #0b0c0e;
    box-shadow:0 24px 60px rgba(0,0,0,.46),inset 0 1px rgba(255,224,139,.05);
}
.gold-tooth-raid-panel[hidden] { display:none; }
.gold-tooth-raid-glow {
    position:absolute;
    z-index:-1;
    width:380px;
    height:380px;
    right:-150px;
    top:-230px;
    border-radius:50%;
    background:rgba(226,180,70,.15);
    filter:blur(60px);
    pointer-events:none;
}
.gold-tooth-raid-header { display:flex; justify-content:space-between; gap:26px; align-items:flex-start; }
.gold-tooth-raid-header h2 { margin:5px 0 8px; color:#fff; font-size:clamp(25px,3vw,37px); letter-spacing:-.025em; }
.gold-tooth-raid-header p { max-width:720px; margin:0; color:#aeb6c0; line-height:1.6; }
.gold-tooth-raid-rules { max-width:390px; display:flex; justify-content:flex-end; flex-wrap:wrap; gap:7px; }
.gold-tooth-raid-rules span { padding:7px 10px; border:1px solid rgba(230,185,79,.24); border-radius:999px; background:rgba(230,185,79,.07); color:#e9cb7c; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.055em; }
.gold-tooth-raid-status { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; margin:24px 0 12px; padding:15px 17px; border:1px solid rgba(230,185,79,.17); border-radius:14px; background:rgba(0,0,0,.22); }
.gold-tooth-raid-status strong { color:#f3d272; }
.gold-tooth-raid-status span { color:#aeb5bf; font-size:13px; }
.gold-tooth-raid-status b { color:#fff; }
.gold-tooth-raid-roster { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.gold-tooth-member { min-width:0; display:grid; grid-template-columns:48px minmax(0,1fr); gap:11px; align-items:center; padding:12px; border:1px solid rgba(255,255,255,.09); border-radius:14px; background:rgba(255,255,255,.025); }
.gold-tooth-member img { grid-row:1/3; width:48px; height:48px; object-fit:cover; border-radius:12px; border:2px solid rgba(230,185,79,.55); box-shadow:0 6px 15px rgba(0,0,0,.45); }
.gold-tooth-member div { min-width:0; }
.gold-tooth-member strong,.gold-tooth-member span { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gold-tooth-member strong { color:#fff; font-size:14px; }
.gold-tooth-member span { margin-top:3px; color:#8f99a5; font-size:10px; }
.gold-tooth-member em { grid-column:2; width:max-content; padding:4px 7px; border-radius:999px; background:rgba(79,215,134,.1); color:#70e5a0; font-size:9px; font-weight:900; font-style:normal; text-transform:uppercase; letter-spacing:.06em; }
.gold-tooth-member.has-drop { animation:goldToothDropPulse 1.3s ease both; border-color:#f0c95d; box-shadow:0 0 26px rgba(230,185,79,.3); }
.gold-tooth-empty { grid-column:1/-1; min-height:104px; display:flex; align-items:center; justify-content:center; gap:16px; border:1px dashed rgba(230,185,79,.18); border-radius:14px; color:#8e96a1; }
.gold-tooth-empty img { width:66px; height:66px; object-fit:contain; filter:drop-shadow(0 0 16px rgba(230,185,79,.28)); }
.gold-tooth-raid-controls { display:flex; flex-wrap:wrap; gap:9px; margin-top:17px; }
.gold-tooth-button { min-height:44px; padding:10px 17px; border-radius:11px; border:1px solid rgba(255,255,255,.13); color:#fff; background:#15171b; font:inherit; font-weight:850; cursor:pointer; transition:transform .18s,border-color .18s,box-shadow .18s; }
.gold-tooth-button:hover:not(:disabled) { transform:translateY(-2px); border-color:#e6b94f; }
.gold-tooth-button:disabled { opacity:.45; cursor:not-allowed; }
.gold-tooth-button--primary,.gold-tooth-button--launch { color:#161006; border-color:#f2ce68; background:linear-gradient(180deg,#f4d271,#d7a83b); box-shadow:0 8px 25px rgba(230,185,79,.13); }
.gold-tooth-button--launch { background:linear-gradient(180deg,#ffda70,#d9972f); }
.gold-tooth-raid-message { min-height:18px; margin:10px 0 0; color:#8d97a3; font-size:12px; }
.gold-tooth-raid-report { margin-top:18px; display:grid; grid-template-columns:minmax(220px,.38fr) minmax(0,1fr); gap:12px; }
.gold-tooth-raid-report[hidden] { display:none; }
.gold-tooth-result { display:flex; flex-direction:column; justify-content:center; padding:20px; border:1px solid rgba(230,185,79,.23); border-radius:15px; background:rgba(230,185,79,.06); }
.gold-tooth-result>span { color:#e9c961; font-size:11px; font-weight:950; letter-spacing:.14em; }
.gold-tooth-result>strong { margin-top:7px; color:#fff; font-size:20px; }
.gold-tooth-result>small { margin-top:9px; color:#b9c0c8; line-height:1.5; }
.gold-tooth-result--victory { box-shadow:inset 3px 0 #e6b94f; }
.gold-tooth-result--defeat { box-shadow:inset 3px 0 #f0646f; }
.gold-tooth-combat-feed { max-height:310px; overflow:auto; margin:0; padding:8px; list-style:none; border:1px solid rgba(255,255,255,.08); border-radius:15px; background:rgba(0,0,0,.2); }
.gold-tooth-combat-feed li { display:grid; grid-template-columns:35px minmax(0,1fr); gap:8px; padding:8px 9px; border-bottom:1px solid rgba(255,255,255,.05); color:#b5bdc7; font-size:12px; animation:goldToothEvent .35s ease both; animation-delay:var(--event-delay); }
.gold-tooth-combat-feed li:last-child { border-bottom:0; }
.gold-tooth-combat-feed b { color:#e6b94f; }
.gold-tooth-combat-feed .critical span,.gold-tooth-combat-feed .special span { color:#f2cf70; }
.gold-tooth-combat-feed .enraged span { color:#ff8a94; }
@keyframes goldToothEvent { from { opacity:0; transform:translateX(10px); } to { opacity:1; transform:none; } }
@keyframes goldToothDropPulse { 0% { transform:scale(.96); filter:brightness(1); } 45% { transform:scale(1.035); filter:brightness(1.45); } 100% { transform:none; filter:none; } }
@media(max-width:980px) { .gold-tooth-raid-roster { grid-template-columns:1fr 1fr; } .gold-tooth-raid-header { flex-direction:column; } .gold-tooth-raid-rules { justify-content:flex-start; } }
@media(max-width:620px) { .gold-tooth-raid-roster,.gold-tooth-raid-report { grid-template-columns:1fr; } .gold-tooth-raid-status { grid-template-columns:1fr; } .gold-tooth-button { flex:1 1 100%; } }
.profile-modal-manual-combat-link { display:block; margin-top:14px; text-align:center; font-size:13px; color:var(--ec-purple,#b58af3); }
.profile-modal-manual-combat-link:hover { color:var(--ec-gold-bright,#ffd86b); }

.profile-mastery-summary{display:flex;align-items:baseline;gap:7px;margin:-4px 0 12px;color:var(--ec-muted);font-size:.75rem}.profile-mastery-summary strong{color:var(--profile-accent,#d9aa52);font-size:1.35rem}.profile-mastery-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.profile-mastery-row{display:grid;gap:9px;padding:11px;border:1px solid color-mix(in srgb,var(--mastery-accent) 32%,var(--ec-line));border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--mastery-accent) 9%,transparent),rgba(255,255,255,.018))}.profile-mastery-identity{display:flex;align-items:center;gap:8px}.profile-mastery-identity>span{width:7px;height:28px;border-radius:999px;background:var(--mastery-accent);box-shadow:0 0 12px color-mix(in srgb,var(--mastery-accent) 65%,transparent)}.profile-mastery-identity div{display:grid}.profile-mastery-identity small{color:var(--mastery-accent);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.profile-mastery-identity strong{font-size:.78rem}.profile-mastery-paths{display:flex;flex-wrap:wrap;gap:5px}.profile-mastery-paths b{padding:4px 7px;border-radius:999px;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.08);font-size:.68rem}.profile-mastery-paths em{color:var(--mastery-accent);font-size:.61rem;font-style:normal}@media(max-width:620px){.profile-mastery-list{grid-template-columns:1fr}}

/* =====================================
   ANON: nobody knows his face or his name - the profile should feel like a
   corrupted file that barely renders, not a normal polished NPC dossier.
   Everything here is scoped to this one NPC via data-npc-slug and touches
   nothing else on the page.
   ===================================== */
body[data-npc-slug="anon"] { --profile-accent:#ff2d3a; --profile-accent-rgb:255,45,58; }

body[data-npc-slug="anon"] #profileHero {
    background: #030303;
    border-color: rgba(255,45,58,.3);
}
body[data-npc-slug="anon"] #profileHero::before {
    background:
        radial-gradient(circle at 82% 12%, rgba(255,45,58,.22), transparent 24rem),
        linear-gradient(115deg, rgba(2,2,3,.4), rgba(2,2,3,.92));
}
body[data-npc-slug="anon"] #profileHero .profile-hero-pattern { opacity: .5; }
body[data-npc-slug="anon"] #profileHero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: repeating-linear-gradient(0deg, rgba(255,255,255,.028) 0 1px, transparent 1px 3px);
    mix-blend-mode: overlay;
    animation: anonScanlines 9s linear infinite;
}
@keyframes anonScanlines { from { transform: translateY(0); } to { transform: translateY(200px); } }

body[data-npc-slug="anon"] .profile-avatar-frame {
    background: linear-gradient(145deg, #2a0306, rgba(255,45,58,.2));
    box-shadow: 0 0 0 5px rgba(0,0,0,.6), 0 20px 55px rgba(0,0,0,.6), 0 0 30px rgba(255,45,58,.28);
}
body[data-npc-slug="anon"] .profile-avatar {
    filter: grayscale(1) contrast(1.25) brightness(.62);
    animation: anonFlicker 7s infinite;
}
@keyframes anonFlicker {
    0%, 91%, 100% { opacity: 1; filter: grayscale(1) contrast(1.25) brightness(.62); }
    92% { opacity: .5; filter: grayscale(1) contrast(1.6) brightness(.4); }
    93% { opacity: 1; filter: grayscale(1) contrast(1.25) brightness(.62); }
    94.5% { opacity: .25; }
    95% { opacity: 1; filter: grayscale(1) contrast(1.25) brightness(.62); }
}
body[data-npc-slug="anon"] .profile-online-dot { display: none; }

body[data-npc-slug="anon"] .profile-identity h1 {
    color: #d8d8d8;
    text-shadow: 0 0 10px rgba(255,45,58,.55), 0 0 26px rgba(255,45,58,.25), 0 8px 30px #000;
    animation: anonTextFlicker 6.5s infinite;
}
@keyframes anonTextFlicker {
    0%, 88%, 100% { opacity: 1; }
    89% { opacity: .45; }
    90% { opacity: 1; }
    91% { opacity: .15; }
    91.5% { opacity: 1; }
}
body[data-npc-slug="anon"] .profile-eyebrow-row::after {
    content: "IDENTITY UNKNOWN";
    display: inline-flex;
    align-items: center;
    min-height: 29px;
    padding: 5px 11px;
    border-radius: 999px;
    border: 1px solid rgba(255,45,58,.5);
    background: rgba(40,2,4,.55);
    color: #ff6b74;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
}
body[data-npc-slug="anon"] .profile-title { color: #ff6b74; }
body[data-npc-slug="anon"] .profile-status-message,
body[data-npc-slug="anon"] .profile-bio { color: #b9bcc1; }
body[data-npc-slug="anon"] .profile-featured-badge { border-color: rgba(255,45,58,.4); color: #ff6b74; background: rgba(40,2,4,.5); }
