@font-face{font-family:Manrope;src:url('/fonts/Manrope-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('/fonts/Manrope-ExtraBold.ttf') format('truetype');font-weight:800;font-display:swap}
:root{color-scheme:light;--paper:#f3f0e7;--card:#fffdf7;--raised:#ece7da;--ink:#29382d;--muted:#717362;--line:#d8d3c4;--lime:#b58b45;--blue:#42684c;--sans:Manrope,Arial,sans-serif;--radius:15px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.5 var(--sans)}[hidden]{display:none!important}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #648448;outline-offset:3px}h1,h2,h3,p{margin:0}h1,h2,h3,strong{font-weight:800}h2{font-size:1.1rem;line-height:1.3}h3{font-size:1rem}.muted,.small{color:var(--muted)}.small{font-size:.8rem}.eyebrow{font-size:.64rem;letter-spacing:.1em;font-weight:800}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:absolute;left:12px;top:-100px;z-index:30;background:#293e30;color:white;padding:12px}.skip:focus{top:8px}
.top{height:60px;max-width:1752px;width:calc(100% - 48px);margin:12px auto 0;padding:0 16px;display:flex;gap:24px;align-items:center;border:1px solid #d4cebf;border-radius:15px;background:#fffdf5;box-shadow:0 4px 16px #51482908;flex-shrink:0}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.08em;font-size:.85rem;white-space:nowrap}.brand:hover{text-decoration:none}.brand small{display:block;font-size:.44rem;letter-spacing:.16em;font-weight:400;color:#86836c;margin-top:2px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#304c39;color:#f4ead4;font-size:1.45rem;letter-spacing:-.1em;box-shadow:0 2px 0 #203928}.top .game-nav{display:flex;gap:4px;align-items:center;padding:4px;background:#f0ecdf;border-radius:10px;margin:auto}.nav-link{border:0;background:transparent;color:#787967;padding:8px 12px;border-radius:7px;font-size:.7rem;white-space:nowrap;min-height:34px;display:flex;align-items:center;justify-content:center;gap:6px}.nav-link:hover{background:#e4e2d3;color:#304c39;text-decoration:none}.nav-link[aria-current]{background:#304f3b;color:#f7f2df;box-shadow:0 2px 6px #2b40201a}.nav-tools{display:flex;align-items:center;gap:10px;margin-left:auto}.nav-tools #connect{min-width:138px;font-size:.73rem;background:#fbf8ef;box-shadow:none;border-color:#ccc6b4;white-space:nowrap;min-height:38px}.local-badge{font-size:.55rem;color:#748162;border-radius:5px;white-space:nowrap}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 15px;border:1px solid transparent;border-radius:9px;font-size:.8rem;font-weight:800;line-height:1.25}.primary{background:#d4ae69;color:#322f21;border-color:#bd9650;box-shadow:0 2px 0 #b58a3e}.quiet{background:var(--card);border-color:var(--line);color:var(--ink)}.restore{background:#e6eddf;border-color:#b6c6a8;color:#3c643b}.full{width:100%}.text-button{border:0;background:transparent;color:var(--blue);font-size:.75rem;min-height:36px;padding:5px 9px;white-space:nowrap}.icon-button{display:inline-grid;place-items:center;width:34px;height:34px;flex-shrink:0;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--ink);font-size:1.1rem;padding:0}.pending-badge{display:inline-grid;place-items:center;min-width:17px;height:17px;border-radius:50%;background:#b7862e;color:white;font-size:.6rem}
.game{max-width:1800px;width:100%;margin:auto;padding:12px 24px;display:flex;flex-direction:column;gap:12px}.game-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:36px}.heading-copy{display:flex;align-items:center;gap:18px;min-width:0}.heading-copy h1{font-size:1.25rem;line-height:1.2;letter-spacing:-.035em;white-space:nowrap}.game-status{font-size:.7rem;color:var(--muted)}.heading-actions{display:flex;align-items:center;gap:5px;flex-shrink:0}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;border:1px solid #c9c3b2;border-radius:18px;background:var(--card);box-shadow:0 10px 35px #5148290d;overflow:hidden;min-height:0}.board-shell{min-width:0;min-height:0;display:flex;flex-direction:column;background:#f8f4e9}.entry-bar{display:flex;align-items:center;gap:15px;padding:13px 20px;background:#ede7d7;border-bottom:1px solid #d8cdb7;flex-shrink:0;min-height:76px}.entry-emblem{font-size:2rem;filter:drop-shadow(0 3px 2px #79633b25)}.entry-copy{min-width:0}.entry-copy h2{font-size:1.1rem;letter-spacing:-.025em;margin-bottom:4px}.entry-copy p{font-size:.7rem;color:#75735f}.entry-action{margin-left:auto;text-align:center;flex-shrink:0}.entry-action .button{min-width:162px}.entry-action #companyPrice{font-size:.65rem;color:#6d694f;margin-top:4px}.diorama-wrap{display:flex;flex-direction:column;min-height:0;flex:1}.board-heading{display:flex;align-items:center;gap:13px;padding:8px 18px 0;min-height:41px;flex-shrink:0}.board-heading h2{font-size:.76rem}.scene-mode{font-size:.56rem;color:#89836c;letter-spacing:.09em}.slot-count{font-size:.65rem;color:#68745b;margin-left:auto;white-space:nowrap}.board-heading .icon-button{width:28px;height:28px;border:0}.diorama-stage{height:450px;min-height:0;flex:1;width:100%}.diorama-stage canvas{display:block;max-width:100%;touch-action:pan-y}.board-dock{display:flex;align-items:center;gap:18px;min-height:66px;padding:10px 18px;border-top:1px solid #ded6c5;background:#efeadc;flex-shrink:0}.scene-hud{display:flex;align-items:center;gap:11px;min-width:0}.hud-icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid #d7caa9;border-radius:10px;background:#e6dcc4;font-size:1.45rem;flex-shrink:0}.selection-copy{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:0 10px;min-width:0}.selection-copy .eyebrow{grid-column:1/-1;font-size:.52rem;color:#8c7547}.selection-copy strong{font-size:1rem;line-height:1.25}.selection-copy #selectedHash{font-size:.7rem;color:#66755a;white-space:nowrap}.scene-instructions{margin-left:auto;color:#8a836f;font-size:.65rem;white-space:nowrap}.board-dock .button{min-height:36px;font-size:.7rem;white-space:nowrap}
.right-rail{padding:14px;display:flex;flex-direction:column;gap:12px;border-left:1px solid var(--line);background:#f0ece1;min-width:0;min-height:0}.panel{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--card);min-width:0}.section-line{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px}.section-line h2{font-size:.82rem}.reward-card{background:#304f3b;color:#f9f5e7;border-color:#304f3b}.reward-card .eyebrow{color:#cbd8bc}.live-dot{width:6px;height:6px;border-radius:50%;background:#b5d896}.reward-total{display:flex;align-items:baseline;gap:7px;margin:0 0 11px}.reward-total>strong{font-size:clamp(1.4rem,2.25vw,2rem);line-height:1.1;letter-spacing:-.035em;overflow-wrap:anywhere;min-width:0}.reward-total>span{font-size:.6rem;color:#c6d4b9;flex-shrink:0}.reward-card .button{min-height:38px;font-size:.75rem}.game-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;padding-top:10px;border-top:1px solid #59705a}.game-metrics>div{display:grid;gap:3px;min-width:0}.game-metrics span{font-size:.58rem;color:#c4d1b8}.game-metrics strong{font-size:.8rem;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.staking-launch{display:flex;align-items:center;gap:12px;width:100%;text-align:left;cursor:pointer;background:#e9e0ca;border-color:#d3c29b}.staking-emblem{font-size:2rem;line-height:1;flex-shrink:0}.staking-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.staking-copy strong{font-size:.9rem}.staking-copy>span{font-size:.65rem;color:#79724f}.staking-copy #stakeSummary{font-size:.58rem;color:#8b805f}.staking-arrow{margin-left:auto;color:#897542;font-size:1.2rem}.pool-card{margin-top:auto;background:transparent;border:0;padding:4px 3px 0}.pool-card .section-line{margin-bottom:4px}.pool-card .eyebrow{font-size:.6rem;color:#7b795e}.pool-card .icon-button{height:24px;width:24px;border:0;color:#7b795e}.pool-card>strong{display:block;font-size:1rem;letter-spacing:-.03em;color:#3a6346;overflow-wrap:anywhere}.pool-card #emissionRate{font-size:.62rem;color:var(--muted);display:block;margin-top:4px}.message:empty{display:none}.message{margin:8px 14px 0;font-size:.75rem;padding:7px 11px;border:1px solid #d9c290;border-radius:7px;color:#776031;background:#fff5db;flex-shrink:0}footer{display:flex;justify-content:space-between;align-items:center;gap:10px;height:26px;padding:0 24px;max-width:1800px;width:100%;margin:auto;color:#8a8675;font-size:.56rem;letter-spacing:.08em;flex-shrink:0}footer p{font-size:.6rem}
/* A continuous desktop board. Smaller/zoomed viewports retain natural scrolling. */
@media(min-width:900px) and (min-height:700px){body{height:100dvh;display:flex;flex-direction:column}.game{flex:1;min-height:0;margin:0 auto}.game-layout{flex:1;min-height:0}.diorama-stage{height:0;flex:1}.right-rail{overflow:auto}}
@media(min-width:900px) and (max-height:790px){.top{height:56px}.game{gap:9px;padding-block:9px}.entry-bar{padding:10px 17px;min-height:68px}.right-rail{gap:9px;padding:11px}.panel{padding:11px}.reward-total{margin-bottom:8px}.game-metrics{padding-top:8px;margin-top:9px}.board-dock{min-height:58px;padding-block:7px}.pool-card{padding:0 2px}.game-heading{min-height:33px}.game-heading h1{font-size:1.1rem}.game-status{font-size:.64rem}}
@media(min-width:1500px) and (min-height:800px){.game-layout{grid-template-columns:minmax(0,1fr) 310px}.right-rail{padding:18px;gap:16px}.panel{padding:18px}.reward-total>strong{font-size:2.15rem}.staking-launch{min-height:100px}}
@media(max-width:1100px){.top{gap:16px;padding-inline:18px}.top nav{gap:14px}.game{padding-inline:16px}.game-layout{grid-template-columns:minmax(0,1fr) 252px}.entry-emblem{font-size:1.7rem}.entry-copy h2{font-size:.95rem}.entry-action .button{min-width:135px;font-size:.73rem}.entry-copy p{font-size:.64rem}.scene-instructions{display:none}.board-dock>.button{margin-left:auto}.heading-copy{gap:12px}.game-status{max-width:220px}.local-badge{display:none}.scene-mode{font-size:.5rem}}
@media(max-width:899px){.game-layout{grid-template-columns:minmax(0,1fr)}.right-rail{border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:12px}.pool-card{padding:12px;margin:0}.diorama-stage{height:400px;flex:auto}.entry-bar{padding:13px 17px}.top nav{display:none}.game-heading{align-items:flex-start}.heading-copy{display:block}.game-status{display:block;margin-top:4px;max-width:none}.game{padding-top:12px}.board-dock{gap:12px}.top{height:60px}.pool-card>strong{font-size:1.1rem}}
@media(max-width:520px){.top{padding-inline:12px;gap:8px}.brand{font-size:.75rem}.top>#connect{min-width:0;font-size:.7rem;padding-inline:10px}.game{padding:10px}.game-heading h1{font-size:1.1rem}.heading-actions{gap:0}.text-button{font-size:.65rem;padding:5px 6px}.entry-bar{gap:9px;padding:12px}.entry-emblem{display:none}.entry-action .button{min-width:115px;min-height:40px}.entry-copy h2{font-size:.9rem}.entry-copy p{max-width:165px;font-size:.63rem}.board-heading{padding-inline:12px;gap:8px}.board-heading h2{font-size:.65rem}.scene-mode{font-size:.45rem}.diorama-stage{height:350px}.board-dock{padding:10px}.hud-icon{width:33px;height:33px;font-size:1.2rem}.selection-copy{gap:2px 5px}.selection-copy strong{font-size:.85rem}.selection-copy #selectedHash{font-size:.6rem}.board-dock .button{padding:8px;font-size:.62rem}.right-rail{gap:9px;padding:10px}.panel{padding:11px}.game-metrics{gap:7px}.staking-launch{gap:8px}.staking-emblem{font-size:1.6rem}.staking-copy strong{font-size:.76rem}.staking-arrow{display:none}.game-status{font-size:.6rem}.section-line h2{font-size:.73rem}.pool-card>strong{font-size:.9rem}}
/* Detail panels, including the keyboard alternative to the canvas. */
dialog{background:var(--card);color:var(--ink);border:1px solid #c4b99e;border-radius:18px;width:calc(100% - 32px);max-width:520px;max-height:calc(100dvh - 32px);padding:26px;overflow:auto;box-shadow:0 25px 100px #27372944}dialog::backdrop{background:#22372b70;backdrop-filter:blur(5px)}dialog h2{font-size:1.4rem;letter-spacing:-.03em}dialog p{margin:12px 0;line-height:1.7}dialog .eyebrow{margin:0 0 8px}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.dialog-head h2{margin:0}.dialog-head .icon-button{flex-shrink:0}.info-dialog{max-width:760px}.inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.inline input{flex:1;min-width:100px}.inline .button{flex:1}.address{font:12px/1.6 monospace;overflow-wrap:anywhere;color:var(--muted)}input{width:100%;min-height:44px;min-width:0;border:1px solid #c7beaa;border-radius:8px;padding:9px 12px;background:#fffdf7;color:var(--ink)}#reviewTitle{overflow-wrap:anywhere}.wallet-option{display:flex;align-items:center;gap:13px;width:100%;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f5f1e8;color:var(--ink);text-align:left}.wallet-option:hover{background:#ebe8da;border-color:#aab89b}.wallet-option>strong{font-size:.9rem;overflow-wrap:anywhere;min-width:0}.wallet-option>.wallet-arrow{margin-left:auto;color:#899578}.wallet-icon{position:relative;display:inline-grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#e9e4d6;flex-shrink:0;font-size:1.4rem;overflow:hidden}.wallet-icon img{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.wallet-icon img[hidden]{display:none!important}#walletOptions{display:grid;gap:10px;margin:15px 0}#connect .wallet-icon{height:23px;width:23px;border-radius:6px;background:transparent;font-size:1rem}.guide-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.guide-steps>div{display:grid;gap:8px;padding:15px;background:#eee9da;border-radius:12px}.guide-steps>div>span{font-size:1.8rem}.guide-steps strong{font-size:.8rem}.guide-steps p{font-size:.75rem;color:var(--muted);margin:0}details summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:800;font-size:.82rem}.odds{border-block:1px solid var(--line);margin:20px 0;padding:5px 0}.odds>div{display:grid;grid-template-columns:1fr 1fr;gap:7px 15px}.odds p{font-size:.8rem;margin:3px 0}.guide-pool,.legacy-panel{padding:14px 0;border-bottom:1px solid var(--line)}.guide-pool p,.legacy-panel p{font-size:.85rem}.contract-links{display:flex;flex-wrap:wrap;gap:15px;font-size:.7rem;color:var(--blue)}.company-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.company-card,.empty-slot{display:flex;flex-direction:column;align-items:flex-start;min-height:115px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:11px;background:#f3eee1;color:var(--ink);text-align:left}.company-card{border-top:3px solid #a79364}.company-card.common{border-top-color:#be6657}.company-card.rare{border-top-color:#618cac}.company-card.epic{border-top-color:#9c77ad}.company-card.oligarch{border-top-color:#6d9e4d}.company-card.genesis{border-top-color:#bfa25b}.company-card[aria-pressed=true]{box-shadow:0 0 0 2px #82966b;background:#e7ebdb}.tier-label{font-size:.58rem;color:var(--muted)}.company-card>strong{font-size:1.3rem;margin:6px 0}.company-hash{font-size:.8rem}.company-hash small{font-size:.55rem}.empty-slot{align-items:center;justify-content:center;border-style:dashed}.empty-slot>span{font-size:1.5rem}.empty-slot p{font-size:.72rem;margin:4px}.empty-slot>.small{font-size:.6rem}.recovery label{display:block;margin:10px 0;font-size:.8rem}
.stake-dialog{max-width:960px;width:calc(100% - 40px);max-height:90dvh;padding:0;overflow:auto;border-radius:22px}.stake-header{display:flex;align-items:flex-start;gap:30px;justify-content:space-between;padding:30px 34px 22px}.stake-header .eyebrow{font-size:.65rem;color:#8b6b32;margin-bottom:12px}.stake-header h2{font-size:1.9rem;letter-spacing:-.04em;margin-bottom:12px}.stake-header p:last-child{color:var(--muted);font-size:.875rem;margin:0}.stake-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:22px 34px;background:#ede7d9;border-block:1px solid #ded5c2}.stake-overview>div{display:grid;gap:6px}.stake-overview span{font-size:.7rem;color:#7d725e}.stake-overview strong{font-size:1.6rem;color:#354f3d}.stake-status-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 34px 0}.stake-status-row p{font-size:.8rem;color:var(--muted);margin:0}.stake-groups{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:26px 34px}.nft-group{min-width:0}.nft-group+.nft-group{border-left:1px solid var(--line);padding-left:28px}.nft-group h3{font-size:1rem}.nft-group .section-line>span{font-size:.6rem;align-self:center;color:#87703f}.nft-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.nft-token{border:1px solid #d9cbb0;background:#f7f0e1;border-radius:11px;padding:13px 8px;color:var(--ink);min-height:120px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;min-width:0;cursor:pointer}.nft-token small{font-size:.55rem;letter-spacing:.12em;color:#91743f}.nft-token strong{font-size:1.1rem;max-width:100%;overflow-wrap:anywhere}.nft-token>span{font-size:.6rem;color:#75705f}.nft-token[aria-pressed=true]{border:2px solid #3e7050;background:#e1ead8;padding:12px 7px;box-shadow:0 0 0 2px #d1dfc9}.nft-empty{border:1px dashed #d6cfbd;border-radius:12px;padding:34px 18px;text-align:center;font-size:.8rem;color:var(--muted);background:#f5f0e6}.nft-pages{display:flex;align-items:center;justify-content:space-between;margin:12px 0 20px;font-size:.7rem;color:var(--muted)}.nft-pages .text-button{min-width:40px;min-height:36px}.nft-selection{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.nft-selection label{font-size:.75rem;margin-right:auto}.nft-stepper{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fffdf8;overflow:hidden}.nft-stepper button{border:0;background:transparent;width:34px;height:38px;color:var(--ink)}.nft-stepper input{border:0;border-radius:0;width:40px;min-height:38px;padding:5px 0;text-align:center;font-size:.8rem;appearance:textfield}.nft-stepper input::-webkit-inner-spin-button{appearance:none}.nft-selection>.text-button{font-size:.7rem}.nft-group>p.small{margin:14px 0}.stake-message{margin:0 34px;color:#8a4e20;font-size:.8rem}.stake-message:empty{display:none}.stake-footnote{border-top:1px solid var(--line);margin:0;padding:20px 34px;font-size:.75rem;color:var(--muted);background:#f3eee3}.stake-dialog #manualNfts label{font-size:.75rem;display:block;margin:12px 0 8px}.stake-dialog #manualNfts input{font-size:.8rem}.stake-dialog #manualNfts .button{font-size:.75rem}.stake-dialog #manualNfts p{margin:12px 0 18px;font-size:.75rem}

@media(max-width:760px){.stake-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.stake-header{padding:22px;gap:15px}.stake-header h2{font-size:1.35rem}.stake-overview{padding:18px 22px;gap:12px}.stake-overview strong{font-size:1.1rem}.stake-status-row{padding:16px 22px 0;gap:10px}.stake-groups{padding:22px;grid-template-columns:1fr;gap:24px}.nft-group+.nft-group{padding:22px 0 0;border-left:0;border-top:1px solid var(--line)}.stake-footnote{padding:18px 22px}.stake-message{margin-inline:22px}.stake-status-row .text-button{font-size:.65rem}.guide-steps{grid-template-columns:1fr}.guide-steps>div{grid-template-columns:36px 1fr;gap:4px 9px}.guide-steps>div>span{grid-row:1/3}.guide-steps p{grid-column:2}.company-board{grid-template-columns:repeat(2,minmax(0,1fr))}}
@keyframes arrive{from{opacity:.2;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes beacon{50%{box-shadow:0 0 0 4px #b5d89625}}
@media(prefers-reduced-motion:no-preference){.game-layout{animation:arrive .18s ease-out}.scene-hud.changed{animation:arrive .18s ease-out}.button,.staking-launch{transition:background .15s,transform .15s,box-shadow .15s}.button:active{transform:translateY(1px);box-shadow:none}.staking-launch:hover{background:#e3d7b8;transform:translateY(-1px)}dialog[open]{animation:arrive .18s ease-out}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Pack purchase: a clear action with a tactile card motif and immediate feedback. */
.pack-button{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(115deg,#375b40,#243d2f);border:1px solid #66805b;border-bottom:3px solid #193625;color:#fff5d7;border-radius:12px;padding:10px 14px;box-shadow:0 4px 12px #29442526;gap:11px;min-width:182px}.pack-button::after{content:"";position:absolute;inset:-70% -40%;background:linear-gradient(105deg,transparent 43%,#fff9cf25 50%,transparent 57%);transform:translateX(-75%);pointer-events:none}.pack-button-copy{display:grid;gap:3px;text-align:left}.pack-button-copy strong{font-size:.85rem;letter-spacing:.01em}.entry-action .pack-button #companyPrice{font-size:.58rem;color:#d0d9b9;margin:0;white-space:nowrap;font-weight:400}.pack-button-icon{font-size:1.6rem;color:#e6bd71;display:inline-block;line-height:1}.pack-button-arrow{font-size:1.1rem;margin-left:5px;color:#b6c9a3}.pack-button:hover:not(:disabled){background:linear-gradient(115deg,#426c4a,#2b4734);box-shadow:0 5px 17px #28472835}.pack-glyph{position:relative;display:grid;place-items:center;transform:rotate(-8deg);width:39px;height:49px;flex-shrink:0;border:1px solid #b5a06f;border-radius:7px;background:linear-gradient(140deg,#fff3c4,#bc9551);box-shadow:4px 3px 0 #d8c89e,6px 5px 0 #96825538;color:#4c5133;perspective:600px}.pack-glyph>span{font-weight:800;font-size:1.55rem;letter-spacing:-.1em}.review-pack{display:flex;align-items:center;gap:18px;padding:8px 2px 20px;color:#8b7547;font-size:.65rem;letter-spacing:.12em}.review-pack .pack-glyph{width:45px;height:58px}.hud-icon .company-logo{width:27px;height:27px;object-fit:contain}
/* Four short steps, following the original game's guided navigation. */
#review[data-action="buyCompany"]{max-width:640px;padding:24px}.review-pack{padding-bottom:12px}#review[data-action="buyCompany"] #reviewCopy{font-size:.8rem;line-height:1.6;margin:10px 0 16px}.pack-contents-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.pack-contents-heading h3{font-size:.76rem}.pack-contents-heading>span{font-size:.52rem;letter-spacing:.1em;color:var(--muted)}.pack-catalog{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.pack-company{--company-accent:#c86659;min-width:0;display:flex;align-items:center;flex-direction:column;gap:7px;border:1px solid #d7cfbc;border-top:3px solid var(--company-accent);padding:15px 7px 11px;border-radius:11px;background:linear-gradient(140deg,#fffdf6,#eee9d9);box-shadow:0 3px 0 #ddd5c2}.pack-company.rare{--company-accent:#5887b1}.pack-company.epic{--company-accent:#9072a8}.pack-company.oligarch{--company-accent:#80a83d}.pack-company img{width:64px;height:40px;object-fit:contain;margin-bottom:3px}.pack-company>strong{font-size:.85rem;letter-spacing:-.03em}.pack-company-rarity{font-size:.53rem;color:var(--company-accent);font-weight:800;letter-spacing:.05em;text-transform:uppercase}.pack-company-hash{font-size:.73rem;font-weight:800;color:#34583d}.pack-company>small{font-size:.57rem;color:var(--muted)}#review .pack-odds-note{font-size:.6rem;line-height:1.5;color:var(--muted);margin:12px 0 0}#review[data-action="buyCompany"] .review-payment{font-size:.72rem;padding:10px 12px;margin:14px 0}#review[data-action="buyCompany"] #reviewTarget{font-size:.62rem;margin:10px 0 15px}.collection-info{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;padding:0 34px 20px}.collection-info[hidden]{display:none}.collection-market{font-size:.78rem;font-weight:800;color:#36573e}.collection-info .address{font-size:.62rem;max-width:100%}
@media(max-width:520px){#review[data-action="buyCompany"]{padding:19px}.pack-catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.pack-company{gap:5px;padding:10px 7px}.pack-company img{height:32px;margin:0}.collection-info{padding-inline:22px}}
.guide-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:5px;background:#ece8da;border-radius:11px}.guide-tabs button{display:flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:7px;padding:10px 8px;background:transparent;color:#8b866f;font-size:.6rem;min-height:40px}.guide-tabs button span{font-size:.8rem;font-weight:800}.guide-tabs [aria-selected="true"]{background:#34553d;color:#fff5db;box-shadow:0 3px 9px #273c2220}.guide-page{display:grid;grid-template-columns:220px 1fr;gap:28px;align-items:center;min-height:260px;padding:25px 0 18px}.guide-page h3{font-size:1.5rem;letter-spacing:-.04em;line-height:1.2}.guide-page p{font-size:.85rem}.guide-page .small{font-size:.73rem}.guide-page .eyebrow{font-size:.58rem}.guide-visual{height:210px;display:flex;align-items:center;justify-content:center;gap:14px;position:relative;background:radial-gradient(ellipse,#e3e7cf 0,transparent 70%)}.guide-company{display:grid;place-items:center;gap:15px;width:136px;height:174px;background:#fff9e9;border:1px solid #cfb676;border-radius:13px;box-shadow:6px 9px 0 #ddd1b6;transform:rotate(-7deg);padding:18px 10px}.guide-company img{width:94px;height:30px;object-fit:contain}.guide-company span{font-size:.52rem;color:#8f7b51;letter-spacing:.08em}.guide-company strong{font-size:.8rem}.guide-bonus{position:absolute;bottom:14px;right:2px;background:#36573e;color:#fff5dc;padding:8px;border-radius:7px;font-size:.62rem}.guide-hash-ring{display:flex;flex-direction:column;align-items:center;justify-content:center;width:150px;height:150px;border:12px solid #e3dac1;border-top-color:#b8a264;border-right-color:#647d50;border-radius:50%;box-shadow:0 6px 16px #48533012}.guide-hash-ring>span{font-size:2rem}.guide-hash-ring strong{font-size:.9rem;letter-spacing:.1em}.guide-hash-ring small{font-size:.45rem;color:#8b815f}.guide-claim>span{font-size:3rem}.guide-claim b{color:#9b895a;font-size:1.3rem}.guide-roster{display:grid;grid-template-columns:repeat(2,67px);align-content:center;gap:12px;transform:rotate(-5deg)}.guide-roster img{width:67px;height:67px;object-fit:contain;padding:15px;background:#fffaf0;border:1px solid #c5cbb2;border-radius:12px;box-shadow:3px 4px 0 #dbe0cb}.guide-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;border-top:1px solid var(--line)}.guide-navigation>span{font-size:.7rem;color:#918b70}#boardHint{display:none}
/* Confirmed Company reveal. This card never appears for pending transactions. */
.pack-reveal{--reveal-accent:#bca46b;max-width:390px;text-align:center;padding:28px 30px 22px;background:radial-gradient(circle at 50% 42%,#fffef4,#f0eadb 75%);overflow:hidden}.pack-reveal[data-tier="common"]{--reveal-accent:#c86659}.pack-reveal[data-tier="rare"]{--reveal-accent:#5887b1}.pack-reveal[data-tier="epic"]{--reveal-accent:#9072a8}.pack-reveal[data-tier="oligarch"]{--reveal-accent:#80a83d}.pack-reveal h2{font-size:1.35rem;margin-top:7px}.reveal-close{position:absolute;top:10px;right:10px;border:0}.pack-reveal>.eyebrow{font-size:.56rem;letter-spacing:.2em;color:#998458;margin-top:8px}.reveal-stage{height:262px;display:grid;place-items:center;perspective:950px;position:relative}.reveal-card{width:176px;height:225px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:13px;padding:20px;border:1px solid var(--reveal-accent);border-top:5px solid var(--reveal-accent);border-radius:16px;background:linear-gradient(145deg,#fffef6,#f0e8d3);box-shadow:7px 10px 0 #ddd4bc,0 22px 28px #5a513b20;transform-style:preserve-3d;position:relative}.reveal-rarity{text-transform:uppercase;font-size:.56rem;letter-spacing:.17em;color:var(--reveal-accent);font-weight:800}.reveal-logo{width:93px;height:66px;object-fit:contain}.reveal-card>strong{font-size:1.3rem;letter-spacing:-.04em}.reveal-card>#revealHash{font-size:.8rem;color:#58703e;font-weight:800}.reveal-seal{position:absolute;right:10px;bottom:6px;font-size:.7rem;color:#b5aa8b}.reveal-spark{position:absolute;color:var(--reveal-accent);font-size:2rem}.spark-one{left:14px;top:55px}.spark-two{right:8px;bottom:42px;font-size:2.6rem}.pack-reveal #revealSlot{margin:4px 0 15px;font-size:.7rem}.pack-reveal .reveal-note{font-size:.6rem;color:#89836f;line-height:1.5;margin:12px 0 0}
@keyframes pack-shine{to{transform:translateX(75%)}}@keyframes pack-ready{50%{transform:rotate(15deg) scale(1.14)}}@keyframes pack-review{from{transform:translateY(4px) rotate(-8deg);opacity:.4}to{transform:translateY(0) rotate(-8deg);opacity:1}}@keyframes company-reveal{from{transform:translateY(9px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes reveal-spark{0%{transform:scale(.1) rotate(-45deg);opacity:0}100%{transform:scale(1) rotate(0);opacity:1}}@keyframes slot-land{0%{transform:translateY(-12px) scale(.8);box-shadow:0 0 0 7px #b8c59570}70%{transform:translateY(2px) scale(1.06)}100%{transform:translateY(0) scale(1)}}
.reveal-pack-shell{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:27px}.reveal-pack-shell>.pack-glyph{width:137px;height:175px;border-radius:14px;border-width:2px;box-shadow:7px 8px 0 #d8c89e,11px 12px 0 #96825538}.reveal-pack-shell .pack-glyph>span{font-size:4.8rem}.reveal-pack-shell>strong{font-size:.65rem;letter-spacing:.18em;color:#8a7440}.sealed-star{position:absolute;top:31px;right:44px;font-size:2rem;color:#b39b5e}.pack-reveal[data-phase="sealed"] .reveal-card,.pack-reveal[data-phase="sealed"] .reveal-spark,.pack-reveal[data-phase="revealed"] .reveal-pack-shell{visibility:hidden}.pack-reveal[data-phase="sealed"] .reveal-note{visibility:hidden}
@keyframes sealed-open{from{transform:rotate(-8deg) scale(.96)}to{transform:rotate(0) scale(1.03)}}
@media(prefers-reduced-motion:no-preference){.pack-button:hover:not(:disabled)::after{animation:pack-shine .6s ease-out both}.review-pack:not([hidden]) .pack-glyph{animation:pack-review .18s ease-out both}.pack-reveal[open][data-motion="full"][data-phase="sealed"] .reveal-pack-shell>.pack-glyph{animation:sealed-open .3s ease-in both}.pack-reveal[open][data-motion="full"][data-phase="revealed"] .reveal-card{animation:company-reveal .35s cubic-bezier(.22,1,.36,1) both}.pack-reveal[open][data-motion="full"][data-phase="revealed"] .reveal-spark{animation:reveal-spark .2s .15s ease-out both}}
@media(min-width:900px) and (max-height:790px){.top{height:56px;margin-top:8px}.right-rail{padding:9px;gap:8px}.panel{padding:10px}.reward-card .section-line{margin-bottom:5px}.reward-total{margin-bottom:7px}.reward-total>strong{font-size:1.65rem}.reward-card .button{min-height:32px}.game-metrics{padding-top:6px;margin-top:7px;gap:8px}.staking-launch{gap:9px;padding-block:8px}.staking-emblem{font-size:1.6rem}.staking-copy{gap:1px}.staking-copy strong{font-size:.8rem}.staking-copy>span{font-size:.6rem}.pool-card{padding:0 2px}.pool-card .section-line{margin-bottom:0}.pool-card>strong{font-size:.95rem}.pool-card #emissionRate{margin-top:1px}.entry-bar{padding-block:9px}.entry-action .pack-button{min-height:52px}}
@media(max-width:1100px){.top{gap:12px;width:calc(100% - 32px);padding-inline:12px}.top .secondary-link{display:none}.nav-tools{gap:7px}.top .game-nav{gap:2px}.nav-link{padding-inline:10px}.brand{font-size:.75rem}}
@media(max-width:899px){.top{height:auto;min-height:60px;flex-wrap:wrap;padding:10px 12px;gap:10px}.top .game-nav{display:flex;margin:0 0 0 auto}.top .nav-tools{margin-left:auto}.nav-tools #connect{min-width:0}.guide-page{grid-template-columns:180px 1fr;gap:18px}.guide-visual{height:195px}}
@media(max-width:600px){.top{width:calc(100% - 20px);margin-top:8px}.top .brand{font-size:.7rem}.brand small{font-size:.38rem}.top .game-nav{order:3;width:100%;justify-content:center}.game-nav .nav-link{flex:1}.top .local-badge{display:none}.nav-tools #connect{font-size:.65rem;padding-inline:9px}.entry-action .pack-button{min-width:142px;padding:9px;gap:7px}.pack-button-copy strong{font-size:.75rem}.pack-button-icon{font-size:1.2rem}.pack-button-arrow{margin-left:0}.guide-page{grid-template-columns:1fr;gap:3px;padding-top:14px}.guide-visual{height:180px}.guide-page h3{font-size:1.25rem}.guide-tabs button{gap:5px;padding-inline:5px}.guide-tabs button span{font-size:.68rem}.guide-navigation .button{font-size:.7rem;padding-inline:10px}.guide-navigation>span{font-size:.6rem}.pack-reveal{padding-inline:22px}.reveal-stage{height:250px}}

@media(min-width:900px) and (min-height:791px) and (max-width:1499px){.right-rail{padding:12px;gap:10px}.panel{padding:12px}.pool-card{padding:4px 3px 0}}
.legacy-offer{display:inline-block;color:var(--green,#235c43);font-size:11px;font-weight:700;line-height:1.3;margin-top:3px}.legacy-offer[hidden]{display:none}.pool-card .payment-split{font-size:9px;letter-spacing:0;color:var(--muted,#656d62);margin-top:3px}.review-payment{padding:14px 16px;background:#e7eddf;border:1px solid #c9d6ba;border-radius:12px;color:#294d38;font-size:13px;line-height:1.65}.burn-total{padding-top:8px}

/* Halving information is compact on the board; the full schedule lives in the guide. */
.pool-card .halving-note{display:block;font-size:.6rem;line-height:1.5;color:#546d43;margin-top:2px;font-variant-numeric:tabular-nums}
.emission-schedule{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 12px}
.emission-schedule>div{padding:13px 15px;border:1px solid #d5d8c4;border-radius:10px;background:#edf0e2;min-width:0}
.emission-schedule dt{font-size:.72rem;color:#687558;line-height:1.5;margin-bottom:6px}
.emission-schedule dd{margin:0;font-size:.88rem;font-weight:800;line-height:1.5;color:#304f3b;overflow-wrap:anywhere}
.guide-pool #halvingCount,.guide-pool #halvingUpdated{font-size:.72rem;margin:7px 0;color:#677255}
#halvingUpdated:empty{display:none}
@media(max-width:520px){.emission-schedule{grid-template-columns:1fr;gap:9px}.pool-card .halving-note{font-size:.58rem}}

/* Keep district controls with the district, and give the three action cards room. */
.legacy-game-link{color:#3e654b;border:1px solid #cdd3bb;background:#e7ebda}
.legacy-game-link:hover{background:#dce5cd;color:#284a35}
.board-dock{flex-wrap:wrap;gap:10px 16px}
.district-controls{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-left:auto}
.district-expansion{display:flex;align-items:center;gap:8px}
.district-expansion #slotPrice{font-size:.6rem;line-height:1.4;max-width:95px;font-variant-numeric:tabular-nums}
.district-expansion #slotPrice:empty{display:none}
.district-controls .button{min-height:40px;padding:8px 11px}
.right-rail .pool-card{margin-top:0;padding:14px;border:1px solid var(--line);background:#e7ebde}
.right-rail .pool-card .payment-split{display:block;line-height:1.5;margin-top:9px;padding-top:9px;border-top:1px solid #d1d8c3}
@media(min-width:900px){
  .right-rail{display:grid;grid-template-rows:minmax(min-content,1.35fr) minmax(min-content,.7fr) minmax(min-content,1fr);gap:12px;overflow:auto}
  .right-rail .reward-card{display:flex;flex-direction:column;justify-content:center;padding:18px 16px}
  .reward-card .reward-total{margin-block:7px 15px}
  .reward-card #claim{min-height:42px}
  .reward-card .game-metrics{margin-top:17px;padding-top:13px}
  .right-rail .staking-launch{padding:18px 16px;min-height:94px}
  .staking-copy{gap:5px}
  .staking-copy strong{font-size:1rem}
  .staking-copy>span{font-size:.7rem}
  .staking-copy #stakeSummary{font-size:.64rem}
  .right-rail .pool-card{display:flex;flex-direction:column;justify-content:center;padding:16px}
  .pool-card>strong{font-size:1.12rem}
  .pool-card #emissionRate{font-size:.65rem;line-height:1.5;margin-top:7px}
  .pool-card .halving-note{font-size:.64rem}
}
@media(min-width:900px) and (max-height:790px){
  .right-rail{padding:10px;gap:10px}
  .right-rail .reward-card{padding:14px}
  .reward-card .reward-total{margin-block:2px 10px}
  .reward-card .game-metrics{margin-top:12px;padding-top:10px}
  .right-rail .staking-launch{padding:13px 14px;min-height:80px}
  .right-rail .pool-card{padding:13px 14px}
  .pool-card>strong{font-size:1rem}
}
@media(max-width:1280px){
  .scene-instructions{display:none}
  .district-expansion{flex-direction:column;align-items:center;gap:2px}
  .district-expansion #slotPrice{max-width:none;font-size:.55rem;text-align:center}
}
@media(max-width:899px){
  .right-rail .pool-card{grid-column:1/-1}
}
@media(max-width:600px){
  .board-dock{gap:12px}
  .district-controls{width:100%;justify-content:flex-start;margin-left:0}
  .district-controls .button{font-size:.65rem;min-height:42px}
  .district-expansion{flex-direction:row;gap:8px}
  .district-expansion #slotPrice{max-width:90px;text-align:left;font-size:.58rem}
  .game-nav .legacy-game-link{font-size:.65rem}
}

.fdv-pricing{font-size:.68rem;color:var(--muted);line-height:1.5;flex-shrink:0}.fdv-pricing .section-line{margin-bottom:8px}.fdv-pricing .section-line h2{font-size:.6rem;letter-spacing:.1em;color:var(--muted)}.fdv-pricing strong{display:block;color:#304f3b;font-size:.8rem;line-height:1.45;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.fdv-pricing p{margin:7px 0 0}.fdv-pricing strong[data-status="stale"]{color:#8d4a2f}

.fdv-fee-table{width:100%;margin-top:12px;border-collapse:collapse;font-size:.66rem;font-variant-numeric:tabular-nums}.fdv-fee-table th,.fdv-fee-table td{padding:6px 5px;line-height:1.4;text-align:left}.fdv-fee-table thead th{padding-top:0;padding-bottom:7px;border-bottom:1px solid var(--line);font-size:.57rem;font-weight:400;color:var(--muted)}.fdv-fee-table th:last-child,.fdv-fee-table td{text-align:right}.fdv-fee-table tbody th{font-weight:400;white-space:nowrap}.fdv-fee-table tbody td{color:var(--ink);overflow-wrap:anywhere}.fdv-fee-table tr[data-current="true"]{background:#e9efdf}.fdv-fee-table tr[data-current="true"] th,.fdv-fee-table tr[data-current="true"] td{color:#304f3b;font-weight:800}.fdv-pricing .fdv-fee-note{padding-top:9px;border-top:1px solid var(--line);font-size:.63rem}.fdv-pricing .fdv-legacy-note{font-size:.6rem;margin-top:5px}@media(max-width:899px){.right-rail>.reward-card{order:0}.right-rail>.staking-launch{order:1}.right-rail>.fdv-pricing{order:2;grid-column:1/-1}.right-rail>.pool-card{order:3;grid-column:1/-1}.fdv-fee-table{font-size:.72rem}.fdv-fee-table thead th{font-size:.63rem}}

.referral-dialog{max-width:560px}.referral-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:15px;background:#eee9da;border-radius:11px;margin:20px 0 14px}.referral-stats>div{min-width:0;display:grid;gap:6px}.referral-stats span{font-size:.65rem;color:var(--muted)}.referral-stats strong{font-size:1rem;color:var(--green);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}#referralShare>label{display:block;font-size:.75rem;margin-bottom:8px}#referralLink{font-size:.72rem}.referral-choice,.review-referral{border-top:1px solid var(--line);padding-top:15px;margin-top:18px}.referral-choice>h3{font-size:.82rem}.review-referral p{font-size:.76rem;overflow-wrap:anywhere}.review-referral .text-button{font-size:.7rem}.entry-referral{font-size:.6rem;text-align:left;padding:0;margin-top:5px;display:block}.entry-referral[hidden]{display:none}.referral-dialog .inline .button{flex:0 0 auto}

#referralClaimStatus:empty{display:none}#referralShare{margin-top:18px}.review-payment{overflow-wrap:anywhere}@media(max-width:430px){.referral-stats{gap:9px;padding:12px}.referral-stats strong{font-size:.86rem}.referral-stats span{font-size:.59rem}}

/* Compact economy cards keep the pool and game burns together above the district. */
.game-economy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;flex-shrink:0;min-width:0}
.game-economy>.panel{margin:0;padding:11px 16px;border:1px solid #cbd4bc;border-radius:13px;box-shadow:0 3px 12px #35462c05}
.pool-banner{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;background:#e9edde}
.pool-banner .pool-summary,.pool-banner .pool-schedule{min-width:0}
.game-economy .section-line{min-height:28px;margin:0 0 3px;gap:8px}
.pool-banner .section-line{justify-content:flex-start}
.game-economy .eyebrow{font-size:.62rem;color:#536546;letter-spacing:.1em}
.pool-banner .icon-button{height:28px;width:28px;color:#536546}
.pool-banner .pool-value,.burn-card .burn-value{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 12px;min-width:0}
.pool-banner #budget,.burn-card #burnAmount{font-size:clamp(1rem,1.45vw,1.3rem);line-height:1.4;letter-spacing:-.035em;color:#304f3b;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.pool-banner .pool-usd,.burn-card .burn-usd{color:#54654b;font-size:.74rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.pool-banner .pool-schedule{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 12px;text-align:left}
.pool-banner #emissionRate{margin:0;font-size:.65rem;color:#536546;line-height:1.5}
.pool-banner .halving-note{margin:0;font-size:.62rem;line-height:1.5;color:#546d43}
.pool-banner .payment-split{display:block;flex-basis:100%;margin:2px 0 0;font-size:.58rem;line-height:1.5;color:#6b725c}
.burn-card{display:flex;flex-direction:column;justify-content:flex-start;background:#f4f1e7}
.burn-card .burn-source{font-size:.6rem;color:#717362;text-align:right}
.burn-card .burn-share{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 7px;margin-top:auto;padding-top:9px;font-size:.68rem;color:#6b725c;font-variant-numeric:tabular-nums}
.burn-card .burn-share strong{font-size:.85rem;color:#42684c}
@media(max-width:899px){.game-economy{gap:10px}.game-economy>.panel{padding:11px 13px}.pool-banner .pool-usd,.burn-card .burn-usd{font-size:.7rem}}
@media(max-width:700px){.game-economy{grid-template-columns:minmax(0,1fr)}.pool-banner .pool-value,.burn-card .burn-value{gap:3px 10px}.pool-banner .icon-button{width:32px;height:32px}.pool-banner #budget,.burn-card #burnAmount{font-size:1.08rem}.burn-card .burn-share{padding-top:6px}.burn-card .section-line{min-height:24px}}


/* Calm, readable action surfaces. Keep the district and economy compact. */
:root{--muted:#636958;--line:#d6d3c7;--surface-shadow:0 3px 14px #35462c06}
.top{border-color:#d7d3c7;box-shadow:var(--surface-shadow)}
.game-layout{border-color:#d3cdbf;box-shadow:0 8px 28px #35462c08}
.panel{border-radius:13px;box-shadow:var(--surface-shadow)}
.entry-bar{background:#f0ebdf;border-bottom-color:#ddd6c6}
.entry-copy p{font-size:.75rem;line-height:1.6;color:#626750}
.entry-action .pack-button #companyPrice{font-size:.72rem;line-height:1.5}
.game-status,.slot-count{font-size:.75rem;color:#626a56}
.board-heading h2{font-size:.8rem}.scene-mode{font-size:.65rem;letter-spacing:.05em}
.game-economy .eyebrow,.fdv-pricing .section-line h2{font-size:.69rem;letter-spacing:.07em}
.pool-banner #emissionRate,.pool-banner .halving-note,.pool-banner .payment-split,.burn-card .burn-source{font-size:.7rem;line-height:1.55}
.pool-banner .pool-schedule{gap:3px 12px}.pool-banner .payment-split{color:#636b56}
.game-metrics span,.reward-total>span{font-size:.7rem}.game-metrics strong{font-size:.86rem}
.staking-copy>span,.staking-copy #stakeSummary{font-size:.72rem;line-height:1.5}
.selection-copy .eyebrow{font-size:.65rem;letter-spacing:.07em}
.selection-copy #selectedHash,.district-expansion #slotPrice{font-size:.72rem;line-height:1.5}
.fdv-fee-table{font-size:.73rem}.fdv-fee-table thead th{font-size:.67rem}
.fdv-pricing strong{font-size:.86rem}.fdv-pricing .fdv-fee-note,.fdv-pricing .fdv-legacy-note{font-size:.72rem;line-height:1.6}
.fdv-details{margin-top:7px;border-top:1px solid var(--line)}
.fdv-details>summary{display:list-item;min-height:36px;padding:9px 0;font-size:.72rem;font-weight:400;color:#42684c}
.fdv-details p{margin:0 0 4px;font-size:.72rem;line-height:1.65}
.nav-link,.nav-tools #connect,.text-button,.district-controls .button{min-height:42px}
.icon-button,.board-heading .icon-button,.pool-banner .icon-button{min-width:36px;min-height:36px}
.board-heading .icon-button{margin-block:2px}.reward-card .button{min-height:42px}
.pack-contents-heading>span,.pack-company-rarity,.pack-company>small,#review .pack-odds-note,#review[data-action="buyCompany"] #reviewTarget{font-size:.7rem;letter-spacing:0;line-height:1.6}
.pack-company{gap:8px;box-shadow:0 2px 7px #35462c08}.pack-company-hash{font-size:.8rem}
.pack-reveal .reveal-note,.pack-reveal #revealSlot{font-size:.75rem}.reveal-rarity{font-size:.68rem}
.reward-total>strong,.pool-value,.burn-value,.game-metrics strong,.fdv-fee-table{font-variant-numeric:tabular-nums}
.pool-value,.burn-value{min-height:29px}.reward-total{min-height:36px}
.transaction-status{display:grid;grid-template-columns:minmax(0,1fr) 128px;column-gap:16px;flex-shrink:0;min-width:0;min-height:122px;margin:10px 14px 0;padding:11px 14px;border:1px solid #cdd7c2;border-radius:12px;background:#f2f5ed;box-shadow:var(--surface-shadow);color:#304f3b}
.transaction-heading{grid-column:1/-1;display:flex;align-items:center;gap:8px;min-height:36px}
.transaction-heading>strong{font-size:.82rem;line-height:1.5;min-width:0;overflow-wrap:anywhere}
.transaction-heading>.icon-button{margin-left:auto;border:0;min-width:30px;min-height:30px;width:30px;height:30px}
.transaction-indicator{width:7px;height:7px;background:#9b854e;border-radius:50%;flex-shrink:0}
.transaction-status[data-tone="success"] .transaction-indicator{background:#42684c}
.transaction-status[data-tone="error"]{background:#fff7ec;border-color:#e0c8a5;color:#795334}
.transaction-status[data-tone="error"] .transaction-indicator{background:#a56843}
#transactionDetail{grid-column:1/-1;font-size:.75rem;line-height:1.6;min-height:3.2em;margin:2px 0 10px;color:#626b58;overflow-wrap:anywhere}
.transaction-steps{align-self:center;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0;padding:0;list-style:none;font-size:.68rem;line-height:1.5}
.transaction-steps>li{min-width:0;padding-top:5px;border-top:2px solid #d6ddce;color:#6c7463}
.transaction-steps>[data-state="active"]{border-top-color:#aa8c4f;color:#3d553e;font-weight:800}
.transaction-steps>[data-state="complete"]{border-top-color:#64815d;color:#42684c}
.transaction-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;min-width:128px;min-height:36px}
.transaction-actions .text-button{display:inline-flex;align-items:center;min-height:36px;font-size:.73rem;padding:5px 0}
@media(prefers-reduced-motion:no-preference){
  .button,.icon-button,.nav-link,.text-button,.wallet-option,.company-card,.guide-tabs button,.staking-launch{transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease,transform .18s ease}
  .transaction-steps>li{transition:color .18s ease,border-color .18s ease}
  .transaction-status{animation:arrive .18s ease-out}
}
@media(min-width:900px){.right-rail{grid-template-rows:auto auto auto;align-content:start}.right-rail .reward-card{padding:16px}.right-rail .staking-launch{min-height:88px;padding:15px}.fdv-fee-table th,.fdv-fee-table td{padding-block:7px}}
@media(max-width:899px){.transaction-status{margin-inline:12px}.entry-copy h2{line-height:1.4}.pack-contents-heading{align-items:flex-start}.pack-contents-heading>span{text-align:right}.top .nav-link{font-size:.73rem;padding-inline:9px}}
@media(max-width:600px){
  .top .brand{font-size:.73rem}.brand small{font-size:.46rem;letter-spacing:.1em}.nav-tools #connect{font-size:.72rem;min-height:42px}
  .top .game-nav{gap:4px}.game-nav .legacy-game-link{font-size:.72rem}.entry-copy p{font-size:.72rem}.entry-action .pack-button{min-width:128px;padding:9px 10px}.pack-button-arrow{display:none}
  .entry-action .pack-button #companyPrice{font-size:.66rem}.entry-action{max-width:52%}.entry-action .button{min-width:0}.entry-copy{flex:1}
  .game-heading{gap:8px}.game-heading h1{font-size:1.06rem}.game-status{font-size:.71rem;line-height:1.6}.heading-actions .text-button{font-size:.71rem;padding-inline:4px}
  .district-controls .button{min-height:44px;font-size:.73rem}.district-expansion #slotPrice{font-size:.7rem;max-width:104px}.selection-copy #selectedHash{font-size:.72rem}
  .right-rail{gap:10px}.right-rail>.reward-card,.right-rail>.staking-launch{grid-column:1/-1}.staking-copy strong{font-size:.92rem}
  .transaction-status{grid-template-columns:minmax(0,1fr);margin-inline:10px;padding:10px 11px;min-height:122px}.transaction-heading>strong{font-size:.78rem}.transaction-steps{gap:5px;font-size:.64rem}
  #transactionDetail{min-height:4.8em}.transaction-actions{justify-content:flex-start}.transaction-status .icon-button{min-width:36px;min-height:36px}.pool-banner .pool-value,.burn-card .burn-value{gap:3px 9px}
}

/* A transaction must not squeeze the interactive district out of a short screen. */
@media(min-width:900px) and (min-height:700px) and (max-height:900px){
  body:has(#transactionStatus:not([hidden])){height:auto;min-height:100dvh}
  body:has(#transactionStatus:not([hidden])) .game{flex:1 0 auto}
  body:has(#transactionStatus:not([hidden])) .game-layout{flex:none}
  body:has(#transactionStatus:not([hidden])) .diorama-stage{height:220px;min-height:220px;flex:1}
}

/* NFT staking stays beside the first game actions on every screen. */
.staking-banner{flex-shrink:0;min-height:54px;margin:0;padding:8px 14px;gap:12px;background:#e7ebdd;border-color:#b9c7aa;box-shadow:var(--surface-shadow)}
.staking-banner .staking-emblem{display:grid;place-items:center;width:32px;height:32px;font-size:1.25rem;border:1px solid #d6c59e;border-radius:9px;background:#efe5cf}
.staking-banner .staking-copy{display:flex;flex:1;flex-direction:row;align-items:center;flex-wrap:wrap;gap:3px 14px}
.staking-banner .staking-copy strong{font-size:.84rem;line-height:1.5;color:#304f3b}
.staking-banner #nftBenefit{font-size:.76rem;font-weight:800;color:#42684c;line-height:1.5}
.staking-banner #stakeSummary{margin-left:auto;font-size:.72rem;line-height:1.5;color:#59664e}
.staking-cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;flex-shrink:0;min-height:36px;padding:7px 12px;border:1px solid #304f3b;border-radius:8px;background:#304f3b;color:#fff8e8;font-size:.74rem;font-weight:800;white-space:nowrap}
.staking-banner:hover{background:#dfe7d3;border-color:#9caf88}
@media(max-width:700px){
  .staking-banner{padding:10px 12px;gap:10px;min-height:76px}
  .staking-banner .staking-copy{flex-direction:column;align-items:flex-start;gap:1px}
  .staking-banner #stakeSummary{margin-left:0;font-size:.68rem}
  .staking-banner .staking-copy strong{font-size:.8rem}
  .staking-banner #nftBenefit{font-size:.72rem}
  .staking-cta{gap:7px;min-height:40px;padding:8px 10px;font-size:.72rem}
}
@media(max-width:420px){.staking-banner .staking-emblem{display:none}.staking-banner{gap:8px}.staking-cta{padding-inline:9px;gap:5px}}

/* The staking strip must not compress the district on short desktop screens. */
@media(min-width:900px) and (min-height:700px) and (max-height:790px){
  body:has(.staking-banner){height:auto;min-height:100dvh}
  body:has(.staking-banner) .game{flex:1 0 auto}
  body:has(.staking-banner) .game-layout{flex:none}
  body:has(.staking-banner) .diorama-stage{height:220px;min-height:220px;flex:1}
}

/* Guided game entry from the NFT vault. */
.stake-entry-dialog{max-width:500px;padding:28px}.stake-entry-dialog .dialog-head{margin-bottom:14px}.stake-entry-dialog .eyebrow{color:#826632;font-size:.63rem;letter-spacing:.12em}.stake-entry-dialog h2{font-size:1.55rem;line-height:1.2}.stake-entry-dialog .stake-entry-lead{font-size:.85rem;line-height:1.65;color:var(--muted);margin:0 0 20px}.stake-entry-fee{display:grid;gap:9px;padding:20px;border:1px solid #cbd6be;border-radius:14px;background:#eaf0e2}.stake-entry-fee>span{font-size:.72rem;color:#52634b;line-height:1.5}.stake-entry-fee>strong{font-size:1.6rem;letter-spacing:-.045em;color:#304f3b;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.stake-entry-fee>p{border-top:1px solid #cbd6be;padding-top:11px;margin:3px 0 0;font-size:.73rem;color:#52634b;overflow-wrap:anywhere}.stake-entry-steps{list-style:none;padding:0;margin:22px 0;display:grid;gap:17px}.stake-entry-steps li{display:flex;align-items:flex-start;gap:12px}.stake-entry-steps li>span{display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;background:#eee5d1;border:1px solid #dccba8;border-radius:50%;color:#775d2a;font-size:.7rem;font-weight:800}.stake-entry-steps strong{font-size:.81rem}.stake-entry-steps p{font-size:.76rem;line-height:1.55;color:var(--muted);margin:4px 0 0}.stake-entry-dialog .stake-entry-status{font-size:.73rem;line-height:1.6;margin:16px 0 14px;color:var(--muted)}.stake-entry-dialog .stake-entry-error{font-size:.76rem;line-height:1.6;color:#854325;margin:0 0 14px}.stake-entry-error:empty{display:none}.stake-entry-back{display:block;width:100%;min-height:44px;margin-top:6px;font-size:.76rem}.stake-entry-dialog .stake-entry-footnote{margin:12px 0 0;font-size:.67rem;line-height:1.6;color:var(--muted)}@media(max-width:430px){.stake-entry-dialog{padding:21px}.stake-entry-dialog h2{font-size:1.35rem}.stake-entry-fee{padding:16px}.stake-entry-fee>strong{font-size:1.4rem}}
