:root{--ink:#161715;--muted:#606259;--paper:#fbfbf4;--lime:#cdf84a;--line:#d7d8cd;--mono:"IBM Plex Mono",monospace}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(ellipse at 50% 12%,#f6f6f1 0%,#e5e5df 72%);color:var(--ink);font-family:"Golos Text",system-ui,sans-serif;min-height:100vh}
.shell{max-width:1120px;padding-inline:24px}
.top{height:78px;border-bottom:1px solid #c9cac1;gap:12px}
.top-caption,.status,.eyebrow,.metric-label,.receipt,.progress-label,.rig-meta{font:500 11px var(--mono);letter-spacing:.07em}
.top-caption,.eyebrow,.metric-label,.receipt,.progress-label,.rig-meta{color:var(--muted)}
.status{display:flex;align-items:center;gap:8px;white-space:nowrap}
.status i{width:8px;height:8px;border-radius:50%;background:#91948a}
body.running .status i{background:#72a700;box-shadow:0 0 0 4px #a0cf3c40}
.machine{position:relative;margin-top:30px;pointer-events:none;filter:drop-shadow(0 14px 16px #28282230)}
.machine img{display:block;width:100%;height:auto}
.paper-frame{position:relative;margin:-3.4% auto 42px;width:84%;overflow:hidden;box-shadow:0 15px 46px #25251a24}
.paper{background:var(--paper);padding:clamp(19px,4vw,48px);padding-top:clamp(24px,3vw,42px);transform-origin:top}
.paper.print{animation:print .66s cubic-bezier(.22,.74,.23,1) both}
@keyframes print{from{transform:translateY(-100%)}to{transform:translateY(0)}}
.tabs{gap:5px;border-bottom:1px solid var(--line);padding-bottom:15px;flex-wrap:wrap}
.tabs a{color:var(--muted);text-decoration:none;padding:8px 15px;border-radius:4px;font-size:14px;font-weight:600}
.tabs a[aria-current]{background:var(--ink);color:white}
.tabs a:hover:not([aria-current]){background:#eeeeE4}
.hero{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;min-height:315px;gap:12px}
.hero img{width:100%;max-width:310px;justify-self:center}
.eyebrow{margin-bottom:12px}
h1{font-size:clamp(37px,6.5vw,86px);letter-spacing:-.035em;line-height:1.02;font-weight:700;margin:0 0 19px}
.hero p,.subhead{color:var(--muted);max-width:35ch;margin-bottom:20px}
.action{background:var(--lime);border:1px solid #a5cc2c;border-radius:5px;color:var(--ink);padding:11px 18px;font-weight:800}
.action:hover:not(:disabled){background:#bdeb31}
.action:disabled{background:#ebebe1;border-color:var(--line);color:var(--muted)}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}
.metric{padding:15px 17px;min-width:0}
.metric+.metric{border-left:1px solid var(--line)}
.metric strong{display:block;font-size:clamp(16px,3.1vw,34px);font-weight:800;letter-spacing:-.06em;font-variant-numeric:tabular-nums}
.metric-label{display:block;margin-bottom:5px}
.progress-label{margin:21px 0 8px}
.progress{height:6px;background:#e1e2d9;border-radius:0}
.progress-bar{background:#80a80e}
.receipt{border-top:1px dashed #a4a69a;margin-top:28px;padding-top:13px;gap:10px}
.inner{padding:32px 0 8px;min-height:310px}
.inner h1{font-size:clamp(32px,5vw,62px)}
.rig,.entry{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;border-top:1px solid var(--line)}
.rig h2{font-weight:650;font-size:19px;margin-bottom:4px}
.entry strong{color:#415709;white-space:nowrap}
@media(max-width:620px){
 .shell{padding-inline:12px}.top{height:61px}.top-caption{display:none}.machine{margin-top:20px}
 .tabs a{padding:7px 8px;font-size:12px}.hero{grid-template-columns:1fr;gap:0;padding-top:24px;padding-bottom:12px}.hero img{max-width:180px}
 .metric{padding:10px 6px}.metric-label{font-size:9px;letter-spacing:0}.rig{align-items:flex-start}.rig .action{font-size:12px;padding:9px}.receipt{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.paper.print{animation:none}.progress-bar{transition:none}}

/* Screen glass and paper exit are positioned relative to the printer artwork. */
.machine-screen{
 position:absolute;left:67.2%;top:34%;width:25%;height:31%;
 display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7%;
 color:#dbff84;font-family:var(--mono);white-space:nowrap;
 text-shadow:0 0 9px #baf65c66;
}
.screen-label{font-size:clamp(5px, .85vw, 10px);letter-spacing:.09em;opacity:.78}
.machine-balance{font-size:clamp(8px, 2.45vw, 29px);font-weight:600;font-variant-numeric:tabular-nums;line-height:1}
@media(max-width:440px){.screen-label{display:none}}
.paper{box-shadow:inset 0 8px 10px -10px #14150e}
.wallet{border-top:1px solid var(--line);margin-top:28px;padding-top:16px}
.wallet label{font-weight:700;margin-bottom:8px}
.wallet-controls{display:flex;gap:8px}
.wallet-controls input{min-width:0}
.wallet-controls button{white-space:nowrap}
.wallet p{color:var(--muted);font-size:12px;margin:8px 0 0}
@media(max-width:620px){
 .wallet-controls{flex-wrap:wrap}
}
.paper.depart{animation:depart .32s ease-in both;pointer-events:none}
@keyframes depart{to{transform:translateY(100%);opacity:0}}
@media(prefers-reduced-motion:reduce){.paper.depart{animation:none}}

.signup-bonus{
 display:flex;align-items:stretch;justify-content:space-between;
 margin:0 0 18px;background:var(--lime);color:var(--ink);
 border:1px solid #9ab735;border-radius:6px;
}
.bonus-copy{padding:14px 18px}
.bonus-copy span{font:600 10px var(--mono);letter-spacing:.13em}
.bonus-copy h2{margin:5px 0 0;font-size:clamp(14px,2vw,21px);font-weight:700}
.bonus-value{
 display:grid;align-content:center;justify-items:center;
 padding:8px clamp(12px,3vw,30px);border-left:1px dashed #657a23;
 font:600 clamp(22px,4vw,40px)/1 var(--mono);white-space:nowrap;
}
.bonus-value small{margin-top:5px;font-size:10px;letter-spacing:.12em}
@media(max-width:440px){.bonus-copy{padding:10px 12px}}

.wordmark img{display:block;width:clamp(126px,20vw,205px);height:auto}

.account-title{margin-top:28px;font-size:clamp(36px,6vw,68px)}
.account-tabs{flex-wrap:wrap}
.account-panel{padding-top:24px;min-height:140px}
.account-panel h2{font-size:clamp(22px,4vw,32px);font-weight:700}
.account-panel p{color:var(--muted)}

.referral label{margin:18px 0 7px;font-weight:700}
.referral h3{font-size:19px;margin:18px 0 12px}
.banner-list{display:grid;gap:14px}
.banner-list figure{margin:0}
.banner-list img{display:block;max-width:100%;height:auto;border:1px solid var(--line)}
.banner-list figcaption{margin-top:5px;font-size:13px}
.banner-list a{color:#40551a}

.withdraw form{margin-top:18px;max-width:540px}
.withdraw label{display:block;margin:12px 0 6px;font-weight:700}
.withdraw-submit{margin-top:14px}
.withdraw h3{font-size:19px;margin:18px 0 12px}
#withdraw-history{font-size:14px;color:var(--muted)}

.deposit-fields{max-width:540px}
.deposit label{display:block;margin:12px 0 6px;font-weight:700}
.deposit .deposit-network{margin:10px 0}
.deposit h3{font-size:19px;margin:18px 0 12px}
#deposit-address{font-family:var(--mono);font-size:clamp(10px,2vw,15px)}

.transaction-history{margin-top:24px;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.account-panel .transaction-history h3{margin:0;padding:14px;background:var(--ink);color:var(--paper)}
.transaction-history th,.transaction-history td{padding:10px;white-space:nowrap;font-size:clamp(11px,2vw,14px)}
.transaction-history td:last-child{font-variant-numeric:tabular-nums}
.deposit-status{display:inline-block;border-radius:4px;padding:3px 6px;font-weight:600}
.deposit-status.confirmed{color:#30440b;background:#e3efc6}
.deposit-status.pending{color:#644800;background:#fff0b9}

/* Thermal paper shared by the game and account pages. */
.paper-frame{padding-bottom:9px;box-shadow:none;filter:drop-shadow(0 15px 18px #25251a26)}
.paper{
 --paper:#fffdf3;
 --ink:#171814;
 --line:#b9b8aa;
 position:relative;
 background:linear-gradient(90deg,#efecdd 0%,var(--paper) 3%,var(--paper) 97%,#efecdd 100%);
 font-family:var(--mono);
 padding-bottom:24px;
}
.paper::after{
 content:"";position:absolute;top:100%;left:0;right:0;height:9px;
 background:linear-gradient(135deg,var(--paper) 50%,transparent 51%) 0 0/12px 9px repeat-x,
            linear-gradient(225deg,var(--paper) 50%,transparent 51%) 0 0/12px 9px repeat-x;
}
.receipt-heading{
 display:grid;justify-items:center;gap:4px;
 padding-bottom:15px;margin-bottom:10px;border-bottom:1px dashed var(--line);
}
.receipt-heading strong{font-size:clamp(17px,3vw,26px);letter-spacing:.24em}
.receipt-heading span{color:var(--muted);font-size:clamp(9px,1.5vw,11px);letter-spacing:.08em;text-align:center}
.paper .tabs{border-bottom-style:dashed}
.paper .tabs a{border-radius:0}
.paper h1{letter-spacing:-.045em;text-transform:uppercase}
.paper h2,.paper h3{letter-spacing:-.035em}
.paper .metrics{border:0;border-block:1px dashed var(--line)}
.paper .metric+.metric{border-left-style:dashed}
.paper .metric strong{letter-spacing:-.055em}
.paper .entry,.paper .rig,.paper .wallet{border-top-style:dashed}
.paper .action,.paper input,.paper select{border-radius:0}
.paper .signup-bonus{background:#e6edc9;border:1px dashed #6b7555;border-radius:0}
.paper .transaction-history{border:1px dashed var(--line);border-radius:0}
.paper .transaction-history h3{color:var(--ink);background:#eae6d8;border-bottom:1px dashed var(--line)}
.paper .transaction-history table{--bs-table-bg:transparent;--bs-table-striped-bg:#eeebdf;--bs-table-border-color:#dad6c7}
.paper .deposit-status{border:1px solid currentColor;border-radius:0}
.paper .receipt{font-size:clamp(8px,1.4vw,11px);letter-spacing:.035em}
