/* Genesis Table: retro desktop poker windows, drawn in high resolution.
   Every size is in rem, and 1rem is 10 original pixels times the scale --k, so the whole
   look scales crisply to any screen. */
:root {
  --k: 1;
  --face: #ece9d8;          /* classic beige button face */
  --face-hi: #f6f5ee;
  --face-lo: #d6d2c2;
  --shadow: #aca899;
  --dark: #716f64;
  --text: #000;
  --muted: #5a5a52;
  --sel: #316ac5;
  --link: #0645ad;
  --xpblue: #0055e5;
  --field: #fff;
  --border: #7f9db9;
  --good: #1a7f1a;
  --bad: #c21a1a;
  --desk-a: #3a6ea5;
  --desk-b: #1f4e85;
  color-scheme: light;
}
* { box-sizing: border-box; }
html { font-size: calc(10px * var(--k)); -webkit-text-size-adjust: 100%; height: 100%; }
body {
  margin: 0; min-height: 100%; background: radial-gradient(ellipse at 30% 20%, var(--desk-a), var(--desk-b) 70%, #133a66);
  font: 1.1rem/1.35 Tahoma, Verdana, "Segoe UI", system-ui, sans-serif; color: var(--text);
  -webkit-tap-highlight-color: transparent; overscroll-behavior: none; overflow: hidden;
}
button, input, select { font: inherit; color: inherit; }
[hidden] { display: none !important; }
a { color: var(--link); }
.mono { font-family: "Lucida Console", Consolas, "SF Mono", Menlo, monospace; }
.u { text-decoration: underline; }

#desk { position: fixed; inset: 0 0 calc(3rem + env(safe-area-inset-bottom)) 0; display: grid; place-items: center; padding: 1.2rem; }
#desk > .win { grid-area: 1 / 1; }
#lobbyWin.behind { translate: -6% -4%; }

/* ---------------------------------------------------------------- window chrome */
.win {
  position: relative; display: flex; flex-direction: column; background: var(--face);
  border: .3rem solid #0831d9; border-top: 0; border-radius: .8rem .8rem 0 0;
  box-shadow: 0 .2rem 0 #001ea0 inset, .4rem .6rem 2.4rem rgba(0,0,0,.45);
  max-width: 100%; max-height: 100%;
}
.win.inactive { border-color: #7b98d6; }
.win.inactive > .tb { background: linear-gradient(#9db9eb, #7a96df 50%, #7b98d6); }
.tb {
  flex: none; height: 3rem; display: flex; align-items: center; gap: .5rem; padding: 0 .4rem 0 .6rem;
  background: linear-gradient(#0997ff, #0053ee 8%, #0050ee 40%, #06f 88%, #06f 93%, #005bff 95%, #003dd7);
  border-radius: .7rem .7rem 0 0; color: #fff; margin: 0 -.3rem; user-select: none; -webkit-user-select: none; touch-action: none; cursor: default;
}
.tb .ico { width: 1.6rem; height: 1.6rem; flex: none; }
.tb .title { flex: 1; font: bold 1.3rem "Trebuchet MS", Tahoma, sans-serif; text-shadow: .1rem .1rem #0f1089; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tbtn {
  width: 2.1rem; height: 2.1rem; border: .1rem solid #fff; border-radius: .3rem; flex: none; padding: 0; cursor: pointer;
  background: radial-gradient(circle at 70% 80%, #3d85ff, #1654e8 60%, #2e6ff8); display: grid; place-items: center;
}
.tbtn svg { width: 1.1rem; height: 1.1rem; }
.tbtn.close { background: radial-gradient(circle at 70% 80%, #cc4232, #e0643f 60%, #f08f6c); }
.tbtn:hover { filter: brightness(1.15); }
.tbtn:active { filter: brightness(.85); }

.status {
  flex: none; display: flex; align-items: stretch; gap: .2rem; padding: .2rem .2rem .1rem; height: 2.3rem; font-size: 1.1rem;
  background: var(--face); border-top: .1rem solid var(--face-lo);
}
.status > * { display: flex; align-items: center; padding: 0 .6rem; border: .1rem solid; border-color: var(--shadow) var(--face-hi) var(--face-hi) var(--shadow); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.status .grow { flex: 1; min-width: 0; display: block; line-height: 1.9rem; }
.status a { cursor: pointer; text-decoration: none; }
.status a:hover { text-decoration: underline; }
.grip { width: 1.4rem; border: 0 !important; padding: 0 !important; background: linear-gradient(135deg, transparent 55%, var(--shadow) 55% 62%, transparent 62% 70%, var(--shadow) 70% 77%, transparent 77% 85%, var(--shadow) 85% 92%, transparent 92%); }

/* ---------------------------------------------------------------- controls */
.btn {
  min-width: 7.5rem; height: 2.3rem; padding: 0 .9rem; border: .1rem solid #003c74; border-radius: .3rem; cursor: pointer;
  background: linear-gradient(#fff, #f5f4ef 40%, #ecebe6 85%, #d6d0c5); box-shadow: inset 0 -.1rem 0 rgba(0,0,0,.08);
  white-space: nowrap; touch-action: manipulation; user-select: none; -webkit-user-select: none;
}
.btn:hover:not(:disabled) { box-shadow: inset 0 0 0 .2rem #f8b330, inset 0 -.1rem 0 #e5a01a; }
.btn:focus-visible { outline: .1rem dotted #000; outline-offset: -.4rem; }
.btn:active:not(:disabled) { background: linear-gradient(#e5e4dd, #e3e2da 60%, #f0efe9); box-shadow: inset .1rem .1rem .2rem rgba(0,0,0,.2); }
.btn:disabled { color: #aca899; border-color: #c9c7ba; background: #f5f4ea; cursor: default; box-shadow: none; }
.btn.default { box-shadow: inset 0 0 0 .2rem #9dc3f3; }
.btn.w80 { width: 8rem; } .btn.w90 { width: 9rem; } .btn.w150 { width: 15rem; }
.btn.big { height: 3.2rem; font-size: 1.3rem; }

.cb { display: inline-flex; align-items: center; gap: .5rem; cursor: pointer; user-select: none; -webkit-user-select: none; white-space: nowrap; touch-action: manipulation; }
.cb input { appearance: none; -webkit-appearance: none; margin: 0; width: 1.3rem; height: 1.3rem; flex: none; border: .1rem solid #1c5180; background: linear-gradient(135deg, #dcdcd7, #fff); display: grid; place-items: center; cursor: pointer; }
.cb input:checked::after { content: ""; width: .7rem; height: .4rem; border: solid #21a121; border-width: 0 0 .2rem .2rem; transform: translateY(-.1rem) rotate(-45deg); }
.cb input:disabled { border-color: #cac8bb; background: #f4f3ee; }
.cb:has(input:disabled) { color: #aca899; cursor: default; }
.cb:hover input:not(:disabled) { box-shadow: inset 0 0 0 .1rem #f8b330; }

.field {
  height: 2.1rem; padding: 0 .4rem; border: .1rem solid var(--border); background: var(--field); border-radius: 0; min-width: 0;
}
.field[readonly] { background: #f1efe2; }
.field:focus { outline: none; border-color: #316ac5; }
select.field { padding-right: 1.6rem; }

.sunken { border: .1rem solid; border-color: var(--shadow) var(--face-hi) var(--face-hi) var(--shadow); background: #fff; }
.group { border: .1rem solid #d0d0bf; border-radius: .3rem; padding: .9rem 1rem 1rem; margin: .8rem 0 0; position: relative; }
.group > legend { color: #0046d5; padding: 0 .3rem; }

/* ---------------------------------------------------------------- lobby */
#lobbyWin { width: 58.6rem; height: 52rem; }
.menubar { flex: none; display: flex; background: #f0f0f0; border-bottom: .1rem solid #fff; user-select: none; -webkit-user-select: none; position: relative; z-index: 5; }
.menubar > div { position: relative; }
.menubar .mtop { padding: .3rem .8rem; cursor: default; }
.menubar .mtop:hover, .menubar > div.open .mtop { background: var(--sel); color: #fff; }
.menu { position: absolute; left: 0; top: 100%; min-width: 20rem; background: #fff; border: .1rem solid var(--shadow); box-shadow: .2rem .2rem .3rem rgba(0,0,0,.3); padding: .2rem; display: none; }
.menubar > div.open .menu { display: block; }
.menu > div { padding: .4rem 2rem .4rem 2.4rem; white-space: nowrap; cursor: default; }
.menu > div:hover { background: var(--sel); color: #fff; }
.menu > a { display: block; padding: .4rem 2rem .4rem 2.4rem; white-space: nowrap; color: inherit; text-decoration: none; }
.menu > a:hover { background: var(--sel); color: #fff; }
.sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.menu > hr { border: 0; border-top: .1rem solid var(--shadow); margin: .3rem .2rem; }
.toolbar { flex: none; display: flex; gap: .2rem; padding: .2rem .4rem; border-bottom: .1rem solid var(--face-lo); background: var(--face); }
.tool { display: inline-flex; align-items: center; gap: .5rem; padding: .3rem .7rem; border: .1rem solid transparent; border-radius: .3rem; background: none; cursor: pointer; }
.tool img { width: 2rem; height: 2rem; }
.tool:hover { border-color: #cecec3; background: linear-gradient(#fff, #f3f2eb); }
.tool:active { background: #e3e2da; }

.addrrow { flex: none; display: flex; align-items: center; gap: .6rem; padding: .6rem .7rem .2rem; flex-wrap: wrap; }
.addrrow .field { flex: 1 1 25rem; font-size: 1.15rem; }
.balrow { flex: none; display: flex; align-items: center; gap: .6rem; padding: .4rem .7rem .5rem; flex-wrap: wrap; }
.bal { background: #f0f0f0; border: .1rem solid; border-color: var(--shadow) var(--face-hi) var(--face-hi) var(--shadow); padding: .1rem .6rem; min-width: 12rem; text-align: right; font-weight: bold; }
.balrow .hint { color: var(--muted); font-size: 1.05rem; }
.balrow .warn { color: var(--bad); font-weight: bold; cursor: pointer; }

.lobbybody { flex: 1; min-height: 0; display: flex; }
.tree { width: 15rem; min-width: 13rem; margin: .5rem 0 .5rem .5rem; overflow: auto; padding: .3rem 0; user-select: none; -webkit-user-select: none; }
.tree .node { display: flex; align-items: center; gap: .4rem; padding: .15rem .4rem; white-space: nowrap; cursor: default; }
.tree .node .lbl { padding: 0 .3rem; }
.tree .node.sel .lbl { background: var(--sel); color: #fff; }
.tree .node .pm { width: .9rem; height: .9rem; border: .1rem solid #7b9ab9; background: #fff; font-size: .9rem; line-height: .7rem; text-align: center; color: #000; flex: none; }
.tree .node .sp { width: .9rem; flex: none; }
.tree .node .ic { width: 1.5rem; height: 1.5rem; flex: none; display: grid; place-items: center; font-size: 1.2rem; }
.tree .kids { padding-left: 1.5rem; background: linear-gradient(to right, transparent .75rem, #a0a0a0 .75rem, #a0a0a0 .85rem, transparent .85rem) 0 0 / 100% 100% no-repeat; }
.right { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.list { flex: 1; min-height: 0; margin: .5rem; overflow: auto; }
.list table { width: 100%; border-collapse: collapse; font-size: 1.1rem; }
.list th { position: sticky; top: 0; text-align: left; font-weight: normal; padding: .3rem .6rem; background: linear-gradient(#fff, #f1efe2); border-right: .1rem solid #d5d2c0; border-bottom: .2rem solid #d5d2c0; white-space: nowrap; z-index: 1; }
.list td { padding: .35rem .6rem; white-space: nowrap; cursor: default; }
.list tr.sel td { background: var(--sel); color: #fff; }
.list tr.sel td a { color: #fff; }
.list tr.row:hover td { background: #e8eefa; }
.list tr.row.sel:hover td { background: var(--sel); }
.list .empty { color: var(--muted); padding: 1.2rem; white-space: normal; }
.list .play { font-weight: bold; }
.replay { position: relative; height: min(46rem, 55vh); background: var(--face); border: .1rem solid var(--shadow); }
.rcanvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.rlabel { text-align: center; font-weight: bold; min-height: 1.5em; margin: .6rem 0 .2rem !important; }
.fame h3 { margin: .9rem .6rem .3rem; font-size: 1.2rem; color: #0046d5; }
.fame table { table-layout: auto; }
.fame td { padding: .3rem .4rem !important; }
.fame td.wrap { white-space: normal; }
.list tr.join td { background: #f3f8e8; border-bottom: .1rem solid #dfe9c8; }
.list tr.join.sel td { background: var(--sel); }
.btnrow { flex: none; display: flex; gap: .6rem; padding: 0 .5rem .5rem; flex-wrap: wrap; align-items: center; }
.btnrow .grow { flex: 1; }

/* ---------------------------------------------------------------- poker window */
.pokerwin { width: 80.6rem; height: 55rem; }
.pokerbody { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.feltwrap { flex: 1; min-height: 0; position: relative; }
.felt { position: absolute; inset: 0; width: 100%; height: 100%; display: block; touch-action: manipulation; }
.controls { flex: none; display: grid; grid-template-columns: auto 1fr auto; gap: .4rem 1rem; padding: .5rem .6rem .6rem; align-items: start; border-top: .1rem solid var(--face-hi); box-shadow: 0 -.1rem 0 var(--shadow); }
.cleft, .cright { display: flex; flex-direction: column; gap: .5rem; }
.cright { align-items: flex-end; }
.cright .row { display: flex; gap: .5rem; align-items: center; }
.cmid { display: flex; flex-direction: column; align-items: center; gap: .5rem; min-width: 0; }
.actbtns { display: flex; gap: .5rem; }
.actbtns .btn { font-weight: bold; }
.actbtns .btn.go:not(:disabled) { box-shadow: inset 0 0 0 .2rem #9dc3f3; }
/* No Limit: bet presets, slider and amount; the Raise button grows to fit "Raise to 12,500". */
.nlbet { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .3rem .4rem; width: 100%; max-width: 46rem; }
.nlbet[hidden] { display: none; }
.nlbet .btn.mini { min-width: 0; width: auto; height: 2.3rem; padding: 0 .7rem; font-size: 1.1rem; }
.nlbet .betrange { flex: 1 1 12rem; min-width: 8rem; accent-color: #316ac5; }
.nlbet .betamt { width: 9rem; text-align: right; }
.pokerwin.nlt .actbtns .btn[data-r="bRaise"] { width: auto; min-width: 8rem; padding: 0 .8rem; white-space: nowrap; }
.preacts { display: flex; flex-wrap: wrap; justify-content: center; gap: .1rem 0; }
.preacts .cb { width: 10rem; font-size: 1.05rem; }
.ditch { width: 4.5rem; text-align: center; }

/* ---------------------------------------------------------------- dialogs */
#modal { position: fixed; inset: 0; z-index: 50; display: flex; align-items: center; justify-content: center; padding: 1rem; background: rgba(0,20,60,.18); }
.dlg { width: 44rem; max-height: 100%; }
.dlg.wide { width: 60rem; }
.dlg .body { padding: 1.1rem 1.3rem; overflow-y: auto; overflow-x: hidden; min-height: 0; }
.dlg .body .cb { white-space: normal; align-items: flex-start; }
.dlg .body .cb input { margin-top: .15rem; }
.dlg .body p { margin: 0 0 .8rem; }
.dlg .foot { flex: none; display: flex; justify-content: flex-end; gap: .6rem; padding: .2rem 1.3rem 1.2rem; flex-wrap: wrap; }
.dlg .foot .left { margin-right: auto; }
.msg { display: flex; gap: 1.2rem; align-items: flex-start; }
.msg .mi { width: 3.2rem; height: 3.2rem; flex: none; }
.addrbig { font-size: 1.45rem; font-weight: bold; word-break: break-all; line-height: 1.4; padding: .8rem 1rem; text-align: center; cursor: pointer; user-select: all; -webkit-user-select: all; background: #fff; }
.addrbig:hover { background: #fffbe0; }
.qr { display: grid; place-items: center; padding: .8rem 0; }
.qr svg, .qr img, .qr canvas { width: 19rem; height: 19rem; image-rendering: pixelated; background: #fff; padding: .8rem; border: .1rem solid var(--shadow); }
.row2 { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; margin: .6rem 0; }
.row2 label { min-width: 9rem; }
.row2 .field { flex: 1; min-width: 10rem; }
.small { font-size: 1rem; color: var(--muted); }
.ok { color: var(--good); } .no { color: var(--bad); }
.checks { list-style: none; padding: 0; margin: .6rem 0; }
.checks li { padding: .25rem 0 .25rem 2.1rem; position: relative; }
.checks li::before { position: absolute; left: .2rem; font-weight: bold; }
.checks li.ok::before { content: "✔"; color: var(--good); }
.checks li.no::before { content: "✘"; color: var(--bad); }
.checks li.wait::before { content: "…"; color: var(--muted); }
.hist { width: 100%; border-collapse: collapse; font-size: 1.05rem; }
.hist th, .hist td { text-align: left; padding: .3rem .5rem; border-bottom: .1rem solid #e2dfd0; white-space: nowrap; }
.hist td.wrap { white-space: normal; }
.toast { position: fixed; left: 50%; bottom: 2.4rem; transform: translateX(-50%); background: #ffffe1; border: .1rem solid #000; padding: .5rem .9rem; z-index: 80; box-shadow: .2rem .2rem .4rem rgba(0,0,0,.3); max-width: calc(100vw - 2rem); }
.pill { display: inline-block; padding: 0 .5rem; border-radius: .8rem; background: #fff3c4; border: .1rem solid #e0c060; font-size: 1rem; }
kbd { font: inherit; border: .1rem solid var(--shadow); border-bottom-width: .2rem; padding: 0 .3rem; border-radius: .2rem; background: #fff; }

/* ---------------------------------------------------------------- phones and tablets:
   the windows open maximized */
body.max #desk { padding: 0; grid-template: minmax(0, 1fr) / minmax(0, 1fr); place-items: stretch; }
body.max #lobbyWin.behind { translate: none; }
body.max .win { translate: none !important; width: 100% !important; height: 100% !important; border-radius: 0; border-width: 0; box-shadow: none; }
body.max .tb { border-radius: 0; margin: 0; padding-top: env(safe-area-inset-top); height: calc(3rem + env(safe-area-inset-top)); }
body.max .status { padding-bottom: calc(.1rem + env(safe-area-inset-bottom)); height: calc(2.3rem + env(safe-area-inset-bottom)); }
body.max .win { padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }
body.max .win > .tb { margin: 0 calc(-1 * env(safe-area-inset-right)) 0 calc(-1 * env(safe-area-inset-left)); padding-left: calc(.6rem + env(safe-area-inset-left)); padding-right: calc(.4rem + env(safe-area-inset-right)); }
body.max #desk > .win:not(.front):not(#lobbyWin) { display: none; }
/* The lobby shows whenever no other window is in front, so a phone never ends up on an empty desk. */
body.max #desk:has(> .win.front) > #lobbyWin:not(.front) { display: none; }
@media (pointer: coarse) {
  .btn { height: 3.3rem; }
  .btn.w80 { width: 8.6rem; }
  .preacts .cb { width: auto; padding: .45rem .7rem; }
  .cb input { width: 1.7rem; height: 1.7rem; }
  .cb input:checked::after { width: .9rem; height: .5rem; }
  .tree .node { padding: .45rem .4rem; }
  .list td { padding: .7rem .6rem; }
  .menu > div, .menu > a { padding: .8rem 2rem .8rem 2.4rem; }
  .field { height: 3rem; font-size: 1.6rem; }
  .tbtn { width: 2.6rem; height: 2.6rem; }
}
/* narrow screens: stack the poker controls */
body.narrow .controls { grid-template-columns: 1fr 1fr; }
body.narrow .cmid { grid-column: 1 / -1; grid-row: 1; }
body.narrow .cleft { flex-direction: row; align-items: center; flex-wrap: wrap; }
body.narrow .btn.w150 { width: auto; }
body.narrow .preacts .cb { width: auto; padding: .35rem .6rem; }
body.narrow .actbtns { width: 100%; }
body.narrow .actbtns .btn { flex: 1; width: auto; min-width: 0; height: 3.8rem; font-size: 1.35rem; }
body.narrow .nlbet .btn.mini { height: 3.2rem; padding: 0 .9rem; font-size: 1.25rem; }
body.narrow .nlbet .betamt { width: 9rem; height: 3.2rem; font-size: 1.4rem; }
body.narrow .nlbet .betrange { order: 5; flex-basis: 100%; height: 2.6rem; }
body.narrow .pokerwin.nlt .actbtns .btn[data-r="bRaise"] { flex: 1.4; }
body.narrow .tree { width: 11.5rem; min-width: 10rem; }
body.narrow .list .opt { display: none; }
body.narrow .list td, body.narrow .list th { padding-left: .4rem; padding-right: .4rem; }
body.narrow .list td.play { white-space: normal; }
body.narrow .addrrow .lbl { width: 100%; }
body.narrow .status .opt { display: none; }
body.short .preacts .cb { padding: .2rem .5rem; }
body.short .controls { padding: .3rem .6rem .4rem; gap: .3rem .8rem; }

/* ---------------------------------------------------------------- the taskbar */
#taskbar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; height: calc(3rem + env(safe-area-inset-bottom));
  padding: 0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
  display: flex; align-items: center; gap: .4rem;
  background: linear-gradient(#3168d5, #4993e6 6%, #2157d7 18%, #2663e0 85%, #1941a5); border-top: .1rem solid #0c59b9;
}
#taskbar .start {
  flex: none; height: 100%; display: flex; align-items: center; gap: .5rem; padding: 0 1.4rem 0 .9rem; border: 0; cursor: pointer; color: #fff;
  font: italic bold 1.35rem "Trebuchet MS", Tahoma, sans-serif; text-shadow: .1rem .1rem .1rem rgba(0,0,0,.5);
  background: linear-gradient(#3c9a3c, #48b248 10%, #3a9b3a 50%, #2e852e); border-radius: 0 1rem 1rem 0; box-shadow: inset -.2rem 0 .3rem rgba(0,0,0,.3);
}
#taskbar .start img { width: 1.8rem; height: 1.8rem; }
#taskbar .start:hover { filter: brightness(1.1); }
#taskbar .tasks { flex: 1; min-width: 0; display: flex; gap: .3rem; overflow-x: auto; scrollbar-width: none; padding-right: .4rem; }
#taskbar .task {
  flex: 0 1 17rem; min-width: 6rem; height: 2.3rem; display: flex; align-items: center; gap: .5rem; padding: 0 .8rem; cursor: pointer;
  color: #fff; font-size: 1.1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border: .1rem solid #1c3f96; border-radius: .3rem;
  background: linear-gradient(#3c81f3, #2e6ef0 50%, #2a67e8); box-shadow: inset .1rem .1rem 0 rgba(255,255,255,.25);
}
#taskbar .task img { width: 1.5rem; height: 1.5rem; flex: none; }
#taskbar .task span { overflow: hidden; text-overflow: ellipsis; }
#taskbar .task.on { background: linear-gradient(#1e4fc2, #1a47b0); box-shadow: inset .1rem .1rem .2rem rgba(0,0,0,.45); }
#taskbar .task.attn { animation: attn 1s steps(1) infinite; }
@keyframes attn { 0%, 100% { background: linear-gradient(#f9b53f, #e8900c); color: #000; } 50% { background: linear-gradient(#3c81f3, #2a67e8); color: #fff; } }
@media (pointer: coarse) { #taskbar .task { height: 2.6rem; } }
body.narrow #taskbar .start b { display: none; }
body.narrow #taskbar .start { padding: 0 .9rem; }

/* iOS Safari only delivers taps on plain elements (rows, tree nodes, menu items) that look clickable. */
@media (hover: none) { .tree .node, #list tr.row, #list [data-replay], .menubar .mtop, .menu > div, .task, [data-cmd] { cursor: pointer; } }

/* ---------------------------------------------------------------- play-money note and credit */
.pmnote { font-weight: bold; color: #7a4b00; background: #fff4c2; border: .1rem solid #e0c060; padding: .15rem .6rem; border-radius: .3rem; }
.pm { background: #fff4c2; border: .1rem solid #e0c060; padding: .4rem .7rem; border-radius: .3rem; }
#taskbar .credit {
  flex: none; align-self: stretch; display: flex; align-items: center; padding: 0 1rem; color: #e8f0ff; font-size: 1.05rem; text-decoration: none; white-space: nowrap;
  background: linear-gradient(#0c8ef0, #139cf3 10%, #0a7fe0 85%, #0960c0); border-left: .1rem solid #0a427f; box-shadow: inset .1rem 0 0 rgba(255,255,255,.25);
}
#taskbar .credit:hover, #taskbar .credit:focus-visible { color: #fff; text-decoration: underline; }
body.narrow #taskbar .credit { padding: 0 .6rem; font-size: .95rem; }
