:root{
  --bg:#131612;--ink:#f2efdf;--muted:#c8c9b6;--accent:#f0bf73;--border:#626253;
  --display:"Barlow Condensed","Arial Narrow",sans-serif;
  --metal:linear-gradient(145deg,#33382e,#252a23 65%,#20251f);
  --steel:linear-gradient(135deg,#8a8a6e,#44473b 48%,#747660);
  --red-button:linear-gradient(#96483a,#663327);
}
body{background:radial-gradient(ellipse at 50% 230px,#2d3328 0,#191e17 45%,#111410 90%);color:var(--ink)}
.top{position:relative;background:linear-gradient(180deg,#191d17,#252920 70%,#171b15);border-bottom:1px solid #74725b;box-shadow:0 4px 14px #0007}
.top-inner{max-width:1130px;min-height:72px;grid-template-columns:176px minmax(0,1fr) minmax(115px,175px);gap:12px;padding:8px 13px}
.brand{width:100%;max-width:168px}
.profile,.resource{border-radius:3px;background:linear-gradient(150deg,#34443a,#242f28) padding-box,var(--steel) border-box}
.profile{min-height:46px;justify-content:flex-start}
.profile small,.resource small{color:#e1dfcb}
.profile .avatar{height:34px;width:34px}
.resources{gap:5px;justify-content:stretch}
.resource{flex:1;min-width:0;min-height:41px;padding:4px 7px 8px}
.resource svg{width:15px;height:15px}
.resource small{font-size:9px;letter-spacing:.035em}
.resource strong{font-size:12px}
.resource-meter{height:3px;left:5px;right:5px;bottom:3px}
.block-navigation{max-width:1130px;margin:auto;border:0;padding:0 13px;display:block}
.block-navigation .nav-strip{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:4px;background:#23261e;border:1px solid #545545;border-bottom:0;align-items:stretch}
.block-navigation .nav-strip>nav{display:flex;gap:2px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#74745b #252921;padding:3px}
.block-navigation .nav-strip>nav .nav-button{display:flex;flex:1 0 61px;flex-direction:column;min-height:52px;justify-content:center;gap:3px;padding:3px;color:#e5e1cc;text-align:center;font:700 14px/1 var(--display);border-radius:2px}
.block-navigation .nav-strip>nav svg{width:21px;height:21px;color:#c5cbb0;stroke-width:1.9}
.block-navigation .nav-strip>nav .active{background:linear-gradient(#554334,#373129);border-color:#b28a60;color:#fff3d5;box-shadow:inset 0 -2px #ce9e61}
.block-navigation .nav-strip>nav .active svg{color:#f2be79}
.block-navigation .side-bottom{display:none}
.block-navigation .game-menu{display:block;position:relative;border-left:1px solid #555647}
.block-navigation .game-menu summary{display:grid;place-items:center;height:100%;min-height:49px;cursor:pointer;list-style:none;font-size:21px}
.game-menu summary::-webkit-details-marker{display:none}
.block-navigation .game-menu-list{position:absolute;z-index:10;right:0;top:100%;width:170px;max-height:65vh;overflow:auto;background:#262c23;padding:4px;border:1px solid #787862;box-shadow:0 8px 18px #000a}
.block-navigation .game-menu-list nav{display:grid;gap:0;overflow:visible}
.block-navigation .game-menu-list .nav-button{display:flex;justify-content:flex-start;min-height:35px;padding:0 9px;font:700 15px var(--display)}
.game-menu-list>a{display:block;color:#f4e4c7;padding:9px;border-top:1px solid #56594c;text-decoration:none;font-size:12px}
.layout{max-width:1130px;min-height:0;grid-template-columns:minmax(0,1fr) 230px;padding:0 13px;gap:13px}
.layout main{padding-top:12px}
.right{padding-top:36px}
.crumb{margin-bottom:8px}
.cell-layout{display:block}
.cell-layout .right{grid-template-columns:repeat(4,minmax(0,1fr));padding-top:0}
.cell-layout .log-panel{grid-column:auto}
.prison-wing{border:1px solid #767660;border-radius:3px;background:#25291f;box-shadow:0 12px 32px #0008}
.wing-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 12px;background:linear-gradient(#3e4335,#2b3127);border-bottom:1px solid #808069}
.wing-heading h1{font-size:25px;font-style:normal;margin:0}
.wing-heading span{color:#e2ddc3;font:700 16px var(--display)}
.wing-scene>img{aspect-ratio:3/2;object-fit:cover}
.wing-scene::after{height:22%;background:linear-gradient(transparent,#141b13d9)}
button.wing-marker,.wing-marker .btn{min-height:43px;background:linear-gradient(#393d30f5,#22291ff5);color:#f8edce;border-color:#b0aa85;box-shadow:0 3px 8px #000a;border-radius:3px;font-style:normal}
button.wing-marker:hover,.wing-marker .btn:hover{background:#4e5439}
.wing-marker svg{color:#e7c28b}
.wing-marker .btn:disabled{background:#2c3127f5;border-color:#898b70;color:#e2e2ce}
.wing-corridor .btn{background:#292e24f0;border-color:#979477;color:#f4e7c9;border-radius:3px}
.section-head h2,.right h2{font-size:24px}
.campaign-strip .section-head h2{background:none;color:var(--ink);padding:0;font-style:normal;transform:none}
.callouts .row{border-color:#787660}
.row-icon{color:#edc38b;background:#373d30;border-color:#767b63}
.btn{background:linear-gradient(#4b5040,#32382d);border-color:#7d8069;border-radius:3px}
.btn:hover,.wing-corridor .btn:hover{background:#505542}
.btn.primary,.callouts .btn{background:var(--red-button);border-color:#b37a61;box-shadow:none}
.btn.primary:hover,.callouts .btn:hover{background:#a34f39}
.nav-button:focus-visible,.game-menu summary:focus-visible{outline-offset:-2px}
@media(max-width:850px){
  .layout{display:block}
  .right,.cell-layout .right{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:0}
  .right .log-panel{grid-column:1/-1}
}
@media(max-width:680px){
  .top-inner{grid-template-columns:minmax(0,1fr) auto;gap:5px;padding:5px 7px}
  .brand{max-width:159px}.resources{gap:4px}.resource{padding:4px 4px 7px;gap:4px}
  .resource svg{width:12px;height:12px}.resource small{font-size:8px}.resource strong{font-size:11px}
  .profile{min-height:38px;padding:3px 5px}.profile .avatar{width:27px;height:28px}
  .block-navigation{padding:0 7px}.block-navigation .nav-strip{grid-template-columns:minmax(0,1fr) 36px}
  .block-navigation .nav-strip>nav .nav-button{flex-basis:52px;min-height:45px;font-size:12px}
  .block-navigation .nav-strip>nav svg{width:17px;height:17px}
  .block-navigation .game-menu summary{min-height:46px}
  .layout{padding:0 7px}.layout main{padding-top:8px}
  .wing-heading{padding:5px 8px}.wing-heading h1{font-size:20px}.wing-heading span{font-size:13px}
  .wing-scene>img{aspect-ratio:3/2}
  button.wing-marker,.wing-marker .btn{min-height:33px;padding:3px 5px;font-size:12px}
  .wing-corridor{bottom:3%}.wing-corridor .btn{min-height:32px}
}

.wing-gym{left:17%;top:50%}.wing-bed{left:42%;top:44%}.wing-board{left:58%;top:60%}
.wing-work{left:84%;top:48%}.wing-locker{left:83%;top:23%}
@media(min-width:851px){.cell-layout .wing-scene{max-width:900px;margin-inline:auto}}
@media(max-width:365px){.wing-marker svg{display:none}.wing-marker .btn{max-width:86px;white-space:normal}}
/* The cell scene and its shortcuts share one frame. */
.cell-layout{max-width:1010px}
.cell-layout .crumb{display:none}
.wing-floor{display:grid;grid-template-columns:76px minmax(0,1fr);background:#171b14}
.wing-rail{display:grid;align-content:start;gap:3px;padding:6px 4px;border-right:1px solid #5a5e47;background:linear-gradient(90deg,#1c2118,#34392b)}
.wing-rail .btn{display:grid;justify-items:center;gap:4px;min-height:54px;padding:4px 2px;text-align:center;font:700 14px/1 var(--display);color:#ece6cc}
.wing-rail .btn svg{width:20px;height:20px;color:#dfc49b}
.cell-layout .wing-scene{width:100%;max-width:none;margin:0}
.wing-scene>img{object-fit:cover}
button.wing-marker{flex-direction:column;gap:2px;min-height:43px;padding:4px 6px;font-size:clamp(12px,1.6vw,16px)}
.wing-marker svg{width:19px;height:19px}
.wing-gym{left:17%;top:48%}.wing-work{left:84%;top:47%}
.wing-bed{left:41%;top:46%}.wing-board{left:59%;top:57%}
.wing-corridor{justify-content:space-between;inset:auto 5% 4%}
.wing-corridor .btn{min-width:78px;background:linear-gradient(#49503a,#2a3024);border-color:#9f9f76}
.wing-board-panel{margin-top:10px;padding:0}
.wing-board-panel summary{cursor:pointer;min-height:43px;padding:8px 12px;color:var(--ink);font:800 21px var(--display);text-transform:uppercase}
.wing-board-panel .list{padding:0 8px 8px}
.cell-layout .section{margin-top:12px}
@media(max-width:680px){
  .wing-floor{grid-template-columns:51px minmax(0,1fr)}
  .wing-rail{padding:4px 2px}
  .wing-rail .btn{min-height:42px;font-size:11px}
  .wing-rail .btn svg{width:15px;height:15px}
  button.wing-marker{min-height:34px;font-size:11px}
  .wing-marker svg{width:14px;height:14px}
  .wing-marker .btn{max-width:74px;white-space:normal;min-height:33px}
  .wing-corridor .btn{min-width:61px;min-height:29px}
}
.wing-mode{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:7px;color:var(--muted);font-size:12px}
.wing-mode .btn{min-height:32px}
.blueprint{background:#1a3136}
.blueprint .wing-heading{background:linear-gradient(#2d4b51,#213b40);border-color:#65838a}
.block-plan{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding:17px;background:
  repeating-linear-gradient(0deg,transparent 0 17px,#83c9d521 17px 18px),
  repeating-linear-gradient(90deg,transparent 0 17px,#83c9d521 17px 18px),#1c363c}
.block-room{position:relative;isolation:isolate;min-height:116px;text-align:left;color:#e4f3e9;padding:11px;
  border:2px solid #83aeb3;outline:1px solid #142b31;outline-offset:2px;background:#31555b;border-radius:2px;overflow:hidden}
.block-room:hover,.block-room[aria-pressed="true"]{background:#4c6b62;border-color:#ecd29b}
.block-room.current-room{box-shadow:inset 0 -4px #e7a957}
.room-lines{position:absolute;z-index:-1;inset:8px;border:1px solid #a6c4bb77;background:
  linear-gradient(90deg,transparent 31%,#a6c4bb55 31% 33%,transparent 33% 66%,#a6c4bb55 66% 68%,transparent 68%),
  linear-gradient(transparent 51%,#a6c4bb55 51% 54%,transparent 54%)}
.room-label{display:grid;gap:2px;justify-items:start;text-shadow:0 1px 3px #111}
.room-label strong{font:800 25px/1 var(--display);text-transform:uppercase}
.room-label span,.room-label small{background:#162f33e6;padding:1px 4px;line-height:1.2}
.room-label small{color:#f6d6a0;font-size:11px}
@media(max-width:680px){
  .block-plan{gap:12px;padding:10px}
  .block-room{min-height:96px;padding:7px}
  .room-label strong{font-size:21px}
  .room-label span{font-size:11px}
}
.crime-row{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center}
.crime-row .crime-reward{color:#e6ca8d}
.crime-odds{display:grid;min-width:75px;gap:2px;text-align:center;padding:4px 6px;border:1px solid #858263;background:#20281e}
.crime-odds strong{font:800 23px/1 var(--display);color:#c5df9d}
.crime-odds span{font-size:11px;color:#e5dec9}
@media(max-width:530px){
  .crime-row{grid-template-columns:auto minmax(0,1fr) auto;gap:6px}
  .crime-row .btn{grid-column:2/-1;justify-self:end;min-height:34px}
  .crime-odds{min-width:58px;padding:4px}
  .wing-rail .btn span{overflow-wrap:anywhere}
  .wing-board{left:57%}
}

.block-progression{padding:8px 12px;color:#e5e4d0;font-size:12px}

.character-board{
  background:#282d23;
  border:1px solid #777965;
  box-shadow:0 12px 30px #0006;
}
.character-heading{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:12px 16px;
  background:linear-gradient(#3d4436,#2a3027);
  border-bottom:1px solid #777965;
}
.character-heading .eyebrow{color:#e1bc8c}
.character-heading h1{font:800 clamp(29px,4vw,45px)/.95 var(--display);margin-top:3px;text-transform:uppercase}
.character-level{
  padding:6px 10px;
  background:#24291f;
  border:1px solid #72785e;
  color:#ffe3ae;
  font:700 16px var(--display);
  white-space:nowrap;
}
.character-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.05fr) minmax(0,1.15fr);
  grid-template-areas:"stats portrait record" "trophies trophies trophies";
  align-items:start;
  gap:12px;
  padding:12px;
  background:linear-gradient(#20261cf5,#272d23ed),url("corridor.webp") center / cover;
}
.character-stats{grid-area:stats}
.character-record{grid-area:record;display:grid;gap:10px}
.character-stats,.character-equipment,.character-results,.character-trophies{
  min-width:0;
  background:linear-gradient(#30382d,#22281f);
  border:1px solid #616952;
  padding:10px;
}
.character-grid h2{font:800 22px/1 var(--display);text-transform:uppercase;color:#eee9d2;margin-bottom:9px}
.character-values{display:grid;gap:4px;margin:0}
.character-values div{
  display:flex;justify-content:space-between;align-items:center;gap:4px;
  padding:5px 6px;min-height:31px;background:#1b2119;border:1px solid #4a5543;
}
.character-values dt{display:flex;align-items:center;gap:4px;font:700 16px/1.05 var(--display)}
.character-values dt svg,.character-equipment li svg{color:#e0b97d;width:15px;height:15px}
.character-values dd{margin:0;color:#ffd58b;text-align:right;font:700 17px/1 var(--display)}
.character-stats .btn,.character-equipment .btn{width:100%;margin-top:8px;padding:6px}
.character-portrait{
  grid-area:portrait;position:relative;display:grid;justify-items:center;align-self:stretch;
  margin:0;min-width:0;overflow:hidden;
  background:linear-gradient(#171d1aa1,#282d2363 65%,#111710),url("corridor.webp") center / cover;
  border:1px solid #676f57;
}
.character-portrait img{align-self:end;display:block;width:100%;height:305px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 3px 8px #090b07)}
.character-portrait figcaption{
  align-self:end;z-index:1;width:100%;overflow-wrap:anywhere;text-align:center;
  padding:5px 7px;background:#171c16;color:#f8dda9;
  font:800 24px/1.05 var(--display);
}
.character-equipment ul,.character-medals,.trophy-tier ul{list-style:none;padding:0;margin:0}
.character-equipment li{display:flex;align-items:center;gap:6px;padding:6px 3px;border-bottom:1px solid #505744;font-size:12px}
.character-equipment small,.trophy-tier small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.character-trophies{grid-area:trophies}
.trophy-heading{display:flex;justify-content:space-between;align-items:baseline;gap:6px;margin-bottom:8px}
.trophy-heading h2{margin:0}
.trophy-heading>span{font-size:11px;color:#f0d3a2;text-align:right}
.character-medals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
[data-tier="bronze"]{--trophy:#f0ab7f}
[data-tier="silver"]{--trophy:#d7e0dc}
[data-tier="gold"]{--trophy:#ffcf65}
[data-tier="platinum"]{--trophy:#a6d8e3}
.character-medal{
  display:grid;justify-items:center;gap:2px;padding:7px 2px;
  background:linear-gradient(155deg,#363b2e,#1b2018 78%);
  border:1px solid #59614d;border-top-color:var(--trophy);
  color:var(--trophy);font:700 17px/1 var(--display);
}
.character-medal svg{width:25px;height:25px;stroke-width:1.8;filter:drop-shadow(0 2px 1px #000);fill:color-mix(in srgb,var(--trophy) 26%,transparent)}
.character-medal strong{color:#faf3e3;font-size:23px}
.character-medal small{font-size:14px;color:#d2d0bd}
.trophy-details{margin-top:8px}
.trophy-details summary{cursor:pointer;min-height:40px;padding:11px 8px;background:#20251c;border:1px solid #616952;color:#f1d7ad;font-size:12px;font-weight:700}
.trophy-details summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.trophy-requirements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}
.trophy-tier{padding:8px;background:#1b2119;border:1px solid #535d4b}
.trophy-tier h3{display:flex;align-items:center;gap:5px;color:var(--trophy);font:800 20px var(--display)}
.trophy-tier h3 svg{height:16px;width:16px}
.trophy-tier li{display:flex;justify-content:space-between;gap:6px;align-items:center;padding:7px 0;border-top:1px solid #46503f;font-size:12px}
.trophy-progress{flex:none;color:#e5dec6;font:700 14px var(--display)}
.trophy-progress.earned{color:#bce1a9}
@media(max-width:570px){
  .character-heading{padding:10px}
  .character-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    grid-template-areas:"stats portrait" "trophies trophies" "record record";
    gap:6px;padding:6px;
  }
  .character-portrait img{height:187px}
  .character-record{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .character-stats,.character-equipment,.character-results,.character-trophies{padding:7px}
  .character-grid h2{font-size:20px}
}
@media(max-width:400px){
  .trophy-requirements{grid-template-columns:minmax(0,1fr)}
}

.equipment-tabs,.equipment-filters{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.equipment-tabs .btn,.equipment-filters .btn{min-height:42px}
.equipment-filters{
  padding:6px;background:#20261e;border:1px solid #606650;
}
.equipment-filters .btn[aria-pressed="true"]{
  color:#fff1cb;background:linear-gradient(#64503a,#423528);
  border-color:#b68b5b;box-shadow:inset 0 -2px #d8a867;
}
.equipment-list{display:grid;gap:5px}
.equipment-row{
  display:grid;grid-template-columns:56px minmax(0,1fr) minmax(55px,auto) minmax(105px,auto);
  align-items:center;gap:10px;padding:6px;
  background:linear-gradient(#373e33,#292f27);border:1px solid #626952;
}
.equipment-row.equipped{border-left:3px solid #a4be8c}
.equipment-art,.equipped-mini{
  display:grid;place-items:center;aspect-ratio:1;background:#1e251e;border:1px solid #5b6553;
}
.gear-art{width:85%;height:85%;fill:var(--gear-color);stroke:#171a15;stroke-width:2}
.equipment-info h3{font:800 21px/1 var(--display);overflow-wrap:anywhere}
.equipment-info p{font-size:12px;color:#f1ca84}
.equipment-cost{display:grid;justify-items:start;gap:3px;font-size:12px}
.gear-level{padding:2px 5px;border:1px solid #779077;background:#2c402c;color:#e3efce;font:700 15px var(--display);white-space:nowrap}
.gear-level.locked{border-color:#a67061;background:#4e322b;color:#ffded4}
.equipment-control{text-align:center}
.equipment-control .btn{width:100%;min-height:42px;padding:5px 8px}
.gear-owned{color:#d2e5bd;font-size:12px;font-weight:750}
.equipment-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(91px,1fr));gap:6px;margin:0;padding:0;list-style:none}
.equipment-slots li{display:grid;align-content:start;gap:4px;padding:8px;background:#232b21;border:1px solid #5a654f}
.equipment-slots li span{color:#dfbc8f;font:800 16px var(--display)}
.equipment-slots li strong{font-size:12px;overflow-wrap:anywhere}
.character-outfit{position:relative;align-self:end;height:305px;width:100%}
.character-outfit .worn-layer{
  position:absolute;inset:0;width:100%;height:100%;pointer-events:none;
  fill:var(--gear-color);stroke:#242018;stroke-width:1.7;filter:drop-shadow(0 1px 1px #0009);
}
.character-equipment .equipped-mini{flex:0 0 28px}
.character-equipment .equipped-mini .gear-art{width:85%;height:85%;color:inherit}
.character-values dd small{font-size:.73em;color:#c2dda9;white-space:nowrap}
@media(max-width:570px){
  .character-outfit{height:187px}
  .equipment-tabs .btn,.equipment-filters .btn{padding:6px 8px}
  .equipment-row{grid-template-columns:39px minmax(0,1fr) minmax(46px,auto) minmax(66px,auto);gap:5px}
  .equipment-info h3{font-size:18px}
  .equipment-info p,.equipment-control .btn,.gear-owned{font-size:11px}
  .equipment-control .btn{padding-inline:4px;max-width:96px}
}

.gym-station{
  border:1px solid #838871;
  padding:clamp(8px,2vw,18px);
  background:linear-gradient(#262b21ef,#1a1e17e8),url("corridor.webp") center / cover;
  box-shadow:0 12px 30px #0006;
}
.gym-station-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}
.gym-station-head h2{font:800 23px/1 var(--display);text-transform:uppercase}
.gym-station-head span{color:#edc991;font:700 17px var(--display);white-space:nowrap}
.gym-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.gym-stat{
  --stat-color:#ffa091;
  display:grid;justify-items:center;align-content:start;gap:4px;
  min-width:0;padding:11px 4px 9px;
  border:1px solid #69725e;border-top:3px solid var(--stat-color);
  background:linear-gradient(#3b4136,#20261e);
}
.gym-stat[data-gym-stat="defense"]{--stat-color:#b3e581}
.gym-stat[data-gym-stat="speed"]{--stat-color:#91dcee}
.gym-stat[aria-pressed="true"]{box-shadow:inset 0 0 0 1px var(--stat-color);background:linear-gradient(#484d40,#292e25)}
.gym-emblem{
  display:grid;place-items:center;width:32px;height:32px;border-radius:50%;
  border:1px solid var(--stat-color);color:var(--stat-color);background:#20271d;
}
.gym-stat-name{font:800 19px var(--display);text-transform:uppercase}
.gym-stat strong{font:800 clamp(23px,4vw,38px)/1 var(--display);color:var(--stat-color);overflow-wrap:anywhere}
.gym-gain{font:700 16px var(--display);color:#fff0cf}
.gym-stat small{color:#d8dac5;font-size:11px}
.gym-console{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:10px;
  margin-top:10px;padding:10px;background:linear-gradient(#454a3e,#2a3026);
  border:1px solid #838871;
}
.gym-workout strong{font:800 21px/1 var(--display)}
.gym-workout p,.gym-power{font-size:12px;color:#e4dfc6}
.gym-power{display:grid;gap:3px}
.gym-power>span{display:flex;align-items:center;gap:4px}
.gym-power svg{width:13px;height:13px;color:#f0c676}
.gym-power progress{width:100%;height:8px;accent-color:#a6d37d}
.gym-console .btn.primary{
  min-height:45px;padding:7px 15px;font:800 21px/1 var(--display);
  color:#162310;background:linear-gradient(#bae88e,#82bc59);border-color:#cee4a6;
}
.gym-console .btn.primary:hover{background:#b0e482}
.gym-console .btn.primary:disabled{color:#dad9c9;background:#292e25;border-color:#777e6b}
@media(max-width:520px){
  .gym-stats{gap:4px}
  .gym-stat-name{font-size:16px}
  .gym-gain{font-size:14px}
  .gym-console{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px}
  .gym-console .btn{grid-column:1/-1}
}

.addon-list{display:grid;gap:6px}
.addon-row{
  display:grid;grid-template-columns:auto minmax(0,1fr) minmax(112px,auto);
  align-items:center;gap:10px;padding:8px;
  border:1px solid #666e59;background:linear-gradient(#373e32,#272e25);
}
.addon-row h3{font:800 22px/1 var(--display)}
.addon-row p{font-size:12px;color:var(--muted)}
.addon-row .addon-reward{color:#f0ce8e}
.addon-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:5px}
.addon-actions .btn{min-height:42px;padding:5px 9px}
.addon-actions .btn[data-act="room-pp"]:not(:disabled),.addon-actions .btn[data-act="course-rush"]:not(:disabled){
  color:#e6f9ff;background:#26525e;border-color:#73a8b5;
}
.premium-strip{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border:1px solid #62765b;background:#273229}
.premium-strip strong,.premium-wallet h2{color:#b3e1ee}
.premium-wallet h2{font:800 32px var(--display)}
.addon-status,[data-addon-clock]{font-size:12px;color:#c9e6b6}
p.addon-status{margin:0 0 6px}
@media(max-width:490px){
  .addon-row{grid-template-columns:30px minmax(0,1fr);gap:6px}
  .addon-actions{grid-column:2;justify-content:flex-start}
  .addon-row h3{font-size:20px}
}

.club-ring{
  margin-top:10px;padding:clamp(10px,3vw,24px);border:1px solid #6b939c;
  background:linear-gradient(#172229d9,#111a1def),url("yard.webp") center / cover;
  box-shadow:0 12px 30px #0007;
}
.club-matchup{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px}
.club-fighter{display:grid;justify-items:center;gap:3px;text-align:center;min-width:0}
.club-fighter strong{font:800 clamp(19px,4vw,31px)/1 var(--display);overflow-wrap:anywhere;max-width:100%}
.club-fighter small{font-size:11px;color:#c7d6d5}
.club-face{
  width:clamp(50px,11vw,75px);aspect-ratio:1;display:grid;place-items:center;margin-bottom:4px;
  border:1px solid #83b6c1;background:#20343e url("inmate.webp") center 24% / cover;
}
.rival .club-face{background:#342d29;border-color:#a78a74;color:#f1ceb0}
.club-face svg{width:45%;height:45%}
.club-vs{font:900 clamp(30px,6vw,51px)/1 var(--display);color:#9dd9e7}
.club-comparison{display:grid;gap:4px;margin:12px 0}
.club-comparison div{display:grid;grid-template-columns:1fr 1.2fr 1fr;text-align:center;align-items:center;gap:4px;background:#142026;border:1px solid #435d65;padding:4px}
.club-comparison dt{grid-column:2;grid-row:1;color:#e2dad0;font-size:11px}
.club-comparison dd{grid-column:1;grid-row:1;margin:0;color:#b5e1eb;font:800 19px var(--display)}
.club-comparison dd:last-child{grid-column:3;color:#f4c6a7}
.club-controls,.club-rank-tabs{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}
.club-controls .btn{flex:1 1 110px;min-height:44px}
.club-cost,.club-period,.club-empty{color:var(--muted);font-size:12px;margin-top:7px}
.club-cost{text-align:center}
.club-rank-tabs{justify-content:start}
.club-ranks{list-style:none;display:grid;gap:4px;padding:0;margin:8px 0}
.club-ranks li{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;background:#2c352b;border:1px solid #657160;padding:7px;font-size:13px}
.club-ranks li.club-self{background:#334836;border-color:#8ba680}
.club-ranks li>strong{color:#e6c991;text-align:center}
.club-ranks li span{overflow-wrap:anywhere}
.club-ranks small{display:block;color:var(--muted)}

.leaderboard-tabs{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}
.leaderboard-tabs .btn{min-height:42px}
.leaderboard-rule{margin-bottom:8px;color:var(--muted);font-size:12px}
.leaderboard{border-collapse:collapse;width:100%;background:#161a15;text-align:left;color:#f2d691}
.leaderboard thead{background:#31382e;color:#e6e0c9}
.leaderboard th,.leaderboard td{padding:11px 7px;border-bottom:1px solid #5b6153;font-size:13px;overflow-wrap:anywhere}
.leaderboard th:first-child,.leaderboard td:first-child{width:30px;text-align:center;color:#d5d5c3}
.leaderboard td:last-child,.leaderboard thead th:last-child{text-align:right}
.leaderboard tbody th small{display:block;font-size:10px;color:#c4e4b1}
.leaderboard-self{background:#283a2b}
.leaderboard-level{display:inline-block;min-width:27px;padding:2px 4px;text-align:center;color:#fff4e1;background:#682d26;border:1px solid #925347}
@media(max-width:520px){
  .leaderboard-tabs .btn{padding:5px 9px}
  .leaderboard th,.leaderboard td{padding:9px 4px;font-size:11px}
}

.drug-list{display:grid;gap:4px}
.drug-offer{
  display:grid;grid-template-columns:26px minmax(0,1.2fr) minmax(0,.7fr) minmax(54px,.65fr) minmax(0,.85fr) minmax(72px,.85fr);
  gap:7px;align-items:center;padding:8px;border:1px solid #596050;background:#292e27;
}
.drug-offer:nth-child(even){background:#30362e}
.drug-icon{text-align:center;font-size:19px}
.drug-offer strong,.drug-offer small{display:block;overflow-wrap:anywhere}
.drug-offer strong{font:800 18px/1 var(--display)}
.drug-offer small{margin-top:3px;color:var(--muted);font-size:10px}
.drug-price,.drug-total{color:#f2cf80}
.drug-price [data-trend]{font-size:10px;color:#b9bfb8}
.drug-price [data-trend="1"]{color:#a7db91}
.drug-price [data-trend="-1"]{color:#ffa291}
.drug-quantity input{display:block;width:100%;min-height:36px;padding:4px;font-size:16px}
.drug-offer .btn{min-height:42px;padding:5px 7px}
.drug-offer[data-drug-form="drug-sell"] .btn{border-color:#869d68;color:#e4f4d1;background:#3a4d2f}
[data-drug-clock]{color:var(--muted);font-size:12px;text-align:right}
@media(max-width:540px){
  .drug-offer{grid-template-columns:23px minmax(55px,1fr) minmax(50px,.75fr) minmax(66px,.85fr);gap:5px}
  .drug-item{grid-column:2/4}
  .drug-quantity{grid-column:2}
  .drug-offer strong{font-size:17px}
}

.gitny-toolbar{
  display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:10px;padding:10px;
  background:#29352d;border:1px solid #697f70;
}
.gitny-toolbar>div{flex:1 1 150px}
.gitny-toolbar strong,.gitny-price{color:#f3b7e1}
.gitny-toolbar p{font-size:12px;color:var(--muted)}
.gitny-toolbar .btn{min-height:42px}
.gitny-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:7px}
.gitny-card{
  min-width:0;display:flex;flex-direction:column;align-items:stretch;text-align:center;gap:6px;padding:8px;
  background:linear-gradient(#27352e,#171e1b);border:1px solid #64838a;border-radius:3px;
}
.gitny-card h3{font:800 22px/1 var(--display);min-height:2em}
.gitny-art{
  display:grid;place-items:center;align-self:center;width:62px;aspect-ratio:1;
  background:radial-gradient(#5c5030,#262b22 72%);border:1px solid #9a8050;border-radius:4px;font-size:31px;
}
.gitny-card p{font-size:12px;line-height:1.35;color:#e5e0c9;margin-bottom:auto}
.gitny-card small{font-size:11px;color:var(--muted)}
.gitny-card .btn{min-height:42px;padding:5px}
.gitny-effects{margin:0;padding:9px 12px 9px 25px;background:#243226;border:1px solid #6c8368;font-size:12px;line-height:1.8}

.bandit-machine{
  display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:12px;
  margin-top:12px;padding:12px;border:1px solid #6c785d;
  background:linear-gradient(145deg,#38402d,#181e16);box-shadow:0 10px 28px #0008;
}
.bandit-reel{
  min-width:0;display:grid;gap:10px;text-align:center;padding:12px 8px;color:#272117;
  border:3px solid #b98230;outline:1px solid #e7b45a;outline-offset:-5px;
  background:radial-gradient(ellipse,#e8dfc2,#ae9a71);
}
.bandit-reel h2{font:900 24px/1 var(--display);text-transform:uppercase}
.bandit-symbols{display:flex;justify-content:center;flex-wrap:wrap;gap:5px;align-items:center}
.bandit-symbol{display:grid;place-items:center;min-width:54px;gap:4px}
.bandit-symbol>span{font-size:28px}
.bandit-symbol strong{font:800 17px/1 var(--display)}
.bandit-ticket{padding:6px;background:#262d26;color:#f3eed7;font-size:12px}
.bandit-ticket strong{display:block;font:900 30px/1 var(--display)}
.bandit-controls{display:grid;align-content:center;gap:7px;text-align:center}
.bandit-controls small{color:#e3c6de;font-size:12px}
.bandit-picker{display:flex;align-items:center;justify-content:center;gap:12px}
.bandit-picker strong{font:800 25px var(--display)}
.bandit-controls .btn{min-height:44px}
.bandit-controls [data-act="bandit-free"]:not(:disabled){background:linear-gradient(#b4d85a,#6d9234);border-color:#c7dd8a;color:#141d0a;font:900 25px/1 var(--display)}
.bandit-controls [data-act="bandit-pp"]:not(:disabled){background:#245d73;border-color:#6aa5b9;color:#effaff}
.bandit-chances{margin-top:12px;font-size:13px}
.bandit-chances summary{cursor:pointer;font-weight:800}
.bandit-chances ul{list-style:none;padding:0;display:grid;gap:4px}
.bandit-chances li{display:flex;justify-content:space-between;gap:8px}
@media(max-width:510px){.bandit-machine{grid-template-columns:minmax(0,1fr);gap:8px;padding:8px}}

.fish-machine{background:linear-gradient(145deg,#344a47,#17241e)}
.fish-machine .bandit-reel{background:radial-gradient(ellipse,#d8e3d6,#8caa9f)}
.fish-portrait{
  display:grid;place-items:center;aspect-ratio:1;width:42px;
  border:2px solid #7fa5b1;background:#1f3540;color:#fff;
  border-radius:3px;
}
.fish-portrait[data-fish-portrait="shark"]{border-color:#aa96d3;background:#352b49}
.fish-portrait[data-fish-portrait="king"]{border-color:#dfb85d;background:#49391f}
.bandit-controls [data-act="fish-free"]:not(:disabled){background:linear-gradient(#b4d85a,#6d9234);border-color:#c7dd8a;color:#141d0a;font:900 25px/1 var(--display)}
.bandit-controls [data-act="fish-pp"]:not(:disabled){background:#245d73;border-color:#6aa5b9;color:#effaff}
.profile .avatar.fish-portrait{background-image:none;font-size:21px}

.fragment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.fragment-card,.fragment-exchange{min-width:0;padding:10px;border:1px solid #737b69;background:linear-gradient(#353f33,#222a22)}
.fragment-card{display:grid;justify-items:center;align-content:start;gap:6px;text-align:center}
.fragment-art{position:relative;margin:0 4px 3px}
.fragment-art .fish-portrait{width:clamp(42px,9vw,74px);font-size:clamp(22px,5vw,38px)}
.fragment-art>span:last-child{position:absolute;right:-8px;bottom:-6px;padding:2px 5px;border:1px solid #b4a868;background:#25291d;color:#f9db87;font:800 15px var(--display)}
.fragment-card h3{font:800 21px/1 var(--display)}
.fragment-card progress{width:100%;height:9px;accent-color:#9fd281}
.fragment-card p,.fragment-note{font-size:12px;color:var(--muted)}
.fragment-card .btn{width:100%;min-height:42px;padding:5px}
.fragment-note{margin-bottom:8px}
.fragment-exchanges{display:grid;gap:7px}
.fragment-exchange{display:grid;grid-template-columns:1fr auto 1fr minmax(74px,auto);align-items:center;gap:8px;text-align:center}
.fragment-exchange>div{display:grid;justify-items:center;gap:3px;min-width:0}
.fragment-exchange strong{font:800 17px/1 var(--display)}
.fragment-exchange small{color:var(--muted)}
.fragment-arrow{color:#d6dd87;font-size:24px}
.fragment-confirm strong{color:#b9e4ef}
.fragment-confirm .btn{min-height:42px;padding:5px 8px}
@media(max-width:430px){.fragment-card,.fragment-exchange{padding:6px;gap:5px}.fragment-card h3{font-size:17px}.fragment-card p,.fragment-card .btn{font-size:11px}}

.account-settings{display:grid;gap:10px;margin-top:12px}
.account-settings section{border:1px solid #555e50;background:#1d231d}
.account-settings h2{padding:5px 9px;background:#41493d;color:#f0d28a;font:800 20px var(--display)}
.account-panel{padding:9px;display:grid;justify-items:start;gap:7px}
.account-panel form{width:100%;display:flex;align-items:end;flex-wrap:wrap;gap:7px}
.account-panel label{display:grid;gap:3px;flex:1 1 170px;min-width:0;max-width:340px;font-size:13px}
.account-panel input,.account-panel select{width:100%;max-width:100%;font:inherit;color:var(--ink)}
.account-panel select{min-height:38px;padding:6px;border:1px solid #646f60;background:#242c22}
.account-panel input[type="range"]{accent-color:#d7ac61}
.account-panel p{font-size:12px;color:var(--muted)}
.account-preview{display:flex;align-items:center;gap:10px}
.account-preview .avatar{width:52px;height:52px;flex:none;object-fit:cover;background:#252720 url("inmate.webp") center 20% / cover}
.account-preview .avatar.fish-portrait,.account-preview .account-avatar{background-image:none}
.profile .account-avatar{object-fit:cover;flex:none}
.account-panel .account-danger{border-color:#9d6657;color:#ffd4c5}

.victim-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:end;padding:8px;border:1px solid #636b5b;background:#282f26}
.victim-toolbar label{display:grid;gap:4px;flex:1 1 170px;font-size:12px}
.victim-toolbar input{width:100%;min-height:42px}
.victim-toolbar>strong{align-self:center;color:#f1cc84;font-size:13px}
.victim-count{margin-top:8px;color:var(--muted);font-size:12px}
.victim-list{display:grid;gap:5px}
.victim-row{display:grid;grid-template-columns:minmax(110px,1.2fr) auto minmax(53px,.65fr) minmax(84px,1fr) minmax(82px,auto);align-items:center;gap:7px;padding:7px;border:1px solid #646957;background:linear-gradient(#30362d,#222820)}
.victim-name{display:flex;align-items:center;gap:6px;color:#f0cf83;font:800 20px/1 var(--display);overflow-wrap:anywhere}
.victim-face,.victim-name .fish-portrait{width:29px;height:29px;flex:none;display:grid;place-items:center}
.victim-face{background:#20241d;border:1px solid #717664;color:#d9cfb4}
.victim-face svg{width:17px;height:17px}
.victim-stat small,.victim-stat strong{display:block}
.victim-stat small{color:var(--muted);font-size:10px}
.victim-stat strong{color:#e6c780;font-size:12px}
.victim-stat .stronger{color:#ff998a}.victim-stat .weaker{color:#b9e397}
.victim-row .btn{min-height:42px;padding:5px}
@media(max-width:540px){
  .victim-row{grid-template-columns:minmax(0,1fr) auto minmax(75px,auto)}
  .victim-row .btn{grid-column:3;grid-row:1/3}
  .victim-row .victim-stat{grid-row:2}
  .victim-row .victim-stat:last-of-type{text-align:right}
}

.bounty-search{
  background:linear-gradient(#222820ed,#1c201aed),url("corridor.webp") center/cover;
  border-color:#6a6c5c;
}
.bounty-search form{display:flex;align-items:end;flex-wrap:wrap;gap:8px}
.bounty-search label{display:grid;gap:4px;min-width:0;flex:1 1 130px;font-size:12px}
.bounty-search input{min-height:42px}
.bounty-search .btn{min-height:42px}
.bounty-search p,.bounty-empty p{margin:8px 0;color:var(--muted);font-size:12px}
.bounty-target{border-top:1px solid #5e6654;padding-top:8px;margin-top:8px}
.bounty-target>strong{flex:1 1 100%;color:#f0cf83;font:800 18px var(--display)}
.bounty-target label{max-width:180px}

.mercenary-status{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:8px}
.mercenary-status p{font-size:13px;color:var(--muted)}
.bounty-target select{width:100%;min-height:42px;padding:6px;color:var(--ink);background:#242c22;border:1px solid #646f60}

.attack-reports{display:grid;gap:7px}
.attack-report{display:grid;grid-template-columns:minmax(0,1fr) minmax(75px,auto) minmax(90px,auto) auto;align-items:center;gap:8px;padding:8px;border:1px solid #676c5b;background:#242922}
.attack-report strong,.attack-report small{display:block}
.attack-report>div:first-child strong{color:#eace85;overflow-wrap:anywhere}
.attack-report time,.attack-report small{font-size:12px;color:var(--muted)}
.attack-won{color:#b9e397}.attack-lost{color:#ff9e90}
.attack-details{display:grid;gap:5px;margin:10px 0}
.attack-details>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:13px}
.attack-details dd{margin:0;overflow-wrap:anywhere}
@media(max-width:510px){.attack-report{grid-template-columns:minmax(0,1fr) auto}.attack-report>.btn{justify-self:end}}

.bank-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.bank-panel{min-width:0;padding:12px;border:1px solid #838a59;background:linear-gradient(155deg,#404a2e,#262e21)}
.bank-panel h2{font:800 24px/1 var(--display);color:#e6dda5;margin:0 0 10px}
.bank-balances{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0 0 9px}
.bank-balances div{background:#20271b;border:1px solid #606b47;padding:6px}
.bank-balances dt,.bank-panel label,.bank-buttons p{font-size:12px;color:#e0e3cc}
.bank-balances dd{margin:0;color:#efcf7d;font:800 21px var(--display);overflow-wrap:anywhere}
.bank-panel form,.bank-panel label{display:grid;gap:5px}
.bank-panel form{gap:8px}
.bank-panel input,.bank-panel select{width:100%;min-height:42px;font:inherit}
.bank-panel select{background:#232a20;color:var(--ink);border:1px solid #6c7556;padding:5px}
.bank-buttons{display:flex;gap:6px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.bank-buttons strong{color:#e8d88b}
.bank-buttons .btn{min-height:42px}
.bank-panel .copy{margin-top:7px}
@media(max-width:540px){.bank-grid{grid-template-columns:minmax(0,1fr)}}

.cash-packs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.cash-pack{display:grid;justify-items:center;align-content:start;gap:7px;text-align:center;min-width:0;padding:12px 6px;border:2px solid #8d795a;border-radius:7px;background:linear-gradient(150deg,#554632,#28241c);box-shadow:inset 0 0 0 2px #2f281f}
.cash-pack>span{color:#d0d78c}
.cash-pack h2{color:#e2ef9f;font:800 clamp(19px,4vw,32px)/1 var(--display);margin:0;overflow-wrap:anywhere}
.cash-pack p{color:#efd6a4;font-size:13px}
.cash-pack .btn{min-height:42px;width:100%;max-width:145px;padding:5px}
.cash-pack .btn:not(:disabled){background:#2b6472;color:#e6fbff;border-color:#75aab0}
@media(max-width:480px){.cash-packs{grid-template-columns:repeat(2,minmax(0,1fr))}}

.black-market-panel{margin-top:10px;background:linear-gradient(145deg,#34392b,#20251d)}
.black-market-panel h2{font:800 24px var(--display);margin:0 0 8px;color:#e6d18c}
.black-market-panel form{display:flex;flex-wrap:wrap;align-items:end;gap:8px}
.black-market-panel label{display:grid;gap:4px;flex:1 1 130px;min-width:0;font-size:12px}
.black-market-panel input{width:100%;min-height:42px}
.black-market-panel .btn{min-height:42px}
.black-market-panel .copy{margin-top:7px}
.drug-bonus-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px}
.drug-bonus-values>div{display:flex;justify-content:space-between;gap:8px;align-items:center;border:1px solid var(--border);padding:8px 10px;background:var(--panel)}
.drug-bonus-values dt{font-size:.86rem}
.drug-bonus-values dd{color:#ffc47a;font-weight:800;font-variant-numeric:tabular-nums}
@media(max-width:400px){.drug-bonus-values>div{padding:6px;gap:4px}.drug-bonus-values dt{font-size:.75rem}}
[data-gang-bank]+[data-gang-bank]{margin-top:8px}
[data-gang-war-challenge]{margin-bottom:12px}
[data-gang-war-challenge] select{min-height:42px;width:100%;padding:6px 8px;background:#171a15;color:var(--ink);border:1px solid var(--border)}
[data-war-ready][hidden]{display:none}
.gang-logo{display:inline-block;object-fit:cover;width:64px;height:64px;border:1px solid var(--border);border-radius:6px;vertical-align:middle}
.gang-insignia{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
[data-gang-logo]{margin-bottom:8px}
.row h3 .gang-logo{width:30px;height:30px;margin-right:8px}

.tattoo-heading{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:baseline;justify-content:space-between;margin:12px 0}
.tattoo-heading h1{font:900 36px/.95 var(--display);text-transform:uppercase}
.tattoo-heading p{font-size:12px;color:#d2c8b3}
.tattoo-heading strong{color:#f6c583}
.tattoo-heading span{margin:0 3px}
.tattoo-board{
  display:grid;justify-items:center;gap:10px;padding:16px 12px 12px;border:1px solid #51463a;
  background:radial-gradient(ellipse at 50% 40%,#3e362ac9 0%,#171715ec 68%,#10100fee),url("corridor.webp") center/cover;
}
.tattoo-prompt{padding:7px 15px;border:1px solid #ac865d;background:linear-gradient(#795436,#543921);box-shadow:inset 0 0 0 1px #eac08c33;font-weight:700;color:#fff2d9}
.tattoo-model,.tattoo-views{width:min(100%,480px)}
.tattoo-model{position:relative}
.tattoo-model img{display:block;width:100%;height:auto;filter:drop-shadow(0 8px 12px #0009)}
button.tattoo-spot{
  position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:44px;height:44px;
  display:grid;place-items:center;background:none;border:0;padding:0;cursor:pointer;color:#fff2d6;
}
.tattoo-spot span{
  display:grid;place-items:center;width:21px;height:21px;border-radius:50%;border:1px solid #edce9c;
  background:#241c15c9;font:700 16px/1 var(--display);box-shadow:0 1px 5px #000b;
}
.tattoo-spot.inked span{border-color:#27211eaa;color:#201a17;background:#caa382b5}
.tattoo-spot[aria-pressed="true"] span,.tattoo-spot:hover span{color:#2f2015;background:#ecc084;border-color:#ffebc4}
.tattoo-views{display:grid;grid-template-columns:1fr 1fr;text-align:center;color:#c4b7a3;font-size:12px}
.tattoo-places{display:flex;flex-wrap:wrap;gap:5px;justify-content:center}
.tattoo-places .btn{min-height:40px}
.tattoo-places .btn[aria-pressed="true"]{border-color:#dca76f;background:#654329;color:#fff4df}
.tattoo-selection{width:100%;padding:12px;border:1px solid #6a543e;background:#24211dea;text-align:left}
.tattoo-selection h2{font:800 24px/1 var(--display);text-transform:uppercase}
.tattoo-selection p{color:#ead9c2;font-size:13px;margin:7px 0}
.tattoo-selection .gym-tabs{margin-bottom:0}
.tattoo-owned{color:#b5ce92;font-size:13px}
.tattoo-spot span img{width:100%;height:100%;object-fit:cover;border-radius:50%;filter:grayscale(1) contrast(1.15);opacity:.8}

.course-list{display:grid;gap:6px}
.course-row{display:grid;grid-template-columns:minmax(120px,1.5fr) auto auto auto minmax(158px,1fr);align-items:center;gap:10px;padding:8px;border:1px solid #60624e;background:linear-gradient(#383b35,#282b27)}
.course-name{display:flex;align-items:center;gap:8px;min-width:0}
.course-name h3{font:800 21px/1.05 var(--display)}
.course-name p{margin-top:4px;color:#d8c3a1;font-size:12px}
.course-name .row-icon{flex:none}
.course-level{justify-self:start;padding:4px 7px;border:1px solid #a35e53;border-radius:5px;background:#652c27;color:#ffe9db;font-size:12px;font-weight:800}
.course-price,.course-duration{color:#f4cd85;font-size:13px;white-space:nowrap}
.course-status{width:100%;text-align:right}
.course-controls .btn:disabled{opacity:1;color:#d0ccc6;background:#3b3c38;border-color:#6b6b61}
@media(max-width:1140px){
  .course-row{grid-template-columns:auto auto minmax(0,1fr);gap:6px 10px}
  .course-name,.course-controls{grid-column:1/-1}
  .course-controls{justify-content:flex-start}
  .course-status{text-align:left}
}

.deal-list{display:grid;gap:7px;padding:8px;background:linear-gradient(#272821eb,#161913ef),url("corridor.webp") center/cover;border:1px solid #494d3f}
.deal-row{display:grid;grid-template-columns:minmax(125px,1fr) minmax(115px,1fr) minmax(55px,.48fr) minmax(103px,.75fr);align-items:center;gap:8px;padding:8px;background:#2c2e29;border:1px solid #4e5145;border-radius:5px}
.deal-contact,.deal-good{display:flex;align-items:center;gap:7px;min-width:0}
.deal-contact img{width:50px;height:50px;flex:none;object-fit:cover;border-radius:4px;border:1px solid #6b6655}
.deal-contact h2{font:800 20px/1.05 var(--display)}
.deal-goods{display:grid;gap:4px;min-width:0}
.deal-good{background:#20221e;border:1px solid #635c48;border-radius:4px;padding:3px 5px;font-size:12px}
.deal-good.shortage{border-color:#964a45}
.deal-good.available{border-color:#6b8453}
.deal-good-icon{font-size:17px}
.deal-good small,.deal-time small,.deal-reward small{display:block;color:#d0c5ad;font-size:11px}
.deal-time,.deal-reward{text-align:center;font-size:13px}
.deal-reward strong{display:block;color:#f4cf85;font-size:16px}
.deal-reward .btn{width:100%;margin-top:3px;min-height:40px;padding:4px 5px;font-size:12px;white-space:normal}
@media(max-width:730px){
  .deal-row{grid-template-columns:minmax(0,1fr) minmax(94px,.62fr)}
  .deal-contact{grid-column:1/-1}
  .deal-time{text-align:left;grid-column:1}
  .deal-reward{grid-column:2;grid-row:2/4}
}

.lottery-view{background:#090d12}
.lottery-view .layout{display:block;max-width:1460px}
.lottery-view .layout main{padding-top:8px}
.lottery-view #right,.lottery-view .crumb{display:none}
.lottery-view .top{background:linear-gradient(#252b31,#111417 55%,#080a0d);border-color:#4d5359}
.lottery-view .nav-strip{background:#111417;border-color:#555960}
.lottery-view .nav-strip>nav .nav-button{background:linear-gradient(#2b3137,#12161a);border:1px solid #5b5d60}
.lottery-view .nav-strip>nav .nav-button.active{background:linear-gradient(#5e221e,#210b0b);border-color:#e34730;box-shadow:inset 0 -2px #ff442a,0 0 8px #e2383172}
.lottery-view .resource,.lottery-view .profile{background:linear-gradient(#2a3036,#121519) padding-box,linear-gradient(#999ca0,#3a3d41) border-box}

.lottery-stage{
  --lottery-ink:#f8f1e5;--lottery-gold:#ffcb65;
  isolation:isolate;min-height:clamp(580px,47vw,730px);padding:clamp(18px,3.6vw,48px);
  color:var(--lottery-ink);background:#101720 url("lottery-courtyard.webp") center center/cover;
  border:1px solid #505860;position:relative;
}
.lottery-stage::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent 12%,#070a0d27 44%,#06090d65),linear-gradient(0deg,#090a0d8c,transparent 75%)}
.lottery-heading{width:min(55%,447px);margin:0 0 -8px clamp(18%,24vw,33%);position:relative;z-index:1}
.lottery-heading img{display:block;width:100%;height:auto;mask-image:radial-gradient(ellipse 76% 65% at 50% 51%,#000 53%,transparent 87%)}
.lottery-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.lottery-grid{
  margin-inline-start:clamp(9%,13vw,19%);padding:clamp(10px,1.8vw,24px);
  display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:clamp(12px,2vw,24px);
  background:repeating-linear-gradient(135deg,#fff0 0 3px,#fff1 4px,#fff0 5px 9px),linear-gradient(120deg,#151b20fa,#0c0f12f2);
  border:2px solid #c5782e;border-radius:10px;box-shadow:inset 0 0 0 4px #120e0b,inset 0 0 18px #c552242a,0 0 18px #ff6f2944;position:relative;
}
.lottery-grid::before,.lottery-grid::after{content:"";position:absolute;left:4%;right:4%;height:2px;pointer-events:none;background:linear-gradient(90deg,transparent,#ffc260 17%,#885429 46%,#ffd68a 81%,transparent);box-shadow:0 0 9px #fa852a}
.lottery-grid::before{top:-2px}.lottery-grid::after{bottom:-2px}
.lottery-entry,.lottery-winners{min-width:0}
.lottery-numbers{margin:0;display:grid;gap:8px}
.lottery-numbers>div{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:8px}
.lottery-numbers dt,.lottery-numbers dd,.lottery-buy.btn{clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px);border:1px solid #797d7e}
.lottery-numbers dt{display:flex;align-items:center;gap:8px;padding:8px;background:linear-gradient(#373e45,#13181c 55%,#0f1417);font-weight:800;font-size:clamp(12px,1.65vw,17px);min-height:48px}
.lottery-numbers dt svg{flex:none;width:19px;height:19px;color:#eed099}
.lottery-numbers dd{margin:0;padding:5px;background:linear-gradient(#fff8c3,#fcd37d 15%,#d77b12 46%,#ffc554 60%,#b9580b);border-color:#ffe5a0;color:#201305;font:900 clamp(23px,3.2vw,44px)/1.05 var(--display);text-shadow:0 1px #ffdd89;text-align:center;overflow-wrap:anywhere;box-shadow:inset 0 0 0 2px #87440d;min-height:48px;display:grid;align-items:center}
.lottery-actions{margin-top:12px}
.lottery-buy.btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:52px;background:linear-gradient(#c33729,#7b0f0d 49%,#5b0a0b 51%,#9c1813);border:1px solid #ec754f;color:#fff5e4;font:900 clamp(21px,3vw,35px)/1 var(--display);text-shadow:0 2px #2a0807;box-shadow:inset 0 0 0 2px #6e1f16;text-decoration:none}
.lottery-buy.btn:hover:not(:disabled){background:linear-gradient(#da4432,#951510)}
.lottery-buy span{font:800 .54em/1 var(--display);color:#ffcf82;border-left:1px solid #ef937c;padding-left:9px}
.lottery-account{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px;font-size:12px;color:#dbd3c5}
.lottery-account strong,.lottery-winners b{color:var(--lottery-gold)}
.lottery-refresh.btn{min-height:32px;padding:2px 8px;background:#20272c;border-color:#6b6860}
.lottery-status,.lottery-rules,.lottery-winners p{color:#ddd6ca;font-size:13px;line-height:1.45}
.lottery-rules{margin-top:10px}
.lottery-rules summary{cursor:pointer;font-weight:700}
.lottery-rules p{margin-top:6px}
.lottery-winners{border:1px solid #786451;border-radius:5px;background:#0d1114;align-self:start;overflow:hidden}
.lottery-winners h2{padding:9px 10px;background:linear-gradient(#7d231c,#4a1010);border-bottom:1px solid #bf553d;display:flex;align-items:center;gap:6px;font:900 clamp(20px,2.2vw,28px)/1 var(--display);text-transform:uppercase;text-shadow:0 2px #1b0807}
.lottery-winners h2 span,.lottery-winners li>span{color:#ffd37c}
.lottery-winners ul{list-style:none;margin:0;padding:6px;display:grid;gap:4px}
.lottery-winners li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;padding:5px;background:linear-gradient(#292e33,#1b1f23);border:1px solid #53504a;border-radius:4px;font-size:13px}
.lottery-winners li strong{overflow-wrap:anywhere}
.lottery-winners li small{display:block;color:#cfc7b4;font-size:11px}
.lottery-winners li b{white-space:nowrap}
.lottery-winners p{padding:10px}

@media(max-width:720px){
  .lottery-stage{min-height:0;padding:clamp(133px,36vw,222px) 9px 12px;background-size:auto 360px;background-position:left top;background-repeat:no-repeat}
  .lottery-stage::before{background:linear-gradient(180deg,transparent 8%,#080b0e22 26%,#080b0e 388px)}
  .lottery-heading{width:min(71%,350px);margin:-78px 0 2px auto}
  .lottery-grid{margin:0;grid-template-columns:minmax(0,1fr)}
  .lottery-numbers dd{font-size:clamp(25px,7vw,37px)}
}
@media(max-width:365px){
  .lottery-numbers dt{gap:4px}
  .lottery-numbers dt svg{width:15px;height:15px}
}

.top-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}
.top-inner{grid-template-columns:176px minmax(0,1fr) minmax(176px,240px)}
.top-actions .profile{flex:1;min-width:0;width:auto}
.top-actions .profile-copy{min-width:0}
.crew-shortcut{display:grid;grid-template-columns:auto;place-items:center;flex:none;min-width:56px;min-height:55px;padding:2px 5px;border:1px solid #8d785b;border-radius:4px;background:radial-gradient(ellipse at 50% 65%,#60442e,#232620 72%);color:#ffdfaa;cursor:pointer;box-shadow:inset 0 0 0 2px #1d1717}
.crew-shortcut:hover{border-color:#edac61;background-color:#67513a}
.crew-shortcut img{width:42px;height:34px;object-fit:contain;filter:drop-shadow(0 2px 2px #000b)}
.crew-shortcut span{font:900 12px/1 var(--display);text-transform:uppercase;letter-spacing:.055em}
.crew-join-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin-top:12px;background:linear-gradient(90deg,#272420,#66342c,#272420);border:1px solid #755650}
.crew-join-tabs button{min-height:40px;padding:8px;border:0;background:none;color:#ffebce;font-weight:700;font-size:13px;cursor:pointer}
.crew-join-tabs button:hover{text-decoration:underline}
.crew-join-panel{display:flex;align-items:center;gap:12px}
.crew-join-panel img{flex:none;width:78px;height:78px;object-fit:contain}
.crew-join-panel p{margin-bottom:7px}
.crew-empty{padding:12px;border:1px dashed #78705c;background:#242621;text-align:center}
#crew-search-results:not(:empty){margin-top:8px}
#crew-search-results .row h3 .gang-logo{margin-right:6px}
@media(max-width:680px){
  .top-inner{grid-template-columns:minmax(0,1fr) auto}
  .top-actions{grid-row:1;grid-column:2}
  .top-actions .profile{max-width:43vw}
  .crew-shortcut{min-width:43px;min-height:42px;padding:1px 3px}
  .crew-shortcut img{width:35px;height:27px}
  .crew-shortcut span{font-size:10px}
}
