:root{--bg:#10161c;--paper:#e8d8b0;--ink:#3a2a18;--bevel-light:#f4e8c8;--bevel-dark:#c8b488;--card:#f4ead0;--card-hover:#fbf4e2;--rule:#b09a70;--rust:#8a3a20;--owned:#6a5a40;--stamp:#2a6a3a;--stamp-border:#1a4a2a;--money:#2a6a3a;--danger:#8a3434;--head:"Silkscreen", monospace;--body:"Jersey 10", monospace}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);font:20px/1.1 var(--body);margin:0}body{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr) 340px;height:100vh;display:grid}#game{grid-area:1/1;min-height:0;overflow:hidden}#game canvas,.ico{image-rendering:pixelated}.ico{vertical-align:middle;flex:none}#ui{display:contents}.title-mode .side,.title-mode .basket{display:none}.title-mode #game{grid-area:1/1/-1/-1}.layout-sideways{touch-action:manipulation;grid-template-rows:100%;grid-template-columns:100%;height:100dvh}.layout-sideways .side,.layout-sideways .basket{display:none}.layout-sideways #game{grid-area:1/1}.rotate{display:none}.layout-upright .rotate{z-index:20;text-align:center;font:22px/1.4 var(--head);color:var(--paper);background:var(--bg);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.side,.basket,.phone-top,.phone-menu,.menu-head{background:var(--paper);border:3px solid var(--ink);box-shadow:inset 3px 3px 0 var(--bevel-light), inset -3px -3px 0 var(--bevel-dark)}.side{overflow-wrap:anywhere;grid-area:1/2/span 2;padding:12px;overflow-y:auto}.money{font:28px/1 var(--head);color:var(--money);font-variant-numeric:tabular-nums;z-index:1;background:var(--paper);border-bottom:2px dashed var(--rule);box-shadow:0 -3px 0 var(--bevel-light);align-items:center;gap:8px;margin:-9px -9px 0;padding:9px 9px 8px;display:flex;position:sticky;top:-9px}section{margin-top:14px}h2{font:14px/1 var(--head);color:var(--rust);border-bottom:2px dashed var(--rule);align-items:center;gap:6px;margin:0 0 8px;padding-bottom:4px;display:flex}p{margin:4px 0}.label,.stats{color:var(--owned);font-size:17px}.row{flex-wrap:wrap;gap:6px;display:flex}button{font:inherit;color:var(--ink);background:var(--card);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--rule);cursor:pointer;text-align:left;border-radius:0;align-items:center;gap:6px;margin:3px 0;padding:4px 8px;display:inline-flex}button:hover:not(:disabled){background:var(--card-hover)}button:active:not(:disabled){box-shadow:none;transform:translate(1px,1px)}button:focus-visible,.owned:focus-visible{outline:2px solid var(--rust);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}button[aria-pressed=true],button[aria-pressed=true]:hover,button[aria-expanded=true]{background:var(--ink);color:var(--paper);box-shadow:none}button.wide,.side section>div>button:not(.row button){width:100%;display:flex}button.danger,button.danger:hover:not(:disabled){background:var(--danger);color:#fff}button small,.owned small{color:var(--owned);font-size:16px;display:block}button[aria-pressed=true] small{color:var(--bevel-dark)}button b{font:13px/1 var(--head);color:var(--rust);white-space:nowrap;margin-left:auto}button.danger b,button[aria-pressed=true] b{color:inherit}.txt{flex:1;min-width:0}.owned{border:2px dashed var(--owned);color:var(--owned);align-items:center;gap:6px;margin:3px 0;padding:4px 8px;display:flex}.owned>span:first-of-type{flex:1;min-width:0}.stamp{font:11px/1 var(--head);color:#fff;background:var(--stamp);border:2px solid var(--stamp-border);white-space:nowrap;padding:3px 4px;transform:rotate(-6deg)}.bar{background:var(--card);border:2px solid var(--ink);height:10px;margin-top:4px}.bar span{background:var(--rust);height:100%;display:block}.bar.paused span{background:repeating-linear-gradient(45deg, var(--rule) 0 3px, var(--card) 3px 6px)}.basket{grid-area:2/1;align-items:flex-start;gap:10px;padding:8px 10px;display:flex;position:relative}[data-sec=basketHead]{border-right:2px dashed var(--rule);align-self:stretch;padding-right:10px}[data-sec=basketHead]>button{height:32px;margin:0 0 6px;display:flex}[data-sec=basketHead]>[data-action=sell],[data-sec=basketHead]>[data-action=sell]:hover:not(:disabled){font-family:var(--head);background:var(--money);color:#fff;border-color:var(--stamp-border);box-shadow:3px 3px 0 var(--stamp-border)}[data-sec=basketHead]>[data-action=sell]:hover:not(:disabled){filter:brightness(1.15)}[data-sec=basketHead]>[data-action=sell]:active:not(:disabled){box-shadow:none}[data-sec=basketHead]>[data-action=sell] b{color:inherit}.items{flex-wrap:wrap;flex:1;align-content:flex-start;gap:6px;height:112px;margin:0;padding:0 4px 4px 0;list-style:none;display:flex;overflow-y:auto}.items button{height:32px;margin:0}.ct{font:12px/1 var(--head)}.stack-list{z-index:1;background:var(--paper);border:3px solid var(--ink);outline:2px dashed var(--rule);outline-offset:-7px;width:min(360px,100% - 20px);max-height:240px;padding:6px;position:absolute;bottom:100%;left:10px;overflow-y:auto}.stack-list:empty{display:none}.row-catch{align-items:center;gap:6px;padding:2px 4px;display:flex}.row-catch>span{flex:1}.row-catch b{font:12px/1 var(--head);color:var(--rust)}.row-catch button.x{box-shadow:none;margin:0;padding:1px 3px}.phone-top,.phone-menu,.menu-head{display:none}.phone-top .money,.menu-head .money{box-shadow:none;background:0 0;border:0;margin:0;padding:0;position:static}.phone-menu{min-height:44px;font-family:var(--head);justify-content:center;margin:0}.layout-sideways:not(.title-mode) .phone-top{padding:8px 12px;display:block;position:fixed;bottom:8px;left:8px}.layout-sideways .phone-top .money{font-size:22px}.layout-sideways:not(.title-mode) .phone-menu{padding:8px 14px;font-size:18px;display:flex;position:fixed;bottom:8px;right:8px}.layout-sideways.menu-open:not(.title-mode) #ui{z-index:10;background:var(--paper);flex-direction:column;display:flex;position:fixed;inset:0}.layout-sideways.menu-open:not(.title-mode) :is(.phone-top,.phone-menu){display:none}.layout-sideways.menu-open:not(.title-mode) .menu-head{flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.menu-head .money{flex:1}.menu-head button{margin:0}.layout-sideways.menu-open:not(.title-mode) #ui button{min-height:44px}.layout-sideways.menu-open:not(.title-mode) .row-catch button.x{justify-content:center;min-width:44px}.menu-head .tabs{flex-wrap:wrap;flex-basis:100%;gap:4px 6px;display:flex}.layout-sideways.menu-open:not(.title-mode) .side{flex:1;min-height:0;display:block}.layout-sideways.menu-open:not(.title-mode) .side>.money,.layout-sideways.menu-open:not(.title-mode) .side section:not(.on){display:none}.layout-sideways.menu-open:not(.title-mode) .side section.on{margin-top:0}.layout-sideways.menu-open:not(.title-mode) #ui[data-tab=basket] .side{display:none}.layout-sideways.menu-open:not(.title-mode) #ui[data-tab=basket] .basket{flex-wrap:wrap;flex:1;align-content:flex-start;min-height:0;display:flex;overflow-y:auto}.layout-sideways.menu-open:not(.title-mode) [data-sec=basketHead]{border-right:0;border-bottom:2px dashed var(--rule);flex-basis:100%;padding:0 0 6px}.layout-sideways.menu-open:not(.title-mode) .items{flex-basis:100%;height:auto}.layout-sideways.menu-open:not(.title-mode) .stack-list{flex-basis:100%;width:auto;max-height:none;position:static}
