:root{--d:#0F380F;--m:#306230;--l1:#8BAC0F;--l2:#9BBC0F;--sh:#182404;--sb:#0B1201;--saf:env(safe-area-inset-bottom,0px);--lcd:#6a8c00;--lcddk:#1a2800;--lcdbg:#5a7a00;}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
html,body{height:100%;overflow:hidden;}
body{background:#0B1601;font-family:"Press Start 2P","Courier New",monospace;color:var(--l2);}
::-webkit-scrollbar{width:4px;background:#0B1601;}::-webkit-scrollbar-thumb{background:var(--sh);}
#loading{position:fixed;inset:0;background:#0B1601;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:999;gap:16px;}
.ld-logo{font-size:14px;letter-spacing:4px;}.ld-sub{font-size:7px;color:var(--m);letter-spacing:2px;animation:bk 1s infinite;}
.ld-bar{width:200px;height:6px;border:2px solid var(--m);overflow:hidden;}
.ld-fill{height:100%;background:var(--m);width:0;animation:ldprog 3s linear forwards;}
@keyframes ldprog{0%{width:0}60%{width:70%}90%{width:90%}100%{width:100%}}
@keyframes bk{0%,100%{opacity:1;}50%{opacity:.2;}}
#toast{display:none;position:fixed;top:12px;left:50%;transform:translateX(-50%);background:var(--d);color:var(--l2);padding:8px 14px;font-size:7px;z-index:9000;border:2px solid var(--l2);white-space:nowrap;letter-spacing:1px;max-width:90vw;text-align:center;}
#overlay{position:fixed;inset:0;background:#0B1601;z-index:500;display:flex;align-items:center;justify-content:center;overflow-y:auto;padding:16px;}
.setup-screen{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:380px;padding:8px 0 24px;}
.s-logo{font-size:12px;letter-spacing:3px;color:var(--l2);}.s-sub{font-size:6px;color:var(--m);letter-spacing:2px;}
.card{width:100%;background:var(--sh);border:2px solid var(--m);padding:14px;}
.card-title{font-size:6px;color:var(--l2);margin-bottom:10px;letter-spacing:1px;}
.card-note{font-size:5px;color:var(--m);margin-top:6px;line-height:1.8;}
.phrase-box{background:#0B1601;border:2px solid var(--d);padding:10px;font-size:6px;color:var(--l1);line-height:2.5;letter-spacing:1px;word-break:break-word;}
.key-box{background:#0B1601;border:2px solid var(--d);padding:8px;font-size:5px;color:var(--l1);word-break:break-all;line-height:2;}
.warn-box{width:100%;background:#0B1601;border:2px solid var(--d);padding:10px;font-size:5px;color:var(--d);line-height:2.2;text-align:center;}
.big-btn{width:100%;background:var(--m);color:var(--l2);border:2px solid var(--d);border-bottom:4px solid var(--sb);padding:14px;font-size:8px;font-family:inherit;cursor:pointer;letter-spacing:1px;text-align:center;}
.big-btn:active{border-bottom:2px solid var(--sb);padding:16px 14px 12px;}
.big-btn.outline{background:transparent;border-color:var(--m);color:var(--m);}
.big-btn.danger{background:#330800;color:#ff4444;border-color:#550000;}
.big-btn.phantom{background:#4E44CE;border-color:#3a33a0;color:#fff;}
.lcd-input{width:100%;background:#0B1601;border:2px solid var(--m);color:var(--l2);padding:10px 8px;font-size:8px;font-family:inherit;letter-spacing:3px;text-align:center;outline:none;}
.lcd-input.area{resize:none;height:80px;font-size:5px;letter-spacing:.5px;text-align:left;line-height:2;}
.lcd-input:focus{border-color:var(--l1);}
.pin-row{display:flex;gap:10px;}
.pin-dot{width:16px;height:16px;border:2px solid var(--m);border-radius:50%;}
.pin-dot.on{background:var(--l2);border-color:var(--l2);}
.numpad{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;width:100%;max-width:280px;}
.num-btn{background:var(--sh);color:var(--l2);border:2px solid var(--m);border-bottom:4px solid var(--sb);padding:16px 0;font-size:10px;font-family:inherit;cursor:pointer;border-radius:3px;}
.num-btn:active{border-bottom:2px solid var(--sb);transform:translateY(2px);}
.num-btn.sm{font-size:7px;}
.pin-hint{font-size:6px;color:var(--m);text-align:center;min-height:14px;line-height:2;}
#app{display:flex;flex-direction:column;height:100vh;height:-webkit-fill-available;}
#topbar{display:flex;justify-content:space-between;align-items:center;padding:calc(env(safe-area-inset-top,8px) + 4px) 12px 6px;background:#0B1601;flex-shrink:0;border-bottom:2px solid var(--sh);}
.tb-logo{font-size:9px;letter-spacing:2px;}
.tb-right{display:flex;align-items:center;gap:8px;}
.tb-bal{font-size:7px;color:var(--l2);text-align:right;line-height:1.8;}
.tb-addr{font-size:5px;color:var(--m);text-align:right;}
.tb-btn{background:var(--m);color:var(--l2);border:1.5px solid var(--d);padding:5px 7px;font-size:5px;font-family:inherit;cursor:pointer;letter-spacing:.5px;}
.tb-mine{background:var(--sh);color:var(--l1);border:1.5px solid var(--m);padding:5px 7px;font-size:5px;font-family:inherit;cursor:pointer;letter-spacing:.5px;}
#layout{flex:1;display:flex;overflow:hidden;}
#left-col{flex:1;display:flex;flex-direction:column;overflow:hidden;}
.device{flex:1;display:flex;flex-direction:column;padding:6px 8px 0;overflow:hidden;}
.screen{flex:1;position:relative;overflow:hidden;background:var(--lcdbg);border:3px solid var(--d);border-radius:4px;margin-bottom:8px;box-shadow:inset 0 0 30px rgba(0,0,0,.7),inset 5px 5px 20px rgba(0,0,0,.4),0 0 0 1px rgba(0,0,0,.5);}
.screen.frame-gold{border-color:#6A5C00;outline:1px solid #9A8800;}
.screen.frame-neon{border-color:#1A4A1A;outline:1px solid #2A8A2A;}
.screen.bg-night{background:#0d1a30;}
.screen.bg-blood{background:#2d0505;}
.screen.bg-purple{background:#1a0530;}
.screen.bg-gold{background:#302800;}
.screen.bg-pink{background:#250518;}
.screen.bg-ice{background:#182530;}
.screen.bg-void{background:#020202;}
.screen.bg-forest{background-image:repeating-linear-gradient(0deg,transparent 0,transparent 15px,rgba(48,98,48,.25) 15px,rgba(48,98,48,.25) 17px);}
.screen.bg-space{background:#6A8200;background-image:radial-gradient(circle,rgba(15,56,15,.73) 1px,transparent 1px);background-size:12px 12px;}
.scanlines{position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.12) 2px,rgba(0,0,0,.12) 3px);pointer-events:none;z-index:2;}
.sc{position:absolute;inset:0;overflow-y:auto;padding:12px;z-index:1;}
.sp{display:none;}.sp.active{display:block;}
.stat-row{display:flex;align-items:center;gap:5px;margin-bottom:5px;}
.sl{font-size:6px;color:var(--lcddk);width:24px;flex-shrink:0;font-weight:bold;}
.st{flex:1;min-width:0;height:7px;background:rgba(0,0,0,.35);border:1.5px solid var(--lcddk);overflow:hidden;}
.sf{height:100%;background:var(--d);transition:width .8s cubic-bezier(.4,0,.2,1);max-width:100%;}
.sf.low{animation:bk .7s infinite;}
.sv{font-size:6px;color:var(--lcddk);width:24px;min-width:24px;text-align:right;flex-shrink:0;font-weight:bold;}
.poop-row{display:flex;align-items:center;gap:5px;margin-top:6px;padding-top:6px;border-top:1px dashed var(--m);}
.poop-icons{display:flex;gap:2px;flex:1;min-width:0;}
.poop-icon{font-size:10px;opacity:.12;transition:opacity .3s;}
.poop-icon.full{opacity:1;}
.poop-icon.urgent{opacity:1;animation:bk .5s infinite;}
.cr-hdr{display:flex;justify-content:space-between;margin-bottom:5px;}
.cr-nm{font-size:7px;color:var(--lcddk);display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-weight:bold;}
.cr-lv{font-size:6px;color:var(--d);opacity:.7;}
.cr-disp{display:flex;justify-content:center;height:92px;align-items:center;margin-bottom:8px;position:relative;}
.cr-svg-wrap{position:relative;width:88px;height:88px;}
.cr-svg-wrap svg{position:absolute;top:0;left:0;}
.cr-footer{display:flex;justify-content:space-between;align-items:center;margin-top:5px;}
.cr-age{font-size:5px;color:var(--lcddk);}
.cr-btns{display:flex;gap:5px;}
.sm-btn{background:var(--m);color:var(--l2);border:2px solid var(--d);border-bottom:3px solid var(--d);padding:5px 7px;font-size:6px;font-family:inherit;cursor:pointer;}
.sm-btn:active{border-bottom:2px solid var(--d);}
.sm-btn.inv{background:var(--d);}
.sm-btn:disabled{opacity:.35;cursor:default;}
.nft-badge{background:var(--d);color:var(--l2);font-size:4px;padding:2px 4px;border:1px solid var(--m);}
.erlay-badge{background:#1a3a6a;color:#9bbcff;font-size:4px;padding:2px 4px;}
.no-cr{text-align:center;padding:20px 0;color:var(--d);}
.no-cr .q{font-size:32px;margin-bottom:12px;opacity:.5;}.no-cr .t{font-size:7px;line-height:2.8;color:var(--lcddk);}.no-cr .s{font-size:6px;color:var(--lcddk);opacity:.6;line-height:2.8;}
.sec-title{font-size:8px;color:var(--d);border-bottom:2px solid var(--lcddk);padding-bottom:6px;margin-bottom:10px;letter-spacing:1px;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.shop-card{background:rgba(0,0,0,.25);padding:7px 8px;cursor:pointer;border:1.5px solid var(--lcddk);}
.shop-card:active,.shop-card:hover{background:rgba(0,0,0,.55);}
.shop-card:active *,.shop-card:hover *{color:var(--d)!important;}
.sn{font-size:5px;color:var(--d);margin-bottom:2px;font-weight:bold;}.sd{font-size:4px;color:var(--lcddk);margin-bottom:4px;}.sp2{font-size:7px;color:var(--d);font-weight:bold;}
.mc{background:rgba(0,0,0,.25);padding:8px 6px;cursor:pointer;border:1.5px solid var(--lcddk);text-align:center;}
.mc:not(.owned):active,.mc:not(.owned):hover{background:rgba(0,0,0,.55);}
.mc:not(.owned):hover *{color:var(--l2)!important;}
.mc.owned{opacity:.5;cursor:default;}
.mn{font-size:5px;color:var(--d);margin-bottom:4px;font-weight:bold;}.mr{font-size:4px;color:var(--lcddk);margin:3px 0 2px;}.mpr{font-size:7px;color:var(--d);font-weight:bold;}
.mini-w{width:44px;height:44px;overflow:hidden;position:relative;margin:0 auto;}
.mini-i{position:absolute;top:0;left:0;transform:scale(.5);transform-origin:top left;width:88px;height:88px;}
.pro-row{display:flex;align-items:center;gap:8px;margin-bottom:6px;padding:6px 8px;border:2px solid var(--lcddk);cursor:pointer;background:var(--l2);}
.pro-row.act{background:var(--l1);border-color:var(--d);}
.micro-w{width:36px;height:36px;overflow:hidden;position:relative;flex-shrink:0;background:var(--l2);border:1px solid var(--lcddk);}
.micro-i{position:absolute;top:0;left:0;transform:scale(.4);transform-origin:top left;width:88px;height:88px;}
.pcn{font-size:7px;color:var(--d);font-weight:bold;}.pct{font-size:5px;color:var(--lcddk);margin-top:2px;}.pro-row.act .pcn{color:var(--sb);}.pro-row.act .pct{color:var(--d);opacity:.7;}
.p-empty{text-align:center;color:var(--m);font-size:7px;padding:20px 0;line-height:2.5;}
.p-meta{font-size:5px;color:var(--m);line-height:2.5;margin-top:10px;}
.mine-panel{padding:10px 12px;border:1.5px solid var(--lcddk);background:rgba(0,0,0,.3);margin-bottom:10px;border-radius:2px;}
.mine-title{font-size:7px;color:var(--d);margin-bottom:8px;letter-spacing:1px;border-bottom:1.5px solid var(--lcddk);padding-bottom:6px;font-weight:bold;}
.mine-row{display:flex;justify-content:space-between;font-size:5px;color:var(--d);margin-bottom:5px;line-height:2;letter-spacing:.3px;}
.mine-row span:last-child{color:var(--d)!important;font-size:6px;font-weight:bold;}
.mine-bar-wrap{background:var(--m);height:8px;border:1px solid var(--d);margin:6px 0;overflow:hidden;}
.mine-bar{height:100%;background:var(--d);transition:width 1s;}
#action-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;grid-template-rows:auto auto;gap:5px;padding:0 8px;flex-shrink:0;margin-bottom:6px;}
.act-btn{background:linear-gradient(180deg,#243a07 0%,#1C2D05 100%);color:var(--l2);border:2px solid var(--sb);border-bottom:4px solid #020600;padding:10px 0;font-size:6px;font-family:inherit;cursor:pointer;border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,.5);}
.act-btn:active{border-bottom:2px solid var(--sb);padding:12px 0 8px;transform:translateY(2px);}
#bottom-nav{display:flex;background:linear-gradient(180deg,#0f1e02 0%,#0B1601 100%);border-top:2px solid var(--sh);padding:6px 0 calc(var(--saf) + 4px);flex-shrink:0;box-shadow:0 -2px 12px rgba(0,0,0,.8);}
.nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 0;background:transparent;color:var(--m);border:none;cursor:pointer;font-family:inherit;}
.nav-btn .ni{font-size:14px;}.nav-btn .nl{font-size:4px;letter-spacing:.5px;text-transform:uppercase;}
.nav-btn.act{color:var(--l1);text-shadow:0 0 8px rgba(155,188,15,.5);}
.modal-bg{display:none;position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:800;align-items:center;justify-content:center;padding:16px;}
.modal-bg.open{display:flex;}
.mbox{background:var(--sh);border:3px solid var(--l1);padding:18px;width:100%;max-width:400px;max-height:88vh;overflow-y:auto;}
.mtitle{font-size:9px;color:var(--l2);margin-bottom:14px;text-align:center;letter-spacing:1px;}
.mstep{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:6px;color:var(--m);line-height:2;}
.mstep.done{color:var(--l1);}.mstep.run{color:var(--l2);animation:bk 1s infinite;}.mstep.err{color:#cc3300;}
.sdot{width:8px;height:8px;border:1.5px solid currentColor;flex-shrink:0;}
.mstep.done .sdot,.mstep.run .sdot{background:currentColor;}
.mint-msg{font-size:6px;color:var(--m);text-align:center;min-height:14px;line-height:2;margin:8px 0;}
.mclose{background:transparent;color:var(--m);border:1.5px solid var(--m);padding:8px;font-size:6px;font-family:inherit;cursor:pointer;width:100%;margin-top:4px;}
.mclose:hover{background:var(--m);color:var(--l2);}
.share-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-bottom:10px;}
.sbtn{background:var(--m);color:var(--l2);border:2px solid var(--d);border-bottom:3px solid var(--d);padding:10px 4px;font-size:6px;font-family:inherit;cursor:pointer;text-align:center;}
.conf-body{font-size:6px;color:var(--m);line-height:2.5;text-align:center;}
.wrow{display:flex;justify-content:space-between;font-size:6px;color:var(--m);border-bottom:1px solid var(--sh);padding:8px 0;}
.wrow span:last-child{color:var(--l2);}
.waddr{font-size:5px;color:var(--l1);word-break:break-all;line-height:1.8;margin:4px 0;}
.copy-btn{background:transparent;color:var(--m);border:1px solid var(--m);padding:2px 6px;font-size:5px;font-family:inherit;cursor:pointer;margin-left:6px;}
.color-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:12px;}
.color-chip{aspect-ratio:1;cursor:pointer;border:3px solid var(--d);display:flex;align-items:flex-end;padding:3px;font-size:4px;color:rgba(255,255,255,.7);}
.color-chip.active{border-color:var(--l2);}
.wear-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.wear-card{background:var(--m);padding:8px;cursor:pointer;border:2px solid var(--d);text-align:center;}
.wear-card.equipped{border-color:var(--l2);background:var(--d);}
.wear-card:not(.equipped):hover{background:var(--d);}
.wear-preview{width:44px;height:44px;margin:0 auto 4px;position:relative;}
.wear-preview svg{width:44px;height:44px;}
@media(min-width:768px){
  html,body{overflow-y:auto;height:auto;}
  #app{max-width:500px;margin:0 auto;height:auto;min-height:100vh;box-shadow:0 0 60px rgba(0,0,0,.8);}
  #layout{flex:1;overflow:visible;}
  #left-col{flex:1;}
  .device{padding:10px 12px 0;}
  .screen{margin-bottom:8px;}
  .cr-disp{height:110px;}
  #action-grid{gap:8px;padding:0 12px;}
  .act-btn{padding:13px 0;font-size:7px;}
  .nav-btn .ni{font-size:14px;}
  .nav-btn .nl{font-size:6px;}
  .tb-bal{font-size:9px;}
  #topbar{padding-top:12px;padding-bottom:8px;}
  .grid2{grid-template-columns:1fr 1fr 1fr;}
  #bottom-nav{padding-bottom:12px;}
}

/* ── TOPBAR MINING TICKER ─────────────────────────────────────────── */
#mine-ticker{font-size:7px;color:var(--l1);letter-spacing:1px;font-variant-numeric:tabular-nums;text-shadow:0 0 8px rgba(155,188,15,.6);animation:pulse-ticker 2s ease-in-out infinite;}
@keyframes pulse-ticker{0%,100%{opacity:1;text-shadow:0 0 8px rgba(155,188,15,.6);}50%{opacity:.7;text-shadow:0 0 14px rgba(155,188,15,.9);}}
.tb-right{gap:6px;}
/* ── PREMIUM TOPBAR ────────────────────────────────────────────────── */
#topbar{background:linear-gradient(180deg,#111900 0%,#0B1601 100%);border-bottom:2px solid var(--sh);box-shadow:0 2px 12px rgba(0,0,0,.8);}
.tb-btn{background:linear-gradient(180deg,var(--m) 0%,#1c3a10 100%);color:var(--l2);border:1.5px solid var(--d);border-bottom:3px solid var(--sb);padding:6px 10px;font-size:5px;letter-spacing:.5px;box-shadow:0 2px 6px rgba(0,0,0,.5);}
.tb-mine{background:linear-gradient(180deg,#1a2e06 0%,#0e1a03 100%);border:1.5px solid var(--m);border-bottom:3px solid var(--sb);padding:6px 10px;font-size:5px;box-shadow:0 2px 6px rgba(0,0,0,.5);}
/* ── MINE BAR GLOW ────────────────────────────────────────────────── */
.mine-bar-wrap{background:rgba(0,0,0,.5);height:10px;border:1.5px solid var(--lcddk);margin:8px 0;overflow:hidden;border-radius:2px;}
.mine-bar{height:100%;background:linear-gradient(90deg,var(--d),var(--m));transition:width 1.5s ease;box-shadow:2px 0 8px rgba(155,188,15,.4);}
/* ── PROFILE DASHBOARD ────────────────────────────────────────────── */
.pro-dashboard{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px;}
.pro-stat-box{background:rgba(0,0,0,.3);border:1.5px solid var(--lcddk);padding:8px 6px;text-align:center;border-radius:2px;}
.pro-stat-num{font-size:11px;color:var(--d);line-height:1.3;font-variant-numeric:tabular-nums;}
.pro-stat-lbl{font-size:4px;color:var(--lcddk);margin-top:3px;letter-spacing:.5px;}
.pro-chart{background:rgba(0,0,0,.3);border:1.5px solid var(--lcddk);padding:8px;margin-bottom:8px;}
.pro-chart-title{font-size:5px;color:var(--lcddk);margin-bottom:6px;letter-spacing:1px;}
.pro-chart-bars{display:flex;gap:3px;align-items:flex-end;height:40px;}
.pro-chart-bar{flex:1;background:var(--d);min-height:2px;transition:height .8s ease;border-radius:1px 1px 0 0;position:relative;}
.pro-chart-bar:hover::after{content:attr(data-v);position:absolute;top:-14px;left:50%;transform:translateX(-50%);font-size:4px;color:var(--d);white-space:nowrap;}
.pro-gear-row{display:flex;justify-content:space-between;font-size:5px;color:var(--lcddk);border-bottom:1px solid rgba(15,56,15,.4);padding:5px 0;line-height:1.8;}
.pro-gear-row span:last-child{color:var(--d);font-size:5px;}
.pro-equipped-label{font-size:4px;color:var(--lcddk);padding:2px 4px;border:1px solid var(--lcddk);margin-left:4px;display:inline-block;}
.pro-section-head{font-size:5px;color:var(--d);letter-spacing:1px;border-bottom:1px solid var(--lcddk);padding-bottom:4px;margin:10px 0 6px;opacity:.8;}
.poop-row .sl{color:var(--lcddk);}
.p-meta{font-size:5px;color:var(--lcddk);line-height:2.5;margin-top:10px;}
.pro-rarity-badge{display:inline-block;padding:2px 6px;font-size:4px;border:1px solid var(--d);color:var(--d);margin-left:4px;letter-spacing:.5px;}
