/* 0.4.1 — compact spacing. Keep type sizes, colors and game controls intact. */
.topbar{min-height:44px;padding:4px 8px;gap:6px}
.brand{gap:6px}.prototype{gap:4px}.topbar .header-actions{gap:6px}
.plain-button,footer button{padding:4px 0}.wallet-button{padding:6px 8px}
.ticker-tape{height:23px;gap:14px;padding:0 8px}
main{padding:0 8px}.intro{padding:5px 0;gap:6px}.eyebrow{margin:0 0 3px}
.demo-bank strong{line-height:1.2}.muted-title{margin-top:0}
.terminal-top{min-height:50px;padding:4px 6px;gap:6px}.market{gap:6px}.market small{margin-top:2px}
.phase{padding:3px 4px;margin-left:0}.chart-tools{gap:8px}.chart-tools button{padding:4px 0}
.metrics{padding:6px;gap:6px}.metrics>div>span{margin-bottom:3px}
.volume-bar{padding:5px 6px;gap:6px}.volume-counter>span{margin-bottom:2px}.save-status{margin-top:3px}
.volume-bar p{line-height:1.4}.volume-pop{padding:4px 6px}
.radar-bar{min-height:27px;padding:3px 6px;gap:6px}
.chart-wrap{min-height:clamp(280px,42vh,460px)}
.chart-idle{padding:0 8px 35px}.crosshair{margin-bottom:4px}.chart-idle h2{margin:3px 0 4px}.chart-idle p{margin:4px 0;line-height:1.4}.idle-arrow{margin-top:4px}
.chart-bottom{min-height:27px;padding:5px 6px;gap:6px}.chart-bottom>span:first-child{gap:4px}
.chart-legend{padding:5px 6px;gap:5px 10px}.run-strip{min-height:27px;padding:4px 6px;gap:4px 8px}
.launch-panel{padding:6px;display:block}
.panel-heading{margin-bottom:5px;gap:6px}.field-label{margin:0 0 3px;line-height:1.35}
.wallet-panel{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:3px 6px;padding-bottom:5px;margin-bottom:5px}
.wallet-panel .field-label{margin:0}.wallet-panel select{padding:6px;min-height:32px}
.wallet-connection{grid-column:1/-1;margin-top:0;gap:4px;min-height:18px}.wallet-state{line-height:1.35}.wallet-disconnect{padding:2px 0}
.wallet-switch{grid-column:1/-1;margin-top:2px;padding:5px}
.input-line{min-height:34px;margin-bottom:4px;gap:6px}.edit-ticker{padding:4px 0}
.ticker-input-wrap{gap:3px}.input-line .ticker-input-wrap input{padding:2px 0}
.random-ticker{margin:0 0 6px;padding:5px 6px}
.allocation-title{margin-bottom:3px}.allocation-values>div{display:flex;align-items:baseline;gap:6px}.allocation-values strong{margin-top:0}.allocation-values strong span{margin-left:3px}
.allocation{margin:9px 0 7px}.range-captions{gap:6px}
.allocation-note{min-height:0;margin:4px 0 0;line-height:1.35}
.launch-panel .trajectory{height:36px;margin:3px 0 5px}.trajectory svg{height:25px}
.player-input{padding:6px;margin-bottom:4px}
.entry-picker{margin:5px 0;padding:6px}.entry-picker-head{gap:6px}.entry-currencies{gap:4px}.entry-currencies button{padding:4px 6px}
.entry-amount{margin:3px 0;gap:6px}.entry-range{gap:6px;margin-top:2px}.entry-picker p{margin:4px 0 0;line-height:1.35}
.launch-button{padding:9px 8px;gap:6px}.entry-note{margin-top:4px;gap:6px;line-height:1.35}
.launch-panel .panel-foot{margin:5px 0 0;padding:4px 0;gap:6px}.panel-foot p{line-height:1.35}
.event-flash{left:6px;top:6px;padding:6px 8px}.event-flash small{margin-top:3px;line-height:1.4}
.result{padding:8px;box-shadow:4px 4px 0 #0005}.result h2{margin:4px 0 6px}.result>div{gap:6px}.result>p{margin:5px 0;line-height:1.4}.result button{padding:7px 8px;margin-top:4px}.result button:last-child{padding:5px}
.under-layout{gap:8px;margin:8px 0}.section-heading{gap:6px;margin-bottom:5px}.section-heading .eyebrow{margin-bottom:3px}.section-heading h2>span{margin-left:6px}
th,td{padding:6px}th:first-child,td:first-child{padding-left:6px}.empty-board{padding:12px 6px!important}
.board-foot{margin:5px 0;line-height:1.4}.event-feed{column-gap:8px}.feed-item{gap:6px;padding:6px 0}.feed-item p{margin:3px 0 0;line-height:1.35}
.feed-icon{width:32px;height:32px}footer{padding:7px 0;gap:6px}footer b{margin-left:6px}
dialog{padding:12px}dialog h2{margin:6px 0}dialog ol{margin:6px 0;padding-left:20px;line-height:1.5}dialog li{margin-bottom:6px}.dialog-note{padding-top:6px;margin:6px 0;line-height:1.5}.close-dialog{top:4px;right:6px}.toast{padding:8px 12px;line-height:1.4}
@media(max-width:1250px){.terminal-top{flex-wrap:nowrap}.chart-tools{width:auto;gap:7px}.market{gap:5px}}
@media(max-width:940px){.terminal-top{flex-wrap:wrap}.chart-tools{width:auto}.under-layout{gap:8px}.launch-panel .panel-foot{margin:5px 0 0;padding:4px 0}.chart-wrap{min-height:clamp(280px,42vh,400px)}}
@media(max-width:600px){
 .topbar{padding:4px 6px;gap:5px}.brand{gap:4px}.wallet-button{padding:7px 6px}.ticker-tape{padding-left:6px}main{padding:0 5px}
 .intro{gap:5px;padding:5px 0}.intro .eyebrow{line-height:1.35}.demo-bank small{line-height:1.35}
 .terminal-top{padding:4px 6px;gap:5px}.chart-tools{gap:12px}.metrics{padding:6px;gap:6px}.radar-bar{gap:2px;padding:3px 6px}
 .volume-bar{gap:4px 6px;padding:4px 6px}.volume-bar p{margin:0}.volume-bar p b{margin-left:6px}.chart-legend{padding:5px 6px;gap:5px 8px}.chart-bottom{padding:5px 6px}.run-strip{padding:4px 6px}
 .launch-panel{padding:6px}.wallet-panel select{font-size:12px}.random-ticker{padding:6px}.entry-picker{padding:6px}.player-input{min-height:34px}.entry-currencies button{min-height:30px}.launch-button{min-height:38px}
 th,td{padding:6px}td small{margin-top:2px}.event-flash{padding:6px 8px;left:6px;top:6px}.result{padding:6px}.result button{padding:7px}
 footer b{margin:3px 0 0}dialog{padding:12px}.dialog-note{margin:6px 0}
}
/* Keep the paper-balance line and arc preview from adding empty vertical space. */
.demo-bank>span{display:flex;align-items:center;justify-content:flex-end;gap:4px;line-height:1.2}
.demo-bank strong{line-height:1.1}#refill{line-height:1;padding:0}
.launch-panel .trajectory{height:32px}.trajectory svg{height:20px}.player-input{padding:5px 6px}
@media(max-width:1100px){.terminal-top{flex-wrap:wrap}.chart-tools{margin-left:auto}}
/* Put entry currency and amount on one row instead of stacking two headers. */
.entry-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 6px}
.entry-picker-head{flex-wrap:wrap;align-content:center;gap:3px 6px}
.entry-amount{grid-column:2;grid-row:1;margin:0}
.entry-picker input[type=range],.entry-range,.entry-picker>p{grid-column:1/-1}
.entry-range,.entry-picker p{margin:0}
@media(max-width:600px){.entry-picker{grid-template-columns:minmax(0,1fr) auto}.entry-picker-head{gap:3px 5px}.entry-amount{gap:4px}}
