
/* Profile panel; isolated from the match-3 screens and deliberately scrollable on phone. */
#gb-profile-layer{display:none;position:absolute;inset:0;z-index:120;background:rgba(10,2,19,.93);backdrop-filter:blur(9px);padding:max(12px,env(safe-area-inset-top)) 11px max(12px,env(safe-area-inset-bottom));font-family:system-ui,-apple-system,sans-serif;color:#fff0fa}
#gb-profile-layer.open{display:flex;flex-direction:column}
#gb-profile-layer button,#gb-profile-layer input{font-family:inherit}
.gbpr-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;flex:0 0 auto}.gbpr-top h2{font:700 21px Georgia,serif;color:#ffc3e6;margin:0;text-shadow:0 0 10px #f348bf}.gbpr-close{background:#381238;border:1px solid #ed7ec5;border-radius:50%;width:38px;height:38px;font-size:25px}
.gbpr-scroll{overflow:auto;overscroll-behavior:contain;flex:1;min-height:0;padding:5px 4px 15px;scrollbar-width:thin}
.gbpr-panel{background:linear-gradient(140deg,#331039,#160b27 67%);border:1px solid #bf598b;border-radius:17px;box-shadow:inset 0 0 22px #fa55bb13,0 0 15px #b4388940;padding:15px;margin-bottom:12px}
.gbpr-hero{display:flex;align-items:center;gap:15px}.gbpr-hero img{width:86px;height:86px;object-fit:contain;border-radius:50%;background:#1d0928;border:2px solid #ff8ed3;box-shadow:0 0 14px #d94bca70}
.gbpr-name{font:700 21px Georgia,serif;color:#ffe0f3;overflow-wrap:anywhere}.gbpr-handle{font-size:12px;color:#e89fc9;margin-top:3px}.gbpr-level{font-size:12px;color:#f5c782;margin-top:7px}
.gbpr-form{display:flex;flex-direction:column;gap:10px}.gbpr-form label{display:block;color:#f4c3e1;font-size:12px;font-weight:650}.gbpr-form input{display:block;width:100%;min-width:0;margin-top:5px;border:1px solid #9d5a92;background:#1b102b;border-radius:9px;padding:11px;color:white;outline-offset:2px;font:15px system-ui}
.gbpr-actions{display:flex;flex-wrap:wrap;gap:8px}.gbpr-btn{background:linear-gradient(#d952a3,#882864);color:#fff;border:1px solid #ffc4e8;border-radius:11px;font-weight:700;padding:11px 12px;font-size:12px;min-height:42px}.gbpr-btn.secondary{background:#311631;border-color:#9a628f}.gbpr-btn:disabled{opacity:.55;cursor:not-allowed}.gbpr-muted{color:#c8abc3;font-size:12px;line-height:1.45}.gbpr-error{color:#ffc3ca;font-size:12px;min-height:17px;white-space:pre-wrap}.gbpr-success{color:#b1f0c8}.gbpr-avatars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.gbpr-avatar{background:#2a122e;border:2px solid transparent;border-radius:12px;padding:3px 2px 7px;display:flex;align-items:center;flex-direction:column;gap:3px;min-width:0;color:#ffd5eb}.gbpr-avatar img{width:min(100%,82px);aspect-ratio:1;object-fit:contain}.gbpr-avatar span{font-size:10px;line-height:1.2;text-align:center;overflow-wrap:anywhere}.gbpr-avatar.chosen{border-color:#ffcf8d;box-shadow:0 0 10px #ff72c1}.gbpr-tag{font-size:12px;color:#f0b4d9;margin:0 0 9px;font-weight:700;letter-spacing:.09em}.gbpr-tabs{display:flex;gap:7px;margin-bottom:11px}.gbpr-tabs button{flex:1}.gbpr-note{border-left:2px solid #e28bc5;padding-left:10px}.gbpr-hide{display:none!important}

/* Label-free round chooser: preserve the entire portrait and ornamental frame */
.gbpr-avatar{padding:5px!important;border-radius:50%!important;aspect-ratio:1!important;background:transparent!important;overflow:visible!important;justify-content:center}
.gbpr-avatar img{width:100%!important;height:100%!important;object-fit:contain!important;display:block}
.gbpr-avatar span{display:none!important}
.gbpr-avatar.chosen{outline:2px solid #ffcf8d;outline-offset:2px}

/* Clean individual avatar exports; no source-sheet text and no clipping. */
.gbpr-avatars{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 10px!important;align-items:center}
.gbpr-avatar{width:100%!important;max-width:120px!important;justify-self:center!important;aspect-ratio:1!important;box-sizing:border-box!important;min-height:0!important;overflow:visible!important;padding:0!important;border:0!important;background:transparent!important;border-radius:50%!important}
.gbpr-avatar img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;border:0!important;border-radius:50%!important}
.gbpr-avatar.chosen{outline:2px solid #ffd68c!important;outline-offset:1px!important;box-shadow:0 0 12px #ff70c2!important}
.gbpr-avatar span{display:none!important}

/* New compact neon profile hub, scoped to the profile only. */
#gb-profile-layer .gbpr-screen.gbpr-hide{display:none!important}
#gb-profile-layer .gbpr-hub-identity .gbpr-hero{margin:3px 0 13px;border:2px solid #f18aef;box-shadow:0 0 14px #e849ce9c,0 0 23px #8665ec6b,inset 0 0 16px #d84dbc30;background:radial-gradient(circle at 40% 0%,#5a205d,#21102d)}
#gb-profile-layer .gbpr-hub-identity .gbpr-hero img{object-fit:cover;width:86px;height:86px}
#gb-profile-layer .gbpr-hub-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
#gb-profile-layer .gbpr-hub-stats>div{padding:12px 7px;text-align:center;border:1.5px solid #d46adb;border-radius:15px;background:linear-gradient(#49204d,#24102d);box-shadow:0 0 12px #c34edf66}
#gb-profile-layer .gbpr-hub-stats small{display:block;color:#ffdbaa;font:800 11px Georgia,serif;letter-spacing:1px}
#gb-profile-layer .gbpr-hub-stats strong{display:block;margin-top:4px;color:#fff0fa;font:800 22px Georgia,serif;text-shadow:0 0 9px #f85dcf}
#gb-profile-layer .gbpr-hub-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#gb-profile-layer .gbpr-hub-links button{min-width:0;min-height:79px;padding:11px 6px;background:linear-gradient(160deg,#8f329a,#421850 68%,#281133);border:2px solid #f08de3;border-radius:18px;box-shadow:0 0 13px #e548cc92,inset 0 0 13px #f8aeef35;color:#ffe7ff;font:900 24px Georgia,serif;text-shadow:0 0 10px #f8a4ef;cursor:pointer}
#gb-profile-layer .gbpr-hub-links button span{display:block;font:900 clamp(11px,3vw,15px) Georgia,serif;letter-spacing:.6px;margin-top:6px}
#gb-profile-layer .gbpr-hub-links button:active{transform:scale(.98)}
#gb-profile-layer .gbpr-subhead{display:flex;align-items:center;gap:12px;margin:4px 0 14px}
#gb-profile-layer .gbpr-subhead h3{margin:0;font:900 19px Georgia,serif;color:#ffe1ac;text-shadow:0 0 12px #f46ddc}
#gb-profile-layer .gbpr-screen:not(#gbpr-hub)>.gbpr-panel{border:2px solid #c76cdb;box-shadow:0 0 12px #ce56d582,inset 0 0 16px #8843cc29}
#gb-profile-layer .gbpr-screen:not(#gbpr-hub) .gbpr-btn{border-radius:999px;box-shadow:0 0 10px #f15cc381}
@media(prefers-reduced-motion:reduce){#gb-profile-layer .gbpr-hub-links button{transition:none}}

/* Social pages: compact neon controls and readable rows */
#gb-profile-layer .gbpr-social-search{display:flex;gap:8px;margin:10px 0 14px}
#gb-profile-layer .gbpr-social-search input{flex:1;min-width:0;padding:10px;color:#fff;border:1.5px solid #c56cd6;border-radius:12px;background:#1e0d2e;font:14px system-ui}
#gb-profile-layer .gbpr-social-list{display:grid;gap:9px;margin:10px 0}
#gb-profile-layer .gbpr-social-empty{padding:13px;border:1px dashed #a95fbc;border-radius:12px;text-align:center;color:#e7bce9;font-size:12px}
#gb-profile-layer .gbpr-social-card{display:flex;align-items:center;gap:10px;border:1.5px solid #cb6edf;border-radius:13px;padding:9px;background:linear-gradient(120deg,#3d164a,#24112f);box-shadow:0 0 10px #ed58d35c}
#gb-profile-layer .gbpr-social-card>img{width:43px;height:43px;object-fit:cover;border-radius:50%;border:1.5px solid #f9a8ed;flex-shrink:0}
#gb-profile-layer .gbpr-social-card>span{flex:1;min-width:0;display:grid;gap:1px}
#gb-profile-layer .gbpr-social-card b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
#gb-profile-layer .gbpr-social-card small{color:#d4b3e9;font-size:11px}
#gb-profile-layer .gbpr-social-card-actions{display:flex;gap:4px;flex-wrap:wrap;justify-content:end}
#gb-profile-layer .gbpr-social-card-actions button{border:1px solid #fab2ea;border-radius:999px;background:#76247c;color:white;padding:7px 9px;font-size:10px;font-weight:800}
#gb-profile-layer .gbpr-social-card-actions button:disabled{opacity:.5}
#gb-profile-layer .gbpr-mail-card{border:1.5px solid #d46fdf;border-radius:14px;padding:12px;background:linear-gradient(125deg,#41174f,#211029);box-shadow:0 0 9px #ed53d35a}
#gb-profile-layer .gbpr-mail-card b{display:block;color:#ffe0b4;font:800 16px Georgia,serif}
#gb-profile-layer .gbpr-mail-card small{color:#c6a2d3;font-size:11px}
#gb-profile-layer .gbpr-mail-card p{font-size:12px;white-space:pre-wrap;color:#e7c9e8}
#gb-profile-layer .gbpr-mail-card em{color:#f7c58a;font-size:11px}

/* PFP friend-request notification: top-right INSIDE the portrait's ornate HUD circle.
   Portrait geometry in index.html: left 3.05%, top 10.5%, width 13.65%, height 67.7%.
   At ~45 degrees, the dot sits on the portrait's upper-right arc, not below it. */
#menu .top.art-hud > #gbpr-pfp-request-dot{
  position:absolute!important;
  display:block;
  left:14.55%!important;
  top:19.3%!important;
  right:auto!important;
  bottom:auto!important;
  width:10px!important;
  height:10px!important;
  min-width:10px!important;
  border:0!important;
  outline:none!important;
  border-radius:50%!important;
  background:#ff193b!important;
  box-shadow:0 0 7px 2px #ff294e,0 0 13px #ff294e85!important;
  z-index:7!important;
  pointer-events:none!important;
}
#menu .top.art-hud > #gbpr-pfp-request-dot[hidden]{display:none!important}
/* Notification trail inside Profile. Only incoming requests trigger this. */
#gb-profile-layer .gbpr-hub-links button.gbpr-request-pending{position:relative}
#gb-profile-layer .gbpr-hub-links button.gbpr-request-pending::after{
  content:"";position:absolute;top:9px;right:12px;width:10px;height:10px;
  border:0;border-radius:50%;background:#ff193b;box-shadow:0 0 8px 2px #ff294e;
  pointer-events:none;
}

/* Phase 3 guest session: show registration panel, leave the approved PFP dot coordinates unchanged. */


/* Gore Burst compact-phone adjustments ONLY: iPhone 7 / similar 375x667 CSS viewports.
   No large-phone or tablet rules are changed; no art or board geometry is regenerated. */
@media screen and (max-width:390px) and (max-height:700px) and (orientation:portrait){
  /* Keep existing full-screen art; make overlays fit in the remaining viewport. */
  #setup .gb-setup-frame{inset:1% 2.5% 1.5%!important;height:auto!important;max-height:97%!important}
  #setup .gb-setup-content{max-height:88%!important;overflow-y:auto!important;overscroll-behavior:contain!important;scrollbar-width:thin}
  #setup .gb-setup-content .tricks{max-height:92px!important}
  #setup .gb-setup-content .trick img{max-height:54px!important}
  #setup .gb-setup-content .gb-rule{margin-top:4px!important;margin-bottom:4px!important}
  #result .gb-win-shell{inset:1% 2.5% 1.5%!important;height:auto!important;max-height:97%!important}
  #result .gb-win-content{max-height:88%!important;overflow-y:auto!important;overscroll-behavior:contain!important}
  #result .gb-win-stars{max-height:78px!important}
  #game .board{max-width:94%!important;max-height:60%!important;margin-left:auto!important;margin-right:auto!important}
  #game .boosters{height:10%!important;bottom:1.5%!important}
  #game .booster img{padding:2px!important}
  /* Event and player-profile lists remain scrollable and keep their glow. */
  .ev-root{padding:9px 9px 18px!important}
  .ev-root .ev-head{top:-9px!important;padding:8px 0!important}
  .ev-root .ev-head strong{font-size:18px!important}
  .ev-root .ev-clash-board,.ev-root .ev-ghost-shell{padding:9px!important}
  .ev-root .ev-clash-row,.ev-root .ev-ghost-row{padding:7px 8px!important;gap:5px!important}
  .ev-root .ev-clash-avatar,.ev-root .ev-ghost-avatar{width:34px!important;height:34px!important}
  #gb-profile-layer .gbpr-modal{max-height:96dvh!important}
  #gb-profile-layer .gbpr-scroll{max-height:calc(96dvh - 56px)!important;overflow-y:auto!important}
}

/* Carnival Mail: Welcome to the Madness */
.gbpr-welcome-mail{border:2px solid #f780e7!important;border-radius:18px!important;background:radial-gradient(circle at top,#51215e,#210d2e 78%)!important;box-shadow:0 0 17px #f550c68c,inset 0 0 20px #9e45ec3c;padding:14px!important}.gbpr-welcome-mail>.gbpr-tag{text-align:center;color:#ffdfab;letter-spacing:1px}.gbpr-welcome-mail>b{display:block;font:900 23px Georgia,serif;color:#ffe3ac;text-align:center;text-shadow:0 0 10px #f35dbe,0 0 18px #8950ff}.gbpr-welcome-mail p{line-height:1.55;color:#ffe6f3}.gbpr-welcome-gifts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.gbpr-welcome-gifts>div{display:flex;flex-direction:column;align-items:center;gap:4px;border:1px solid #cc78db;background:#3c184c;border-radius:12px;padding:10px 5px;box-shadow:0 0 9px #c947b849}.gbpr-welcome-gifts img{height:40px;width:40px;object-fit:contain}.gbpr-welcome-gifts span{font-size:34px;color:#ff81c5}.gbpr-welcome-gifts b{font:800 11px Georgia,serif;color:#ffebbb;text-align:center}.gbpr-welcome-gifts small{font-size:11px;color:#ffd9ef}.gbpr-welcome-claim{width:100%;border-radius:999px!important;min-height:48px;background:linear-gradient(#ef71d3,#972399,#54246f)!important;border:2px solid #ffb5ec!important;box-shadow:0 0 15px #f45ce0,inset 0 0 12px #ffeaf880!important;font:900 16px Georgia,serif!important}.gbpr-welcome-claim:disabled{opacity:.7}

/* Carnival Mail: inbox list → open letter. Red dot uses approved PFP coordinates. */
#gb-profile-layer .gbpr-hub-links button.gbpr-mail-pending{position:relative}
#gb-profile-layer .gbpr-hub-links button.gbpr-mail-pending::after{content:"";position:absolute;top:9px;right:12px;width:10px;height:10px;border-radius:50%;border:0;background:#ff193b;box-shadow:0 0 8px 2px #ff294e;pointer-events:none}
#gb-profile-layer .gbpr-inbox-row{width:100%;display:flex;align-items:center;gap:11px;margin:8px 0;padding:12px 11px;text-align:left;color:#ffebf8;border:1.5px solid #c66bd2;border-radius:13px;background:linear-gradient(120deg,#401a52,#210d31);box-shadow:0 0 9px #dc4bc85c;cursor:pointer}
#gb-profile-layer .gbpr-inbox-row.gbpr-inbox-unread{border-color:#ff91e4;box-shadow:0 0 13px #f45fc988}
#gb-profile-layer .gbpr-inbox-envelope{font-size:23px;color:#ffbbeb}
#gb-profile-layer .gbpr-inbox-title{flex:1;min-width:0}
#gb-profile-layer .gbpr-inbox-title b{display:block;font:800 15px Georgia,serif;color:#ffe4b0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#gb-profile-layer .gbpr-inbox-title small{display:block;color:#deb7e4;margin-top:3px;font-size:11px}
#gb-profile-layer .gbpr-inbox-status{display:flex;align-items:center;justify-content:center;min-width:16px}
#gb-profile-layer .gbpr-mail-dot{display:block;width:10px;height:10px;background:#ff193b;border-radius:50%;box-shadow:0 0 8px #ff294e}
#gb-profile-layer .gbpr-open-letter{padding:13px;border:2px solid #f780e7;border-radius:18px;background:radial-gradient(circle at top,#51215e,#210d2e 78%);box-shadow:0 0 17px #f550c68c,inset 0 0 20px #9e45ec3c}
#gb-profile-layer .gbpr-open-letter h3{font:900 22px Georgia,serif;text-align:center;color:#ffe3ac;text-shadow:0 0 10px #f35dbe}
#gb-profile-layer .gbpr-open-letter p{white-space:pre-line;line-height:1.55;color:#ffe6f3}
#gb-profile-layer .gbpr-letter-back{margin-bottom:12px;padding:8px 12px!important}
/* Event prize presentation only. Does not change claiming or profile HUD. */
.gbpr-event-loot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:15px 0;padding:12px;border:1.5px solid #e777da;border-radius:17px;background:linear-gradient(155deg,#391649,#210d32);box-shadow:0 0 13px #ef61df75,inset 0 0 14px #a44cb62d}
.gbpr-event-loot-item{min-width:0;display:flex;align-items:center;gap:8px;padding:7px;background:#34163a;border:1px solid #ae6ac3;border-radius:12px;color:#ffe6b2;font-weight:800;font-size:13px}
.gbpr-event-loot-item img{width:37px;height:37px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 0 7px #f87cda88)}
@media(max-width:350px){.gbpr-event-loot-grid{gap:5px;padding:7px}.gbpr-event-loot-item{gap:5px;font-size:11px}.gbpr-event-loot-item img{width:30px;height:30px}}

/* Friends' public profile: scoped to the profile overlay only. */
#gb-profile-layer .gbpr-public-panel{text-align:center;border:2px solid #f08de6;box-shadow:0 0 20px #e65acb99,inset 0 0 18px #713db749}
#gb-profile-layer .gbpr-public-avatar{display:block;width:104px;height:104px;object-fit:cover;border-radius:50%;margin:13px auto 9px;border:3px solid #ffb4ed;box-shadow:0 0 15px #ff7fe2,0 0 22px #9753e9}
#gb-profile-layer .gbpr-public-panel h3{font:900 24px Georgia,serif;color:#ffe3b1;text-shadow:0 0 10px #e75de7;margin:8px 0 4px}
#gb-profile-layer .gbpr-public-handle{color:#deb7ef;font-size:13px;margin:0 0 13px}
#gb-profile-layer .gbpr-public-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0 22px}
#gb-profile-layer .gbpr-public-stats>div{border:1.5px solid #df78e5;border-radius:13px;padding:13px 5px;background:#3b184a;box-shadow:0 0 10px #e45bca66}
#gb-profile-layer .gbpr-public-stats small{display:block;font:800 11px Georgia,serif;color:#ffe1ad;letter-spacing:1px}
#gb-profile-layer .gbpr-public-stats strong{display:block;font:900 23px Georgia,serif;color:#fff0fd;margin-top:5px}
#gb-profile-layer [data-gbpr-view]{background:linear-gradient(#d44bb7,#8228a7)!important;border-color:#ffc4ee!important;box-shadow:0 0 10px #e96ed3aa}
/* Gore Burst 2.0 — Carnival Mail width containment only */
#gb-profile-layer .gbpr-inbox-row,
#gb-profile-layer .gbpr-mail-card {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
#gb-profile-layer .gbpr-inbox-row > * {
  min-width: 0;
}
#gb-profile-layer .gbpr-inbox-title {
  flex: 1 1 0%;
  min-width: 0 !important;
  overflow: hidden;
}
#gb-profile-layer .gbpr-inbox-title b,
#gb-profile-layer .gbpr-inbox-title small {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#gb-profile-layer .gbpr-screen,
#gb-profile-layer .gbpr-screen > .gbpr-panel {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}

/* Gore Burst 2.0 — Mailbox reward icon sizing (CSS only)
   Fix oversized 100-Skull-Coin test image and stop horizontal overflow. */
#gb-profile-layer .gbpr-open-letter,
#gb-profile-layer .gbpr-test-prize,
#gb-profile-layer .gbpr-event-loot-grid {
  box-sizing: border-box !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
#gb-profile-layer .gbpr-test-prize {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  padding: 12px !important;
  overflow: hidden !important;
}
#gb-profile-layer .gbpr-test-prize > img,
#gb-profile-layer .gbpr-event-loot-item > img {
  display: block !important;
  box-sizing: border-box !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  object-fit: contain !important;
  flex: 0 0 40px !important;
  margin: 0 !important;
}
#gb-profile-layer .gbpr-test-prize > strong {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  font-size: 13px !important;
}
#gb-profile-layer .gbpr-open-letter > p {
  overflow-wrap: anywhere !important;
}

/* Profile frame selection: overlays keep transparent avatar openings and are pointer-safe. */
#gb-profile-layer .gbpf-tabs{display:flex;gap:8px;margin:0 0 12px}
#gb-profile-layer .gbpf-tabs button{flex:1;padding:11px;border:1px solid #c86ac6;background:#27102e;color:#f6cae5;border-radius:12px;font-weight:800}
#gb-profile-layer .gbpf-tabs button.active{background:linear-gradient(#a63e94,#532163);border-color:#ffe3ae;box-shadow:0 0 9px #fc64d1}
#gb-profile-layer .gbpf-preview{height:130px;width:130px;position:relative;margin:8px auto 17px}
#gbpf-preview-avatar{width:72%!important;height:72%!important;position:absolute;left:14%;top:14%;object-fit:cover;border-radius:50%}
#gbpf-preview-border{width:100%!important;height:100%!important;position:absolute;inset:0;object-fit:contain;pointer-events:none;filter:drop-shadow(0 0 6px #e765bd)}
#gb-profile-layer .gbpf-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#gb-profile-layer .gbpf-choice{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1;width:100%;background:#1d0a28;border:2px solid #69416d;border-radius:14px;cursor:pointer;padding:5px}
#gb-profile-layer .gbpf-choice img{height:100%;width:100%;object-fit:contain}
#gb-profile-layer .gbpf-choice.selected{border-color:#ffd58a;box-shadow:0 0 11px #ec78d4}
#gb-profile-layer .gbpf-choice.locked img{filter:brightness(.48) grayscale(.5)}
#gb-profile-layer .gbpf-empty{font-size:44px;color:#c48eb5}
#gb-profile-layer .gbpf-lock,#gb-profile-layer .gbpf-tick{position:absolute;bottom:3px;right:4px;font-size:13px;background:#2a0c2e;border-radius:9px;padding:2px 5px}
#gb-profile-layer .gbpr-hero.gbpf-has-frame{position:relative}
#gb-profile-layer .gbpr-hero .gbpf-overlay{position:absolute;left:8px;top:calc(50% - 51px);width:102px;height:102px;object-fit:contain;pointer-events:none;filter:drop-shadow(0 0 5px #ef5cd1);animation:gbpfGlow 4s ease-in-out infinite}
#gb-profile-layer .gbpr-hero .gbpf-avatar-img{width:86px;height:86px;object-fit:cover;border-radius:50%;margin:0 0 0 8px}
#gbpf-hud-frame{position:absolute!important;left:1.95%!important;top:4%!important;width:15.9%!important;height:79%!important;object-fit:contain!important;z-index:3!important;pointer-events:none!important;filter:drop-shadow(0 0 2px #ff64d6)}
.gbpf-public-wrap{position:relative;display:block;width:118px;height:118px;margin:0 auto}
.gbpf-public-wrap .gbpr-public-avatar{position:absolute;width:82px!important;height:82px!important;top:18px;left:18px;margin:0!important}
.gbpf-public-wrap .gbpf-overlay{position:absolute;width:118px;height:118px;inset:0;pointer-events:none}
@keyframes gbpfGlow{0%,100%{filter:drop-shadow(0 0 3px #c52cb2)}50%{filter:drop-shadow(0 0 9px #ee54db)}}
@media(prefers-reduced-motion:reduce){#gb-profile-layer .gbpr-hero .gbpf-overlay{animation:none}}

/* FIX: the profile's generic .gbpr-hero img styling was painting an opaque
   background onto the transparent frame image, hiding the actual PFP.
   Scope these rules to the profile header only; leaderboard styles untouched. */
#gb-profile-layer .gbpr-hero > #gbpr-current-avatar {
  position:relative!important;
  z-index:1!important;
  display:block!important;
  flex:0 0 86px!important;
  width:86px!important;
  height:86px!important;
  object-fit:cover!important;
  border-radius:50%!important;
}
#gb-profile-layer .gbpr-hero > img.gbpf-overlay {
  position:absolute!important;
  z-index:2!important;
  left:8px!important;
  top:calc(50% - 51px)!important;
  display:block!important;
  width:102px!important;
  height:102px!important;
  max-width:none!important;
  object-fit:contain!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  margin:0!important;
  padding:0!important;
  pointer-events:none!important;
}

/* Avatar layer repair: the profile script nests the photo and frame in a span.
   Previous CSS targeted direct children and unintentionally styled the overlay
   as an opaque profile photograph. */
#gb-profile-layer .gbpr-hero .gbpf-hero-avatar-wrap {
 position:relative!important;display:block!important;flex:0 0 108px!important;
 width:108px!important;height:108px!important;min-width:108px!important;
 margin:0!important;isolation:isolate!important;background:transparent!important;
}
#gb-profile-layer .gbpr-hero .gbpf-hero-avatar-wrap > img.gbpf-avatar-img {
 position:absolute!important;z-index:1!important;left:15%!important;top:15%!important;
 width:70%!important;height:70%!important;max-width:none!important;
 margin:0!important;padding:0!important;display:block!important;
 object-fit:cover!important;border-radius:50%!important;
 background:transparent!important;border:0!important;box-shadow:none!important;
}
#gb-profile-layer .gbpr-hero .gbpf-hero-avatar-wrap > img.gbpf-overlay {
 position:absolute!important;z-index:2!important;left:0!important;top:0!important;
 width:100%!important;height:100%!important;max-width:none!important;
 display:block!important;object-fit:contain!important;margin:0!important;
 padding:0!important;background:transparent!important;border:0!important;
 border-radius:0!important;box-shadow:none!important;
 pointer-events:none!important;
}
#gb-profile-layer .gbpr-hub-identity .gbpr-hero .gbpf-hero-avatar-wrap > img.gbpf-avatar-img{width:70%!important;height:70%!important;object-fit:cover!important}
#gb-profile-layer .gbpf-public-wrap > img.gbpf-overlay{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
#gb-profile-layer .gbpf-social-avatar{display:block;position:relative;flex:0 0 45px!important;width:45px;height:45px;min-width:45px;overflow:visible}
#gb-profile-layer .gbpf-social-avatar>img:first-child{position:absolute;left:15%;top:15%;height:70%;width:70%;border-radius:50%;object-fit:cover}
#gb-profile-layer .gbpf-social-avatar>img.gbpf-social-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:transparent;border:0;pointer-events:none;filter:drop-shadow(0 0 3px #e85dc9)}

/* 2026-11-02 main menu: one equipped frame only; HUD counters unchanged. */
#menu .top.art-hud > .hud-art{content:url('art-hud-profile-clean.webp')!important;}
#menu .top.art-hud > #gbMenuAvatar{
 left:3.3%!important;top:13%!important;width:13%!important;height:67%!important;
 object-fit:cover!important;border-radius:50%!important;z-index:2!important;
 background:transparent!important;box-shadow:none!important;filter:none!important;
}
#menu .top.art-hud > #gbpf-hud-frame{
 position:absolute!important;left:0.65%!important;top:0%!important;
 width:18.4%!important;height:99%!important;max-width:none!important;
 object-fit:contain!important;object-position:center!important;z-index:3!important;
 background:transparent!important;border:0!important;border-radius:0!important;
 box-shadow:none!important;pointer-events:none!important;
 filter:drop-shadow(0 0 3px #f052c4)!important;
}
/* Public friend profile: photo already has a special frame, so no second halo or pink blob. */
#gb-profile-layer .gbpf-public-wrap{isolation:isolate!important;overflow:visible!important;background:transparent!important;box-shadow:none!important;}
#gb-profile-layer .gbpf-public-wrap > img.gbpr-public-avatar{
 position:absolute!important;left:15%!important;top:15%!important;
 width:70%!important;height:70%!important;min-width:0!important;max-width:none!important;
 margin:0!important;padding:0!important;object-fit:cover!important;
 border:0!important;border-radius:50%!important;box-shadow:none!important;filter:none!important;
 background:transparent!important;z-index:1!important;
}
#gb-profile-layer .gbpf-public-wrap > img.gbpf-overlay{
 position:absolute!important;inset:0!important;left:0!important;top:0!important;
 width:100%!important;height:100%!important;object-fit:contain!important;
 box-shadow:none!important;background:transparent!important;border:0!important;
 border-radius:0!important;z-index:2!important;filter:drop-shadow(0 0 2px #e763c5)!important;
}

/* Frame glow policy: glow only in own profile and edit-profile preview.
   Main HUD, friends and public profiles are intentionally static. */
#gbpf-hud-frame{filter:none!important;animation:none!important;box-shadow:none!important;}
#gb-profile-layer .gbpf-public-wrap > img.gbpf-overlay,
#gb-profile-layer .gbpf-social-avatar > img.gbpf-social-frame,
#gb-profile-layer .gbpr-social-card img.gbpf-social-frame,
#gb-profile-layer .gbpr-public-card img.gbpf-overlay {
  filter:none!important;animation:none!important;box-shadow:none!important;
}
/* Own profile / editor retain their existing glow. */

/* Targeted main-menu override: previous #menu .top.art-hud > #gbpf-hud-frame
   has higher specificity than #gbpf-hud-frame; both used !important. */
#menu .top.art-hud > img#gbpf-hud-frame,
#menu .top.art-hud > #gbpf-hud-frame {
  filter: none !important;
  animation: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}


