:root{--ink:#0b0b0a;--paper:#e8e1d0;--acid:#d7ff38;--gold:#f2b84b;--red:#ff4e36;--blue:#73b7ff;--muted:#9b978c;--line:#373631;--display:"Bodoni MT",Didot,"Times New Roman",serif;--condensed:"Bahnschrift Condensed","Franklin Gothic Medium",sans-serif;--body:"Trebuchet MS",sans-serif}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#050505;color:var(--paper);font-family:var(--body);overscroll-behavior:none}
body{background:radial-gradient(circle at 15% 0,#343021 0,transparent 32%),linear-gradient(155deg,#0d0d0c,#020202 75%)}
button,input,select{font:inherit}
button{touch-action:manipulation}
.city-noise{position:fixed;inset:0;pointer-events:none;opacity:.23;background-image:repeating-linear-gradient(91deg,transparent 0 13px,rgba(255,255,255,.025) 14px 15px),repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.025) 4px 5px);mix-blend-mode:screen}
.game-shell{position:relative;width:min(100%,520px);min-height:100dvh;margin:auto;background:var(--ink);border-inline:1px solid #25241f;box-shadow:0 0 90px #000;overflow:hidden}
.hud{position:sticky;top:0;z-index:10;background:rgba(11,11,10,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:max(10px,env(safe-area-inset-top)) 16px 10px}
.hud-top{display:flex;align-items:end;justify-content:space-between;gap:12px}
.brand{font:900 16px/1 var(--condensed);letter-spacing:.18em;color:var(--acid);transform:skew(-7deg)}
.artist{font:900 clamp(23px,7vw,34px)/.9 var(--display);text-transform:uppercase;max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.clock{text-align:right;font:800 10px/1.3 var(--condensed);letter-spacing:.12em;color:var(--muted)}
.clock b{display:block;color:var(--paper);font-size:15px}
.career-line{height:3px;background:#24231f;margin:10px 0;overflow:hidden}.career-line i{display:block;height:100%;background:var(--acid);box-shadow:0 0 14px var(--acid)}
.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.mini-stat{border-left:2px solid var(--line);padding-left:7px}.mini-stat span{display:block;color:var(--muted);font:700 8px var(--condensed);letter-spacing:.12em}.mini-stat b{font:800 14px var(--condensed)}
.mini-stat.cash b{color:var(--gold)}.mini-stat.hot b{color:var(--red)}
.screen{min-height:calc(100dvh - 171px);padding:18px 16px 104px;animation:cut-in .25s ease-out}
@keyframes cut-in{from{opacity:0;transform:translateY(8px) skewY(.5deg)}to{opacity:1;transform:none}}
.eyebrow{margin:0 0 7px;color:var(--acid);font:800 10px var(--condensed);letter-spacing:.2em;text-transform:uppercase}
h1,h2,h3,p{margin-top:0}h1{font:900 42px/.86 var(--display);text-transform:uppercase;letter-spacing:-.045em;margin-bottom:12px}h2{font:900 27px/.95 var(--display);text-transform:uppercase;margin-bottom:12px}h3{font:900 17px/1 var(--condensed);letter-spacing:.06em}.lede{color:#bdb7a9;font-size:13px;line-height:1.55;max-width:42ch}
.hero{position:relative;border:1px solid var(--line);min-height:214px;padding:22px 20px;background:linear-gradient(135deg,rgba(215,255,56,.08),transparent 46%),repeating-linear-gradient(135deg,#121210 0 11px,#0e0e0d 12px 23px);overflow:hidden}
.hero:after{content:"156";position:absolute;right:-9px;bottom:-29px;font:900 128px/.8 var(--display);color:transparent;-webkit-text-stroke:1px #3c3a31;transform:rotate(-7deg)}
.hero-copy{position:relative;z-index:1;max-width:72%}.hero h1 em{color:var(--acid);font-style:normal}.hero .rank{display:inline-block;border:1px solid var(--gold);color:var(--gold);font:800 10px var(--condensed);letter-spacing:.15em;padding:6px 8px}
.event-tape{position:relative;margin:14px -3px 18px;padding:12px 16px;background:var(--paper);color:var(--ink);font:800 13px/1.3 var(--condensed);transform:rotate(-.6deg);box-shadow:4px 4px 0 #2c2b26}.event-tape.good{background:var(--acid)}.event-tape.danger{background:var(--red);color:white}.event-tape.gold{background:var(--gold)}
.section-head{display:flex;align-items:end;justify-content:space-between;margin:24px 0 10px}.section-head h2{margin:0}.section-head small{font:700 9px var(--condensed);letter-spacing:.12em;color:var(--muted)}
.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.action-card,.primary,.secondary,.danger-btn{border:0;cursor:pointer}
.action-card{position:relative;min-height:110px;text-align:left;padding:15px;background:#171714;color:var(--paper);border:1px solid var(--line);transition:.12s transform,.12s border-color}.action-card:active{transform:scale(.97)}.action-card strong{display:block;font:900 20px var(--display);text-transform:uppercase}.action-card small{display:block;margin-top:7px;color:var(--muted);font-size:10px;line-height:1.35}.action-card .stamp{position:absolute;right:9px;top:8px;color:var(--acid);font:800 9px var(--condensed);transform:rotate(4deg)}
.meter{height:7px;background:#24231f;overflow:hidden}.meter i{display:block;height:100%;background:var(--acid)}.meter.red i{background:var(--red)}.meter.blue i{background:var(--blue)}
.track-list,.card-list{display:grid;gap:10px}.track,.card{border:1px solid var(--line);padding:14px;background:#11110f}.track{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center}.chart-no{font:900 25px var(--display);color:var(--gold);text-align:center}.track strong{display:block;font:800 15px var(--condensed)}.track small,.card small{color:var(--muted);font-size:10px}.money{color:var(--gold);font:800 13px var(--condensed)}
.form-card{border:1px solid var(--line);padding:18px 15px;background:#11110f;box-shadow:7px 7px 0 #191813}.field{margin-bottom:14px}.field label{display:block;margin-bottom:6px;color:var(--muted);font:800 9px var(--condensed);letter-spacing:.13em;text-transform:uppercase}.field input,.field select{width:100%;border:1px solid #45433b;background:#090908;color:var(--paper);padding:13px;border-radius:0;outline:none}.field input:focus,.field select:focus{border-color:var(--acid)}
.primary,.secondary,.danger-btn{width:100%;padding:14px 16px;font:900 14px var(--condensed);letter-spacing:.12em;text-transform:uppercase}.primary{background:var(--acid);color:#080808;box-shadow:4px 4px 0 #687d15}.primary:active{transform:translate(3px,3px);box-shadow:1px 1px 0 #687d15}.secondary{background:transparent;color:var(--paper);border:1px solid var(--line)}.danger-btn{background:var(--red);color:#fff;box-shadow:4px 4px 0 #772015}.btn-row{display:flex;gap:8px;margin-top:12px}.btn-row>*{flex:1}
.place-card{position:relative;overflow:hidden}.place-card.locked{opacity:.43;filter:grayscale(1)}.place-card h3{margin-bottom:5px}.price{position:absolute;right:13px;top:13px;color:var(--gold);font:900 14px var(--condensed)}.tag{display:inline-block;margin:8px 4px 0 0;padding:4px 7px;border:1px solid #45433b;color:var(--muted);font:800 8px var(--condensed);letter-spacing:.09em;text-transform:uppercase}.tag.open{border-color:var(--acid);color:var(--acid)}
.rival-top{display:flex;justify-content:space-between;align-items:start}.relation{font:900 18px var(--display)}.relation.hostile{color:var(--red)}.relation.good{color:var(--acid)}
.bling-icon{font:900 11px var(--condensed);letter-spacing:.14em;color:var(--gold);margin-bottom:9px}.owned{color:var(--acid);font:800 10px var(--condensed);letter-spacing:.12em}.hint-list{list-style:none;padding:0;margin:0}.hint-list li{padding:10px 0;border-bottom:1px solid #25241f;font-size:12px}.hint-list b{color:var(--gold)}
.bottom-nav{position:fixed;z-index:12;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,520px);height:76px;padding:6px max(8px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,1fr);background:rgba(8,8,7,.97);border-top:1px solid var(--line);backdrop-filter:blur(12px)}
.nav-btn{border:0;background:transparent;color:#757168;font:800 8px var(--condensed);letter-spacing:.07em}.nav-btn span{display:block;font-size:17px;margin-bottom:4px}.nav-btn.active{color:var(--acid)}
.desktop-help{display:none}
.toast{position:fixed;z-index:30;left:50%;bottom:88px;transform:translate(-50%,15px);width:min(calc(100% - 30px),480px);padding:13px 15px;background:var(--paper);color:#070707;font:800 12px var(--condensed);opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.danger{background:var(--red);color:#fff}.toast.gold{background:var(--gold)}
.modal-backdrop{position:fixed;z-index:40;inset:0;background:rgba(0,0,0,.89);display:grid;place-items:center;padding:20px}.modal{position:relative;width:min(100%,450px);padding:28px 22px;background:#11110f;border:1px solid #4a483f;box-shadow:10px 10px 0 rgba(215,255,56,.14);animation:slam .25s cubic-bezier(.2,.8,.2,1)}@keyframes slam{from{transform:scale(1.08) rotate(1deg);opacity:0}to{transform:none;opacity:1}}
.modal-logo{font:900 52px/.78 var(--display);letter-spacing:-.06em;text-transform:uppercase;margin-bottom:18px}.modal-logo em{font-style:normal;color:var(--acid)}.modal p{color:#bdb7a9;font-size:13px;line-height:1.55}.legal-note{margin-top:16px;font-size:9px!important;color:#736f66!important}
.threat{border-color:var(--red);box-shadow:9px 9px 0 rgba(255,78,54,.22)}.threat-count{font:900 70px/.8 var(--display);color:var(--red);text-align:center;margin:22px}.shot-progress{display:flex;justify-content:center;gap:10px;margin:16px}.shot-progress i{width:22px;height:22px;border:2px solid var(--red);border-radius:50%}.shot-progress i.hit{background:var(--red)}
.result{text-align:center}.result-score{font:900 70px var(--display);color:var(--gold)}
.empty{border:1px dashed #3c3a34;padding:22px;text-align:center;color:var(--muted);font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:700px){.game-shell{margin-block:18px;min-height:calc(100dvh - 36px);border-radius:7px}.bottom-nav{bottom:18px;border-radius:0 0 7px 7px}.screen{min-height:690px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
:root{--app-height:100dvh}
button,.field input,.field select{min-height:48px;-webkit-tap-highlight-color:transparent}
button{-webkit-user-select:none;user-select:none}
.android-native .game-shell{min-height:var(--app-height)}
.android-native .screen{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
.android-native .bottom-nav{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}
.keyboard-open .bottom-nav{display:none}
.keyboard-open .screen{padding-bottom:18px}
.keyboard-open .toast{bottom:18px}
@media(max-width:360px){.screen{padding-inline:12px}.hero{min-height:188px;padding:18px 16px}.hero h1{font-size:35px}.artist{max-width:210px}.stat-strip{gap:2px}.mini-stat b{font-size:12px}}
@media(orientation:landscape) and (max-height:600px){.hud{position:relative}.screen{padding-bottom:76px}.bottom-nav{height:62px}.nav-btn span{font-size:13px;margin-bottom:2px}.modal{max-height:92dvh;overflow:auto}}
@media(min-width:900px){
  html,body{height:100%;overflow:hidden}
  body{padding:16px;background:radial-gradient(circle at 12% -10%,#433d24 0,transparent 31%),radial-gradient(circle at 90% 90%,#1f2a0c 0,transparent 28%),#050505}
  .game-shell{width:min(1240px,100%);height:calc(100dvh - 32px);min-height:680px;margin:0 auto;border:1px solid #302f29;border-radius:10px;display:grid;grid-template-columns:220px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"hud hud" "nav screen";overflow:hidden;box-shadow:0 24px 100px rgba(0,0,0,.72)}
  .hud{grid-area:hud;position:relative;padding:15px 28px 13px}.hud-top{align-items:center}.artist{font-size:34px;max-width:560px}.brand{font-size:13px}.clock{display:flex;align-items:center;gap:12px}.clock b{font-size:18px}.stat-strip{grid-template-columns:repeat(4,minmax(120px,170px));justify-content:end;gap:12px}.mini-stat{padding-left:10px}.mini-stat b{font-size:16px}
  .screen{grid-area:screen;min-height:0;height:100%;padding:32px 38px 70px;overflow-y:auto;scrollbar-color:var(--acid) #151512;scrollbar-width:thin}
  .bottom-nav{grid-area:nav;position:relative;inset:auto;transform:none;width:auto;height:auto;padding:24px 13px;display:flex;flex-direction:column;gap:7px;background:linear-gradient(180deg,#0d0d0b,#070706);border:0;border-right:1px solid var(--line);backdrop-filter:none}
  .nav-btn{position:relative;min-height:58px;padding:0 40px 0 14px;display:flex;align-items:center;gap:13px;text-align:left;font-size:12px;border:1px solid transparent;transition:background .15s,color .15s,border-color .15s}.nav-btn span{width:22px;margin:0;font-size:18px;text-align:center}.nav-btn:after{content:attr(data-key);position:absolute;right:12px;width:22px;height:22px;display:grid;place-items:center;border:1px solid #3f3d35;color:#777268;font:800 10px var(--condensed)}.nav-btn:hover{background:#171713;color:var(--paper);border-color:#302f29}.nav-btn.active{background:rgba(215,255,56,.08);border-color:#59661f}.nav-btn.active:after{border-color:var(--acid);color:var(--acid)}
  .desktop-help{display:block;margin:auto 8px 2px;padding:14px 7px 0;border-top:1px solid #292823;color:#6f6b62;font:700 9px/1.7 var(--condensed);letter-spacing:.08em}.desktop-help b{color:var(--gold)}
  h1{font-size:54px}
  .hero{min-height:265px;padding:32px;background:linear-gradient(120deg,rgba(215,255,56,.1),transparent 48%),repeating-linear-gradient(135deg,#121210 0 14px,#0e0e0d 15px 29px)}.hero:after{right:20px;bottom:-42px;font-size:190px}.hero-copy{max-width:62%}
  .action-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.action-card{min-height:138px;padding:19px}
  .track-list,.card-list{grid-template-columns:repeat(2,minmax(0,1fr))}.form-card{max-width:820px;padding:24px}
  .toast{bottom:28px;width:min(560px,calc(100% - 40px))}.modal{width:min(100%,500px)}
}
