.bbm-encounter {
  position: fixed; z-index: 32; left: 35px; top: 116px; width: 255px;
  max-width: calc(100vw - 48px); color: #eeede7; font: 12px/1.45 Tahoma, Arial, sans-serif;
  letter-spacing: 0; text-shadow: none; pointer-events: auto;
}
.bbm-encounter *, .bbm-encounter *::before, .bbm-encounter *::after { box-sizing: border-box; }
.bbm-encounter [hidden] { display: none !important; }
.portal.has-open-index .bbm-encounter, .portal.has-focused-star .bbm-encounter { visibility: hidden; }
.bbm-encounter button, .bbm-encounter input { font: inherit; letter-spacing: 0; border-radius: 0; }
.bbm-encounter button { cursor: pointer; }
.bbm-encounter button:focus-visible, .bbm-encounter input:focus-visible { outline: 3px solid #e9b55b; outline-offset: 4px; }
.bbm-encounter button:disabled { cursor: default; }
.bbm-encounter-stage { position: relative; }
.bbm-encounter-hint { display: inline-block; max-width: 100%; margin: 13px 0 0; padding: 5px 8px; background: #06070bbd; color: #fff; font: 10px/1.5 "Courier New", monospace; }
.bbm-encounter-collected { display: none; margin: 8px 0 0; color: inherit; font: 11px/1.4 "Courier New", monospace; }
.bbm-encounter-collected span { display: block; font-size: 9px; }
.bbm-encounter-recovered-word { display: block; margin-top: 4px; font: 700 13px/1.3 "Courier New", monospace; }
.bbm-encounter-inspect { display: block; min-height: 35px; margin-top: 3px; padding: 4px 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: inherit; font: 10px/1.4 "Courier New", monospace; }
.bbm-encounter.is-found .bbm-encounter-stage { max-height: 110px; overflow: hidden; opacity: .85; }
.bbm-encounter.is-found .bbm-encounter-collected { display: block; }
.bbm-encounter.is-found .bbm-encounter-hint { margin-top: 4px; font-size: 9px; }
.bbm-encounter-receipt strong { display: block; font: 700 10px/1.4 "Courier New", monospace; }
.bbm-encounter-receipt p { margin: 5px 0 0; font-size: 11px; }
.bbm-encounter-file { display: flex; flex-direction: column; align-items: center; gap: 9px; min-width: 120px; padding: 0; border: 0; background: transparent; color: #fff; font: 11px "Courier New", monospace; }
.bbm-encounter-file-icon { width: 58px; height: 70px; filter: drop-shadow(3px 3px 0 #0007); }
.bbm-encounter-file-icon svg { display: block; width: 100%; height: 100%; }
.bbm-encounter-file span { padding: 2px 5px; background: #000080; }
.bbm-encounter-file-window { position: relative; margin-top: 14px; padding: 8px; border: 3px outset #e8e8e8; background: #c0c0c0; color: #111; box-shadow: 2px 2px #111; }
.bbm-encounter-file-window strong { padding: 3px 5px; background: #000080; color: #fff; }
.bbm-encounter-world-classic { color: #111; }
.bbm-encounter-world-tabloid, .bbm-encounter-world-candy, .bbm-encounter-world-punk, .bbm-encounter-world-corporate, .bbm-encounter-world-seventies { color: #181821; }
.bbm-encounter-world-classic .bbm-encounter-file span { background: #fff; color: #111; border: 1px solid #111; }
.bbm-encounter-world-classic .bbm-encounter-file-icon { width: 76px; height: 76px; }
.bbm-encounter-terminal { width: 285px; max-width: 100%; padding: 12px 11px; border: 1px solid #9bba8e; background: #0a100be8; color: #b8ffc7; box-shadow: inset 0 0 30px #35643b35; font: 11px/1.5 "Courier New", monospace; }
.bbm-encounter-terminal p { margin: 0; }
.bbm-encounter-terminal-label { margin-bottom: 14px !important; font-size: 9px; opacity: .7; }
.bbm-encounter-terminal form { display: flex; align-items: center; gap: 6px; }
.bbm-encounter-terminal label { display: flex; align-items: center; flex: 1; gap: 4px; min-width: 0; }
.bbm-encounter-terminal input { min-width: 0; width: 100%; padding: 6px 0; border: 0; border-bottom: 1px solid #66836b; background: transparent; color: #b8ffc7; font-size: 11px; }
.bbm-encounter-terminal button { min-height: 36px; padding: 5px 8px; border: 1px solid #66836b; background: #17331d; color: #b8ffc7; }
.bbm-encounter-terminal .bbm-encounter-terminal-output { margin-top: 15px; min-height: 3em; }
.bbm-encounter-newspaper { position: relative; transform: rotate(-3deg); padding: 11px 12px 17px; background: #ebe8dd; color: #151515; border: 1px solid #a9a498; clip-path: polygon(0 0,100% 0,100% 95%,96% 98%,90% 94%,85% 100%,78% 96%,71% 99%,66% 94%,59% 99%,53% 95%,47% 99%,39% 95%,31% 99%,26% 95%,19% 99%,11% 95%,5% 100%,0 96%); box-shadow: 3px 5px #0005; }
.bbm-encounter-masthead { padding-bottom: 6px; border-bottom: 3px double #111; font: 700 19px/.96 Georgia, serif; letter-spacing: -1px; }
.bbm-encounter-newspaper small { display: block; margin: 7px 0; font: 7px/1.4 "Courier New", monospace; }
.bbm-encounter-redacted { display: block; position: relative; width: 100%; margin-top: 13px; padding: 0 0 8px; border: 0; background: transparent; color: #111; text-align: left; font: 900 23px/.93 Georgia, serif !important; }
.bbm-encounter-redacted::after { content: ""; position: absolute; inset: -1px -3px 3px; background: repeating-linear-gradient(0deg,#111 0 20px,transparent 20px 23px); transform: rotate(1deg); transition: transform .35s, opacity .35s; }
.bbm-encounter-redacted.is-peeled::after { transform: translateX(80px) rotate(12deg); opacity: 0; }
.bbm-encounter-newspaper > p { margin: 10px 0 0; font: 10px/1.5 Georgia, serif; }
.bbm-encounter-photograph { width: 100%; margin-top: 9px; padding: 4px; background: #f8f8f2; border: 1px solid #999; }
.bbm-encounter-photograph svg { display: block; width: 100%; }
.bbm-encounter-painted-door { position: relative; width: 175px; height: 214px; overflow: hidden; padding: 0; border: 7px ridge #625e64; background: #0a0c0f; color: #ece9d3; box-shadow: 7px 7px #28384455; }
.bbm-encounter-painted-door::before { content: ""; position: absolute; inset: 12px; border: 1px solid #aca99a; }
.bbm-encounter-door-name { position: absolute; top: 14px; left: 9px; right: 9px; z-index: 3; color: #222; font: 7px/1.3 Tahoma,sans-serif; letter-spacing: .9px; }
.bbm-encounter-door-message { position: relative; top: 25px; white-space: pre-line; font: 700 30px/.94 "Courier New", monospace; transform: rotate(-5deg); }
.bbm-encounter-paint, .bbm-encounter-coat { position: absolute; inset: 0; }
.bbm-encounter-coat { transition: opacity .3s, translate .3s; }
.bbm-encounter-coat.coat-1 { background: repeating-linear-gradient(8deg,#ec6a86 0 19px,#ed7591 19px 23px); }
.bbm-encounter-coat.coat-2 { background: repeating-linear-gradient(-10deg,#369cac 0 25px,#79cad0 25px 29px); }
.bbm-encounter-coat.coat-3 { background: repeating-linear-gradient(6deg,#e7e35c 0 23px,#f7efa0 23px 27px); }
.bbm-encounter-paint[data-coats="2"] .coat-3, .bbm-encounter-paint[data-coats="1"] :is(.coat-3,.coat-2), .bbm-encounter-paint[data-coats="0"] .bbm-encounter-coat { opacity: 0; translate: 70px 10px; }
.bbm-encounter-blueprint { position: relative; color: #e2edff; background: #153586; border: 1px solid #e8f0ff; padding: 8px; background-image: linear-gradient(#ffffff0e 1px,transparent 1px),linear-gradient(90deg,#ffffff0e 1px,transparent 1px); background-size: 12px 12px; }
.bbm-encounter-plan-label { margin: 0; font: 8px/1.5 "Courier New", monospace; }
.bbm-encounter-seal svg { display: block; width: 100%; height: auto; }
.bbm-encounter-contact-points { position: absolute; inset: 30px 8px 8px; }
.bbm-encounter-contact { position: absolute; width: 34px; height: 34px; padding: 0; border: 1px dashed #ffdc62; border-radius: 50% !important; background: #153586; color: #ffdc62; font: 700 22px/1 "Courier New",monospace !important; }
.bbm-encounter-contact.contact-0 { top: 0; left: calc(50% - 17px); }.bbm-encounter-contact.contact-1 { bottom: 25px; left: 11px; }.bbm-encounter-contact.contact-2 { bottom: 25px; right: 11px; }
.bbm-encounter-contact.is-aligned { border-style: solid; background: #ffdc62; color: #153586; }
.bbm-encounter-plan-answer { position: absolute; left: 40px; right: 40px; top: 87px; margin: 0; color: #ffdc62; background: #153586; text-align: center; font: 10px/1.4 "Courier New", monospace; }
.bbm-encounter-leaflet { position: relative; display: block; width: 215px; padding: 18px 15px 31px; border: 0; background: #d8d8cc; color: #151515; text-align: left; transform: rotate(-5deg); clip-path: polygon(0 0,93% 0,100% 10%,98% 90%,89% 100%,0 97%); }
.bbm-encounter-leaflet small { display: block; font: 7px "Courier New",monospace; }
.bbm-encounter-leaflet strong { display: block; white-space: pre-line; margin-top: 12px; font: 900 28px/.91 Impact,"Arial Black",sans-serif; }
.bbm-encounter-tape { display: block; margin-top: 15px; width: max-content; padding: 4px 7px; color: #ece8d8; background: #a81932; transform: rotate(4deg); font: 10px "Courier New", monospace; }
.bbm-encounter-leaflet.is-flipped { transform: rotate(2deg); animation: bbm-encounter-flip .28s ease-out; }
.bbm-encounter-contract { position: relative; width: 255px; padding: 16px; border-top: 7px solid #08755f; background: #f2f4f4; color: #183644; box-shadow: 0 2px 7px #0003; }
.bbm-encounter-contract small { font-size: 7px; letter-spacing: 1px; }
.bbm-encounter-contract h3 { margin: 12px 0 8px; font: 700 22px/1.05 Arial,sans-serif; }
.bbm-encounter-contract p { margin: 8px 0; font-size: 11px; }
.bbm-encounter-contract-choices { display: flex; flex-direction: column; gap: 7px; margin-top: 12px; }
.bbm-encounter-contract button { min-height: 36px; padding: 6px; border: 1px solid #365b6b; background: #e7ecee; color: #183644; font-size: 10px; }
.bbm-encounter-contract .bbm-encounter-reject { background: #183644; color: #fff; font-weight: 700; }
.bbm-encounter-contract-status { color: #08755f; font: 9px/1.4 "Courier New",monospace !important; }
.bbm-encounter-contract.is-rejected::after { content: "DECLINED"; position: absolute; top: 14px; right: 12px; padding: 2px 4px; color: #a2262c; border: 2px solid; font: 700 13px "Courier New",monospace; rotate: -11deg; }
.bbm-encounter-record-sleeve { position: relative; display: block; width: 210px; height: 210px; overflow: hidden; padding: 17px 14px; border: 1px solid #88784d; background: #ebc349; color: #273b2b; text-align: left; box-shadow: 6px 6px #9d3529; }
.bbm-encounter-record-top { position: relative; display: block; padding-bottom: 7px; border-bottom: 2px solid #273b2b; font: 8px "Courier New",monospace; }
.bbm-encounter-record-label { position: relative; display: block; width: 175px; white-space: pre-line; margin-top: 30px; font: 900 27px/.93 Georgia,serif; }
.bbm-encounter-latch { position: absolute; right: 12px; bottom: 12px; padding: 4px 7px; border: 2px solid #273b2b; background: #f4e6b9; font: 8px "Courier New",monospace; }
.bbm-encounter-vinyl { position: absolute; width: 190px; height: 190px; top: 10px; left: 10px; border: 43px solid #222; border-radius: 50%; background: #bd6246; opacity: .17; transition: translate .35s,opacity .35s; }
.bbm-encounter-record-sleeve.is-open .bbm-encounter-vinyl { translate: 80px 0; opacity: .8; }
.bbm-encounter.is-found .bbm-encounter-painted-door { height: 105px; }.bbm-encounter.is-found .bbm-encounter-door-name { display: none; }.bbm-encounter.is-found .bbm-encounter-door-message { top: 6px; font-size: 23px; }
.bbm-encounter.is-found .bbm-encounter-newspaper { transform: none; padding-bottom: 11px; }.bbm-encounter.is-found .bbm-encounter-newspaper :is(.bbm-encounter-masthead,small,.bbm-encounter-redacted,p) { display: none; }.bbm-encounter.is-found .bbm-encounter-photograph { margin: 0; }
.bbm-encounter.is-found .bbm-encounter-file { display: none; }.bbm-encounter.is-found .bbm-encounter-file-window { margin: 0; }
.bbm-encounter.is-found .bbm-encounter-terminal :is(form,.bbm-encounter-terminal-label) { display: none; }.bbm-encounter.is-found .bbm-encounter-terminal-output { margin-top: 0; min-height: 0; }
.bbm-encounter.is-found .bbm-encounter-contract-choices, .bbm-encounter.is-found .bbm-encounter-contract > p:not(.bbm-encounter-contract-status) { display: none; }
.bbm-encounter.is-found .bbm-encounter-leaflet { padding: 10px; transform: none; }.bbm-encounter.is-found .bbm-encounter-leaflet strong { margin-top: 5px; font-size: 22px; }.bbm-encounter.is-found .bbm-encounter-tape { display: none; }
.bbm-encounter.is-found .bbm-encounter-record-sleeve { height: 104px; }.bbm-encounter.is-found .bbm-encounter-record-label { margin-top: 13px; font-size: 18px; }.bbm-encounter.is-found .bbm-encounter-latch { display: none; }
@keyframes bbm-encounter-flip { from { transform: rotate(-5deg) scaleX(.3); } to { transform: rotate(2deg) scaleX(1); } }
@media(max-width:600px) {
  .bbm-encounter { left: 14px; top: 108px; width: 230px; max-width: calc(100vw - 28px); max-height: min(35svh,calc(100svh - 270px)); overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; }
  .bbm-encounter-stage { zoom: .9; }
  .bbm-encounter button { min-height: 40px; }
  .bbm-encounter-file { min-height: 100px; }
  .bbm-encounter-contact { min-height: 36px !important; width: 36px; }
  .bbm-encounter-inspect { min-height: 40px; }
  .bbm-encounter.is-found { max-height: 190px; }
  .bbm-encounter.is-found .bbm-encounter-stage { max-height: 80px; }
  .bbm-encounter-hint { margin-top: 8px; font-size: 9px; }
}
@media(prefers-reduced-motion:reduce) { .bbm-encounter *, .bbm-encounter *::before, .bbm-encounter *::after { animation: none !important; transition: none !important; } }
