/* ArcSpirit — Quest Log + Spirit Dex overlays (fullscreen sticker panels) */
#sys-scrim{position:fixed;inset:0;z-index:120000;background:rgba(26,26,36,.45);display:none;pointer-events:auto}
#sys-scrim.show{display:block}
.sys-panel{display:none;position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(720px,94vw);max-height:min(82vh,640px);--fill:var(--cream,#FFF8E7);z-index:120010;padding:16px 18px 14px;flex-direction:column;pointer-events:auto;border:3.5px solid var(--ink,#1A1A24);border-radius:18px;box-shadow:6px 6px 0 var(--ink,#1A1A24)}
.sys-panel.open{display:flex}
.sys-hd{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.sys-hd h2{font:400 26px 'Lilita One',sans-serif;margin:0;flex:1;color:var(--ink,#1A1A24)}
.sys-tag{font:800 12px 'Baloo 2',sans-serif;background:var(--white,#fff);border:2.5px solid var(--ink,#1A1A24);border-radius:8px;padding:0 8px;line-height:20px}
.sys-pill{font:800 13px 'Baloo 2',sans-serif;background:var(--yellow,#FFD93B);border:2.5px solid var(--ink,#1A1A24);border-radius:10px;padding:2px 10px}
.sys-close{--fill:var(--white,#fff);font:800 14px 'Baloo 2',sans-serif;padding:2px 12px;cursor:pointer}
.sys-body{overflow:auto;flex:1;min-height:0;padding:2px 2px 8px;display:flex;flex-direction:column;gap:12px}
.sys-sec h3{font:800 16px 'Baloo 2',sans-serif;margin:0 0 6px;color:var(--ink,#1A1A24)}
.sys-sub{font:800 12px 'Baloo 2',sans-serif;color:#6b5a4a;margin:-2px 0 8px}
.sys-card{--fill:var(--white,#fff);border:3px solid var(--ink,#1A1A24);border-radius:14px;padding:10px 12px;box-shadow:3px 3px 0 var(--ink,#1A1A24);background:var(--fill);margin-bottom:8px}
.sys-card.ready{--fill:#E8FFF0}
.sys-card.done{--fill:#EDE7F6;opacity:.92}
.sys-kicker{font:800 11px 'Baloo 2',sans-serif;color:#6b5a4a;text-transform:uppercase;letter-spacing:.3px}
.sys-title{font:800 18px 'Baloo 2',sans-serif;color:var(--ink,#1A1A24);margin-top:2px}
.sys-desc{font:800 13px 'Baloo 2',sans-serif;color:#4A3C34;margin:4px 0 6px}
.sys-hint{font:800 12px 'Baloo 2',sans-serif;color:#2F8FE0;margin-bottom:6px}
.sys-bar{height:12px;border:2.5px solid var(--ink,#1A1A24);border-radius:8px;background:var(--ink,#1A1A24);overflow:hidden;margin:4px 0 2px}
.sys-bar>i{display:block;height:100%;background:var(--yellow,#FFD93B);border-radius:0 5px 5px 0}
.sys-prog{font:800 12px 'Baloo 2',sans-serif;color:#6b5a4a;margin-bottom:6px}
.sys-claim{--fill:var(--yellow,#FFD93B);font:800 14px 'Baloo 2',sans-serif;padding:4px 14px;cursor:pointer;border:none}
.sys-claim:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.15)}
.sys-empty{text-align:center;padding:28px;font:800 16px 'Baloo 2',sans-serif;color:#6b5a4a}

/* Left stack extras — hide on very narrow to reduce chrome */
#quest-btn,#dex-btn{--fill:var(--cream,#FFF8E7);position:absolute;left:24px;display:flex;align-items:center;gap:8px;padding:4px 12px;font:800 14px 'Baloo 2',sans-serif;color:var(--ink,#1A1A24);cursor:pointer;z-index:26;width:auto;min-width:104px;border:none;pointer-events:auto}
#quest-btn{--fill:#D6F5FF}
#dex-btn{--fill:#FFE0F0}
#quest-btn:hover,#dex-btn:hover{filter:brightness(1.04)}
#quest-btn:active,#dex-btn:active{transform:translate(2px,2px)}
/* bottoms only matter if rail CSS missing; desktop rail sets position:static */
@media (max-width:430px){
  #quest-btn,#dex-btn{display:none!important}
}

/* Dex grid */
.dex-tabs{display:flex;gap:8px;margin-bottom:8px}
.dex-tabs .sticker{--fill:var(--white,#fff);font:800 13px 'Baloo 2',sans-serif;padding:2px 12px;cursor:pointer}
.dex-tabs .sticker.on{--fill:var(--pink,#FF7FA8)}
.dex-regs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.dex-regs .sticker{--fill:var(--white,#fff);font:800 11px 'Baloo 2',sans-serif;padding:2px 8px;cursor:pointer}
.dex-regs .sticker.on{--fill:var(--yellow,#FFD93B)}
.dex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}
.dex-cell{--fill:var(--white,#fff);border:3px solid var(--ink,#1A1A24);border-radius:12px;padding:6px;background:var(--fill);box-shadow:2px 2px 0 var(--ink,#1A1A24);cursor:default;text-align:center;font:inherit;color:inherit}
.dex-cell.caught{--fill:#FFF8E7}
.dex-cell.seen{--fill:#E8E8F0}
.dex-cell.unknown{--fill:#D0D0D8;opacity:.75}
.dex-art{height:64px;display:grid;place-items:center}
.dex-art img{width:56px;height:56px;object-fit:contain;image-rendering:auto}
.dex-miss{font:400 28px 'Lilita One',sans-serif;color:#6b5a4a}
.dex-nm{font:800 12px 'Baloo 2',sans-serif;line-height:1.15;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dex-meta{font:800 10px 'Baloo 2',sans-serif;color:#6b5a4a;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dex-body{max-height:min(58vh,460px)}

/* ===== ICONS-UI: ArcSpirit icon art (icons_ui.js / assets/icons_ui) ===== */
.aic{display:inline-block;vertical-align:middle;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}
.aic-inline{width:1.35em;height:1.35em;margin:-.2em .18em -.15em 0;filter:drop-shadow(1px 1px 0 rgba(26,26,36,.18))}
#tl .aic-inline,#dex-btn .aic-inline,#quest-btn .aic-inline,#menu-btn .aic-inline,#fs-btn .aic-inline,#bag-btn .aic-inline,#travel-btn .aic-inline,#town-btn .aic-inline{width:22px;height:22px;margin:-3px 4px -3px -2px}
#toast .aic-inline{width:22px;height:22px}
#bag-list .aic-inline{width:28px;height:28px;margin:-6px 4px -4px 0}
.sys-card.qrow{display:grid;grid-template-columns:52px 1fr;column-gap:12px;align-items:start;position:relative}
.sys-card.qrow>.q-ico{grid-row:1/span 8;width:52px;height:52px;border-radius:14px;background:var(--qbg,#FFF3C4);border:2.5px solid var(--ink,#1A1A24);display:grid;place-items:center;position:relative;box-shadow:2px 2px 0 var(--ink,#1A1A24)}
.sys-card.qrow>.q-ico .aic{width:42px;height:42px}
.sys-card.qrow>.q-ico .q-badge{position:absolute;right:-9px;top:-9px;width:24px;height:24px}
.sys-card.qrow>*:not(.q-ico){grid-column:2}
.sys-card.qrow.main{--qbg:#FFE3D6}
.sys-card.qrow.daily{--qbg:#DDF1FF}
.sys-card.qrow.ach{--qbg:#FFF3C4}
.sys-card.qrow.locked>.q-ico .aic:first-child{filter:grayscale(1) brightness(.92) contrast(.9);opacity:.55}
.sys-card.qrow.locked>.q-ico .q-badge{filter:none}
.sys-card .q-kick{display:flex;align-items:center;gap:6px}
.sys-card .q-kick .aic{width:18px;height:18px}
.sys-card.ready>.q-ico{animation:aicPulse 1.4s ease-in-out infinite}
.sys-card.ready>.q-ico .q-badge{animation:aicTwinkle 1.2s ease-in-out infinite}
@keyframes aicPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06) rotate(-2deg)}}
@keyframes aicTwinkle{0%,100%{transform:scale(.85) rotate(0)}50%{transform:scale(1.15) rotate(18deg)}}
.rw-chips{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 8px}
.rw-chip{display:inline-flex;align-items:center;gap:3px;background:#fff;border:2px solid var(--ink,#1A1A24);border-radius:999px;padding:1px 9px 1px 3px;font:800 12px 'Baloo 2',sans-serif;color:var(--ink,#1A1A24);box-shadow:1.5px 1.5px 0 var(--ink,#1A1A24)}
.rw-chip .aic{width:22px;height:22px}
.sys-card.done .rw-chips{opacity:.6}
.sys-claim .aic{width:18px;height:18px;margin:-3px 4px -2px -2px}
.sys-hd .aic-hd{width:34px;height:34px;margin:-4px -2px -4px 0}
@media (prefers-reduced-motion:reduce){.sys-card.ready>.q-ico,.sys-card.ready>.q-ico .q-badge{animation:none}}
@media (max-width:480px){
  .sys-card.qrow{grid-template-columns:40px 1fr;column-gap:9px}
  .sys-card.qrow>.q-ico{width:40px;height:40px;border-radius:11px}
  .sys-card.qrow>.q-ico .aic{width:32px;height:32px}
  .sys-card.qrow>.q-ico .q-badge{width:20px;height:20px;right:-7px;top:-7px}
  .rw-chip .aic{width:18px;height:18px}
  #tl .aic-inline,#menu-btn .aic-inline,#fs-btn .aic-inline,#bag-btn .aic-inline,#travel-btn .aic-inline,#town-btn .aic-inline{width:18px;height:18px}
}
.dex-art{position:relative}
.dex-art img.dex-lock{width:30px;height:30px;filter:grayscale(1);opacity:.32}
.dex-art img.dex-caught{position:absolute;right:-2px;top:-2px;width:20px;height:20px}

/* ===== ICONS-UI-MENU: pause menu ===== */
#gameMenu{width:min(560px,94vw);min-width:0;max-height:min(90vh,760px);overflow:auto;padding:16px 18px 14px;--fill:var(--cream,#FFF8E7);border-radius:20px;z-index:85;box-sizing:border-box}
#gameMenu.show{animation:gmIn .2s cubic-bezier(.2,1.3,.4,1) both}
@keyframes gmIn{from{opacity:0;transform:translate(-50%,-46%) scale(.94)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
#gameMenu .gm-hd{display:flex;align-items:center;gap:12px;margin-bottom:8px}
#gameMenu .gm-logo{width:48px;height:48px;border-radius:50%;border:3px solid var(--ink,#1A1A24);background:#fff;object-fit:cover;flex:none}
#gameMenu .gm-ttl{flex:1;min-width:0}
#gameMenu .gm-ttl h2{font:400 26px 'Lilita One',sans-serif;margin:0;line-height:1;color:var(--ink,#1A1A24)}
#gameMenu .gm-name{font:800 14px 'Baloo 2',sans-serif;color:#6b5a4a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#gameMenu .gm-x{flex:none;width:38px;height:38px;border-radius:12px;border:3px solid var(--ink,#1A1A24);background:#fff;box-shadow:2px 2px 0 var(--ink,#1A1A24);font:900 16px 'Baloo 2',sans-serif;cursor:pointer;color:var(--ink,#1A1A24);display:grid;place-items:center;padding:0}
#gameMenu .gm-x:hover{background:#FFE0F0}
#gameMenu .gm-x:active{transform:translate(2px,2px);box-shadow:none}
#gameMenu .gm-meta{margin:0 0 10px}
#gameMenu .gm-save{display:inline-flex;align-items:center;gap:6px;font:800 12px 'Baloo 2',sans-serif;border:2.5px solid var(--ink,#1A1A24);border-radius:999px;padding:1px 10px}
#gameMenu .gm-save::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor}
#gameMenu .gm-save.ok{background:#E8FFF0;color:#16803C}
#gameMenu .gm-save.local{background:#FFF1D6;color:#A15C00}
#gameMenu .gm-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
#gameMenu .gm-logout{border:2.5px solid var(--ink,#1A1A24);border-radius:999px;background:#fff;font:800 12px 'Baloo 2',sans-serif;padding:2px 12px;cursor:pointer;color:#D93A5C;box-shadow:2px 2px 0 var(--ink,#1A1A24)}
#gameMenu .gm-logout:hover{background:#FFE0F0}
#gameMenu .gm-logout:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink,#1A1A24)}
#gameMenu .gm-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
#gameMenu .gm-stats span{display:flex;align-items:center;gap:6px;background:#fff;border:2.5px solid var(--ink,#1A1A24);border-radius:12px;padding:4px 8px;font:800 12px 'Baloo 2',sans-serif;color:#6b5a4a;min-width:0;white-space:nowrap}
#gameMenu .gm-stats .aic{width:24px;height:24px;flex:none}
#gameMenu .gm-stats b{font:400 17px 'Lilita One',sans-serif;color:var(--ink,#1A1A24)}
#gameMenu .gm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
#gameMenu .gm-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 6px 10px;border:3px solid var(--ink,#1A1A24);border-radius:16px;background:#fff;box-shadow:3px 3px 0 var(--ink,#1A1A24);cursor:pointer;font:800 14px 'Baloo 2',sans-serif;color:var(--ink,#1A1A24);transition:transform .1s,background .15s}
#gameMenu .gm-tile:nth-child(1){background:#D6F5FF}#gameMenu .gm-tile:nth-child(2){background:#FFE0F0}#gameMenu .gm-tile:nth-child(3){background:#FFF1C9}
#gameMenu .gm-tile:nth-child(4){background:#E3F9E5}#gameMenu .gm-tile:nth-child(5){background:#FFE6D6}#gameMenu .gm-tile:nth-child(6){background:#EFE9FF}
#gameMenu .gm-tile:nth-child(7){background:#E8FFF0}
#gameMenu .gm-tile:hover:not(:disabled){transform:translateY(-2px)}
#gameMenu .gm-tile:hover:not(:disabled) .gm-ti{transform:scale(1.08) rotate(-4deg)}
#gameMenu .gm-tile:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink,#1A1A24)}
#gameMenu .gm-tile:disabled{opacity:.5;filter:grayscale(.6);cursor:default}
#gameMenu .gm-ti{width:46px;height:46px;transition:transform .15s}
#gameMenu .gm-tl{line-height:1.1;text-align:center}
#gameMenu .gm-tile kbd{position:absolute;top:6px;right:6px;font:800 10px 'Baloo 2',sans-serif;background:#fff;border:2px solid var(--ink,#1A1A24);border-radius:6px;padding:0 5px;line-height:16px}
#gameMenu .gm-h3{display:flex;align-items:center;gap:6px;font:800 15px 'Baloo 2',sans-serif;margin:0 0 6px;color:var(--ink,#1A1A24)}
#gameMenu .gm-h3 .aic{width:22px;height:22px}
#gameMenu .arc-music,#gameMenu .gm-rows{background:#fff;border:2.5px solid var(--ink,#1A1A24);margin:0;padding:4px 12px;box-shadow:none}
#gameMenu .arc-music{border-radius:14px 14px 0 0;border-bottom:none}
#gameMenu .gm-rows{border-radius:0 0 14px 14px;display:block!important;margin-bottom:14px!important}
#gameMenu .arc-music .am-row,#gameMenu .gm-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;font:800 14px 'Baloo 2',sans-serif;color:var(--ink,#1A1A24);border-bottom:1.5px dashed #E6D9C3}
#gameMenu .gm-row:last-child{border-bottom:none}
#gameMenu .gm-row small{font:800 10px 'Baloo 2',sans-serif;border:2px solid var(--ink,#1A1A24);border-radius:5px;padding:0 4px;margin-left:4px;vertical-align:1px}
#gameMenu .gm-sw{width:48px;height:26px;border-radius:999px;border:2.5px solid var(--ink,#1A1A24);background:#D9D2C5;position:relative;cursor:pointer;padding:0;flex:none;transition:background .15s}
#gameMenu .gm-sw i{position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:#fff;border:2px solid var(--ink,#1A1A24);box-sizing:border-box;transition:left .15s}
#gameMenu .gm-sw.on{background:#7BD88F}
#gameMenu .gm-sw.on i{left:23px}
#gameMenu .gm-ft{display:flex;align-items:center;justify-content:space-between;gap:10px}
#gameMenu a.gm-site{display:inline-block;text-decoration:none;text-align:center;font:800 14px 'Baloo 2',sans-serif;padding:6px 16px;color:var(--ink,#1A1A24)}
#gameMenu .gm-danger{background:none;border:none;color:#D93A5C;font:800 13px 'Baloo 2',sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:6px 4px}
#gameMenu .gm-danger:hover{color:#B0213F}
@media (max-width:480px){
  #gameMenu{width:100vw;max-width:100vw;left:0;right:0;top:auto;bottom:0;transform:none;border-radius:20px 20px 0 0;max-height:88vh;padding:14px 14px calc(14px + env(safe-area-inset-bottom))}
  #gameMenu.show{animation:gmUp .22s ease-out both}
  @keyframes gmUp{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
  #gameMenu .gm-grid{gap:9px}
  #gameMenu .gm-ti{width:38px;height:38px}
  #gameMenu .gm-tile{font-size:12.5px;padding:10px 4px 8px}
  #gameMenu .gm-stats{gap:6px}
  #gameMenu .gm-stats span{padding:3px 6px;font-size:11px;gap:4px}
}
#gameMenu .gm-h3 + .gm-rows{border-radius:14px}
.sys-card.qrow>.sys-claim{justify-self:start}
@media (min-width:481px){#gameMenu{top:calc(50% + 22px);max-height:calc(100vh - 64px)}}
#gameMenu .am-tog{font-size:0!important;width:48px;height:26px;min-width:0;border-radius:999px!important;border:2.5px solid var(--ink,#1A1A24)!important;background:#7BD88F!important;position:relative;padding:0!important;box-shadow:none!important;flex:none;cursor:pointer;filter:none!important;opacity:1!important}
#gameMenu .am-tog::after{content:'';position:absolute;top:2px;left:23px;width:17px;height:17px;border-radius:50%;background:#fff;border:2px solid var(--ink,#1A1A24);box-sizing:border-box;transition:left .15s}
#gameMenu .am-tog.off{background:#D9D2C5!important}
#gameMenu .am-tog.off::after{left:2px}
#gameMenu .arc-music .am-row b{font-weight:800}
#gameMenu a.gm-site{box-shadow:3px 3px 0 var(--ink,#1A1A24)}
#gameMenu{z-index:119000}

/* MOBILE-HUD-SYS: overlays clear site-nav; quest/dex via Menu on phone */
@media (max-width:480px){
  .sys-panel{
    top:calc(var(--site-nav-h,52px) + 6px); left:50%; right:auto;
    transform:translate(-50%,0); width:min(720px,96vw);
    max-height:calc(100vh - var(--site-nav-h,52px) - 12px - env(safe-area-inset-bottom,0px));
    border-radius:16px;
  }
  #sys-scrim{top:var(--site-nav-h,52px)}
  #gameMenu{z-index:119000}
  body.gm-open #gameMenu{pointer-events:auto}
}


/* ===== STORAGE-BOX Phase 1 ===== */
.sb-panel{width:min(760px,96vw);max-height:min(88vh,720px)}
.sb-hint{margin:0 0 8px}
.sb-party-label,.sb-box-label{font:800 14px 'Baloo 2',sans-serif;color:var(--ink,#1A1A24);margin:4px 0 6px}
.sb-box-label small{font-weight:800;color:#6b5a4a}
.sb-party{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:10px}
.sb-slot,.sb-cell{--fill:var(--white,#fff);border:3px solid var(--ink,#1A1A24);border-radius:12px;padding:6px 4px 8px;background:var(--fill);box-shadow:2px 2px 0 var(--ink,#1A1A24);cursor:pointer;text-align:center;font:inherit;color:inherit;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}
.sb-slot.empty{cursor:default;opacity:.55;background:#EDE7F6;justify-content:center;min-height:96px;font:800 12px 'Baloo 2',sans-serif;color:#6b5a4a}
.sb-slot.on,.sb-cell.on{--fill:#FFF1D0;outline:3px solid #2F8FE0;outline-offset:1px}
.sb-slot.faint,.sb-cell.faint{opacity:.72;filter:grayscale(.25)}
.sb-art{width:52px;height:52px;display:grid;place-items:center}
.sb-art img{width:48px;height:48px;object-fit:contain}
.sb-nm{font:800 12px 'Baloo 2',sans-serif;line-height:1.15;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sb-meta{font:800 10px 'Baloo 2',sans-serif;color:#6b5a4a}
.sb-hp{width:100%;height:8px;border:2px solid var(--ink,#1A1A24);border-radius:6px;background:var(--ink,#1A1A24);overflow:hidden;margin-top:2px}
.sb-hp>i{display:block;height:100%;background:#7BD88F;border-radius:0 4px 4px 0}
.sb-hp.faint>i{background:#E8452C;width:0!important}
.sb-hp-txt{font:800 10px 'Baloo 2',sans-serif;color:#6b5a4a}
.sb-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 8px}
.sb-act{font:800 13px 'Baloo 2',sans-serif;padding:4px 12px;cursor:pointer}
.sb-act:disabled{opacity:.4;cursor:not-allowed}
.sb-act.pink{--fill:var(--pink,#FF8FB8)}
.sb-page{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font:800 13px 'Baloo 2',sans-serif}
.sb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}
.sb-body{max-height:min(42vh,340px)}
.sb-miss{font:800 22px 'Baloo 2',sans-serif;color:#6b5a4a}
.bag-open-storage{margin:0 0 8px;align-self:flex-start;font:800 13px 'Baloo 2',sans-serif;padding:4px 12px;cursor:pointer}
@media (max-width:480px){
  .sb-party{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .sb-art{width:44px;height:44px}
  .sb-art img{width:40px;height:40px}
  .sb-body{max-height:min(38vh,280px)}
}

/* ===== Evolution overlay styles (inert — system removed noevo1) ===== */
#evo-overlay.show{backdrop-filter:blur(2px)}
#evo-overlay.cinema{backdrop-filter:none}
#evo-cinema.on{backdrop-filter:blur(6px)}

/* Gyms Phase 3 */
.pt.pad.gym .pulse{animation:pulse 1.6s ease-in-out infinite}
.gym-party{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;max-height:160px;overflow:auto}
.gym-mon{display:flex;align-items:center;gap:6px;font:700 13px Rubik;background:rgba(0,0,0,.04);padding:4px 8px;border-radius:10px;border:2px solid #1A1A24}
.gym-mon img{width:48px;height:48px;object-fit:contain;flex:none;background:rgba(255,255,255,.55);border-radius:8px}
.badge-list{display:flex;flex-direction:column;gap:8px;margin:10px 0;max-height:50vh;overflow:auto}
.badge-row{display:grid;grid-template-columns:40px 1fr auto;gap:8px;align-items:center;padding:8px 10px;text-align:left}
.badge-row.dim{opacity:.55}
.badge-row .bicon{font-size:22px;text-align:center}
.badge-row .bnm{font:800 15px Rubik}
.badge-row .bmeta{grid-column:2;font:600 12px Rubik;opacity:.75}
.mm-gym{filter:drop-shadow(0 1px 0 #1A1A24)}


/* gallery1 — collection display wall */
.gal-hero{padding:4px 2px 8px}
.gal-title{font:900 18px/1.2 'Lilita One','Baloo 2',sans-serif;color:#1A1A24}
.gal-sub{font:600 12px/1.3 'Baloo 2',sans-serif;color:#5A4500;opacity:.85}
.gal-regions{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:8px 0 12px}
.gal-region{border:3px solid #1A1A24;border-radius:12px;padding:8px;background:#FFF8E7;box-shadow:2px 2px 0 #1A1A24}
.gal-rnm{font:800 12px/1.2 'Baloo 2',sans-serif}
.gal-rbar{height:10px;border:2px solid #1A1A24;border-radius:6px;background:#E8E8F0;margin:6px 0;overflow:hidden}
.gal-rbar>i{display:block;height:100%;background:linear-gradient(90deg,#CBA8FF,#2FB5B0);width:0}
.gal-rmeta{font:700 11px/1 'Baloo 2',sans-serif;color:#3A1F6E}
.gal-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:10px;padding-bottom:8px}
.gal-frame{border:3px solid #1A1A24;border-radius:14px;background:#FFF;box-shadow:3px 3px 0 #1A1A24;padding:8px 6px 6px;text-align:center}
.gal-mat{height:84px;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#FFF8E7,#EDE4FF);border-radius:10px;border:2px solid #1A1A24;overflow:hidden}
.gal-mat img{max-width:78px;max-height:78px;object-fit:contain}
.gal-nm{font:800 12px/1.15 'Baloo 2',sans-serif;margin-top:6px}
.gal-meta{font:700 10px/1 'Baloo 2',sans-serif;opacity:.7}
