#shop .shop-h { flex: none; display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin: .7rem .2rem .1rem; font: 600 max(11px, 1.2rem) var(--serif); letter-spacing: .1em; color: var(--brass); }
#shop .shop-h:first-child { margin-top: .1rem; }
#shop .shop-h small { font: 400 max(10px, 1.05rem) var(--sans); letter-spacing: 0; color: var(--ink3); text-align: right; }
#shop .shop-list .shop-none { padding: 1.2rem 0; }
.win .row .shop-mods { display: flex; flex-wrap: wrap; gap: 0 1.4rem; font-size: max(10px, 1.1rem); line-height: 1.35; color: #a9bdea; white-space: normal; }
.shop-mods span b { font-weight: 600; color: #d6e2ff; overflow: visible; }
body.touch #shop .shop-h small { display: none; }
body.touch #shop .shop-h { margin: .5rem .2rem 0; }
.tw-ic { width: 2.2rem; height: 2.2rem; flex: none; color: var(--brass-hi); }
.r1c { color: #8fb0ff; } .r2c { color: #f2d463; } .r3c { color: #e8853c; }
:is(#parcels, #bench, #npcmenu, #cairns) .bad, :is(#parcels, #bench, #npcmenu, #cairns) .bad b { color: #ff5a4a; }
:is(#parcels, #bench) h5 { flex: none; margin: 0 0 .4rem; font: 600 max(11px, 1.2rem) var(--serif); letter-spacing: .1em; color: var(--brass); }
#npcmenu { left: 50%; top: 14rem; transform: translateX(-50%); width: 44rem; max-width: calc(100vw - 1.6rem); }
#npcmenu .list { display: flex; flex-direction: column; gap: .6rem; }
.win .row.nm-row { justify-content: flex-start; gap: 1.2rem; min-height: 5.4rem; }
.win .row.nm-row b { font: 600 max(13px, 1.5rem)/1.3 var(--sans); white-space: normal; overflow: visible; }
.nm-ic { flex: none; display: grid; place-items: center; width: 3.4rem; height: 3.4rem; }
.nm-ic .tw-ic { width: 2.8rem; height: 2.8rem; }
body.touch #npcmenu { top: calc(3rem + var(--sat)); width: 46rem; }
#parcels { left: 50%; top: 9rem; transform: translateX(-50%); width: 86rem; max-width: calc(100vw - 1.6rem); max-height: calc(100vh - 11rem); }
.pc-say { flex: none; display: flex; align-items: center; gap: .9rem; margin: 0 .2rem 1rem !important; font-size: max(11px, 1.25rem); line-height: 1.45; color: var(--ink2); }
.pc-ic { flex: none; display: grid; place-items: center; }
.pc-body { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 30rem; gap: 1.4rem; }
.pc-shelf { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); grid-auto-rows: min-content; gap: .8rem; align-content: start; padding: 1rem; border: 0 solid transparent; border-image: url(../assets/ui/dark/inset.png) 16 fill / .8rem; }
.win .row.pc-cell { flex-direction: column; justify-content: flex-start; align-items: center; gap: .3rem; width: auto; min-height: 0; padding: .8rem .3rem .6rem; cursor: pointer; }
.win .row.pc-cell.sel { border-image-source: url(../assets/ui/dark/row_on.png); }
.win .row.pc-cell.sold { opacity: .5; cursor: default; }
.win .row.pc-cell small { flex: none; max-width: 100%; font: 600 max(10px, 1.15rem)/1.25 var(--sans); color: var(--ink2); text-align: center; white-space: normal; overflow-wrap: break-word; text-wrap: balance; }
.pc-cell em { margin-top: auto; display: flex; align-items: center; gap: .3rem; font: 700 max(12px, 1.35rem)/1 var(--serif); font-style: normal; color: var(--r2); font-variant-numeric: tabular-nums; }
.pc-cell em.pc-gone { font: 400 max(10px, 1.1rem)/1 var(--sans); color: var(--ink3); min-height: 1.8rem; }
.cell.pc-wrap { width: 7rem; height: 7rem; pointer-events: none; overflow: hidden; }
.pc-wrap > :not(.pc-tie) { filter: brightness(.62) sepia(.55) saturate(.8); }
.pc-wrap .pc-tie { position: absolute; inset: 0; z-index: 2; pointer-events: none;
background: linear-gradient(90deg, transparent 44%, #7a2f22 44%, #b4533a 50%, #7a2f22 56%, transparent 56%), linear-gradient(0deg, transparent 44%, #7a2f22 44%, #b4533a 50%, #7a2f22 56%, transparent 56%), radial-gradient(circle at 50% 50%, rgba(214,176,112,.22), rgba(60,40,22,.5));
box-shadow: inset 0 0 .8rem rgba(0,0,0,.7); }
.pc-wrap .pc-tie::after { content: '?'; position: absolute; left: 50%; top: 50%; width: 2.2rem; height: 2.2rem; margin: -1.1rem 0 0 -1.1rem; display: grid; place-items: center; border-radius: 50%; background: #d8b871; color: #2a1a08; font: 800 max(11px, 1.5rem)/1 var(--serif); box-shadow: 0 .1rem .3rem #000; }
.pc-wrap.empty { opacity: .5; }
.pc-side { min-width: 0; display: flex; flex-direction: column; gap: 1rem; overflow-y: auto; scrollbar-width: thin; scrollbar-color: var(--brass) #090807; }
.pc-hint { padding: 1.6rem .4rem; text-align: center; }
.pc-pick { display: flex; align-items: center; gap: 1rem; padding: .6rem .8rem; border: 0 solid transparent; border-image: url(../assets/ui/dark/inset.png) 16 fill / .8rem; }
.pc-pick > .cell { flex: none; width: 5.4rem; height: 5.4rem; pointer-events: none; }
.pc-pick > .cell.pc-wrap { width: 5.4rem; height: 5.4rem; }
.pc-nm { min-width: 0; display: flex; flex-direction: column; gap: .1rem; text-align: left; }
.pc-nm > b { font: 600 max(12px, 1.45rem)/1.3 var(--sans); color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pc-nm small { font: 400 max(10px, 1.1rem)/1.35 var(--sans); color: var(--ink3); }
.pc-nm small b { font-weight: 600; color: var(--ink2); }
.pc-nm .shop-req { display: flex; flex-wrap: wrap; gap: 0 .8rem; }
.win button.pc-buy { display: flex; align-items: center; justify-content: center; gap: .6rem; min-height: 4.4rem; }
.pc-buy b { font: 700 max(13px, 1.5rem) var(--serif); }
.pc-buy i { font-style: normal; font-size: max(10px, 1.15rem); }
.pc-got { display: flex; flex-direction: column; gap: .4rem; }
.pc-got > small { font-size: max(10px, 1.1rem); line-height: 1.4; color: var(--ink3); }
.pc-got.fine h5 { color: #ffd76a; text-shadow: 0 0 1rem rgba(255,200,90,.7); }
.pc-got.fine .pc-pick { box-shadow: 0 0 1.4rem rgba(255,200,90,.45); }
.pc-got .pc-pick { cursor: help; }
.pc-odds { margin-top: auto; padding: .8rem 1rem; border: 0 solid transparent; border-image: url(../assets/ui/dark/inset.png) 16 fill / .8rem; }
.pc-odds p { display: flex; justify-content: space-between; gap: 1rem; font-size: max(11px, 1.25rem); line-height: 1.6; }
.pc-odds p b { font-variant-numeric: tabular-nums; color: var(--ink); }
.pc-odds small { display: block; margin-top: .4rem; font-size: max(9px, 1.05rem); line-height: 1.4; color: var(--ink3); }
#parcels footer { gap: 1.2rem; }
#parcels footer .pc-note { flex: 1; text-align: center; }
#parcels footer .pc-note b { font: 600 max(10px, 1.15rem) var(--sans); color: var(--ink2); }
.win button.pc-restock { display: flex; align-items: center; gap: .5rem; }
.win button.pc-restock b { font: 700 max(12px, 1.4rem) var(--serif); color: var(--r2); }
.win button.pc-restock.armed b { color: inherit; }
body.touch #parcels { top: calc(.6rem + var(--sat)); bottom: calc(.6rem + var(--sab)); width: 82rem; max-height: none; }
body.touch .pc-say { display: none; }
body.touch .pc-body { grid-template-columns: minmax(0, 1fr) 27rem; gap: .9rem; }
body.touch .pc-shelf { gap: .5rem; padding: .6rem; }
body.touch .win .row.pc-cell { padding: .5rem .1rem .4rem; gap: .1rem; }
body.touch .win .row.pc-cell small { font-size: max(9px, 1.05rem); }
body.touch .cell.pc-wrap { width: 4.6rem; height: 4.6rem; }
body.touch .pc-pick > .cell, body.touch .pc-pick > .cell.pc-wrap { width: 4.4rem; height: 4.4rem; }
body.touch .pc-side { gap: .6rem; }
body.touch .pc-odds small, body.touch #parcels footer .pc-more { display: none; }
.pc-more { font-style: normal; }
body.touch .pc-odds { padding: .5rem .8rem; }
body.touch .pc-odds p { line-height: 1.4; }
body.touch #parcels footer { margin-top: .6rem; }
body.touch .pc-shelf, body.touch .pc-side { touch-action: pan-y; }
#bench { left: 2rem; top: 1.4rem; width: 43rem; height: 63.6rem; max-height: calc(100vh - 2.8rem); }
.bn-tabs { flex: none; display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; margin-bottom: .9rem; }
.win .bn-tabs button { min-height: 3.6rem; }
.bn-work { flex: none; display: flex; flex-direction: column; align-items: stretch; gap: .5rem; padding: .9rem 1rem 1rem; border: 0 solid transparent; border-image: url(../assets/ui/dark/inset.png) 16 fill / .8rem; }
.bn-places { display: flex; justify-content: center; align-items: flex-start; gap: 1rem; min-height: 8.6rem; }
.bn-slot { display: flex; flex-direction: column; align-items: center; gap: .3rem; width: 10.6rem; }
.win .row.bn-slot { flex-direction: column; justify-content: flex-start; width: 10.6rem; min-height: 0; padding: .4rem .3rem; cursor: pointer; }
.bn-slot .cell { width: 6rem; height: 6rem; pointer-events: none; }
.bn-slot.empty .cell { opacity: .55; }
.bn-slot small, .win .row.bn-slot small { max-width: 100%; font: 400 max(10px, 1.1rem)/1.25 var(--sans); color: var(--ink3); text-align: center; white-space: normal; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.bn-x3 { align-self: center; font: 700 max(16px, 2.2rem) var(--serif); color: var(--brass-hi); }
.bn-arrow { text-align: center; font-size: max(10px, 1.2rem); line-height: 1; color: var(--brass); }
.bn-out { min-height: 5.6rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .4rem 1.4rem; text-align: center; }
.bn-out h5 { flex: 1 0 100%; margin: 0; text-align: center; }
.bn-out .muted { font-size: max(10px, 1.15rem); line-height: 1.45; }
.bn-got { display: inline-flex; align-items: center; gap: .6rem; }
.bn-got .cell { width: 3.8rem; height: 3.8rem; pointer-events: none; flex: none; }
.bn-got b { font: 600 max(11px, 1.3rem)/1.3 var(--sans); }
.bn-got em { font: 700 max(12px, 1.4rem) var(--serif); font-style: normal; color: var(--r2); }
.bn-got.big { cursor: help; text-align: left; flex-wrap: wrap; justify-content: center; }
.bn-got.big .cell { width: 5rem; height: 5rem; }
.bn-got.big em { flex: 1 0 100%; font: 400 max(10px, 1.1rem)/1.3 var(--sans); color: var(--ink3); text-align: center; }
.bn-new > * { filter: brightness(.55) saturate(.4); }
.bn-warn { font-size: max(10px, 1.15rem); line-height: 1.4; color: #ff8a70; text-align: center; }
.win button.bn-go { display: flex; align-items: center; justify-content: center; gap: .6rem; min-height: 4.2rem; }
.bn-go b { font: 700 max(13px, 1.5rem) var(--serif); } .bn-go i { font-style: normal; font-size: max(10px, 1.15rem); }
.bn-h { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin: .9rem .2rem .4rem !important; }
.bn-h small { font: 400 max(10px, 1.1rem) var(--sans); letter-spacing: 0; color: var(--ink3); } .bn-h small b { font-weight: 600; color: var(--ink2); }
.bn-list { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; display: flex; flex-direction: column; gap: .4rem; padding: .6rem; border: 0 solid transparent; border-image: url(../assets/ui/dark/inset.png) 16 fill / .8rem; scrollbar-width: thin; scrollbar-color: var(--brass) #090807; }
.bn-list .muted { padding: 1.6rem 1rem; text-align: center; }
.win .row.bn-row { min-height: 5rem; padding: .3rem .7rem .3rem .5rem; gap: .9rem; justify-content: flex-start; cursor: pointer; }
.win .row.bn-row.sel { border-image-source: url(../assets/ui/dark/row_on.png); }
.bn-row > .cell { flex: none; width: 4.2rem; height: 4.2rem; pointer-events: none; }
.bn-row .ap-nm { flex: 1; gap: 0; }
.bn-row .ap-nm small b { font-weight: 600; color: var(--ink2); }
body.touch #bench { left: calc(.8rem + var(--sal)); top: calc(.8rem + var(--sat)); bottom: calc(.8rem + var(--sab)); width: auto; height: auto; max-width: none; max-height: none; }
body.touch.tw-dock #bench { right: calc(58% + .2rem); }
body.touch #bench > header { justify-content: flex-start; padding: 0 4.6rem 0 1.2rem; }
body.touch #bench > header b { font-size: max(13px, 1.7rem); letter-spacing: .04em; }
body.touch .bn-tabs { margin-bottom: .5rem; gap: .4rem; } body.touch .win .bn-tabs button { min-height: 3.2rem; padding: 0 .4rem; }
body.touch .bn-work { padding: .5rem .6rem .6rem; gap: .3rem; }
body.touch .bn-places { min-height: 0; gap: .4rem; }
body.touch .bn-slot, body.touch .win .row.bn-slot { width: 8.6rem; }
body.touch .bn-slot .cell { width: 4.4rem; height: 4.4rem; }
body.touch .bn-slot small, body.touch .win .row.bn-slot small { -webkit-line-clamp: 1; }
body.touch .bn-arrow, body.touch .bn-out .muted, body.touch .bn-h, body.touch #bench footer .shop-note { display: none; }
body.touch .bn-out { min-height: 3.6rem; }
body.touch .bn-got .cell, body.touch .bn-got.big .cell { width: 3.4rem; height: 3.4rem; }
body.touch .win button.bn-go { min-height: 3.6rem; }
body.touch .bn-list { margin-top: .5rem; padding: .4rem; touch-action: pan-y; }
body.touch .win .row.bn-row { min-height: 4.2rem; } body.touch .bn-row > .cell { width: 3.6rem; height: 3.6rem; }
body.touch #bench footer { margin-top: .5rem; }
#cairns { left: 50%; top: 10rem; transform: translateX(-50%); width: 46rem; max-width: calc(100vw - 1.6rem); max-height: calc(100vh - 13rem); }
#cairns .wp-hint { margin: 0 .4rem .9rem; font-size: max(10px, 1.2rem); line-height: 1.45; color: var(--ink3); }
#cairns .list { display: flex; flex-direction: column; gap: .5rem; overflow-y: auto; }
.win .row.cw-row { justify-content: flex-start; gap: 1.1rem; min-height: 5rem; }
.win .row.cw-row b { flex: 1; font: 600 max(13px, 1.5rem)/1.3 var(--sans); }
.win .row.cw-row.here { border-image-source: url(../assets/ui/dark/row_on.png); opacity: 1; }
.win .row.cw-row.here small { color: var(--teal); }
.win .row.cw-row.locked b { color: var(--ink3); }
.win .row.cw-row.locked .tw-ic { color: var(--ink3); }
.cw-ic { display: inline-grid; vertical-align: -.5rem; margin-right: .6rem; } .cw-ic .tw-ic { width: 2rem; height: 2rem; color: #ffb347; }
.win .row.cw-row:not(.locked):not(.here) .tw-ic { color: #ffb347; }
body.touch #cairns { top: calc(1.6rem + var(--sat)); width: 48rem; max-height: calc(100vh - 3.2rem - var(--sat) - var(--sab)); }
body.touch #cairns .list { touch-action: pan-y; }
#cairns.cw-wide { width: 92rem; }
#cairns .cw-body { display: flex; gap: 1.2rem; min-height: 0; flex: 1 1 auto; }
#cairns .cw-body .list { flex: 1 1 42rem; min-width: 0; }
#cairns .cw-map { flex: 1 1 46rem; min-width: 0; min-height: 34rem; position: relative; border: 1px solid rgba(190,160,100,.35); background: rgba(6,7,10,.6); }
#cairns .cw-map canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
#cairns .cw-count { float: right; color: #ffcf8a; white-space: nowrap; }
#cairns.cw-many .row.cw-row { min-height: 4.2rem; }
#cairns.cw-many .nm-ic { width: 3rem; height: 3rem; }
.cw-n { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 50%; border: .2rem solid rgba(0,0,0,.75); background: #ffb347; color: #1a1206; font: 700 max(11px, 1.4rem)/1 var(--sans); text-decoration: none; }
.win .row.cw-row.locked .cw-n { background: #8d939c; color: #22262c; }
.win .row.cw-row.here .cw-n { box-shadow: 0 0 0 .25rem #4fd2c8; }
.win .row.cw-row.hot { filter: brightness(1.25); }
.cw-tag { display: block; margin-top: .1rem; font: 500 max(10px, 1.15rem)/1.2 var(--sans); font-style: normal; color: #9ff3ea; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.win .row.cw-row b { min-width: 0; }
.win .row.cw-row.locked .cw-tag { color: var(--ink3); }
body.touch #cairns.cw-wide { width: min(104rem, calc(100vw - 1.6rem)); }
body.touch #cairns .cw-map { min-height: 0; }
body.touch #cairns .nm-ic .tw-ic { width: 2.8rem; height: 2.8rem; grid-row: auto; }
body.touch .cw-ic .tw-ic { width: 2rem; height: 2rem; grid-row: auto; }
#shop .shop-row .shop-info { justify-self: stretch; }