:root {
  color-scheme: dark;
  --ink: #08080d;
  --panel: #100f17;
  --panel-raised: #17141e;
  --text: #f8f2f7;
  --muted: #a9a0b0;
  --gold: #e6c891;
  --pink: #ff45bd;
  --cyan: #38e8fa;
  --orange: #ff875e;
  --line: #ffffff19;
  --heading: Georgia, "Times New Roman", serif;
  font-family: Inter, "Segoe UI", system-ui, sans-serif;
}

* { box-sizing: border-box; }

body {
  min-height: 100dvh;
  margin: 0;
  color: var(--text);
  background:
    radial-gradient(ellipse at 50% -12%, #40203d66, transparent 46%),
    radial-gradient(ellipse at 100% 32%, #14384027, transparent 36%),
    linear-gradient(155deg, #0d0b12, var(--ink) 54%, #0c0a10);
}

body::before {
  position: fixed;
  z-index: -1;
  inset: 0;
  background-image: radial-gradient(#fff 0.6px, transparent 0.8px);
  background-size: 41px 41px;
  opacity: .09;
  pointer-events: none;
  content: "";
}

a { color: inherit; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
img { display: block; max-width: 100%; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }

.vitrin-header {
  position: relative;
  overflow: hidden;
  padding: 18px 16px;
  border-bottom: 1px solid #e8c98a38;
  background:
    radial-gradient(ellipse at 20% 45%, #6f194847, transparent 45%),
    radial-gradient(ellipse at 82% 18%, #08798a30, transparent 38%),
    linear-gradient(112deg, #100c14, #0b0a10 48%, #100c13);
  box-shadow: 0 16px 46px #0009;
}

.vitrin-header::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--pink), var(--gold), var(--cyan), transparent);
  box-shadow: 0 0 14px #f94bc688;
  content: "";
}

.brand {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 0;
  color: var(--text);
  font: 800 clamp(1.35rem, 4vw, 2rem)/1.12 var(--heading);
  letter-spacing: .09em;
  text-shadow: 0 0 22px #ff45bd40;
}

.brand img { width: clamp(30px, 6vw, 40px); }
.header-caption { color: var(--muted); font: 700 .57rem/1 system-ui, sans-serif; letter-spacing: .2em; }

.home-hero {
  display: flex;
  align-items: center;
  min-height: 228px;
  padding: 22px 20px;
  background:
    radial-gradient(ellipse at 50% 56%, #7a29503d, transparent 34%),
    radial-gradient(ellipse at 14% 50%, #8d175a25, transparent 28%),
    radial-gradient(ellipse at 86% 45%, #0e91a322, transparent 30%),
    repeating-linear-gradient(90deg, transparent 0 82px, #e6c8910b 83px 84px),
    linear-gradient(115deg, #130d17, #0b0b11 51%, #101018);
}

.home-hero::before {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(125deg, transparent 0 36%, #ff45bd0c 36.1% 36.3%, transparent 36.4% 72%, #38e8fa0a 72.1% 72.3%, transparent 72.4%),
    radial-gradient(ellipse at 74% 100%, #f7a94c1c, transparent 31%);
  pointer-events: none;
  content: "";
}

.hero-copy {
  position: relative;
  z-index: 1;
  width: min(1080px, 100%);
  margin: 0 auto;
}

.hero-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #b6aabb;
  font-size: .59rem;
  font-weight: 750;
  letter-spacing: .2em;
}

.hero-topline { padding-bottom: 15px; border-bottom: 1px solid #ffffff16; }
.live-status { display: flex; align-items: center; gap: 8px; color: var(--gold); }
.live-status i { width: 6px; height: 6px; border-radius: 50%; background: #75f2bf; box-shadow: 0 0 10px #75f2bf; }
.hero-main {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 148px;
}

.hero-main::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(390px, 82vw);
  height: 130px;
  border-radius: 50%;
  background: radial-gradient(ellipse, #e6c8911c 0%, #ff45bd0d 38%, transparent 72%);
  filter: blur(7px);
  transform: translate(-50%, -50%);
  pointer-events: none;
  content: "";
}

.hero-main::after {
  position: absolute;
  bottom: 11px;
  left: 50%;
  width: 82px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), #fff0cf, var(--gold), transparent);
  box-shadow: 0 0 10px #e6c89188;
  transform: translateX(-50%);
  content: "";
}

.hero-kicker {
  margin: 0 0 5px 4px;
  color: var(--gold);
  font-size: .64rem;
  font-weight: 750;
  letter-spacing: .24em;
}

.hero-brand { position: relative; z-index: 1; justify-content: center; gap: clamp(16px, 3vw, 29px); }
.hero-brand img {
  width: clamp(34px, 5vw, 48px);
  filter: drop-shadow(0 0 9px #e6c89155);
}
.hero-brand img:last-child { opacity: .8; }
.hero-brand span {
  color: #fffaf5;
  font: 900 clamp(3.2rem, 8vw, 5rem)/.95 var(--heading);
  letter-spacing: .22em;
  padding-left: .22em;
  -webkit-text-stroke: 1px #f8dfb8;
  text-shadow: 0 0 9px #ff45bd77, 0 0 26px #ff45bd36, 0 3px 20px #e6c8914c, 3px 4px 0 #21111e;
}

.hero-caption {
  margin: 9px 0 0 4px;
  color: #e8dfe8;
  font-size: .66rem;
  font-weight: 750;
  letter-spacing: .22em;
}

.hero-caption span { padding: 0 5px; color: var(--orange); }

.vitrin-container, .detail-container, .admin-container {
  width: min(1000px, calc(100% - 32px));
  margin: 0 auto;
  padding: 20px 0 42px;
}

.advertise {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 54px;
  margin: 0 0 13px;
  overflow: hidden;
  padding: 10px 16px;
  border: 1px solid #e6c8918c;
  border-radius: 8px;
  color: #fff3dc;
  background: linear-gradient(100deg, #25131f, #17121c 48%, #102027);
  box-shadow: 0 5px 26px #e6c89113, inset 0 0 22px #ff45bd0d;
  text-decoration: none;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-align: center;
  box-shadow: 0 0 14px #ff45bd38, 0 0 34px #38e8fa20, inset 0 0 22px #ff45bd13;
  animation: advertise-glow 2.8s ease-in-out infinite;
}

.advertise::before {
  position: absolute;
  z-index: 0;
  top: -50%;
  bottom: -50%;
  left: -45%;
  width: 32%;
  background: linear-gradient(90deg, transparent, #fff4d85c, #38e8fa5c, transparent);
  filter: blur(7px);
  transform: skewX(-22deg);
  pointer-events: none;
  content: "";
  animation: advertise-shine 4.2s ease-in-out infinite;
}

.advertise:hover { border-color: var(--cyan); }
.advertise img, .advertise span { position: relative; z-index: 1; }
.advertise img { width: 26px; }

@keyframes advertise-glow {
  0%, 100% { box-shadow: 0 0 12px #ff45bd32, 0 0 27px #38e8fa18, inset 0 0 18px #ff45bd10; }
  50% { box-shadow: 0 0 22px #ff45bd66, 0 0 42px #38e8fa38, inset 0 0 25px #e6c8911c; }
}

@keyframes advertise-shine {
  0%, 25% { left: -45%; }
  75%, 100% { left: 120%; }
}

.warning {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 44px;
  padding: 8px 13px;
  border: 1px solid #ff875e35;
  border-radius: 7px;
  color: #d8cbd3;
  background: linear-gradient(90deg, #24151a, #151117 55%, #11141b);
  font-size: .72rem;
}

.warning b { color: var(--orange); font-size: 1rem; }
.warning i { margin-left: auto; color: #d6b985; font-size: .52rem; font-style: normal; font-weight: 800; letter-spacing: .15em; white-space: nowrap; }
.tier-title { margin: 22px 2px 12px; color: #fff5e8; font: 500 clamp(1.35rem, 3vw, 1.7rem)/1.05 var(--heading); letter-spacing: .025em; }
.section-title { display: flex; align-items: center; gap: 12px; }
.section-title::after { flex: 1; height: 1px; background: linear-gradient(90deg, #e6c89155, #ff45bd48, transparent); content: ""; }
.listing-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }

.flow-card {
  position: relative;
  isolation: isolate;
  display: block;
  height: 222px;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 12px;
  color: inherit;
  background:
    linear-gradient(#0c0b11, #0c0b11) padding-box,
    conic-gradient(from var(--rgb-angle, 0deg), #ff3ca6, #ff954d, #f8e875, #45f2c7, #36d8ff, #8b67ff, #ff3ca6) border-box;
  text-decoration: none;
  box-shadow: 0 16px 34px #0008, 0 0 18px #ff45bd17;
  animation: rgb-angle 8s linear infinite, rgb-light 8s ease-in-out infinite;
  transition: transform .3s ease, box-shadow .3s ease;
}

@property --rgb-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}

.flow-card::before {
  position: absolute;
  z-index: 3;
  inset: -1px;
  border: 1px solid transparent;
  border-radius: inherit;
  background: conic-gradient(from var(--rgb-angle, 0deg), #ff3ca6, #ff954d, #f8e875, #45f2c7, #36d8ff, #8b67ff, #ff3ca6) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  filter: drop-shadow(0 0 4px #ff3ca688) drop-shadow(0 0 9px #36d8ff40);
  pointer-events: none;
  content: "";
  animation: rgb-angle 8s linear infinite;
}

.flow-card:hover { z-index: 1; transform: translateY(-3px); box-shadow: 0 20px 44px #000b, 0 0 28px #38e8fa2a; }

.flow-card::after {
  display: none;
}

.flow-card:focus-visible { outline-offset: -3px; }
.flow-track { display: flex; height: 100%; width: 100%; }
.flow-track.is-moving { width: 200%; animation: flow 17s linear infinite paused; }
.flow-card.is-in-view .is-moving { animation-play-state: running; }
.flow-card:focus-visible .is-moving, .flow-card:hover .is-moving { animation-play-state: paused; }

@keyframes flow { to { transform: translateX(-50%); } }
@keyframes rgb-angle { to { --rgb-angle: 360deg; } }
@keyframes rgb-light {
  0%, 100% { filter: drop-shadow(0 0 5px #ff3ca677) drop-shadow(0 0 11px #ff3ca633); }
  33% { filter: drop-shadow(0 0 6px #45f2c788) drop-shadow(0 0 14px #36d8ff44); }
  66% { filter: drop-shadow(0 0 6px #8b67ff88) drop-shadow(0 0 14px #f8e87540); }
}

.flow-shot { flex: 0 0 var(--shot-width, 100%); min-width: 0; margin: 0; overflow: hidden; }
.flow-shot + .flow-shot { border-left: 1px solid #ffffff20; }
.flow-shot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(.84) contrast(1.08) saturate(1.06);
  transition: transform .65s cubic-bezier(.2,.7,.2,1), filter .35s ease;
}
.flow-card:hover .flow-shot img { filter: brightness(.94) contrast(1.06) saturate(1.08); transform: scale(1.035); }

.card-identity {
  position: absolute;
  z-index: 4;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 3px;
  height: 76px;
  min-width: 0;
  padding: 12px 19px 10px;
  border: 0;
  color: #fff3da;
  background: linear-gradient(90deg, #07060df2 0%, #090710dc 24%, #100c197a 51%, #100c1924 72%, transparent 100%);
  text-shadow: 0 2px 8px #000, 0 0 16px #000;
}

.card-identity::before {
  position: absolute;
  top: 50%;
  left: 19px;
  width: 2px;
  height: 25px;
  border-radius: 2px;
  background: linear-gradient(180deg, #fff0c2, #e6c89155);
  box-shadow: 0 0 12px #e6c89195;
  transform: translateY(-50%);
  content: "";
}
.card-place-type {
  margin-left: 11px;
  color: #f0d7a8;
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .035em;
  line-height: 1.15;
  text-shadow: 0 1px 5px #000;
}
.card-name {
  margin: 0;
  margin-left: 11px;
  overflow-wrap: anywhere;
  color: #fff7e8;
  font: 750 1.05rem/1.2 system-ui, sans-serif;
  letter-spacing: .03em;
}
.card-name span { margin-left: 7px; color: var(--gold); }
.dark-footer { display: flex; justify-content: center; gap: 18px; padding: 25px 0 0; color: #8e8493; font-size: .68rem; letter-spacing: .14em; text-align: center; }
.dark-footer a { color: #cbb8cc; text-decoration: none; }
.dark-footer a:hover { color: var(--gold); }

.notice, .detail-box, .admin-box {
  border: 1px solid #e6c89142;
  border-radius: 10px;
  background: linear-gradient(145deg, #17131d, #0f0d14);
  box-shadow: 0 16px 36px #0006;
}

.notice { padding: 12px 14px; color: var(--muted); font-size: .82rem; }
.notice.demo-notice {
  position: relative;
  width: fit-content;
  margin: -2px 2px 10px;
  padding: 5px 11px 5px 24px;
  border: 1px solid #e6c89135;
  border-radius: 999px;
  color: #cbb8cc;
  background: linear-gradient(100deg, #17131d88, #11101866);
  box-shadow: inset 0 0 12px #ff45bd0a;
  font-size: .65rem;
  letter-spacing: .045em;
}
.notice.demo-notice::before {
  position: absolute;
  top: 50%;
  left: 10px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 8px #e6c891a6;
  transform: translateY(-50%);
  content: "";
}
.notice.error { color: #ffb6ae; border-color: #ff6d6866; }
.detail-container { max-width: 780px; padding-top: 20px; }
.back-link { display: inline-flex; align-items: center; min-height: 36px; margin-bottom: 13px; color: var(--gold); font-size: .76rem; font-weight: 750; letter-spacing: .035em; text-decoration: none; }
.back-link:hover { color: var(--cyan); }
.detail-box { overflow: hidden; animation: rgb-light 8s ease-in-out infinite; }
.detail-stage { position: relative; overflow: hidden; background: radial-gradient(ellipse at 50% 30%, #342036, #08080d 76%); }
.detail-stage::after { position: absolute; z-index: 1; inset: 8px; border: 1px solid #ffffff20; border-radius: 7px; pointer-events: none; content: ""; }
.detail-photo { position: relative; z-index: 2; display: block; width: 100%; padding: 0; border: 0; background: none; }
.detail-photo img { width: 100%; height: min(65vh, 590px); min-height: 240px; object-fit: contain; }

.nav-arrow, .dialog-close {
  position: absolute;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid #e6c89191;
  border-radius: 50%;
  color: #fff8f1;
  background: #100e17dc;
  box-shadow: 0 0 18px #ff45bd22;
  font-size: 1.4rem;
  backdrop-filter: blur(8px);
}

.nav-arrow { top: 50%; transform: translateY(-50%); }
.prev { left: 15px; }
.next { right: 15px; }
.detail-thumbs { display: flex; gap: 9px; overflow-x: auto; padding: 12px 15px; border-top: 1px solid #ffffff15; }
.detail-thumbs button { flex: 0 0 62px; padding: 0; overflow: hidden; border: 1px solid #e6c89150; border-radius: 6px; background: #0b0a10; }
.detail-thumbs button[aria-pressed="true"] { border: 2px solid var(--cyan); box-shadow: 0 0 14px #38e8fa46; }
.detail-thumbs img { width: 100%; height: 54px; object-fit: cover; }
.detail-content { padding: 22px; }
.detail-content h2 { margin: 0; color: #fff5e8; font: 500 1.75rem/1.15 var(--heading); overflow-wrap: anywhere; }
.detail-pills { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 10px; }
.detail-pills span { padding: 5px 9px; border: 1px solid #e6c89152; border-radius: 999px; color: var(--gold); font-size: .7rem; }
.detail-stats { display: flex; gap: 9px; flex-wrap: wrap; margin: 18px 0; }
.detail-stat { min-width: 90px; padding: 10px 14px; border: 1px solid #e6c8914a; border-radius: 7px; background: linear-gradient(145deg, #211824, #111018); box-shadow: inset 0 0 18px #ff45bd0b; }
.detail-stat dt { margin-bottom: 5px; color: #a99caf; font-size: .59rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.detail-stat dd { margin: 0; color: #fff4e3; font: 600 1.05rem/1.1 var(--heading); }
.detail-stat small { margin-left: 4px; color: var(--gold); font: 700 .57rem/1 system-ui, sans-serif; letter-spacing: .08em; }
.description { color: #d0c6d1; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.7; }
.green-action { display: block; padding: 13px; border: 1px solid #71eabf77; border-radius: 6px; color: #eafff5; background: linear-gradient(100deg, #104332, #11251f 55%, #132d29); box-shadow: 0 0 20px #39eaa222; text-align: center; text-decoration: none; font-size: .82rem; font-weight: 800; letter-spacing: .07em; transition: box-shadow .2s ease; }
.green-action:hover { box-shadow: 0 0 26px #39eaa255; }
.image-dialog { max-width: 96vw; max-height: 94vh; padding: 8px; border: 1px solid var(--gold); border-radius: 10px; background: #09080e; box-shadow: 0 0 38px #ff45bd36; }
.image-dialog::backdrop { background: #05040beb; backdrop-filter: blur(5px); }
.image-dialog img { max-height: 90vh; width: auto; object-fit: contain; }
.dialog-close { top: 12px; right: 12px; }

.admin-container { max-width: 850px; padding-top: 21px; }
.member-container { max-width: 620px; }
.member-intro, .member-account { color: var(--muted); font-size: .82rem; line-height: 1.6; }
.member-intro { margin: -5px 0 15px; }
.member-account { margin: -7px 0 17px; }
.member-account strong { color: var(--gold); }
.member-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 0 18px; }
.member-summary div { padding: 13px; border: 1px solid #e6c89142; border-radius: 7px; background: #0c0b11; }
.member-summary dt { color: #a99caf; font-size: .62rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.member-summary dd { margin: 7px 0 0; color: #fff4e3; font: 600 1.05rem/1.2 var(--heading); }
.admin-toolbar, .row-actions { display: flex; gap: 9px; flex-wrap: wrap; align-items: center; }
.admin-toolbar { justify-content: space-between; margin-bottom: 14px; }
.admin-toolbar .back-link { margin: 0; }
.admin-box { padding: 19px; animation: rgb-light 8s ease-in-out infinite; }
.admin-box + .admin-box { margin-top: 14px; }
.admin-box h2 { margin: 0 0 16px; color: #fff2df; font: 500 1.35rem/1.2 var(--heading); }
.admin-box form, .fields { display: grid; gap: 13px; }
.fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.full { grid-column: 1 / -1; }
.field { display: grid; gap: 7px; min-width: 0; color: #d7ccd8; font-size: .78rem; font-weight: 650; }
.check { display: inline-flex; gap: 7px; align-items: center; }

.field input, .field textarea, .field select {
  width: 100%;
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid #ffffff25;
  border-radius: 6px;
  color: var(--text);
  background: #0b0a10;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.field input:focus, .field textarea:focus, .field select:focus { border-color: #38e8fa99; outline: 0; box-shadow: 0 0 0 3px #38e8fa15; }
.field textarea { resize: vertical; }
.hint { color: #958a9b; font-size: .72rem; font-weight: 400; }

.button {
  display: inline-block;
  padding: 10px 14px;
  border: 1px solid #e6c89162;
  border-radius: 6px;
  color: #f6edf4;
  background: linear-gradient(110deg, #211921, #15131b);
  text-decoration: none;
  font-size: .76rem;
  font-weight: 750;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.button:hover { border-color: var(--cyan); box-shadow: 0 0 15px #38e8fa25; }
.button.primary { border-color: #e6c891; color: #21180d; background: linear-gradient(100deg, #f1d8a8, #c8a772); }
.button.danger { color: #ffb6ae; border-color: #ff726766; }
.button:disabled { opacity: .6; cursor: wait; }
.admin-list { display: grid; gap: 10px; }
.admin-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px 14px; align-items: center; padding: 13px; border: 1px solid #ffffff20; border-radius: 7px; background: #0c0b11; }
.admin-row-info { display: grid; gap: 6px; min-width: 0; }
.admin-row-summary { display: grid; justify-items: end; gap: 5px; min-width: 94px; text-align: right; }
.admin-row-state { font-size: .73rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.admin-row-state.is-active { color: #82e7b6; text-shadow: 0 0 10px #62d99b35; }
.admin-row-state.is-passive { color: #ff9a91; text-shadow: 0 0 10px #ff726735; }
.admin-row-days { color: #f0d9ae; font-size: .72rem; font-weight: 700; }
.admin-row .row-actions { grid-column: 1 / -1; }
.admin-row strong { color: #f5e8d9; overflow-wrap: anywhere; }
.admin-row p { margin: 0; color: var(--muted); font-size: .76rem; }
.admin-photos { display: flex; gap: 8px; flex-wrap: wrap; }
.admin-photos button { position: relative; overflow: hidden; padding: 0; }
.admin-photos img { width: 68px; height: 60px; object-fit: cover; }
.admin-photos span { position: absolute; top: 0; right: 0; padding: 0 4px; color: white; background: #000d; }

@media (max-width: 640px) {
  .vitrin-header { padding: 15px 13px; }
  .home-hero { min-height: 180px; padding: 15px 13px; }
  .hero-topline { padding-bottom: 11px; font-size: .48rem; letter-spacing: .14em; }
  .hero-main { min-height: 118px; }
  .hero-kicker { margin-left: 2px; font-size: .52rem; letter-spacing: .14em; }
  .hero-brand { gap: 13px; }
  .hero-brand img { width: 30px; }
  .hero-brand span { font-size: 3.05rem; }
  .hero-caption { margin: 7px 0 0 2px; font-size: .49rem; letter-spacing: .13em; }
  .vitrin-container, .detail-container, .admin-container { width: calc(100% - 22px); padding-top: 13px; }
  .warning { gap: 8px; padding: 8px 9px; font-size: .66rem; }
  .warning i { display: none; }
  .tier-title { margin: 17px 2px 10px; font-size: 1.35rem; }
  .listing-grid { gap: 11px; }
  .flow-card { height: 170px; border-radius: 9px; }
  .card-identity { height: 68px; gap: 3px; padding: 8px 13px; }
  .card-identity::before { left: 13px; }
  .card-place-type { margin-left: 9px; font-size: .62rem; }
  .card-name { margin-left: 9px; }
  .card-name { font-size: .9rem; }
  .fields { grid-template-columns: 1fr; }
  .detail-content { padding: 16px; }
  .detail-content h2 { font-size: 1.45rem; }
  .admin-box { padding: 15px; }
  .header-caption { font-size: .45rem; letter-spacing: .14em; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .flow-track.is-moving { animation: none; }
}
