/* Keep the original pool, camera movement and theme controls. */
.logo { width: auto; min-width: 52px; height: 42px; font-family: "Funnel Display", "Zen Maru Gothic", sans-serif; font-size: 25px; font-weight: 700; letter-spacing: -.05em; }
.logo svg { display: none; }
.logo:focus-visible { outline: 2px solid currentColor; outline-offset: 6px; border-radius: 5px; }
#logo .logo-home { display: none; }
@media (max-width: 859.98px) {
  #logo.is-back { display: flex; align-items: center; justify-content: center; min-width: 88px; height: 44px; top: max(14px, env(safe-area-inset-top, 0px)); left: max(14px, env(safe-area-inset-left, 0px)); padding: 10px 12px; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: var(--bg); font: 500 15px/1.4 var(--sans); letter-spacing: 0; }
  #logo.is-back .logo-wordmark { display: none; }
  #logo.is-back .logo-home { display: inline-flex; align-items: center; gap: 6px; }
  #logo .logo-home svg { display: block; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transform: none; }
  #logo.is-back:active { opacity: .6; }
}
@media (max-width: 600px) { .logo { font-size: 21px; min-width: 42px; } }
/* Rooms move through camera transforms; native focus scrolling would offset the world. */
.ui.ui, .room.room { overflow: clip; }

/* Finer tiles and an open CJK sans face preserve the counters inside Chinese glyphs. */
:root { --floor-cjk: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif; }
/* The identity uses a self-hosted brush face in the submerged text texture. */
:root { --floor-brush: "Youze Brush", "Kaiti SC", "STKaiti", serif; }
@font-face {
  font-family: "Youze Brush";
  src: url("assets/youze/fonts/youze-brush.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Youze Display";
  src: url("assets/youze/fonts/youze-display.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
:root { --floor-display: "Youze Display", "PingFang SC", "Microsoft YaHei", sans-serif; }

/* Only the approved portrait and case covers use these layouts. */
.peek[data-preview-shape="portrait"] {
  width: min(176px, calc((100dvh - 76px) * .75), calc(100vw - 24px));
}
.peek[data-preview-shape] .peek-media { background: var(--deck); }
.peek[data-preview-shape] .peek-media > img {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  object-fit: contain;
}
.peek[data-preview-shape] .peek-media::after {
  box-shadow: inset 0 1px 5px rgba(0, 0, 0, .08);
}
