:root{
  --bg:#0e2119;--panel:#153026;--panel-deep:#10271f;--panel-soft:#1d3b2d;
  --line:#335743;--cream:#f7f3e5;--muted:#abc2ae;--gold:#e6be67;--green:#79cc8a;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  color:var(--cream);background:var(--bg)
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{background:var(--bg);color:var(--cream);transition:background .35s,color .35s}
button{font:inherit;cursor:pointer}
button:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
button:disabled{cursor:not-allowed;opacity:.46}
h1,h2,h3,p{margin-top:0}
[hidden]{display:none!important}
.game-shell{width:100%;min-height:100vh}
.market-ticker{height:42px;display:flex;align-items:center;gap:16px;padding:0 20px;background:#e1c276;color:#233523;border-bottom:2px solid #a7853d;white-space:nowrap;overflow:hidden;font-size:12px;font-weight:650;position:relative;z-index:50}
.ticker-label{font-size:10px;font-weight:850;letter-spacing:.15em;border-right:1px solid #937947;padding-right:16px;flex:none}
.live-dot{display:inline-block;width:7px;height:7px;margin-right:6px;background:#348c4d;border-radius:50%;box-shadow:0 0 0 3px #348c4d33}
.ticker-text{overflow:hidden;text-overflow:ellipsis;flex:1}
.ticker-mark{font-size:10px;letter-spacing:.15em;font-weight:900;opacity:.72}
.columns{display:grid;grid-template-columns:minmax(310px,32%) minmax(330px,35%) minmax(330px,33%);min-height:calc(100vh - 42px)}
.play-column,.content-column,.store-column{min-width:0}
.play-column{display:flex;flex-direction:column;align-items:stretch;padding:22px 20px 16px;background:radial-gradient(circle at 50% 34%,#275b38 0,#173b2c 36%,#10291f 78%);border-right:2px solid #436448;max-height:calc(100vh - 42px);overflow:hidden;position:relative;isolation:isolate}
.play-header{display:flex;align-items:center;gap:12px;flex:none}
.brand-mark{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:11px;background:linear-gradient(145deg,#ffe398,#c39643);color:#20402c;box-shadow:0 3px 0 #866525;font-size:29px;font-weight:900}
.brand-kicker,.eyebrow{font-size:10px;letter-spacing:.16em;color:var(--gold);font-weight:800}
.play-header h1{font-size:21px;line-height:1;margin:4px 0 0;letter-spacing:.08em;font-weight:850}
.balance-card{text-align:center;padding:21px 0 6px;flex:none;position:relative;z-index:8}
.balance{font-weight:850;font-size:clamp(34px,3.4vw,62px);line-height:1.13;letter-spacing:-.045em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;text-shadow:0 3px 8px #04140c9c}
.income-line{display:flex;justify-content:center;gap:10px;align-items:center;color:var(--green);font-size:13px;font-weight:750;margin-top:7px;flex-wrap:wrap}
.income-divider{color:#7b9c75}
.pile-zone{height:clamp(255px,37vh,408px);position:relative;display:grid;place-items:center;flex:none;overflow:hidden}
.particle-layer,.effect-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.particle-layer{z-index:1}
.wealth-backdrop{position:absolute;width:min(85%,390px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#a4d97728 0,#8fd97917 38%,transparent 72%);box-shadow:0 0 0 25px #7fb76a0b,0 0 0 65px #7fb76a07;z-index:2;pointer-events:none}
.money-pile{display:block;position:relative;width:min(80%,35vh,350px);aspect-ratio:1;max-height:100%;padding:0;border:0;background:transparent;color:inherit;z-index:4;touch-action:manipulation;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform .14s ease;filter:drop-shadow(0 18px 13px #031309a0)}
.money-pile:hover{transform:scale(1.035)}
.money-pile:active,.money-pile.popped{transform:scale(.92,.9)}
.wealth-scene{position:absolute;inset:0;display:none;filter:drop-shadow(0 5px 1px #0a3d1f)}
.money-pile.wealth-0 .scene-0,.money-pile.wealth-1 .scene-1,.money-pile.wealth-2 .scene-2,.money-pile.wealth-3 .scene-3,.money-pile.wealth-4 .scene-4,.money-pile.wealth-5 .scene-5,.money-pile.wealth-6 .scene-6,.money-pile.wealth-7 .scene-7{display:block}
.wealth-piece{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%) rotate(var(--rot)) scale(var(--scale));display:grid;place-items:center;font-weight:900}
.piece-coin{width:22%;aspect-ratio:1;border-radius:50%;border:4px solid #ffdf7d;background:radial-gradient(circle at 30% 24%,#fff3b4,#ebbb50 57%,#b77c29);box-shadow:0 6px 0 #855c24,inset 0 0 0 3px #bb8a36;color:#78501e;font-size:clamp(17px,2.1vw,32px);line-height:1}
.piece-bill{width:42%;height:19%;border:3px solid #287047;border-radius:7px;background:linear-gradient(145deg,#def5ac,#86c779 55%,#62ac66);box-shadow:0 6px 0 #33774c,inset 0 0 0 5px #b2de9f;color:#3b7b47;font-size:clamp(20px,2.3vw,36px)}
.piece-bill:before{content:"";position:absolute;inset:6px;border:2px dashed #6da96a;border-radius:3px}
.piece-stack{width:45%;height:27%;border:3px solid #2a7448;border-radius:8px;background:repeating-linear-gradient(to bottom,#c7e8a2 0 10%,#63aa63 10% 14%);box-shadow:0 7px 0 #368252,0 14px 0 #236840,0 21px 0 #154e32;color:#8a6b2c;font-size:clamp(19px,2.2vw,34px)}
.piece-stack:before{content:"";position:absolute;left:38%;width:24%;inset-block:0;background:#f2db9b;border-left:2px solid #b8a26a;border-right:2px solid #b8a26a}
.piece-stack:after{content:"$";position:relative;color:#8a6b2c}
.piece-gem{width:21%;aspect-ratio:1;background:linear-gradient(135deg,#e5ffff 10%,#5fd8e0 35%,#1685ac 61%,#bdfdff);clip-path:polygon(50% 0,87% 21%,100% 57%,50% 100%,0 57%,13% 21%);border-radius:9px;filter:drop-shadow(0 5px 4px #4cddeb77)}
.piece-crypto{width:23%;aspect-ratio:1;border-radius:50%;border:5px solid #ffe78b;background:linear-gradient(135deg,#f4d680,#b87b2f 55%,#654419);box-shadow:0 7px 0 #81551b,inset 0 0 0 4px #a66b29;color:#fff3bf;font-size:clamp(25px,3vw,44px)}
.effect-layer{z-index:6}
.float-cash,.particle-note,.ambient-bill{position:absolute;left:var(--x);top:var(--y);pointer-events:none}
.float-cash{font-size:20px;font-weight:900;color:#ffedaa;text-shadow:0 3px 5px #1b402b;white-space:nowrap;animation:floatUp .8s ease-out forwards}
.particle-note{font-size:16px;color:#96e3aa;animation:noteFly .8s ease-out forwards}
.ambient-bill{width:22px;height:11px;border:1px solid #69a575;border-radius:2px;background:#a9df9c66;transform:rotate(var(--rot));animation:billFall 5s linear forwards}
@keyframes floatUp{to{transform:translate(var(--dx),-85px);opacity:0}}
@keyframes noteFly{to{transform:translate(var(--dx),var(--dy)) rotate(75deg);opacity:0}}
@keyframes billFall{to{transform:translate(35px,440px) rotate(210deg);opacity:0}}
.golden-bill{position:absolute;z-index:8;width:96px;height:64px;border:3px solid #ffe489;border-radius:9px;background:linear-gradient(135deg,#fff3b7,#dcaa42);color:#79501b;box-shadow:0 0 20px #ffe077;transform:rotate(-12deg);animation:billPulse 1s ease-in-out infinite alternate}
.golden-bill span{display:block;font-size:29px;line-height:28px;font-weight:900}
.golden-bill small{font-size:9px;font-weight:900}
@keyframes billPulse{to{transform:rotate(6deg) scale(1.08);box-shadow:0 0 35px #ffe077}}
.buff-bar{min-height:25px;text-align:center;color:var(--gold);font-size:12px;font-weight:800;flex:none;position:relative;z-index:8}
.owned-panel{display:flex;flex-direction:column;min-height:100px;flex:1;border-top:1px solid #64846288;padding-top:12px;overflow:hidden}
.owned-heading{display:flex;justify-content:space-between;align-items:end;gap:10px;flex:none}
.owned-heading h2{font-size:17px;margin:2px 0 0;font-weight:800}
.owned-total{font-size:11px;color:#c5d8ba;font-weight:750;white-space:nowrap}
.owned-business-list{overflow-y:auto;scrollbar-color:#719b72 transparent;padding:8px 3px 4px;min-height:0}
.owned-empty{margin:13px 0;font-size:12px;color:var(--muted)}
.owned-row{padding:8px 9px;margin-bottom:7px;background:#0c241b99;border:1px solid #436a4a;border-radius:9px}
.owned-row-head{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.owned-row-head img{width:30px;height:30px;object-fit:contain;flex:none}
.owned-row-head strong{font-size:12px;font-weight:750;flex:1}
.owned-row-head span{font-size:12px;font-weight:850;color:var(--gold);font-variant-numeric:tabular-nums}
.owned-copies{display:flex;gap:2px;flex-wrap:wrap;align-items:center;min-height:27px}
.owned-copy{position:relative;display:grid;place-items:center;width:34px;height:34px;border-radius:7px;background:#31523d77}
.owned-copy img{width:100%;height:100%;object-fit:contain}
.owned-row.medium .owned-copy{width:28px;height:28px}
.owned-row.dense .owned-copy{width:24px;height:24px}
.copy-group{position:absolute;right:-4px;bottom:-3px;padding:0 3px;border-radius:4px;background:#e9c777;color:#173726;font-size:8px;font-weight:850}
.play-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #64846288;padding-top:10px;margin-top:8px;flex:none}
.play-footer strong{font-size:17px;font-weight:800;font-variant-numeric:tabular-nums}
.content-column{background:#12271f;max-height:calc(100vh - 42px);overflow-y:auto;padding:0 24px 30px;scrollbar-color:#5b855d transparent}
.tabs{display:flex;gap:5px;position:sticky;top:0;z-index:12;background:#12271f;border-bottom:1px solid var(--line);overflow-x:auto}
.tab{border:0;border-bottom:3px solid transparent;background:none;color:#a2b9a6;font-size:11px;font-weight:800;letter-spacing:.08em;white-space:nowrap;padding:20px 10px 16px}
.tab:hover,.tab.active{color:var(--cream)}
.tab.active{border-bottom-color:var(--gold)}
.tab-panel{padding-top:25px;animation:panelIn .18s ease}
.tab-panel[hidden]{display:none}
@keyframes panelIn{from{opacity:.55;transform:translateY(5px)}}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:10px}
.section-heading h2,.store-top h2{font-size:30px;letter-spacing:-.035em;font-weight:850;margin:3px 0 0}
.section-count{font-size:11px;color:var(--gold);font-weight:800}
.section-intro{font-size:13px;color:var(--muted);margin:11px 0 20px}
.upgrade-list,.prestige-tree{display:grid;gap:10px}
.upgrade-card,.investment-card{display:flex;align-items:center;gap:12px;border:1px solid #42694b;border-radius:11px;background:#203f30;padding:12px;box-shadow:0 4px 0 #0a1c14}
.upgrade-card.affordable{border-color:#aad176}
.upgrade-icon{display:grid;place-items:center;flex:none;width:43px;height:43px;border:1px solid #638b65;border-radius:9px;background:#305c3e;font-size:24px}
.upgrade-info{flex:1;min-width:0}
.upgrade-info strong{display:block;font-size:13px;font-weight:800}
.upgrade-info p{font-size:11px;color:var(--muted);margin:4px 0 0;line-height:1.4}
.upgrade-card button,.investment-card button,.business-card button,.rebirth-card button,.modal-actions button,.save-actions button{border:0;border-radius:7px;padding:10px 12px;background:var(--gold);color:#223627;font-size:12px;font-weight:850;white-space:nowrap;box-shadow:0 3px 0 #957033}
.upgrade-card button:disabled,.investment-card button:disabled,.business-card button:disabled,.rebirth-card button:disabled{background:#537159;color:#b6c7b5;box-shadow:none}
.empty-state{padding:25px;border:1px dashed var(--line);border-radius:10px;text-align:center;color:var(--muted);font-size:13px}
.store-column{display:flex;flex-direction:column;background:#1b3429;border-left:2px solid #456b4d;max-height:calc(100vh - 42px);overflow:hidden}
.store-top{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:25px 20px 18px;flex:none}
.store-badge{padding:6px;border:1px solid #c6a359;color:var(--gold);font-size:9px;font-weight:850;letter-spacing:.12em;transform:rotate(-7deg)}
.buy-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 18px;background:#274533;border-block:1px solid #4b6d50;font-size:11px;font-weight:850;letter-spacing:.1em;flex:none}
.buy-options{display:flex;gap:5px}
.buy-option{border:1px solid #668568;border-radius:6px;padding:7px 10px;background:#183a2b;color:var(--cream);font-size:11px;font-weight:800}
.buy-option.active{background:var(--gold);border-color:var(--gold);color:#253922}
.business-list{overflow-y:auto;min-height:0;padding:12px 12px 25px;scrollbar-color:#729976 transparent}
.business-card{display:flex;align-items:center;gap:11px;min-height:86px;padding:10px;margin-bottom:8px;background:#244635;border:1px solid #426c4c;border-radius:10px;transition:background .15s,border-color .15s}
.business-card:hover,.business-card:focus-within{background:#2c523d;border-color:#8bb56f}
.business-card.locked{opacity:.68}
.business-card.available{border-color:#a8cf79}
.business-image{display:grid;place-items:center;flex:none;width:62px;height:62px;border-radius:9px;background:radial-gradient(circle,#4a7550,#284633);border:1px solid #658866}
.business-image img{width:58px;height:58px;object-fit:contain}
.business-info{flex:1;min-width:0;cursor:help}
.business-info strong{display:block;font-size:14px;line-height:1.2;font-weight:800}
.business-info p{font-size:11px;line-height:1.3;color:#b2cdb5;margin:5px 0 0}
.business-owned{display:block;font-size:11px;color:var(--gold);font-weight:800;margin-top:4px}
.business-card button{min-width:77px}
.business-card button small{display:block;font-size:10px;margin-top:3px;font-weight:700;font-variant-numeric:tabular-nums}
.business-tooltip{position:fixed;z-index:60;width:280px;padding:15px;background:#10261d;border:1px solid #d0b165;border-radius:12px;box-shadow:0 12px 45px #0009;pointer-events:none}
.tooltip-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.tooltip-head img{width:58px;height:58px;object-fit:contain}
.tooltip-head strong{font-size:16px}
.tooltip-stat{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid #36513e;font-size:11px;color:#bed2bf}
.tooltip-stat strong{color:var(--cream);text-align:right;font-variant-numeric:tabular-nums}
.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:18px}
.stat{padding:15px;background:#1d3c2e;border:1px solid var(--line);border-radius:9px;min-height:78px}
.stat span{display:block;color:var(--muted);font-size:11px}
.stat strong{display:block;margin-top:8px;font-size:17px;font-weight:800;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.settings-card,.save-card,.rebirth-card{margin-top:22px;padding:18px;border:1px solid var(--line);border-radius:11px;background:#1c382b}
.settings-card h3,.save-card h3{font-size:17px}
.settings-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.setting{border:1px solid var(--line);border-radius:7px;background:#284b37;color:var(--cream);padding:10px;text-align:left;font-size:12px}
.setting strong{float:right;color:var(--gold)}
.save-card p,.rebirth-card p{color:var(--muted);font-size:13px;line-height:1.5}
.save-actions{display:flex;flex-wrap:wrap;gap:7px}
.save-actions button{background:#d5e4bd}
.save-actions .danger{background:#ba7069;color:#fff}
.achievement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:20px}
.achievement{padding:12px;border:1px solid #62865b;background:#254635;border-radius:9px;min-height:112px}
.achievement.locked{filter:grayscale(1);opacity:.55}
.achievement-icon{display:grid;place-items:center;width:36px;height:36px;margin-bottom:8px;border-radius:8px;background:#325c3e;font-size:20px}
.achievement strong{font-size:12px}
.achievement p{font-size:10px;color:var(--muted);margin:5px 0}
.rebirth-card{text-align:center;background:radial-gradient(circle at top,#455b30,#1b382a 70%);border-color:#ae9254}
.rebirth-icon{font-size:42px;color:var(--gold)}
.rebirth-card>strong{display:block;font-size:48px;color:var(--gold)}
.rebirth-preview{display:flex;justify-content:space-between;text-align:left;padding:11px 0;border-top:1px solid #64714e;font-size:12px;gap:10px}
.rebirth-preview strong{color:var(--gold)}
.rebirth-card button{width:100%;margin-top:10px;padding:14px}
.rebirth-next{font-size:11px!important}
.tree-title{margin:24px 0 12px}
.investment-card{align-items:flex-start}
.investment-card .upgrade-info p{line-height:1.4}
.toast-stack{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:80;display:grid;gap:8px;pointer-events:none}
.toast{padding:11px 17px;background:#e9d07e;color:#213b2c;border-radius:9px;box-shadow:0 10px 35px #0007;font-weight:850;font-size:13px;animation:toastIn .3s ease}
.toast.achievement-toast{background:#99df9e}
@keyframes toastIn{from{opacity:0;transform:translateY(14px)}}
.modal-backdrop{position:fixed;inset:0;z-index:100;background:#06130ec9;display:grid;place-items:center;padding:15px}
.modal{position:relative;width:min(100%,510px);max-height:90vh;overflow:auto;background:#1b3b2c;border:1px solid #9aaf75;border-radius:15px;padding:25px;box-shadow:0 20px 80px #0009}
.modal h2{font-size:25px;margin:7px 0 12px}
.modal p{color:#c4d7bd;font-size:14px;line-height:1.55}
.modal textarea{width:100%;min-height:150px;resize:vertical;background:#0d241a;color:var(--cream);border:1px solid #7c9f73;border-radius:7px;padding:10px;font:12px monospace}
.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}
.modal-actions .secondary{background:#56765b;color:#fff;box-shadow:none}
.modal-close{position:absolute;right:15px;top:12px;background:none;border:0;color:var(--cream);font-size:28px}
.gold-rush body{background:#47300f}
.gold-rush .market-ticker{background:#ffe3a0;color:#533306;box-shadow:0 0 20px #ffd15e}
.gold-rush .play-column{background:radial-gradient(circle at 50% 32%,#bd8d35,#61451b 58%,#2b2417);border-color:#f7d177}
.gold-rush .content-column,.gold-rush .tabs{background:#352d1c}
.gold-rush .store-column{background:#3c321d;border-color:#c99b4d}
.gold-rush .wealth-backdrop{background:radial-gradient(circle,#ffe76a72,#f5b63122 65%,transparent 75%);box-shadow:0 0 70px #ffce4b88}
.gold-rush .money-pile{filter:drop-shadow(0 0 23px #ffda63)}
.gold-rush .buff-bar{color:#fff3af;font-size:14px}
.light{--bg:#e4e8da;--panel:#f5f4e9;--panel-deep:#ecf0e2;--panel-soft:#e5efdc;--line:#a2b7a0;--cream:#1b3427;--muted:#4e6a54;--gold:#a56c22;--green:#267c42;background:#e4e8da;color:#1b3427}
.light body{background:#e4e8da}
.light .play-column{background:radial-gradient(circle at 50% 34%,#e1efd4,#c0ddc4 65%,#bad4bf)}
.light .content-column,.light .tabs{background:#ecf0e2}
.light .store-column{background:#dce8d8}
.light .business-card,.light .upgrade-card,.light .investment-card,.light .stat,.light .settings-card,.light .save-card{background:#f8f7ea;color:#1b3427}
.light .business-info p,.light .upgrade-info p{color:#506d55}
.light .achievement{background:#e0eedb}
.light .setting{background:#d9e9d5;color:#1b3427}
.light .owned-row{background:#eff4e3}
.light .owned-row-head strong{color:#203a29}
.light .balance{text-shadow:none}
.reduce-motion *, .reduce-motion *:before,.reduce-motion *:after{animation:none!important;transition:none!important}
@media(max-width:1080px){
  .columns{grid-template-columns:minmax(260px,32%) minmax(275px,35%) minmax(270px,33%)}
  .play-column,.content-column{padding-left:14px;padding-right:14px}
  .store-top{padding-left:14px;padding-right:14px}
  .business-card{gap:7px}
  .business-image{width:50px;height:50px}
  .business-image img{width:48px;height:48px}
  .tab{font-size:10px;padding-inline:7px}
}
@media(max-width:800px){
  .columns{grid-template-columns:1fr 1fr}
  .play-column,.content-column{max-height:none;min-height:640px}
  .play-column{overflow:visible}
  .owned-panel{flex:none;max-height:260px}
  .store-column{grid-column:1/-1;max-height:none}
  .business-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 8px;max-height:600px}
  .pile-zone{height:330px}
  .money-pile{width:min(75%,290px)}
}
@media(max-width:600px){
  .market-ticker{height:36px;padding-inline:10px;gap:9px}
  .ticker-label{padding-right:9px;font-size:9px}
  .ticker-mark{display:none}
  .columns{display:block}
  .play-column,.content-column,.store-column{min-height:0;max-height:none}
  .play-column{padding:14px}
  .play-header h1{font-size:18px}
  .brand-mark{width:38px;height:38px;font-size:25px}
  .balance-card{padding-top:17px}
  .balance{font-size:clamp(34px,9vw,48px)}
  .pile-zone{height:315px}
  .money-pile{width:min(76vw,290px)}
  .owned-panel{max-height:250px}
  .content-column{padding-bottom:27px}
  .tabs{top:0}
  .tab{flex:1;padding:15px 5px 12px;font-size:10px}
  .business-list{display:block;max-height:none}
  .store-top{padding:20px 15px}
  .business-tooltip{display:none!important}
}

.upgrade-icon img{width:39px;height:39px;object-fit:contain}
.light.gold-rush .play-column,.light.gold-rush .content-column,.light.gold-rush .store-column{background:linear-gradient(150deg,#765017,#3f2d16)!important;color:#fff1cc}
.light.gold-rush .market-ticker{background:#9a6b21;color:#fff3cd}

/* Keep the opening wealth stage prominent and phone tabs fully visible. */
.scene-0{transform:scale(1.5)}
.scene-1{transform:scale(1.18)}
.ticker-text{min-width:0}
@media(max-width:600px){.tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden}.tab{min-width:0;white-space:normal;font-size:9px;letter-spacing:.025em;padding-inline:2px}}

/* The center column is an upgrade deck above the generator world. */
.play-column{justify-content:flex-start}
.play-column .pile-zone{height:auto;min-height:260px;flex:1}
.play-column .money-pile{width:min(90%,42vh,385px)}
.play-column .play-footer{margin-top:auto}
.content-column{display:flex;flex-direction:column;padding:0;overflow:hidden}
.progress-area{height:clamp(245px,36vh,345px);flex:none;overflow-y:auto;scrollbar-color:#5b855d transparent;background:#12271f}
.progress-area .tabs{padding:0 16px}
.progress-area .tab-panel{padding:17px 18px 20px}
.progress-area .section-heading h2{font-size:22px}
.progress-area .section-intro{margin-bottom:11px}
.progress-area .upgrade-list{gap:8px}
.progress-area .upgrade-card{padding:9px 10px}
.progress-area .empty-state{padding:14px}
.world-panel{position:relative;flex:1;min-height:0;padding:15px 16px 10px;overflow:hidden;border-top:3px solid #ccaa60;background:radial-gradient(circle at 50% 0,#2b523a 0,#1a382b 46%,#10291f 100%);isolation:isolate}
.world-panel:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.32;background:repeating-linear-gradient(to bottom,transparent 0 98px,#537e5833 99px 101px),radial-gradient(circle at 80% 80%,#c3af4d20,transparent 55%)}
.world-panel>*{position:relative;z-index:1}
.world-panel .owned-heading{padding:0 4px 11px;border-bottom:1px solid #668b6670}
.world-panel .owned-heading h2{font-size:20px;margin:3px 0 0}
.world-panel .owned-total{font-size:12px}
.world-panel .owned-business-list{flex:1;padding:12px 3px 16px;overflow-y:auto}
.world-panel .owned-row{min-height:112px;margin:0 0 11px;padding:10px 12px;background:linear-gradient(125deg,#173d2cf2,#1d4833d9);border:1px solid #58805a;border-left:4px solid #d4ad5d;border-radius:12px;box-shadow:0 7px 13px #061a1245}
.world-panel .owned-row-head{gap:10px;margin-bottom:9px}
.world-panel .owned-row-head>img{width:44px;height:44px}
.owned-row-title{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.world-panel .owned-row-head .owned-row-title strong{font-size:14px;color:var(--cream)}
.owned-row-title small{font-size:11px;color:var(--muted);font-weight:500}
.world-panel .owned-row-head .owned-quantity{font-size:16px;font-weight:850;color:#f1d486}
.world-panel .owned-copies{gap:5px;min-height:40px}
.world-panel .owned-copy{width:44px;height:44px;border:1px solid #6d946d88;background:#325941a8;animation:businessBreathe 3.8s ease-in-out var(--delay,0s) infinite}
.world-panel .owned-row.medium .owned-copy{width:36px;height:36px}
.world-panel .owned-row.dense .owned-copy{width:28px;height:28px}
.world-panel .copy-group{font-size:9px;right:-3px;bottom:-3px}
@keyframes businessBreathe{50%{transform:translateY(-2px)}}
.reduce-motion .owned-copy{animation:none}
.world-starter{min-height:245px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px 15px;background:linear-gradient(140deg,#254d36a8,#173626b5);border:1px dashed #7da66d;border-radius:14px}
.world-starter h3{font-size:19px;line-height:1.2;margin:10px 0 8px}
.world-starter p{max-width:360px;margin:0 0 16px;color:var(--muted);font-size:12px;line-height:1.5}
.starter-previews{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%}
.starter-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:92px;padding:5px;border:1px solid #547658;border-radius:9px;background:#0c291e88;opacity:.75}
.starter-preview img{width:55px;height:55px;object-fit:contain;filter:saturate(.65)}
.starter-preview strong{font-size:9px;line-height:1.15;color:#d8e0ce}
.world-next{display:flex;align-items:center;gap:13px;min-height:70px;padding:8px 12px;border:1px dashed #719568;border-radius:10px;background:#17392888;opacity:.72}
.world-next img{width:55px;height:55px;object-fit:contain;filter:grayscale(.35)}
.world-next div{display:flex;flex-direction:column;gap:3px}
.world-next strong{font-size:14px}
@media(min-width:1550px){.progress-area .upgrade-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.content-column{height:calc(100vh - 42px);min-height:640px;max-height:none;overflow:hidden}.play-column .pile-zone{flex:1}}
@media(max-width:600px){.play-column .pile-zone{height:335px;min-height:335px;flex:none}.play-column .money-pile{width:min(88vw,335px)}.content-column{height:auto;min-height:0;overflow:visible}.progress-area{height:315px}.world-panel{height:480px;min-height:480px;flex:none}.world-panel .owned-heading h2{font-size:18px}.starter-previews{gap:5px}.starter-preview img{width:43px;height:43px}.starter-preview strong{font-size:8px}}

.world-panel .world-starter{min-height:100%}
.world-panel .owned-copy{animation:none}
.world-panel .owned-copy:nth-child(4n+1){animation:businessBreathe 3.8s ease-in-out var(--delay,0s) infinite}
.reduce-motion .world-panel .owned-copy{animation:none}

/* Leaderboard and premium store use the existing navigation and dialog palette. */
.feature-modal{position:relative;display:flex;flex-direction:column;width:min(100%,760px);max-height:90vh;overflow:hidden;background:#1b3b2c;border:1px solid #9aaf75;border-radius:15px;box-shadow:0 20px 80px #0009}
.feature-modal.store-view{width:min(100%,520px)}
.feature-body{padding:25px;overflow-y:auto;scrollbar-color:#719b72 transparent}
.feature-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-right:28px;margin-bottom:15px}
.feature-header h2{font-size:25px;margin:4px 0 0}
.feature-header button,.premium-buy{border:0;border-radius:7px;padding:10px 14px;background:var(--gold);color:#223627;font-size:12px;font-weight:850;box-shadow:0 3px 0 #957033}
.feature-header button:disabled,.premium-buy:disabled{opacity:.58;cursor:not-allowed;box-shadow:none}
.feature-message{padding:18px;border:1px dashed #648667;border-radius:9px;color:var(--muted);font-size:13px;line-height:1.5;text-align:center}
.feature-message.error{border-color:#c88470;color:#ffcfbf}
.feature-message button{display:block;margin:10px auto 0;border:1px solid #9db477;border-radius:6px;padding:7px 12px;background:#315d3d;color:var(--cream);font:inherit}
.leaderboard-list{max-height:58vh;overflow-y:auto;border:1px solid #4f7655;border-radius:10px}
.leaderboard-row{display:grid;grid-template-columns:55px minmax(110px,1.4fr) minmax(125px,1fr) 85px;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #416748;font-size:13px;font-variant-numeric:tabular-nums}
.leaderboard-row:last-child{border-bottom:0}
.leaderboard-head{position:sticky;top:0;z-index:1;background:#274c34;color:#e0ce92;font-size:10px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.leaderboard-row .rank{font-weight:850;color:#e7c77a}
.leaderboard-row .username{font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.leaderboard-row .cash{text-align:right}
.leaderboard-row .rebirths{text-align:right;color:var(--muted)}
.leaderboard-row.is-me{background:#49694480;box-shadow:inset 3px 0 var(--gold)}
.personal-rank{margin-top:12px;padding:10px 0;border-top:1px solid #6e8e69}
.premium-card{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:15px;padding:18px;border:1px solid #6e955f;border-radius:12px;background:linear-gradient(135deg,#2b5538,#193628)}
.premium-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:14px;background:linear-gradient(135deg,#ffe39b,#c98f37);color:#23452c;font-size:26px;font-weight:900;box-shadow:0 4px 0 #8e6429}
.premium-info strong{display:block;font-size:17px}
.premium-info p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.4}
.premium-price{margin-top:7px;color:#f3d68e;font-weight:850}
.premium-note{margin:13px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.premium-state{margin-top:12px;padding:9px 10px;border-radius:8px;background:#294b35;color:#f6df9e;font-size:12px}
.light .feature-modal{background:#f0f4e9;color:#1b3427}
.light .feature-message{color:#45634a}
.light .leaderboard-head{background:#d8e7d3;color:#47643f}
.light .leaderboard-row{border-color:#b5cdb1}
.light .premium-card{background:#e0efdc;color:#1b3427}
.light .premium-note,.light .premium-info p{color:#4e6a54}
@media(max-width:1500px){.progress-area .tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0}.progress-area .tab{min-width:0;white-space:normal;padding:15px 2px 12px;font-size:9px;letter-spacing:.015em;line-height:1.15}}
@media(max-width:600px){.progress-area .tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.progress-area .tab{font-size:10px;padding:11px 2px}.feature-body{padding:18px 12px}.leaderboard-head{display:none}.leaderboard-row{grid-template-columns:34px minmax(0,1fr) auto;gap:2px 8px;font-size:11px}.leaderboard-row .rank{grid-row:1/3}.leaderboard-row .cash{font-weight:750}.leaderboard-row .rebirths{grid-column:2/4;text-align:left}.premium-card{grid-template-columns:56px 1fr;gap:10px}.premium-icon{width:52px;height:52px;font-size:21px}.premium-buy{grid-column:1/3;width:100%}}

.feature-header{padding-right:48px}
