/* Midnight Manor: a mahogany desk, the house plan in inked panels, pawns and weapon tokens. */
body[data-game="manor"] #felt { background: radial-gradient(ellipse 60% 55% at 50% 50%, rgba(255, 220, 180, .07), transparent 70%), radial-gradient(ellipse 120% 100% at 50% 50%, #3a1f1c 0%, #261412 55%, #0f0707 100%); }
body[data-game="manor"] #print { display: none; }
body[data-game="manor"] .meta { align-items: center; gap: 1vmin; }

#manor { position: absolute; left: 0; top: 0; transform: translate(-50%, -50%); display: flex; gap: 3vmin; align-items: center; z-index: 2; }
.mm-plan { display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(3, 1fr); gap: .5vmin; width: calc(var(--H, 400px) * 1.3); height: var(--H, 400px); padding: .7vmin; border-radius: 1vmin;
  background: #1a0f0d; box-shadow: 0 2.4vmin 6vmin rgba(0, 0, 0, .6), inset 0 0 0 .2vmin rgba(205, 180, 135, .5); }
.mm-room {
  position: relative; display: flex; flex-direction: column; justify-content: space-between; padding: 1vmin; border: 0; border-radius: .5vmin; text-align: left;
  background-color: #2b1c18; color: var(--ivory); font: inherit;
  box-shadow: inset 0 0 0 .14vmin rgba(205, 180, 135, .25);
}
/* Each room gets its own wallpaper. */
.mm-room.r0 { background-image: repeating-linear-gradient(45deg, rgba(120, 40, 50, .25) 0 .6vmin, transparent .6vmin 1.6vmin); }
.mm-room.r1 { background-image: radial-gradient(circle at 70% 30%, rgba(200, 210, 255, .18) 0 .2vmin, transparent .3vmin), radial-gradient(circle at 30% 60%, rgba(200, 210, 255, .15) 0 .15vmin, transparent .25vmin), linear-gradient(160deg, #1c2236, #141828); }
.mm-room.r2 { background-image: radial-gradient(ellipse at 20% 80%, rgba(90, 140, 80, .35), transparent 60%), linear-gradient(160deg, #1f2b1d, #172116); }
.mm-room.r3 { background-image: repeating-linear-gradient(90deg, rgba(205, 180, 135, .08) 0 .2vmin, transparent .2vmin 3vmin), linear-gradient(160deg, #2e2420, #221a17); }
.mm-room.r4 { background-image: repeating-linear-gradient(0deg, rgba(205, 180, 135, .1) 0 .2vmin, transparent .2vmin 1.4vmin), linear-gradient(160deg, #3a2a20, #2a1d16); }
.mm-room.r5 { background-image: repeating-radial-gradient(circle at 50% 50%, rgba(170, 120, 70, .14) 0 .3vmin, transparent .3vmin 1.6vmin), linear-gradient(160deg, #2c2016, #201710); }
.mm-room.r6 { background-image: linear-gradient(180deg, rgba(160, 140, 220, .15), transparent 60%), linear-gradient(160deg, #241f30, #191524); }
.mm-room.r7 { background-image: repeating-linear-gradient(-45deg, rgba(110, 80, 40, .2) 0 .4vmin, transparent .4vmin 1.8vmin), linear-gradient(160deg, #2c2418, #1f1a10); }
.mm-room.r8 { background-image: radial-gradient(ellipse at 80% 20%, rgba(150, 110, 90, .25), transparent 60%), linear-gradient(160deg, #2a1d1d, #1d1414); }
.mm-room b { font-family: var(--display); font-weight: 600; font-size: calc(var(--H, 400px) * .045); }
.mm-room.mine { box-shadow: inset 0 0 0 .3vmin rgba(227, 207, 159, .8); }
.mm-room.can { cursor: pointer; box-shadow: inset 0 0 0 .3vmin #9fc49a; }
.mm-pass { position: absolute; right: .8vmin; top: .6vmin; font-style: normal; color: var(--gold-ink); font-size: calc(var(--H, 400px) * .04); }
.mm-room.r0 .mm-pass, .mm-room.r6 .mm-pass { right: auto; left: auto; }
.mm-in, .mm-arms { display: flex; flex-wrap: wrap; gap: .4vmin; }
.mm-pawn { display: inline-grid; place-items: center; width: calc(var(--H, 400px) * .07); height: calc(var(--H, 400px) * .07); border-radius: 50% 50% 45% 45%; font-style: normal; font-family: var(--display); font-weight: 600; font-size: calc(var(--H, 400px) * .04); color: #fff; background: radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--c) 60%, #fff), var(--c) 60%, color-mix(in srgb, var(--c) 60%, #000)); box-shadow: 0 .3vmin .6vmin rgba(0, 0, 0, .6); }
.mm-pawn.small { width: 2.6vmin; height: 2.6vmin; font-size: 1.5vmin; vertical-align: middle; }
.mm-weapon { display: inline-grid; place-items: center; width: calc(var(--H, 400px) * .06); height: calc(var(--H, 400px) * .06); border-radius: .5vmin; font-style: normal; font-size: calc(var(--H, 400px) * .036); color: #2a2320; background: linear-gradient(170deg, #f3e9cf, #d9c6a0); box-shadow: 0 .2vmin .4vmin rgba(0, 0, 0, .6); }
.mm-weapon.small { width: 2.4vmin; height: 2.4vmin; font-size: 1.4vmin; vertical-align: middle; }
.mm-side { width: 34vmin; display: flex; flex-direction: column; gap: 1vmin; }
.mm-side h4 { margin: 0; font-family: var(--ui); font-size: 1.5vmin; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; color: var(--gold-ink); }
.mm-log { list-style: none; margin: 0; padding: 1.2vmin 1.4vmin; display: flex; flex-direction: column; gap: .8vmin; border-radius: 1vmin; background: linear-gradient(170deg, #f6efe0, #e8dcc3); color: #2a2320; font-family: var(--serif); font-size: 1.8vmin; line-height: 1.3; box-shadow: 0 1.4vmin 3vmin rgba(0, 0, 0, .5); }
.mm-log li.quiet { font-style: italic; color: #7a6c58; }
.mm-log b { font-family: var(--display); font-weight: 600; }
.mm-now { margin: 0; font-family: var(--serif); font-style: italic; font-size: 2vmin; color: var(--ivory); }
.mm-now b { font-style: normal; font-family: var(--display); font-weight: 600; color: var(--champagne-hi); }

/* ---------- phone ---------- */
body[data-game="manor"] { background: linear-gradient(180deg, #2c1715, #0f0707); }
body[data-game="manor"] #handWrap, body[data-game="manor"] #handHint { display: none; }
body[data-game="manor"] #status { flex: none; min-height: 0; margin: 8px 0 6px; }
#mmPhone { width: 100%; max-width: 440px; display: flex; flex-direction: column; gap: 10px; flex: 1; min-height: 0; overflow-y: auto; padding-bottom: 12px; }
#mmPhone > * { flex: none; }
#mmPhone .mm-plan { --H: min(62vw, 270px); width: 100%; height: var(--H); }
#mmPhone .mm-room b { font-size: 13px; }
#mmPhone .mm-pawn, #mmPhone .mm-weapon { width: 18px; height: 18px; font-size: 11px; }
#whoami .mm-pawn.small { width: 16px; height: 16px; font-size: 10px; }
.mm-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.mm-chips button { display: inline-flex; align-items: center; gap: 6px; padding: 7px 11px; border-radius: 99px; cursor: pointer; font-family: var(--ui); font-size: 13px; font-weight: 600; color: var(--ivory); background: rgba(255, 248, 230, .05); border: 1px solid var(--hairline-hi); }
.mm-chips button.on { color: #17130c; background: var(--champagne); border-color: var(--champagne); }
.mm-chips .mm-pawn.small, .mm-chips .mm-weapon.small { width: 18px; height: 18px; font-size: 11px; }
.mm-show { display: flex; flex-direction: column; gap: 8px; }
.mm-notes { padding: 10px 12px; border-radius: 12px; background: linear-gradient(170deg, #f6efe0, #e8dcc3); color: #2a2320; }
.mm-notes h5 { margin: 6px 0 4px; font-family: var(--ui); font-size: 10.5px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: #8a6d36; }
.mm-notes ul { list-style: none; margin: 0; padding: 0; }
.mm-notes li { display: grid; grid-template-columns: 1fr auto 22px; gap: 8px; align-items: center; padding: 5px 2px; border-bottom: 1px dotted rgba(0, 0, 0, .15); font-family: var(--display); font-weight: 600; font-size: 16px; cursor: pointer; }
.mm-notes li small { font-family: var(--ui); font-weight: 500; font-size: 11px; color: #7a6c58; }
.mm-notes li b { text-align: center; font-family: var(--ui); }
.mm-notes li.mine, .mm-notes li.seen, .mm-notes li.x { color: #9a8d78; text-decoration: line-through; cursor: default; }
.mm-notes li.x { cursor: pointer; }
.mm-notes li.mine b, .mm-notes li.seen b { color: #2f7a4a; text-decoration: none; }
.mm-notes li.\? b { color: #b07a2e; }