/* FINAL FRAME POLICY: equipped frame ART is static everywhere.
   Do not alter other neon UI borders, panel highlights or buttons. */
#gbpf-hud-frame,
#menu #gbpf-hud-frame,
#menu .top.art-hud > #gbpf-hud-frame,
#menu .top.art-hud > img#gbpf-hud-frame,
#gb-profile-layer img.gbpf-overlay,
#gb-profile-layer .gbpr-hero .gbpf-overlay,
#gb-profile-layer #gbpf-preview-border,
#gbpf-preview-border,
#gb-profile-layer img.gbpf-social-frame,
#gb-profile-layer .gbpf-public-wrap img.gbpf-overlay,
.gbpf-rank-avatar img.gbpf-rank-overlay,
img.gbpf-rank-overlay {
  filter: none !important;
  -webkit-filter: none !important;
  animation: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
/* Leave existing avatar photographs and unrelated decorative UI unchanged. */
/* Carnival Control Room: only mounted/navigation-enabled after verified role RPC. */
#gb-profile-layer #gb-admin-nav[hidden]{display:none!important}
#gb-profile-layer .gb-admin-panel h3{margin:18px 0 9px;color:#ffc2e5;font-size:15px}
#gb-profile-layer .gb-admin-panel textarea,#gb-profile-layer .gb-admin-panel select{width:100%;box-sizing:border-box;min-height:42px;background:#2b1732;border:1px solid #95578c;border-radius:9px;color:white;padding:10px;font:inherit}
#gb-profile-layer .gb-admin-panel textarea{min-height:100px;resize:vertical}
#gb-profile-layer .gb-admin-items{margin-top:10px;font-size:12px;line-height:1.8;overflow-wrap:anywhere}
#gb-profile-layer .gb-admin-frame-item{display:flex;align-items:center;gap:10px;border-top:1px solid #71446d;padding:10px 0;flex-wrap:wrap}
#gb-profile-layer .gb-admin-frame-item>img{width:68px;height:68px;object-fit:contain;background:#301831;border-radius:9px}
#gb-profile-layer .gb-admin-frame-item>div:nth-child(2){flex:1;min-width:140px}
#gb-profile-layer .gb-admin-frame-item p{margin:3px 0;font-size:11px;color:#e6a9d3}

/* Legacy-size Admin preview: base profile frame geometry only; no opening detector. */
/* Admin frame testing: mirror the live profile hero renderer and its 70% round PFP.
   No independent oval-prone sizing rules, and no changes to public frames. */
#gb-profile-layer .gb-admin-frame-preview.gbpr-hero{
 display:flex!important;justify-content:center!important;align-items:center!important;
 flex:1 0 100%;width:100%;min-height:140px;padding:12px 0!important;
 margin:0 auto!important;background:transparent!important;box-shadow:none!important;border:0!important;
}
#gb-profile-layer .gb-admin-frame-preview.gbpr-hero .gbpf-hero-avatar-wrap{
 position:relative!important;display:block!important;flex:0 0 108px!important;
 width:108px!important;height:108px!important;min-width:108px!important;
 margin:0 auto!important;isolation:isolate!important;background:transparent!important;
}
#gb-profile-layer .gb-admin-frame-preview.gbpr-hero .gbpf-hero-avatar-wrap > img.gbpf-avatar-img{
 position:absolute!important;z-index:1!important;left:15%!important;top:15%!important;
 width:70%!important;height:70%!important;max-width:none!important;
 margin:0!important;padding:0!important;display:block!important;
 aspect-ratio:1/1!important;object-fit:cover!important;border-radius:50%!important;
 background:transparent!important;border:0!important;box-shadow:none!important;
}
#gb-profile-layer .gb-admin-frame-preview.gbpr-hero .gbpf-hero-avatar-wrap > img.gbpf-overlay{
 position:absolute!important;z-index:2!important;inset:0!important;
 width:100%!important;height:100%!important;max-width:none!important;
 display:block!important;object-fit:contain!important;margin:0!important;
 padding:0!important;background:transparent!important;border:0!important;
 border-radius:0!important;box-shadow:none!important;filter:none!important;
 animation:none!important;pointer-events:none!important;
}
#gb-profile-layer .gb-admin-announcement{margin:10px 0;padding:12px;border:1px solid #7c436d;border-radius:10px;background:#28132d;white-space:pre-wrap}
#gb-profile-layer .gb-admin-announcement small{display:block;color:#d6a8ca;margin:5px 0}
#gb-profile-layer .gb-admin-announcement p{white-space:pre-wrap;overflow-wrap:anywhere}

