:root {
  --bg:#0e1114;--panel:#1b2024;--border:#495058;--ink:#fff8ee;--muted:#c4c6c7;
  --accent:#ff7869;--green:#9ad882;--red:#ff6555;
  --steel:linear-gradient(143deg,#e0e3e5 0%,#4b5157 20%,#929da5 32%,#472424 58%,#e45240 77%,#422f31 88%,#adb5ba);
  --metal:linear-gradient(155deg,#30363b,#161b20 35%,#0d1115 73%,#321c1b);
  --red-button:linear-gradient(#bc271c,#74140f 62%,#a62017);
}
body{background:radial-gradient(ellipse at 76% 12%,#293139 0%,transparent 57%),linear-gradient(155deg,#171d21,#0e1114 80%);}
.top{background:linear-gradient(90deg,#101418c9,#12171d75,#120b0de6),url("yard.webp") center 38% / cover;border-bottom:2px solid #78413a;box-shadow:0 3px 13px #0008}
.top-inner{min-height:94px}
.brand{width:min(100%,218px)}
.prison-logo{width:100%;aspect-ratio:386/80;background:url("prisonkings-mobile.jpg") left top / 223.84% auto no-repeat;filter:drop-shadow(0 2px 4px #000)}
.resource,.profile,.panel,.page-head,.card,.row,.quick button,.hero,.sector,.toast,dialog {
  border:1px solid transparent;
  background:var(--metal) padding-box,var(--steel) border-box;
  border-radius:9px 3px;
}
.resource{position:relative;min-height:51px;padding:7px 11px 12px;gap:7px}
.resource small,.profile small{color:#f0ded7}
.resource svg{filter:drop-shadow(0 0 5px currentColor)}
.resource[data-stat="energy"]{--stat-color:#ffca53}
.resource[data-stat="hp"]{--stat-color:#ff574d}
.resource[data-stat="cash"]{--stat-color:#8ed765}
.resource[data-stat="shield"]{--stat-color:#ffc274}
.resource[data-stat] svg{color:var(--stat-color)}
.resource-meter,.profile-meter{display:block;height:4px;background:#5b6268;overflow:hidden;border-radius:4px;box-shadow:inset 0 1px 2px #0009}
.resource-meter{position:absolute;bottom:5px;left:8px;right:8px}
.resource-meter i,.profile-meter i{display:block;height:100%;border-radius:inherit;background:var(--stat-color,#fd6455);box-shadow:0 0 8px var(--stat-color,#fd6455)}
.profile{padding:5px 7px;gap:7px}
.profile-copy{min-width:0}
.profile>svg{width:14px;height:14px;color:#f5e4dc}
.profile-meter{margin-top:4px}
.profile .avatar{border-color:#af8665;border-radius:5px;background:#43251a url("inmate.webp") 77% 13% / auto 205% no-repeat}
.nav-strip{min-width:0}.game-menu{display:none}
.nav-button{border-radius:7px 2px;color:#ece7df}
.nav-button:hover{background:#392622}
.nav-button.active{background:var(--red-button);color:#fff4e9;border-color:#ff8876;box-shadow:0 0 11px #ef352d65,inset 0 0 0 1px #ed695546}
.nav-button.active:before{display:none}
.crumb{color:#d4cbca}
.hero{background:#181819;box-shadow:0 0 16px #bb342a38}
.hero::before{border-radius:inherit}
.cell-hero{min-height:342px;border-color:#e29285}
.cell-hero::before{background:linear-gradient(90deg,#080a0bf5,#080a0bd5 31%,#080a0b5c 59%,transparent 86%),url("inmate.webp") 68% 34% / cover,#20252b}
.cell-hero h1{font-style:italic;text-shadow:0 4px 7px #000;font-size:clamp(55px,6.1vw,95px)}
.cell-hero h1 em{color:#ff5344;font-style:inherit}
.cell-hero .eyebrow{color:#ffb76e}
.cell-hero .green-dot{background:#ff4c41;box-shadow:0 0 10px #ff3c30}
.cell-hero p{max-width:32ch;text-shadow:0 1px 4px #000}
.btn{background:linear-gradient(#383234,#251d1d);border-color:#84605d;border-radius:6px 2px;color:#fff3e9}
.btn:hover{background:#553331}
.btn.primary,.callouts .btn{color:#fff6ef;background:var(--red-button);border-color:#fb8974;box-shadow:0 0 11px #f13e2c55,inset 0 0 0 1px #ff826b55;font:800 italic 17px/1 var(--display);text-transform:uppercase}
.btn.primary:hover,.callouts .btn:hover{background:linear-gradient(#d73929,#9f2117)}
.btn:disabled,.btn.primary:disabled,.btn.primary:disabled:hover{color:#c0b8b6;background:#292527;border-color:#514846;box-shadow:none}
.campaign-strip .section-head h2{font-style:italic;background:linear-gradient(100deg,#7b1a16,#bc2c20 74%,#731a17);padding:6px 13px;transform:skewX(-5deg);border-radius:3px;color:#fff5eb}
.callouts{grid-template-columns:1fr}
.callouts .row{min-height:76px;border-color:#83514c;padding:10px 12px;background:linear-gradient(90deg,#111518 8%,#151619dc 50%,#18171b75),url("yard.webp") center 40% / cover}
.callouts .row+ .row{background-image:linear-gradient(90deg,#111518 8%,#151619db 52%,#18171b75),url("corridor.webp")}
.callouts .row h3{font-style:italic}
.row-icon,.quick svg{color:#ffa18f}
.row-icon{border-radius:6px 2px;background:linear-gradient(#692019,#311b1b);border:1px solid #98534c}
.quick button:hover{background:#482825;border-color:#eb6a5f}
.bar i{background:linear-gradient(90deg,#9d251c,#ff6452)}
@media(max-width:680px){
  .top{position:relative}.top-inner{min-height:0;padding:9px 8px;gap:8px}
  .brand{width:min(100%,211px)}
  .profile strong{max-width:18vw}.profile .avatar{width:30px;height:33px}
  .resources{gap:4px}.resource{min-height:48px;padding:5px 3px 9px;gap:4px}
  .resource small{font-size:8px;letter-spacing:.025em}.resource strong{font-size:11px}
  .resource svg{width:13px;height:13px}
  .layout{padding-inline:8px}.sidebar{position:relative;padding-top:5px;z-index:2}
  .nav-strip{display:grid;grid-template-columns:minmax(0,1fr) 37px;border-block:1px solid #6b6263;gap:2px;background:linear-gradient(#262b30,#111418)}
  .sidebar .nav-strip>nav{display:grid;grid-template-columns:1fr .96fr 1.36fr .9fr;overflow:visible;gap:1px;padding:0}
  .nav-strip>nav .extra-location{display:none}
  .nav-button{justify-content:center;min-height:43px;padding:0 3px;gap:3px;font-size:10px;line-height:1.05}
  .nav-button svg{width:12px;height:12px}
  .game-menu{display:block}
  .game-menu summary{display:grid;place-items:center;height:43px;cursor:pointer;list-style:none;font-size:21px}
  .game-menu summary::-webkit-details-marker{display:none}
  .game-menu[open]{position:relative}
  .game-menu-list{position:absolute;right:0;top:43px;width:164px;padding:4px;background:#19191b;border:1px solid #86534d;border-radius:6px 2px;box-shadow:0 8px 18px #000a}
  .sidebar .game-menu nav{display:grid;gap:1px;padding:0;overflow:visible}
  .game-menu nav .nav-button{justify-content:flex-start;padding:0 9px;min-height:34px;font-size:12px}
  .game-menu-list>a{display:block;color:var(--ink);padding:10px 9px;border-top:1px solid #86534d;text-decoration:none;font-size:12px}
  .cell-hero{min-height:265px}.cell-hero::before{background-position:center,65% 30%}
  .cell-hero .hero-content{padding:14px 12px}
  .cell-hero h1{font-size:clamp(45px,12.4vw,68px);margin-block:9px 11px}
  .cell-hero p{max-width:26ch;font-size:11px;line-height:1.35;margin-bottom:13px}
  .cell-hero .eyebrow{font-size:9px}
  .campaign-strip .section-head{justify-content:center}
  .callouts .row{min-height:62px;padding:7px 8px}.callouts .btn{font-size:14px}
}
.contract-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.contracts progress{display:block;width:100%;height:7px;margin:8px 0 3px;accent-color:#e65342}
.contracts .tags{width:100%}
@media(max-width:420px){.contracts .cards{grid-template-columns:1fr}}
.check-in{width:min(550px,calc(100% - 24px));max-width:none;max-height:calc(100dvh - 24px);padding:18px;color:var(--ink)}
.check-in::backdrop{background:#060608ce}
.check-in header,.check-in-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}
.check-in header .eyebrow{color:var(--accent)}
.check-in .check-in-close{font-size:23px;min-width:40px;min-height:40px;padding:2px}
.check-in h2{margin:0 0 6px}
.check-in>p,.check-in-footer p{font-size:12px;margin:0}
.check-in-grid{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:14px 0;padding:0}
.check-in-cell{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:82px;padding:6px 2px;border:1px solid #51494a;border-radius:6px 2px;background:#151618;text-align:center;font-size:10px;color:var(--muted)}
.check-in-cell strong{color:var(--ink);font-size:10px}
.check-in-cell.ready{border-color:#ff796a;background:#432320;box-shadow:0 0 8px #f5402c55}
.check-in-cell.collected{border-color:#648f5a;color:#b4e6a5}
.check-in-icon{display:grid;place-items:center;height:22px;color:#ffb46e}
.collected .check-in-icon{color:#9ad882;font-size:18px}
.check-in-footer .btn{flex:none;min-height:44px}
@media(max-width:420px){.check-in{padding:11px}.check-in-grid{gap:3px}.check-in-cell,.check-in-cell strong{font-size:9px}}
.prison-wing{border:1px solid #98625b;border-radius:9px 3px;overflow:hidden;background:#15191c}
.wing-heading{padding:13px 16px;background:linear-gradient(110deg,#2b2120,#171d22);border-bottom:1px solid #675450}
.wing-heading .eyebrow{color:#ffab88}
.wing-heading h1{font:900 italic clamp(29px,4vw,47px)/1 var(--display);text-transform:uppercase;margin:3px 0}
.wing-heading p{color:var(--muted);font-size:12px}
.wing-scene{position:relative;isolation:isolate}
.wing-scene>img{width:100%;height:auto;display:block}
.wing-scene::after{content:"";position:absolute;inset:auto 0 0;height:28%;background:linear-gradient(transparent,#090c0fe8);pointer-events:none}
.wing-marker{position:absolute;z-index:1;transform:translate(-50%,-50%);white-space:nowrap}
button.wing-marker,.wing-marker .btn{display:flex;align-items:center;justify-content:center;gap:5px;padding:5px 9px;min-height:40px;border:1px solid #f49a76;border-radius:7px 2px;background:linear-gradient(#30241fee,#16181bee);color:#fff8e8;box-shadow:0 0 11px #f7734569,0 3px 8px #000;font:800 clamp(13px,2vw,20px)/1 var(--display)}
button.wing-marker:hover,.wing-marker .btn:hover{background:#733526}
.wing-marker .btn:disabled{background:#24272be8;border-color:#8e959b;box-shadow:0 3px 7px #000;color:#eee}
.wing-marker svg{width:16px;height:16px;color:#ffae81}
.wing-gym{left:17%;top:52%}.wing-bed{left:44%;top:46%}.wing-board{left:57%;top:65%}.wing-work{left:82%;top:55%}
.wing-corridor{position:absolute;z-index:1;inset:auto 0 4%;display:flex;justify-content:center;gap:6px;padding-inline:6px}
.wing-corridor .btn{min-height:39px;background:#171b1fee;font:800 clamp(13px,2vw,19px)/1 var(--display);color:#fff2e5}
.wing-corridor .btn:hover{background:#733526}
@media(max-width:450px){
  .wing-heading{padding:8px 10px}
  button.wing-marker,.wing-marker .btn{min-height:35px;padding:4px 5px;gap:3px}
  .wing-marker svg{width:13px;height:13px}
  .wing-corridor .btn{min-height:33px;padding:4px 6px;gap:3px}
}
.gym-tabs{display:flex;gap:7px;margin-block:12px}
.training-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.training-option{text-align:center;align-items:center;gap:6px;padding:12px 5px}
.training-option[data-skill="strength"]{--skill:#ff8874}
.training-option[data-skill="defense"]{--skill:#a9df8a}
.training-option[data-skill="speed"]{--skill:#7cdaff}
.training-option h3,.training-option .row-icon{color:var(--skill)}
.training-option h3{font-size:clamp(25px,5vw,36px)}
.training-option .row-icon{background:#1b2023;border-color:currentColor}
.training-option .btn{max-width:100%;font-size:clamp(11px,2.9vw,17px);padding-inline:5px;min-height:42px}
.training-price{color:#aee296}
.sector-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.sector-actions .btn{max-width:100%}
.network-form{display:flex;flex-wrap:wrap;gap:8px;margin-block:12px}
.btn:is(a){text-decoration:none}
.wing-locker{left:83%;top:29%}
