/* Goblin Bomb Party — isolated Slayer minigame styles */
#slayerDialog .slayer-activity-picker{display:grid;grid-template-columns:1fr 1.18fr;gap:12px;margin:12px 0 4px}
#slayerDialog .slayer-activity-card{position:relative;min-height:142px;overflow:hidden;border:2px solid #70532b;background:linear-gradient(145deg,#14110d,#24180f);color:#eadcb9;text-align:left;padding:14px;cursor:pointer;box-shadow:inset 0 0 0 1px #1b120a,0 7px 18px #0008}
#slayerDialog .slayer-activity-card:hover{border-color:#e0b653;filter:brightness(1.08);transform:translateY(-1px)}
#slayerDialog .slayer-activity-card strong{display:block;color:#ffe294;font:900 18px Georgia,serif;letter-spacing:.04em;margin-bottom:4px}
#slayerDialog .slayer-activity-card small{display:block;color:#b8aa8d;line-height:1.35;max-width:58%}
#slayerDialog .slayer-activity-card.goblin-bomb{background:#120d0b url('goblin-bomb-party-tile.png') center/cover no-repeat;min-height:164px}
#slayerDialog .slayer-activity-card.goblin-bomb:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,6,5,.9) 0%,rgba(7,6,5,.54) 51%,rgba(7,6,5,.08) 100%)}
#slayerDialog .slayer-activity-card.goblin-bomb>*{position:relative;z-index:1}
#slayerDialog .slayer-activity-card.goblin-bomb em{position:absolute;left:14px;bottom:13px;color:#ffce63;font:900 9px monospace;letter-spacing:.12em}
#slayerDialog .slayer-activity-card.jad-card{background:radial-gradient(circle at 78% 45%,#71371f 0 12%,transparent 13%),radial-gradient(circle at 80% 46%,#34180f 0 25%,transparent 26%),linear-gradient(145deg,#19120d,#2e170d)}
#slayerDialog .slayer-activity-card.jad-card:after{content:"♨";position:absolute;right:35px;top:28px;font-size:68px;color:#cf6939;text-shadow:0 0 18px #a7351c}
#slayerDialog .slayer-picker-help{display:block;text-align:center;color:#9f947f;margin:8px 0 2px;font-size:11px}
#slayerDialog .slayer-back-activities{margin:0 0 10px!important;background:#15130f!important;border:1px solid #75582f!important;color:#dbc58f!important;padding:7px 11px!important}
@media(max-width:700px){#slayerDialog .slayer-activity-picker{grid-template-columns:1fr}#slayerDialog .slayer-activity-card small{max-width:72%}}

#goblinBombDialog{width:min(1180px,calc(100vw - 18px));height:min(900px,calc(100vh - 16px));max-width:none;max-height:none;padding:0!important;overflow:hidden!important;border:3px solid #b68131!important;background:#070a0c!important;color:#e9dfc5!important;box-shadow:0 0 0 2px #2e1a0a inset,0 24px 90px #000!important}
#goblinBombDialog::backdrop{background:rgba(2,4,6,.83);backdrop-filter:blur(3px)}
#goblinBombDialog>.dialog-x{z-index:100;width:42px;height:42px;right:9px;top:9px;border:2px solid #c18c36;background:#26170d;color:#ffe099;font-size:24px}
.gbp-app{height:100%;min-height:0;display:grid;grid-template-rows:64px 1fr;background:radial-gradient(circle at 50% 12%,#18212a,#080b0f 46%,#040506);font-family:Georgia,'Times New Roman',serif}
.gbp-topbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:8px 62px 8px 14px;border-bottom:2px solid #8d6129;background:linear-gradient(#37200e,#1c120b 48%,#0c0d0e);box-shadow:0 4px 18px #000;min-width:0}
.gbp-brand{display:flex;align-items:center;gap:10px;min-width:0}.gbp-brand-mark{width:45px;height:45px;display:grid;place-items:center;border:2px solid #b67e32;background:radial-gradient(circle,#55d9ff 0 20%,#23384b 22% 48%,#0b1117 50%);box-shadow:0 0 17px #3db7ff66;font:900 13px monospace;color:#fff}.gbp-brand div{min-width:0}.gbp-brand small{display:block;color:#d7ad55;font:900 8px monospace;letter-spacing:.22em}.gbp-brand h2{margin:1px 0 0;color:#ffe09a;font-size:22px;line-height:1;white-space:nowrap}
.gbp-top-summary{justify-self:center;color:#9ea79c;font:800 10px monospace;letter-spacing:.09em;text-align:center}.gbp-top-summary b{color:#f6d37e}.gbp-top-nav{display:flex;gap:6px}.gbp-top-nav button{border:1px solid #69502f;background:#111418;color:#cab98e;padding:8px 10px;font:900 9px monospace;cursor:pointer}.gbp-top-nav button:hover{border-color:#d8ac50;color:#ffe4a2;background:#22180d}
.gbp-body{position:relative;min-height:0;overflow:hidden}.gbp-view{height:100%;min-height:0;overflow:auto;padding:18px}.gbp-view.hidden{display:none!important}
.gbp-panel{border:2px solid #68502d;background:linear-gradient(180deg,rgba(20,27,31,.97),rgba(7,10,12,.98));box-shadow:inset 0 0 25px #0008,0 12px 32px #0008}.gbp-panel-title{margin:0;color:#ffe09a;font:900 22px Georgia,serif;letter-spacing:.04em}.gbp-kicker{color:#d5a94b;font:900 9px monospace;letter-spacing:.2em}.gbp-sub{color:#a9ac9e;line-height:1.5;font-size:13px}

/* menu */
.gbp-menu{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:16px;height:auto;min-height:100%}
.gbp-menu-hero{position:relative;min-height:560px;overflow:hidden;border:2px solid #7b582c;background:url('goblin-bomb-party-tile.png') center 18%/cover no-repeat #170d09;box-shadow:inset 0 0 0 2px #140b06,0 18px 50px #000a}.gbp-menu-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,5,5,.06) 0 38%,rgba(5,6,7,.7) 62%,rgba(5,6,7,.97) 100%)}.gbp-menu-hero-content{position:absolute;left:22px;right:22px;bottom:22px;z-index:2}.gbp-menu-hero h1{margin:0;color:#ffe19a;font-size:clamp(38px,5vw,74px);line-height:.86;text-shadow:4px 5px 0 #2e160a,0 0 18px #f2932b44}.gbp-menu-hero h1 span{display:block;color:#efb33f}.gbp-menu-hero p{max-width:650px;margin:12px 0;color:#ded0b0;font-size:14px;line-height:1.5}.gbp-chaos-tags{display:flex;flex-wrap:wrap;gap:6px}.gbp-chaos-tags span{border:1px solid #9e7436;background:#160f09d9;color:#efd38b;padding:5px 8px;font:900 8px monospace;letter-spacing:.1em}
.gbp-menu-side{display:flex;flex-direction:column;gap:12px}.gbp-menu-side>.gbp-panel{padding:14px}.gbp-main-buttons{display:grid;grid-template-columns:1fr 1fr;gap:7px}.gbp-main-buttons button,.gbp-big-action{min-height:47px;border:2px solid #7c5b31;background:linear-gradient(#302117,#17120e);color:#e8d7af;font:900 11px monospace;letter-spacing:.07em;cursor:pointer}.gbp-main-buttons button:hover,.gbp-big-action:hover{filter:brightness(1.13);border-color:#d7aa4f}.gbp-main-buttons .gbp-play,.gbp-big-action.primary{grid-column:1/-1;min-height:58px;background:linear-gradient(#8b5722,#4b2b10);border-color:#e4ad46;color:#fff0bd;font-size:15px;box-shadow:inset 0 0 0 1px #3d220d,0 0 16px #e8a23824}
.gbp-difficulty{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.gbp-difficulty button{min-width:0;border:1px solid #465949;background:#101712;color:#cfd9c9;padding:8px 5px;font:900 9px monospace;cursor:pointer}.gbp-difficulty button strong{display:block;color:#e9e3ce;font-size:10px}.gbp-difficulty button small{display:block;font:400 7px monospace;color:#8f9b8e;margin-top:4px;line-height:1.2}.gbp-difficulty button.selected{border:2px solid #d5a94b;background:#2b2919;box-shadow:0 0 10px #d5a94b24}.gbp-difficulty button.locked{filter:grayscale(.7);opacity:.55;cursor:not-allowed}.gbp-menu-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.gbp-menu-stats div{padding:9px;background:#080d10;border:1px solid #34434a;text-align:center}.gbp-menu-stats span{display:block;color:#8f9d9e;font:800 7px monospace}.gbp-menu-stats strong{display:block;color:#f4d581;font-size:20px;margin-top:2px}.gbp-menu-status{min-height:30px;color:#b6aa91;font-size:11px;line-height:1.3;text-align:center}

/* game */
#gbpGameView{padding:8px!important;overflow:hidden!important}.gbp-game-shell{position:relative;height:100%;min-height:0;display:grid;grid-template-rows:48px minmax(0,1fr) 50px;border:2px solid #8d652c;background:#020507;box-shadow:inset 0 0 0 1px #162832}.gbp-game-shell.final-duel{box-shadow:inset 0 0 24px #7c1828,0 0 20px #a1262e66}.gbp-hud{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:#25170e;border-bottom:2px solid #8d652c}.gbp-hud div{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0c1114;min-width:0}.gbp-hud span{color:#8fa0a4;font:800 7px monospace;letter-spacing:.06em}.gbp-hud strong{color:#f4d681;font:900 14px Georgia,serif;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gbp-hud .holder strong.danger{color:#ff6953;animation:gbpDanger .28s steps(2) infinite}.gbp-game-canvas-wrap{position:relative;min-height:0;background:#050708;overflow:hidden}.gbp-game-canvas-wrap canvas{display:block;width:100%;height:100%;object-fit:contain;outline:0;background:#06090b;image-rendering:auto}.gbp-game-footer{display:grid;grid-template-columns:170px 1fr 170px;align-items:center;gap:8px;padding:6px 9px;background:#0b1013;border-top:1px solid #34414a}.gbp-dash-indicator,.gbp-power-indicator{height:34px;border:1px solid #4a5a5e;background:#070b0d;position:relative;overflow:hidden}.gbp-dash-indicator:before{content:"";position:absolute;inset:0;transform:scaleX(calc(1 - var(--cool,0)));transform-origin:left;background:linear-gradient(90deg,#2e856a,#64cf9a);opacity:.28}.gbp-dash-indicator span,.gbp-power-indicator span{position:relative;z-index:1;display:block;color:#90a29f;font:800 7px monospace;margin:4px 7px 0}.gbp-dash-indicator b,.gbp-power-indicator b{position:relative;z-index:1;display:block;color:#e7d29d;font:900 10px monospace;margin:1px 7px}.gbp-game-hint{text-align:center;color:#88989c;font:800 8px monospace;letter-spacing:.06em}.gbp-touch-actions{display:flex;gap:5px}.gbp-touch-actions button{flex:1;border:1px solid #76572f;background:#291b10;color:#f1d89d;font:900 9px monospace}.gbp-callout{position:absolute;left:50%;top:18%;transform:translate(-50%,-50%) scale(.7);z-index:20;padding:8px 17px;background:#06090be8;border:2px solid #e6b449;color:#ffe6a1;font:900 clamp(18px,3vw,38px) Georgia,serif;letter-spacing:.06em;text-shadow:2px 2px #6b2b17;opacity:0;pointer-events:none}.gbp-callout.show{animation:gbpCallout .9s ease forwards}.gbp-tutorial{position:absolute;inset:0;z-index:35;display:grid;place-items:center;background:rgba(3,5,7,.83);backdrop-filter:blur(3px)}.gbp-tutorial.hidden{display:none}.gbp-tutorial-card{width:min(620px,calc(100% - 24px));padding:20px;border:3px solid #d09b3f;background:linear-gradient(#19140e,#090b0c);box-shadow:0 20px 70px #000;text-align:center}.gbp-tutorial-card h3{color:#ffe29a;font-size:28px;margin:0 0 14px}.gbp-tutorial-keys{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.gbp-tutorial-keys div{border:1px solid #5c513c;background:#0a1013;padding:12px 7px}.gbp-tutorial-keys b{display:block;color:#f5cd63;font:900 18px monospace}.gbp-tutorial-keys span{display:block;color:#a7b2ad;font:800 8px monospace;margin-top:5px}.gbp-tutorial-card button{margin-top:16px;min-width:200px;padding:12px;border:2px solid #d6a341;background:#714419;color:#fff0b4;font-weight:900}.gbp-spectator{position:absolute;left:50%;bottom:60px;transform:translateX(-50%);z-index:28;display:flex;align-items:center;gap:10px;padding:8px 11px;border:2px solid #8a6330;background:#0b0d0ef0;color:#d9c79f;font:900 9px monospace}.gbp-spectator.hidden{display:none}.gbp-spectator button{border:1px solid #a57935;background:#342315;color:#f2dca5;padding:7px 10px;font-weight:900}.gbp-inline-notice{position:absolute;right:12px;top:60px;z-index:30;width:min(420px,calc(100% - 24px));padding:9px 11px;border:1px solid #b17f35;background:#0b0f12eb;box-shadow:0 8px 25px #000}.gbp-inline-notice strong{display:block;color:#f2c963;font:900 10px monospace}.gbp-inline-notice span{display:block;color:#c3c0b3;font-size:10px;margin-top:3px}.gbp-inline-notice.hidden{display:none}

/* shared subviews */
.gbp-subview{max-width:1040px;margin:0 auto;min-height:100%;display:flex;flex-direction:column;gap:13px}.gbp-subview-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding:14px 16px}.gbp-subview-head button{border:1px solid #73562f;background:#18140f;color:#dfc78f;padding:8px 12px;font:900 9px monospace}.gbp-subview-head p{margin:4px 0 0;color:#a4aaa2;font-size:12px}
.gbp-custom-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:12px;min-height:0}.gbp-custom-preview{padding:12px;text-align:center;align-self:start;position:sticky;top:0}.gbp-custom-preview canvas{display:block;width:100%;height:auto;border:1px solid #6d5430;background:#081018}.gbp-preview-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:8px}.gbp-preview-modes button{border:1px solid #4b4d48;background:#101315;color:#bfc5b6;padding:6px;font:900 8px monospace}.gbp-preset-slots{display:grid;gap:5px;margin-top:10px}.gbp-preset-slots>div{display:grid;grid-template-columns:70px 1fr 46px 46px;align-items:center;gap:4px;border:1px solid #403728;background:#090c0e;padding:6px}.gbp-preset-slots strong{font:900 8px monospace;color:#e0b85c}.gbp-preset-slots span{font:700 7px monospace;color:#919a92;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gbp-preset-slots button{border:1px solid #5c4930;background:#1a1510;color:#d6c496;font:900 7px monospace;padding:5px}.gbp-custom-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:9px}.gbp-custom-actions button{border:1px solid #75582e;background:#1b1510;color:#d8c293;padding:8px 5px;font:900 8px monospace}.gbp-custom-actions .save{grid-column:1/-1;border:2px solid #d2a042;background:#633d19;color:#fff0b1}.gbp-customizer-status{display:block;min-height:28px;color:#9faa9e;font-size:9px;line-height:1.3;margin-top:8px}.gbp-customizer-status.error{color:#e49b8c}.gbp-character-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-content:start}.gbp-custom-group{border:1px solid #403821;background:#0a0d0f;padding:8px}.gbp-custom-group h5{margin:0 0 6px;color:#d2a64c;font:900 8px monospace;letter-spacing:.12em}.gbp-custom-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.gbp-custom-group:nth-child(3),.gbp-custom-group:nth-child(11),.gbp-custom-group:nth-child(12),.gbp-custom-group:nth-child(13){grid-column:1/-1}.gbp-custom-group:nth-child(3)>div,.gbp-custom-group:nth-child(11)>div,.gbp-custom-group:nth-child(12)>div,.gbp-custom-group:nth-child(13)>div{grid-template-columns:repeat(4,minmax(0,1fr))}.gbp-custom-group button{min-height:31px;display:flex;align-items:center;gap:5px;border:1px solid #343a3b;background:#101416;color:#b8c0b7;padding:4px 6px;text-align:left;font:800 8px monospace;cursor:pointer}.gbp-custom-group button:hover{border-color:#9f7636}.gbp-custom-group button.selected{border-color:#e1ae48;background:#372711;color:#ffe2a0}.gbp-custom-group button.locked{opacity:.45;cursor:not-allowed}.gbp-custom-group button i{width:15px;height:15px;flex:0 0 15px;background:var(--swatch);border:1px solid #c5bda8}.gbp-custom-group button b{margin-left:auto;font-size:8px}
.gbp-arena-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.gbp-arena-card{min-height:220px;display:flex;flex-direction:column;border:2px solid #4c4a3e;background:#0a0d0f;color:#cdd2c5;padding:8px;text-align:left;cursor:pointer}.gbp-arena-card:hover{border-color:#b8893d}.gbp-arena-card.selected{border-color:#e0b24f;box-shadow:0 0 16px #e4ae3c2e}.gbp-arena-card.locked{opacity:.48}.gbp-arena-card strong{color:#f0d58b;margin:8px 2px 3px}.gbp-arena-card small{color:#969f98;line-height:1.3;flex:1}.gbp-arena-card em{color:#d2a84c;font:900 8px monospace;margin-top:7px}.gbp-arena-art{height:105px;position:relative;overflow:hidden;border:1px solid #2d3435;background:#273027}.gbp-arena-art:before,.gbp-arena-art:after,.gbp-arena-art i{content:"";position:absolute}.gbp-arena-art:before{left:0;right:0;bottom:0;height:48%;background:repeating-linear-gradient(90deg,#544026 0 30px,#49361f 31px 60px)}.gbp-arena-art:after{left:12%;right:12%;bottom:19%;height:8px;background:#d77a2b;box-shadow:0 0 16px #ef6c22}.gbp-arena-art.wilderness{background:#251f20}.gbp-arena-art.wilderness:before{background:repeating-linear-gradient(110deg,#302b2b 0 25px,#242122 26px 50px)}.gbp-arena-art.dungeon{background:#151820}.gbp-arena-art.dungeon:before{background:#303039}.gbp-arena-art.karamja{background:#2b140d}.gbp-arena-art.karamja:after{height:19px;bottom:13%;background:#f15d21;box-shadow:0 0 24px #ff7b31}.gbp-arena-art.castle{background:#303743}.gbp-arena-art.castle:before{background:repeating-linear-gradient(90deg,#5a5b5d 0 38px,#4f5052 39px 75px)}
.gbp-stats-layout{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gbp-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:12px}.gbp-stats-grid div{display:flex;justify-content:space-between;gap:8px;border:1px solid #303b3e;background:#090d0f;padding:8px}.gbp-stats-grid span{color:#959e99;font:800 8px monospace}.gbp-stats-grid strong{color:#f0cf79;font:900 11px monospace}.gbp-leaderboards{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:12px}.gbp-leaderboards section{border:1px solid #3c433d;background:#080c0e;padding:7px}.gbp-leaderboards h5{margin:0 0 5px;color:#d8ab4d;font:900 8px monospace}.gbp-leaderboards section>div{display:grid;grid-template-columns:20px 1fr auto;gap:4px;padding:3px 0;border-top:1px solid #1e2729;font:800 8px monospace}.gbp-leaderboards b{color:#d8b14e}.gbp-leaderboards span{color:#c4c9bd}.gbp-leaderboards strong{color:#f1d589}.gbp-leaderboards small{color:#7f8b85}
.gbp-achievement-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:12px}.gbp-achievement-grid article{display:grid;grid-template-columns:38px 1fr;gap:8px;align-items:center;border:1px solid #303b36;background:#090d0f;padding:9px}.gbp-achievement-grid article>i{width:34px;height:34px;display:grid;place-items:center;border:2px solid #4e4e43;background:#121516;color:#7d867d;font-style:normal;font-weight:900}.gbp-achievement-grid article.complete{border-color:#7a6a32;background:#15150d}.gbp-achievement-grid article.complete>i{border-color:#d0a842;background:#3a3114;color:#ffe17f}.gbp-achievement-grid strong{display:block;color:#e2cf9f;font:900 10px monospace}.gbp-achievement-grid span{display:block;color:#929c94;font-size:9px;margin-top:2px}.gbp-achievement-grid small{display:block;color:#c39a49;font-size:8px;margin-top:3px}
.gbp-how-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.gbp-how-grid section{padding:13px}.gbp-how-grid h4{margin:0 0 7px;color:#efcf78}.gbp-how-grid p,.gbp-how-grid li{color:#a9b0a8;font-size:11px;line-height:1.45}.gbp-how-grid ul{padding-left:18px}
.gbp-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.gbp-settings-grid section{padding:12px}.gbp-setting{display:grid;grid-template-columns:1fr 150px;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #263033}.gbp-setting label{color:#c8c7ba;font:900 9px monospace}.gbp-setting input[type=range]{width:100%;accent-color:#d9a23e}.gbp-setting input[type=checkbox]{justify-self:end;width:20px;height:20px;accent-color:#d9a23e}.gbp-settings-grid .gbp-big-action{grid-column:1/-1}

/* results */
.gbp-results-wrap{max-width:880px;margin:18px auto;padding:18px;text-align:center}.gbp-results-wrap .place{color:#d8a847;font:900 10px monospace;letter-spacing:.22em}.gbp-results-wrap h2{margin:5px 0;color:#ffe09a;font-size:38px}.gbp-result-score{font-size:52px;color:#f4d272;line-height:1}.gbp-result-score small{display:block;font:900 8px monospace;color:#8f9a91;letter-spacing:.16em}.gbp-result-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:14px 0}.gbp-result-stats div{border:1px solid #384244;background:#080c0e;padding:8px}.gbp-result-stats span{display:block;color:#8d9792;font:800 7px monospace}.gbp-result-stats strong{display:block;color:#e9d298;font:900 13px monospace;margin-top:3px}.gbp-rewards{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}.gbp-rewards div{padding:12px;border:2px solid #6b592d;background:#12120c}.gbp-rewards span{display:block;color:#a8a78f;font:800 8px monospace}.gbp-rewards strong{display:block;color:#ffd75e;font-size:28px}.gbp-reward-status{min-height:28px;color:#a9b1aa;font-size:10px}.gbp-results-actions{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:7px}.gbp-results-actions button{min-height:48px;border:2px solid #78592f;background:#22170f;color:#e4cf9c;font:900 10px monospace}.gbp-results-actions .primary{background:#714319;border-color:#d7a23e;color:#fff0b2}

@keyframes gbpDanger{50%{opacity:.45}}@keyframes gbpCallout{0%{opacity:0;transform:translate(-50%,-50%) scale(.55)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}34%{transform:translate(-50%,-50%) scale(1)}78%{opacity:1}100%{opacity:0;transform:translate(-50%,-65%) scale(.94)}}
@media(max-width:900px){#goblinBombDialog{width:calc(100vw - 8px);height:calc(100vh - 8px)}.gbp-topbar{grid-template-columns:1fr auto;padding-left:8px}.gbp-top-summary{display:none}.gbp-menu{grid-template-columns:1fr}.gbp-menu-hero{min-height:330px}.gbp-custom-layout{grid-template-columns:1fr}.gbp-custom-preview{position:relative}.gbp-character-options{grid-template-columns:1fr}.gbp-custom-group:nth-child(n){grid-column:auto}.gbp-custom-group:nth-child(3)>div,.gbp-custom-group:nth-child(11)>div,.gbp-custom-group:nth-child(12)>div,.gbp-custom-group:nth-child(13)>div{grid-template-columns:repeat(2,minmax(0,1fr))}.gbp-arena-grid{grid-template-columns:1fr 1fr}.gbp-stats-layout,.gbp-settings-grid{grid-template-columns:1fr}.gbp-result-stats{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.gbp-top-nav{display:none}.gbp-brand h2{font-size:17px}.gbp-view{padding:8px}.gbp-menu-hero h1{font-size:40px}.gbp-difficulty{grid-template-columns:1fr}.gbp-hud{grid-template-columns:repeat(3,1fr);height:auto}.gbp-game-shell{grid-template-rows:72px minmax(0,1fr) 58px}.gbp-game-footer{grid-template-columns:1fr 1fr}.gbp-game-hint{display:none}.gbp-tutorial-keys{grid-template-columns:1fr 1fr}.gbp-arena-grid{grid-template-columns:1fr}.gbp-achievement-grid,.gbp-how-grid{grid-template-columns:1fr}.gbp-result-stats{grid-template-columns:1fr 1fr}.gbp-results-actions{grid-template-columns:1fr}.gbp-results-actions .primary{order:-1}.gbp-custom-group>div,.gbp-custom-group:nth-child(3)>div,.gbp-custom-group:nth-child(11)>div,.gbp-custom-group:nth-child(12)>div,.gbp-custom-group:nth-child(13)>div{grid-template-columns:1fr 1fr}.gbp-setting{grid-template-columns:1fr 110px}}

/* === 2026-08-07 integration layer: selectors for the production Goblin Bomb Party markup === */
#slayerDialog{width:min(900px,calc(100vw - 26px));max-width:900px}
#slayerDialog .slayer-activity-card{display:grid;grid-template-columns:155px 1fr;align-items:center;gap:14px}
#slayerDialog .slayer-activity-card>span:last-child{position:relative;z-index:2;min-width:0}
#slayerDialog .slayer-activity-card small{max-width:none}
#slayerDialog .slayer-activity-card em{display:block;margin-top:10px;color:#d3a84c;font:900 9px monospace;letter-spacing:.08em;font-style:normal}
#slayerDialog .slayer-activity-card.goblin-bomb em{position:static}
#slayerDialog .slayer-activity-card.jad{background:radial-gradient(circle at 18% 50%,#773820 0 12%,#2f170f 13% 28%,transparent 29%),linear-gradient(145deg,#17120e,#2a180f)}
#slayerDialog .jad-art{height:95px;position:relative;display:block}
#slayerDialog .jad-art:before{content:"";position:absolute;left:36px;top:14px;width:62px;height:62px;border-radius:45% 45% 35% 35%;background:linear-gradient(#51311d,#2c1a11);border:4px solid #9d5a30;box-shadow:0 0 18px #d3652e55}
#slayerDialog .jad-art:after{content:"✦";position:absolute;left:57px;top:29px;color:#ff9b46;font-size:32px;text-shadow:0 0 12px #ff6d25}
#slayerDialog .goblin-bomb-art{display:block;min-height:110px}
#slayerDialog .slayer-jad-heading{display:flex;gap:12px;align-items:flex-start;margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid #6a4d2b}
#slayerDialog .slayer-jad-heading button{flex:0 0 auto;border:1px solid #74552f;background:#17120e;color:#d9c28c;padding:8px 10px;font:900 9px monospace;cursor:pointer}
#slayerDialog .slayer-jad-heading h4{margin:0;color:#ffe095;font:900 18px Georgia,serif}
#slayerDialog .slayer-jad-heading p{margin:4px 0 0;color:#c7b997;font-size:12px}

#goblinBombDialog .gbp-app{grid-template-rows:62px minmax(0,1fr)}
#goblinBombDialog .gbp-topbar{grid-template-columns:1fr auto;padding:8px 10px 8px 14px}
#goblinBombDialog .gbp-brand{display:flex;align-items:center;gap:10px}
#goblinBombDialog .gbp-bomb-mark{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#9cf1ff;background:radial-gradient(circle at 38% 32%,#e7ffff 0 8%,#48cdf2 9% 20%,#1d3140 22% 64%,#081016 66%);border:2px solid #d3a74e;box-shadow:0 0 15px #5ad9ff66}
#goblinBombDialog .gbp-brand small{display:block;color:#d5a84d;font:900 8px monospace;letter-spacing:.18em}
#goblinBombDialog .gbp-brand h3{margin:1px 0 0;color:#ffe09a;font:900 22px Georgia,serif;letter-spacing:.03em}
#goblinBombDialog .gbp-top-actions{display:flex;align-items:center;gap:10px;min-width:0}
#goblinBombDialog .gbp-top-actions>span{color:#a8aa9d;font:800 9px monospace;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#goblinBombDialog .gbp-close{position:static!important;inset:auto!important;flex:0 0 38px;width:38px;height:38px}
#goblinBombDialog .gbp-view{box-sizing:border-box}

.gbp-menu-view{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);grid-template-areas:"hero difficulty" "hero arena" "hero play" "hero menu";gap:10px;align-content:start}
.gbp-menu-view.hidden{display:none!important}
.gbp-menu-view .gbp-menu-hero{grid-area:hero;min-height:600px}
.gbp-menu-view .gbp-menu-hero:before{z-index:0;background:linear-gradient(180deg,rgba(3,4,5,.1),rgba(3,4,5,.48) 48%,rgba(3,4,5,.94))}
.gbp-menu-copy{position:absolute;z-index:2;left:22px;right:22px;bottom:22px}
.gbp-menu-copy>small{color:#e2b650;font:900 9px monospace;letter-spacing:.18em}
.gbp-menu-copy h2{margin:5px 0;color:#ffe0a0;font-size:clamp(34px,4vw,62px);line-height:.9;text-shadow:3px 3px #4b2012}
.gbp-menu-copy h2 b{color:#ff7a3b}
.gbp-menu-copy p{max-width:600px;color:#d4c7a8}
.gbp-menu-copy .gbp-menu-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:15px;max-width:520px}
.gbp-menu-copy .gbp-menu-stats span{display:flex;flex-direction:column;padding:8px 10px;border:1px solid #6d5733;background:#090c0dcc}
.gbp-menu-copy .gbp-menu-stats small{color:#8e9992;font:800 7px monospace}.gbp-menu-copy .gbp-menu-stats b{color:#f5d27e;font-size:20px}
.gbp-menu-art{display:none}
.gbp-difficulty-row{grid-area:difficulty;display:grid;grid-template-columns:1fr;gap:6px}
.gbp-difficulty-row button{border:1px solid #455247;background:#0e1411;color:#cdd7ca;padding:10px;text-align:left;cursor:pointer}.gbp-difficulty-row button strong{display:block;color:#efe3c0;font:900 11px monospace}.gbp-difficulty-row button small{display:block;color:#8f9a91;font:700 8px monospace;margin-top:4px}.gbp-difficulty-row button.selected{border:2px solid #d9aa45;background:#302512}.gbp-difficulty-row button.locked{opacity:.45;cursor:not-allowed}
.gbp-selected-arena{grid-area:arena;display:flex;justify-content:space-between;align-items:center;border:1px solid #51472f;background:#0d1111;padding:10px}.gbp-selected-arena span{color:#8d9891;font:900 8px monospace}.gbp-selected-arena b{color:#e8c772;font:900 11px monospace}
.gbp-play-button{grid-area:play;min-height:66px;border:2px solid #e0a947;background:linear-gradient(#864f1d,#492b12);color:#fff0bd;cursor:pointer}.gbp-play-button span{display:block;font:900 22px Georgia,serif}.gbp-play-button small{display:block;font:900 8px monospace;letter-spacing:.1em;margin-top:3px}
.gbp-menu-grid{grid-area:menu;display:grid;grid-template-columns:1fr 1fr;gap:6px}.gbp-menu-grid button{min-height:62px;border:1px solid #5b4930;background:#111416;color:#d6c8a8;text-align:left;padding:9px;cursor:pointer}.gbp-menu-grid b{display:block;color:#ebd294;font:900 9px monospace}.gbp-menu-grid small{display:block;color:#8e9891;font-size:8px;line-height:1.3;margin-top:3px}

#gbpGameView{display:grid;grid-template-rows:minmax(0,1fr) 58px;padding:8px!important}
#gbpGameView.hidden{display:none!important}.gbp-game-shell{height:auto;grid-template-rows:54px minmax(0,1fr);overflow:hidden}.gbp-game-shell>canvas{display:block;width:100%;height:100%;min-height:0;object-fit:contain;background:#050708;image-rendering:auto;outline:0}
#gbpGameView .gbp-hud{grid-template-columns:repeat(4,1fr)}#gbpGameView .gbp-hud>span{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0b1013;border-right:1px solid #273236;min-width:0}#gbpGameView .gbp-hud small{color:#859398;font:800 7px monospace}#gbpGameView .gbp-hud b{color:#f2d07b;font:900 15px Georgia,serif}#gbpGameView .gbp-hud em{font:800 7px monospace;color:#9fa8a0;font-style:normal;max-width:95%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#gbpGameView .gbp-hud .danger{color:#ff6250}
#gbpGameView .gbp-game-footer{height:58px;box-sizing:border-box;display:grid;grid-template-columns:180px 180px 1fr;gap:8px}.gbp-game-footer>div{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;border:1px solid #3c4747;background:#080c0e;padding:5px 7px}.gbp-game-footer>div>span{font:900 7px monospace;color:#8a9692}.gbp-game-footer>div>b{font:900 9px monospace;color:#e8ce8d}.gbp-game-footer>div>i{grid-column:1/-1;height:4px;background:linear-gradient(90deg,#69d29f calc((1 - var(--cool,0))*100%),#273133 0);margin-top:3px}.gbp-game-footer button{grid-row:1/3;grid-column:2;border:1px solid #72532d;background:#22170f;color:#e7cc91;font:900 8px monospace;padding:7px}.gbp-game-footer>small{align-self:center;color:#83908e;font:800 8px monospace;text-align:center}
.gbp-tutorial{place-items:center;text-align:center}.gbp-tutorial>*{margin:4px}.gbp-tutorial h3{color:#f1d17d}.gbp-tutorial>b{color:#ff8a58}.gbp-tutorial button{margin-top:12px;border:2px solid #d6a143;background:#6d411a;color:#fff0b0;padding:11px 18px;font-weight:900}
.gbp-spectator{position:absolute;z-index:28;left:50%;bottom:12px;transform:translateX(-50%);display:flex;gap:10px;align-items:center;padding:8px 10px;background:#090d10e8;border:2px solid #c09443;color:#f0d58a;font:900 9px monospace}.gbp-spectator.hidden{display:none!important}.gbp-spectator button{border:1px solid #7a5b31;background:#2b1b10;color:#f0d6a0;padding:7px 10px;font:900 8px monospace}
.gbp-mobile-dpad{display:none;position:absolute;left:10px;bottom:10px;z-index:25;text-align:center}.gbp-mobile-dpad button{width:46px;height:42px;background:#081015c9;border:1px solid #d0a045;color:#ffe09c;font-weight:900;touch-action:none}.gbp-mobile-dpad>div{display:flex;gap:2px}

.gbp-subhead{display:flex;gap:12px;align-items:center;border-bottom:1px solid #5c482e;padding:0 0 10px;margin-bottom:12px}.gbp-subhead>button{border:1px solid #76572f;background:#18130e;color:#d7c18f;padding:8px 10px;font:900 8px monospace}.gbp-subhead small{color:#c69b45;font:900 8px monospace;letter-spacing:.14em}.gbp-subhead h3{margin:2px 0 0;color:#ffe09a;font-size:22px}
.gbp-custom-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:12px;min-height:0}.gbp-preview-panel{position:sticky;top:0;align-self:start;padding:10px;border:1px solid #51442d;background:#080c0e}.gbp-preview-panel canvas{width:100%;height:auto}.gbp-preview-modes button.selected{border-color:#d7a842;color:#ffe19b;background:#302311}.gbp-presets{display:grid;gap:5px;margin-top:8px}.gbp-presets>div{display:grid;grid-template-columns:62px 1fr 42px 42px;align-items:center;gap:4px;border:1px solid #353d3d;background:#090c0d;padding:6px}.gbp-presets strong,.gbp-presets button{font:900 7px monospace}.gbp-presets span{font:700 7px monospace;color:#89948d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gbp-presets button,#gbpUseRepoCharacter{border:1px solid #684f2e;background:#1b1510;color:#d6c392;padding:5px}.gbp-custom-actions{grid-template-columns:2fr 1fr 1fr}.gbp-custom-actions button:first-child{border:2px solid #d5a341;background:#623d18;color:#fff0b1}
.gbp-panel-status{color:#a8b0a8;text-align:center}
.gbp-section-title{color:#d9aa4c;border-bottom:1px solid #5d482d;padding-bottom:7px}.gbp-leaderboards{padding:0}.gbp-howto{display:grid;grid-template-columns:1fr 1fr;gap:8px}.gbp-howto>div{display:grid;grid-template-columns:75px 1fr;gap:4px 8px;align-items:center;border:1px solid #364143;background:#080d0f;padding:12px}.gbp-howto kbd{grid-row:1/3;border:1px solid #a47b37;background:#21170f;color:#f3d588;padding:10px;text-align:center;font:900 12px monospace}.gbp-howto b{color:#e4cc91}.gbp-howto span{color:#939e97;font-size:10px}.gbp-howto>strong{grid-column:1/-1;text-align:center;padding:18px;color:#ffdc82;font-size:18px}
.gbp-settings-grid label{display:grid;grid-template-columns:1fr minmax(130px,250px);align-items:center;gap:12px;border:1px solid #323d3e;background:#080c0e;padding:10px;color:#c8c7b8;font:900 9px monospace}.gbp-settings-grid input[type=range]{width:100%;accent-color:#d6a441}.gbp-settings-grid label.check{grid-template-columns:auto 1fr;justify-content:start}.gbp-settings-grid label.check input{width:18px;height:18px;accent-color:#d6a441}.gbp-mute{grid-column:1/-1;min-height:42px;border:2px solid #b57f36;background:#291a10;color:#efd49a;font:900 10px monospace}
.gbp-results{max-width:900px;margin:12px auto;text-align:center;padding:18px;border:2px solid #67502e;background:#090d10}.gbp-results>small{color:#d3a64b;font:900 10px monospace;letter-spacing:.17em}.gbp-results h2{color:#ffe09a;font-size:38px;margin:6px 0}.gbp-result-score span{display:block;color:#89958f;font:900 8px monospace}.gbp-result-score b{display:block;color:#f2cf76;font-size:52px}.gbp-rewards>span{display:block;padding:12px;border:2px solid #69572d;background:#12120c}.gbp-rewards small{display:block;color:#a6a58f;font:800 8px monospace}.gbp-rewards b{display:block;color:#ffd65d;font-size:28px}.gbp-results>p{color:#a7afa8}.gbp-results-actions{grid-template-columns:1.4fr 1.4fr 1fr 1fr}

@media(max-width:900px){.gbp-menu-view{grid-template-columns:1fr;grid-template-areas:"hero" "difficulty" "arena" "play" "menu"}.gbp-menu-view .gbp-menu-hero{min-height:360px}.gbp-custom-layout{grid-template-columns:1fr}.gbp-preview-panel{position:relative}.gbp-settings-grid{grid-template-columns:1fr}.gbp-results-actions{grid-template-columns:1fr 1fr}}
@media(max-width:700px){#slayerDialog .slayer-activity-card{grid-template-columns:1fr}.gbp-mobile-dpad{display:block}.gbp-game-footer>small{display:none}#gbpGameView .gbp-game-footer{grid-template-columns:1fr 1fr}.gbp-menu-grid,.gbp-howto{grid-template-columns:1fr}.gbp-character-options{grid-template-columns:1fr}.gbp-results-actions{grid-template-columns:1fr}}
.gbp-menu-view .gbp-menu-hero{animation:gbpHeroBreathe 4.8s ease-in-out infinite}.gbp-menu-view .gbp-menu-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 72% 35%,rgba(255,177,57,.18),transparent 17%),radial-gradient(circle at 82% 61%,rgba(255,91,39,.12),transparent 10%);animation:gbpSparkPulse 1.35s steps(2) infinite}
.gbp-play-button:hover{filter:brightness(1.15);box-shadow:0 0 20px #e39b3470}.gbp-play-button:active{transform:translateY(1px)}
@keyframes gbpHeroBreathe{50%{filter:brightness(1.055) saturate(1.04)}}@keyframes gbpSparkPulse{50%{opacity:.5}}


/* === Goblin Bomb Party stability/polish patch === */
#gbpCustomizeView .gbp-custom-layout{grid-template-columns:310px minmax(0,1fr)!important;align-items:start!important;gap:12px!important}
#gbpCustomizeView .gbp-custom-layout>main{display:grid!important;grid-template-rows:minmax(0,1fr) auto!important;gap:10px!important;min-width:0!important;min-height:0!important;align-self:start!important;height:auto!important;max-height:none!important}
#gbpCustomizeView .gbp-character-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;align-content:start!important;min-width:0!important;height:auto!important}
#gbpCustomizeView .gbp-custom-actions{display:grid!important;grid-template-columns:2fr 1fr 1fr!important;grid-auto-rows:44px!important;gap:7px!important;margin:0!important;position:sticky!important;bottom:0!important;z-index:5!important;padding:8px 0 2px!important;background:linear-gradient(180deg,rgba(7,10,12,0),#070a0c 28%)!important}
#gbpCustomizeView .gbp-custom-actions button{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:44px!important;min-height:44px!important;max-height:44px!important;padding:0 10px!important;margin:0!important;box-sizing:border-box!important;white-space:nowrap!important}
#gbpCustomizeView #gbpSaveCharacter{border:2px solid #d5a341!important;background:linear-gradient(#78491c,#4d2d12)!important;color:#fff0b1!important}
#gbpCustomizeView #gbpRandomCharacter,#gbpCustomizeView #gbpResetCharacter{background:linear-gradient(#2d2116,#17130f)!important}
#gbpGameView .gbp-game-shell>canvas{box-shadow:inset 0 0 35px rgba(0,0,0,.8);border-top:1px solid #6b512e}
@media(max-width:900px){#gbpCustomizeView .gbp-custom-layout{grid-template-columns:1fr!important}#gbpCustomizeView .gbp-character-options{grid-template-columns:1fr!important}#gbpCustomizeView .gbp-custom-actions{position:static!important;grid-template-columns:1fr 1fr!important}#gbpCustomizeView #gbpSaveCharacter{grid-column:1/-1!important}}
