/* The demo's frame: the game's own palette (book green, paper, brass) and fonts. */
/* Top centre: the header's own buttons sit at its two ends. */
.demo-bar{position:fixed;top:10px;left:50%;transform:translateX(-50%);white-space:nowrap;z-index:2147482000;display:flex;align-items:center;gap:12px;padding:6px 6px 6px 14px;
  background:#0d211dee;border:1px solid #d9c39155;border-radius:999px;box-shadow:0 6px 24px #0006;color:#eee6d2;
  font:13px/1.2 Document,Georgia,serif}
.demo-bar-label{letter-spacing:.02em;color:#d8cfb8}
.demo-bar-buy,.demo-primary{display:inline-block;background:#e3d6b8;color:#1d3129;text-decoration:none;border:0;border-radius:999px;
  padding:7px 14px;font:600 13px/1.2 Document,Georgia,serif;cursor:pointer}
.demo-bar-buy:hover,.demo-primary:hover{background:#efe4c8}
.demo-bar a:focus-visible,.demo-card :focus-visible{outline:3px solid #d9c391;outline-offset:3px}
.demo-sheet{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:16px;background:#050d0bcc}
.demo-sheet[hidden]{display:none}
.demo-card{max-width:520px;width:100%;background:#eee9d9;color:#1d2a25;border-radius:6px;padding:28px 30px 22px;
  box-shadow:0 18px 60px #000a;font:16px/1.6 Document,Georgia,serif}
.demo-card h2{font:400 28px/1.15 Halcyon,Georgia,serif;margin:0 0 12px}
.demo-card p{margin:0 0 12px}
.demo-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:18px 0 8px}
.demo-actions .demo-primary{background:#1d3129;color:#f3ead2;padding:10px 18px;font-size:15px}
.demo-actions .demo-primary:hover{background:#28443a}
.demo-actions button:not(.demo-primary){background:none;border:0;color:#1d3129;text-decoration:underline;font:15px Document,Georgia,serif;cursor:pointer;padding:8px 4px}
.demo-small{font-size:13px;color:#4a5550}
@media (max-width:700px){.demo-bar{top:auto;bottom:calc(var(--desk-h,96px) + 10px);right:10px;left:10px;transform:none;justify-content:space-between}}
/* While the game loads (a few seconds on a real connection) the player sees a plain dark screen, not a bare desk. No
   hotel picture: on a return visit it read as the arrival scene flashing past (Founder, 5 Oct). demo.js lifts it the
   moment the game is ready; it lifts itself after 30 s regardless. */
body:not(.demo-ready)::after{content:"";position:fixed;inset:0;z-index:2147483646;background:#091b19;animation:demo-cover-off 0s 30s forwards}
body:not(.demo-ready)::before{content:"Opening the case file…";position:fixed;left:0;right:0;top:50%;transform:translateY(-50%);z-index:2147483647;text-align:center;color:#eee6d2;font:italic 400 22px/1.4 Halcyon,Georgia,serif;letter-spacing:.02em;text-shadow:0 2px 14px #000;animation:demo-cover-off 0s 30s forwards}
@keyframes demo-cover-off{to{visibility:hidden}}