/* Inbox delete control: individual hide, never a global deletion. */
#gb-profile-layer .gbpr-inbox-entry{display:flex;align-items:stretch;gap:5px;margin:8px 0}
#gb-profile-layer .gbpr-inbox-entry .gbpr-inbox-row{flex:1;min-width:0;margin:0}
#gb-profile-layer .gbpr-mail-delete{flex:0 0 34px;border:1px solid #8f557d;border-radius:12px;background:#35182f;color:#f6bad7;font:700 18px system-ui;cursor:pointer}
#gb-profile-layer .gbpr-mail-delete:disabled{opacity:.26;cursor:not-allowed}

/* 2026-11-07: Strict containment, including delete button and scrollbars. */
#gb-profile-layer, #gb-profile-layer * {box-sizing:border-box}
#gb-profile-layer .gbpr-scroll {overflow-x:hidden!important;min-width:0!important}
#gb-profile-layer .gbpr-screen, #gb-profile-layer .gbpr-screen>.gbpr-panel,
#gb-profile-layer #gbpr-mail-list {width:100%!important;max-width:100%!important;min-width:0!important}
#gb-profile-layer #gbpr-mail-list {display:flex!important;flex-direction:column!important;overflow-x:hidden!important;gap:8px!important}
#gb-profile-layer .gbpr-inbox-entry {width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) 34px!important;gap:6px!important;align-items:stretch!important}
#gb-profile-layer .gbpr-inbox-entry>.gbpr-inbox-row {width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;overflow:hidden!important}
#gb-profile-layer .gbpr-inbox-row .gbpr-inbox-title {min-width:0!important;flex:1 1 0!important;overflow:hidden!important}
#gb-profile-layer .gbpr-inbox-row .gbpr-inbox-status {flex:0 0 14px!important}
#gb-profile-layer .gbpr-inbox-entry>.gbpr-mail-delete {width:34px!important;min-width:0!important;max-width:34px!important;overflow:hidden!important;box-shadow:0 0 8px #dc66b67c!important}
#gb-profile-layer .gbpr-open-letter {width:100%!important;max-width:100%!important;overflow-wrap:anywhere!important}
#gb-profile-layer .gb-admin-publish-controls {margin:12px 0;padding:12px;border:1.5px solid #d673e3;border-radius:14px;background:#351632;box-shadow:0 0 13px #ec61cb61}
#gb-profile-layer .gb-admin-publish-controls[hidden] {display:none!important}
#gb-profile-layer .gb-admin-publish-controls label {display:block;margin:9px 0;font-size:12px;color:#f4c5df}
#gb-profile-layer .gb-admin-publish-controls input {display:block;width:100%;margin-top:4px;background:#1d0d29;border:1px solid #ba65bc;border-radius:9px;color:#fff;padding:9px}
/* A single neon dialog surface for profile/admin confirm and success notices. */
.gbpr-dialog-veil {position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(8,2,18,.87);backdrop-filter:blur(9px)}
.gbpr-dialog-box {width:min(92vw,390px);max-height:86dvh;overflow-y:auto;padding:22px 19px;border:2px solid #ff96e8;border-radius:21px;background:linear-gradient(155deg,#421643,#1a0b2e);box-shadow:0 0 16px #ff55bf99,0 0 35px #a54ffc70,inset 0 0 21px #e965d331;text-align:center;color:#ffedf9;font-family:system-ui,sans-serif}
.gbpr-dialog-box h3 {font:900 20px Georgia,serif;color:#ffcae7;text-shadow:0 0 12px #fa60d4;margin:0 0 12px}
.gbpr-dialog-box p {white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.5;color:#f8d8f0;margin:9px 0 18px}
.gbpr-dialog-actions {display:flex;justify-content:center;flex-wrap:wrap;gap:11px}
.gbpr-dialog-actions .gbpr-btn {min-width:110px;border:1.5px solid #ffc4e9;border-radius:999px;box-shadow:0 0 12px #ff65d1aa;cursor:pointer}

#gb-profile-layer .gb-admin-remove{margin:5px 0;border-color:#d98eab;color:#ffd6e8;background:#51233e}

/* Combined v2: admin subpages and universal avatar clipping. */
#gb-profile-layer .gb-admin-section[hidden],#gb-profile-layer .gb-admin-home[hidden],#gb-profile-layer .gb-admin-subnav[hidden]{display:none!important}
#gb-profile-layer .gb-admin-home{display:grid;gap:12px;margin:16px 0}
#gb-profile-layer .gb-admin-section-tile{width:100%;min-height:64px;text-align:left;padding:15px 18px;font-size:15px}
#gb-profile-layer .gb-admin-subnav{margin:12px 0}
#gb-profile-layer .gb-admin-bundle-box{border-top:1px solid #bb65a4;padding-top:16px;margin-top:22px}
#gb-profile-layer .gb-admin-bundle-box .gb-admin-disabled{opacity:.55}
#gb-profile-layer .gb-admin-bundle-box select{width:100%;box-sizing:border-box}
#gb-profile-layer .gb-admin-calibrate{width:100%;display:flex;gap:6px;flex-wrap:wrap;margin:10px auto;justify-content:center;color:#ffdaf1;font:600 11px system-ui}
#gb-profile-layer .gb-admin-calibrate small{display:block;flex-basis:100%;text-align:center}
#gb-profile-layer .gb-admin-calibrate label{display:flex;align-items:center;gap:4px}
#gb-profile-layer .gb-admin-calibrate input{width:53px;padding:5px;color:#fff;background:#30172e;border:1px solid #b76cb1;border-radius:6px}
#gb-profile-layer .gb-admin-calibrate button{font-size:11px}

/* Restore native frame and avatar sizing from the pre-Control-Room CSS. */
