:root{
  --ink:#17130f;
  --panel:#c6c6c6;
  --panel-hi:#fff;
  --panel-lo:#555;
  --slot:#8b8b8b;
  --slot-hi:#373737;
  --slot-lo:#fff;
  --grass:#5eae3e;
  --grass-dark:#34762b;
  --dirt:#76502f;
  --gold:#f4b942;
  --red:#d43d3d;
  --blue:#4b8bc9;
  --shadow:0 8px 0 rgba(0,0,0,.3), 0 18px 40px rgba(0,0,0,.28);
  --px:2px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:"Courier New",ui-monospace,monospace;color:#202020}
button,input,a{font:inherit}
button{cursor:pointer}
button:disabled{opacity:.55;cursor:not-allowed}
img{image-rendering:pixelated}
[hidden]{display:none!important}

body{
  background:
    linear-gradient(rgba(13,24,31,.16),rgba(13,24,31,.42)),
    repeating-linear-gradient(0deg,#6d4c2e 0 24px,#765433 24px 48px);
}
body:before{
  content:"";position:fixed;inset:0;z-index:-1;
  background:
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:16px 16px;
}
.pixel-panel{
  background:#c6c6c6;
  border:4px solid #1e1e1e;
  box-shadow:inset 3px 3px 0 #fff,inset -3px -3px 0 #555,var(--shadow);
}
.mc-btn{
  border:3px solid #171717;
  box-shadow:inset 2px 2px 0 rgba(255,255,255,.45),inset -3px -3px 0 rgba(0,0,0,.35),0 4px 0 #161616;
  color:#fff;text-shadow:2px 2px #222;text-decoration:none;
  min-height:58px;padding:10px 16px;display:flex;align-items:center;justify-content:center;gap:12px;
  font-weight:900;letter-spacing:.04em;
}
.mc-btn:active{transform:translateY(3px);box-shadow:inset 2px 2px 0 rgba(255,255,255,.2),inset -2px -2px 0 rgba(0,0,0,.45),0 1px 0 #161616}
.mc-btn.green{background:#3e8d35}.mc-btn.green:hover{background:#4da641}
.mc-btn.blue{background:#3d6e9e}.mc-btn.blue:hover{background:#4b84bb}
.mc-btn.gold{background:#b47a28}.mc-btn.gold:hover{background:#c99137}
.mc-btn.dark{background:#555}
.mc-input{
  width:100%;border:3px solid #232323;background:#151515;color:#fff;
  box-shadow:inset 2px 2px 0 #050505,inset -2px -2px 0 #686868;
  padding:13px 14px;outline:none;
}
.mc-input:focus{border-color:#fff}

.menu-body{min-height:100vh}
.pixel-world{
  min-height:100vh;padding:34px 18px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:
    linear-gradient(to bottom,rgba(90,165,218,.82) 0 38%,rgba(76,144,60,.15) 38% 43%,rgba(61,107,42,.6) 43% 48%,rgba(80,55,34,.76) 48% 100%),
    repeating-linear-gradient(90deg,transparent 0 31px,rgba(0,0,0,.06) 31px 32px);
}
.menu-card{width:min(680px,100%);padding:28px}
.logo-block{display:flex;gap:22px;align-items:center;margin-bottom:25px}
.logo-block h1{font-size:clamp(38px,8vw,72px);line-height:.82;margin:7px 0 12px;letter-spacing:-.08em;text-shadow:3px 3px #fff}
.logo-block h1 b{color:#387d2d}
.eyebrow{margin:0;font-size:12px;font-weight:900;letter-spacing:.16em}
.subtitle{margin:0;color:#474747;font-weight:700}
.logo-cube{width:94px;height:94px;flex:0 0 94px;position:relative;background:#754b2b;border:4px solid #1c1c1c;box-shadow:inset 0 20px #4b9b38,inset 4px 4px rgba(255,255,255,.2),inset -5px -5px rgba(0,0,0,.28)}
.logo-cube span{position:absolute;background:#2e6e2d}
.logo-cube span:nth-child(1){width:20px;height:12px;left:8px;top:9px}.logo-cube span:nth-child(2){width:25px;height:10px;left:43px;top:4px}.logo-cube span:nth-child(3){width:15px;height:10px;right:5px;top:14px}
.name-label{display:block;font-size:12px;font-weight:900;margin:0 0 6px}
.menu-actions{display:grid;gap:12px;margin-top:16px}
.menu-actions .mc-btn{justify-content:flex-start}
.menu-actions .mc-btn .btn-icon{font-size:26px;width:42px;text-align:center}
.menu-actions .mc-btn span:last-child{display:grid;text-align:left}
.menu-actions small{font-weight:700;opacity:.8;margin-top:3px;text-shadow:none}
.menu-status{min-height:24px;margin-top:12px;font-weight:800;color:#5a211c}
.rules-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.rules-mini div{background:#a4a4a4;border:2px solid #5b5b5b;padding:10px;display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800}
.rules-mini b{display:grid;place-items:center;min-width:24px;height:24px;background:#262626;color:#fff}
.pixel-world footer{color:#fff;text-shadow:1px 1px #000;font-size:11px;margin-top:18px}
.install-warning{padding:18px;background:#e9d19b;border:3px solid #5a4521}
.install-warning code{background:#222;color:#fff;padding:2px 5px}

.game-body{min-height:100vh;background:
  radial-gradient(circle at 25% 15%,rgba(255,255,255,.08),transparent 24%),
  linear-gradient(rgba(17,24,18,.82),rgba(17,24,18,.92)),
  repeating-linear-gradient(0deg,#43503d 0 32px,#4a5943 32px 64px)
}
.game-app{min-height:100vh;padding:12px;max-width:1500px;margin:0 auto}
.game-topbar{min-height:60px;padding:8px 12px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.exit-link{color:#222;font-weight:900;text-decoration:none}
.top-title{text-align:center;display:grid}.top-title b{font-size:20px}.top-title small{font-size:10px;margin-top:2px}
.share-mini{justify-self:end;background:#6e6e6e;color:#fff;border:2px solid #222;padding:8px;font-size:11px;font-weight:900}
.versus-bar{margin-top:10px;padding:9px 12px;display:grid;grid-template-columns:1fr 220px 1fr;align-items:center;gap:14px}
.player-score{display:flex;align-items:center;gap:10px;min-width:0}.player-score.rival{justify-content:flex-end;text-align:right}
.player-score .avatar{font-size:27px}.player-score div{display:grid}.player-score small{font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.player-score b{font-size:28px;line-height:1}.score-unit{font-style:normal;font-size:8px;font-weight:900;letter-spacing:.14em;color:#555;margin-top:2px}
.player-score.single-hidden{opacity:.2}
.clock-wrap{text-align:center}.clock-label{font-size:9px;font-weight:900;letter-spacing:.15em}.clock{font-size:34px;font-weight:900;line-height:1}.clock.danger{color:#bf2222;animation:blink .55s steps(2,end) infinite}
.clock-track{height:7px;background:#333;border:1px solid #111;margin-top:4px}.clock-track i{display:block;height:100%;width:100%;background:#4caa3c;transition:width .08s linear}
@keyframes blink{50%{opacity:.55}}

.craft-layout{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(410px,1.25fr) minmax(320px,1fr);gap:10px;margin-top:10px}
.target-panel,.crafting-panel,.inventory-panel{padding:16px;min-height:500px}
.section-kicker{font-size:10px;font-weight:900;letter-spacing:.18em;margin:0 0 9px}
.target-box{display:flex;gap:15px;align-items:center}
.target-box h1{font-size:clamp(20px,2.3vw,34px);line-height:1.03;margin:0;word-break:break-word}
.item-frame{
  position:relative;display:grid;place-items:center;background:#8b8b8b;border:3px solid #373737;
  box-shadow:inset 3px 3px 0 #555,inset -3px -3px 0 #fff;
}
.item-frame img{width:70%;height:70%;object-fit:contain;image-rendering:pixelated}
.target-frame{width:92px;height:92px;flex:0 0 92px}
.stack-count{position:absolute;right:5px;bottom:2px;color:#fff;font-weight:900;text-shadow:2px 2px #222}
.difficulty{display:flex;align-items:center;gap:3px;margin-top:12px;flex-wrap:wrap}.difficulty i{width:13px;height:13px;background:#777;border:1px solid #3e3e3e}.difficulty i.on{background:#e0a126}.difficulty span{font-size:10px;font-weight:900;margin-left:5px}
.hint-text{margin-top:24px;font-size:12px;font-weight:700;line-height:1.5;color:#444}

.crafting-panel{display:flex;flex-direction:column}
.craft-title{display:flex;align-items:center;justify-content:space-between;font-weight:900;font-size:13px;gap:10px}
.craft-actions{display:flex;gap:6px;align-items:center}
.tiny-btn{border:2px solid #333;background:#777;color:#fff;padding:5px 7px;font-size:9px;font-weight:900}
.skip-btn{background:#b97a22;border-color:#4e3210;color:#fff}.skip-btn:hover{background:#d08b28}.skip-btn:disabled{opacity:.45;cursor:not-allowed}
.craft-machine{flex:1;display:flex;align-items:center;justify-content:center;gap:20px;padding:18px 4px}
.craft-grid{display:grid;grid-template-columns:repeat(3,clamp(74px,8vw,106px));grid-template-rows:repeat(3,clamp(74px,8vw,106px));gap:4px;background:#262626;padding:5px;border:3px solid #111}
.craft-slot{position:relative;padding:0;background:#8b8b8b;border:0;box-shadow:inset 4px 4px 0 #555,inset -4px -4px 0 #ddd}
.craft-slot:hover,.craft-slot.drop-hover{background:#a8a8a8;outline:3px solid #fff}
.craft-slot img{width:72%;height:72%;object-fit:contain;pointer-events:none;image-rendering:pixelated}
.slot-remove{display:none;position:absolute;right:4px;top:1px;color:#6d1515;font-size:17px;font-weight:900}.craft-slot:hover .slot-remove{display:block}
.craft-arrow{font-size:38px;color:#555;text-shadow:1px 1px #fff}
.output-slot{width:96px;height:96px;flex:0 0 96px}
.feedback{min-height:38px;background:#9b9b9b;border:2px solid #555;padding:10px;font-weight:900;font-size:12px;text-align:center}
.feedback.success{background:#74aa62;color:#13300c}.feedback.wrong{background:#c57a72;color:#4d100d}

.inventory-panel{display:flex;flex-direction:column}
.inventory-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.inventory-head h2{font-size:17px;margin:0}.selected-label{font-size:9px;font-weight:900;background:#272727;color:#fff;padding:6px;max-width:145px}
.search-wrap{position:relative;margin:12px 0 10px}.search-wrap>span{position:absolute;left:12px;top:11px;color:#fff;font-size:21px}.search-wrap .mc-input{padding-left:39px;padding-right:38px}.search-wrap button{position:absolute;right:7px;top:7px;width:29px;height:29px;border:0;background:#444;color:#fff;font-size:20px}
.item-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px;overflow:auto;max-height:385px;padding:4px;background:#747474;border:3px solid #494949}
.item-card{min-height:92px;padding:6px 4px;background:#b1b1b1;border:2px solid #555;box-shadow:inset 2px 2px #e5e5e5,inset -2px -2px #777;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:9px;font-weight:800;line-height:1.05}
.item-card:hover,.item-card.selected{outline:3px solid #fff;background:#c9c9c9}.item-card .item-frame{width:48px;height:48px;border-width:2px;box-shadow:inset 2px 2px #555,inset -2px -2px #fff}.item-card span:last-child{height:28px;overflow:hidden}
.no-items{grid-column:1/-1;padding:20px;text-align:center;font-weight:900}
.mobile-help{font-size:9px;font-weight:800;color:#4e4e4e;margin:8px 0 0}

.modal-backdrop{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.72);display:grid;place-items:center;padding:18px}
.modal-card{width:min(520px,100%);padding:28px;text-align:center}
.big-pixel-icon{font-size:55px}.modal-card h2{font-size:27px;margin:8px 0}.modal-card p{font-weight:700;line-height:1.4}
.invite-box{display:grid;gap:10px;margin-top:15px}.invite-box input{width:100%;padding:11px;background:#222;color:#fff;border:3px solid #111;font-size:11px}
.countdown{font-size:70px;font-weight:900;color:#37772e;text-shadow:3px 3px #fff;min-height:80px}
.finish-kicker{font-weight:900;letter-spacing:.2em;color:#7f271f}.final-score{display:grid;margin:13px}.final-score b{font-size:50px}.final-score span{font-size:11px;font-weight:900}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.stats-grid div{background:#989898;border:2px solid #555;padding:9px;display:grid}.stats-grid small{font-size:8px;font-weight:900}.stats-grid b{font-size:18px;margin-top:5px}
.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.toast{position:fixed;z-index:90;bottom:24px;left:50%;transform:translate(-50%,20px);background:#151515;color:#fff;border:3px solid #fff;padding:10px 16px;font-weight:900;opacity:0;pointer-events:none;transition:.18s}.toast.show{opacity:1;transform:translate(-50%,0)}
body.craft-success:after,body.craft-wrong:after{content:"";position:fixed;inset:0;z-index:45;pointer-events:none;box-shadow:inset 0 0 70px rgba(52,210,75,.8)}
body.craft-wrong:after{box-shadow:inset 0 0 70px rgba(220,55,45,.8)}

@media(max-width:1050px){
  .craft-layout{grid-template-columns:1fr 1.25fr}.inventory-panel{grid-column:1/-1;min-height:auto}.item-results{max-height:260px}
}
@media(max-width:720px){
  .game-app{padding:6px}.pixel-panel{border-width:3px}
  .game-topbar{grid-template-columns:auto 1fr auto;gap:8px}.top-title b{font-size:15px}.exit-link,.share-mini{font-size:9px}
  .versus-bar{grid-template-columns:1fr 120px 1fr;padding:8px 7px}.player-score small{max-width:85px;font-size:9px}.player-score b{font-size:23px}.player-score .avatar{display:none}.clock{font-size:27px}
  .craft-layout{display:flex;flex-direction:column}.target-panel,.crafting-panel,.inventory-panel{min-height:auto;padding:12px}
  .target-panel{order:1}.crafting-panel{order:2}.inventory-panel{order:3}
  .target-frame{width:64px;height:64px;flex-basis:64px}.target-box h1{font-size:20px}.hint-text{display:none}
  .craft-machine{gap:9px;padding:15px 0}.craft-grid{grid-template-columns:repeat(3,min(24vw,86px));grid-template-rows:repeat(3,min(24vw,86px))}.craft-arrow{font-size:25px}.output-slot{width:68px;height:68px;flex-basis:68px}
  .item-results{grid-template-columns:repeat(4,1fr);max-height:260px}.item-card{min-width:0}
  .rules-mini{grid-template-columns:1fr}.logo-cube{display:none}.menu-card{padding:20px}.logo-block{margin-bottom:15px}
  .modal-actions{grid-template-columns:1fr}
}
@media(max-width:420px){
  .versus-bar{grid-template-columns:1fr 102px 1fr}.clock{font-size:24px}
  .craft-grid{grid-template-columns:repeat(3,23vw);grid-template-rows:repeat(3,23vw)}
  .output-slot{width:58px;height:58px;flex-basis:58px}
  .item-results{grid-template-columns:repeat(3,1fr)}
}
