.msrl-page,.msrl-page *  {
  box-sizing:border-box
}

.msrl-page  {
  position:relative;
  isolation:isolate;
  width:100%;
  padding:36px 16px;
  min-height:560px;
  color:var(--msrl-text);
  font-family:var(--msrl-font);
  font-size:16px;
  line-height:1.65;
  overflow:hidden;
  text-align:var(--msrl-align)
}

.msrl-page .msrl-background,.msrl-page .msrl-overlay  {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:-2;
  border:0;
  margin:0
}

.msrl-page .msrl-overlay  {
  background:#000;
  z-index:-1
}

.msrl-page .msrl-card  {
  width:100%;
  max-width:var(--msrl-width);
  margin:0 auto;
  border-radius:calc(var(--msrl-radius) + 8px);
  overflow:hidden;
  background:var(--msrl-surface);
  background:color-mix(in srgb,var(--msrl-surface) calc(var(--msrl-opacity)*100%),transparent);
  box-shadow:0 16px 64px #182a4012;
  backdrop-filter:blur(12px);
  border:1px solid #ffffff45
}

.msrl-page .msrl-inner  {
  padding:var(--msrl-padding)
}

.msrl-page .msrl-cover  {
  display:block;
  width:100%;
  max-width:none;
  object-fit:cover;
  margin:0;
  border:0;
  border-radius:0
}

.msrl-page .msrl-logo  {
  display:inline-block;
  max-width:100%;
  margin:0 0 12px;
  box-shadow:0 4px 20px #15284012
}

.msrl-page .msrl-identity  {
  margin-bottom:24px
}

.msrl-page .msrl-name  {
  font:700 28px/1.4 var(--msrl-font);
  letter-spacing:-.5px;
  color:var(--msrl-text);
  margin:0 0 8px
}

.msrl-page .msrl-bio  {
  color:var(--msrl-muted);
  font-size:15px
}

.msrl-page p  {
  margin:0 0 8px
}

.msrl-page a  {
  color:var(--msrl-accent);
  text-decoration:none;
  box-shadow:none;
  overflow-wrap:anywhere
}

.msrl-page a:focus-visible  {
  outline:3px solid var(--msrl-accent);
  outline-offset:4px
}

.msrl-page .msrl-blocks  {
  display:grid;
  gap:var(--msrl-gap)
}

.msrl-page .msrl-block  {
  min-width:0
}

.msrl-page .msrl-block h2  {
  font:700 19px/1.5 var(--msrl-font);
  color:var(--msrl-text);
  margin:0 0 10px
}

.msrl-page .msrl-button  {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:54px;
  padding:14px 20px;
  border-radius:var(--msrl-radius);
  background:var(--msrl-accent);
  color:var(--msrl-button-text);
  font-weight:650;
  transition:transform .18s,filter .18s
}

.msrl-page .msrl-button:hover  {
  transform:translateY(-2px);
  filter:brightness(1.08);
  color:var(--msrl-button-text)
}

.msrl-page .msrl-button-icon  {
  width:24px;
  height:24px;
  object-fit:contain;
  flex:none;
  margin:0
}

.msrl-page figure  {
  margin:0
}

.msrl-page .msrl-content-image  {
  display:block;
  width:100%;
  height:auto;
  border-radius:var(--msrl-radius)
}

.msrl-page figcaption  {
  font-size:13px;
  color:var(--msrl-muted);
  margin-top:8px
}

.msrl-page .msrl-social  {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px
}

.msrl-page .msrl-social a  {
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:9px 15px;
  border:1px solid color-mix(in srgb,var(--msrl-muted) 25%,transparent);
  border-radius:999px;
  font-size:14px
}

.msrl-page .msrl-locations  {
  display:grid;
  gap:10px
}

.msrl-page .msrl-location  {
  padding:16px;
  border:1px solid color-mix(in srgb,var(--msrl-muted) 25%,transparent);
  border-radius:var(--msrl-radius)
}

.msrl-page .msrl-location p,.msrl-page .msrl-copy  {
  color:var(--msrl-muted);
  white-space:normal;
  overflow-wrap:anywhere
}

.msrl-page .msrl-location a  {
  display:inline-block;
  padding:5px 8px;
  font-size:14px
}

.msrl-page .msrl-footer  {
  margin-top:30px;
  font-size:12px;
  color:var(--msrl-muted)
}

.msrl-page .msrl-footer a  {
  color:inherit
}

@media(max-width:480px)  {
  .msrl-page  {
    padding:16px 10px
  }
  .msrl-page .msrl-inner  {
    padding:min(var(--msrl-padding),22px)
  }
  .msrl-page .msrl-name  {
    font-size:25px
  }
}

@media(prefers-reduced-motion:reduce)  {
  .msrl-page *  {
    transition:none!important;
    animation:none!important
  }
}


/* Edge-to-edge mode retains a readable content width on large screens. */
.msrl-page.msrl-layout-fullscreen{padding:0;min-height:100svh}
.msrl-layout-fullscreen .msrl-card{max-width:none;min-height:inherit;border:0;border-radius:0;box-shadow:none}
.msrl-layout-fullscreen .msrl-inner{max-width:calc(var(--msrl-width) + var(--msrl-padding)*2);margin-inline:auto}
.msrl-logo-wrap{position:relative;text-align:center}
.msrl-logo-align-start .msrl-logo-wrap{text-align:start}
.msrl-logo-align-end .msrl-logo-wrap{text-align:end}
.has-cover.msrl-logo-overlap .msrl-logo-wrap{margin-top:calc(-1 * var(--msrl-padding) - var(--msrl-logo-size)/2)}
.has-cover.msrl-logo-on-cover .msrl-logo-wrap{margin-top:calc(-1 * var(--msrl-padding) - var(--msrl-logo-size) - 16px);margin-bottom:20px}
.msrl-page .msrl-logo{position:relative;vertical-align:middle}
.msrl-page button{font:inherit;cursor:pointer}
.msrl-page button:focus-visible,.msrl-page select:focus-visible,.msrl-page input:focus-visible{outline:3px solid var(--msrl-accent);outline-offset:3px}
.msrl-page .msrl-button{width:100%;border:0;font:600 16px/1.5 var(--msrl-font);cursor:pointer}
.msrl-page .msrl-story-logo{border:3px solid var(--msrl-accent);padding:3px;border-radius:26%;background:transparent;line-height:0;max-width:100%}
.msrl-page .msrl-story-logo .msrl-logo{margin:0}
.msrl-page .msrl-slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;direction:ltr;scrollbar-width:thin;gap:12px;position:relative;border-radius:var(--msrl-radius)}
.msrl-slides figure{flex:0 0 100%;scroll-snap-align:start;min-width:0}
.msrl-slides img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.msrl-page .msrl-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin:12px 0;direction:ltr}
.msrl-page .msrl-controls button,.msrl-page .msrl-controls select,.msrl-page .msrl-modal-bar button{min-height:42px;border:1px solid #cbd5e1;border-radius:9px;padding:8px 12px;background:#fff;color:#172337;font:500 14px/1.4 system-ui}
.msrl-page button:disabled{opacity:.4;cursor:default}
.msrl-page .msrl-document-original{display:inline-block;margin:8px;font-size:13px}
.msrl-page .msrl-modal{position:fixed;inset:0;margin:auto;width:min(1200px,98vw);max-width:98vw;height:94svh;max-height:94svh;padding:0;background:#f3f5f8;color:#172337;border:0;border-radius:16px;font-family:var(--msrl-font);text-align:center;overflow:auto}
.msrl-page .msrl-modal::backdrop{background:#0b1421d9}
.msrl-page .msrl-modal:fullscreen{width:100vw;max-width:none;height:100svh;max-height:none;border-radius:0}
.msrl-page .msrl-modal-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:white;padding:12px 18px;position:sticky;top:0;z-index:2}
.msrl-page .msrl-modal-bar h2{font:600 17px/1.4 system-ui;color:#172337;margin:0}
.msrl-modal-body{padding:12px}
.msrl-book-stage{overflow:auto;max-height:70svh;min-height:240px;touch-action:pan-y;direction:ltr}
.msrl-book-page{width:max-content;min-width:100%;transform-origin:center;line-height:0}
.msrl-book-page canvas,.msrl-book-page img{display:block;margin:0 auto;box-shadow:0 4px 18px #0002;height:auto;background:#fff;max-width:none}
.msrl-viewer-status{font-size:13px;margin:12px!important}
.msrl-story-stage img,.msrl-story-stage video{display:block;max-width:100%;width:auto;height:65svh;object-fit:contain;margin:0 auto;background:#101820;border-radius:12px}
.msrl-story-stage p{margin-top:10px}
.msrl-page .msrl-catalog-filters{display:flex;gap:12px;margin-bottom:16px;text-align:start;flex-wrap:wrap}
.msrl-catalog-filters label{flex:1;min-width:140px;font-size:13px}
.msrl-page .msrl-catalog-filters input,.msrl-page .msrl-catalog-filters select{display:block;width:100%;min-height:44px;border:1px solid #94a3b8;border-radius:8px;padding:8px;background:var(--msrl-surface);color:var(--msrl-text);font:inherit}
.msrl-catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:16px;text-align:start}
.msrl-page .msrl-catalog-item{border:1px solid #94a3b840;border-radius:var(--msrl-radius);overflow:hidden;min-width:0}
.msrl-catalog-item>div{padding:16px}
.msrl-catalog-item>img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.msrl-page .msrl-catalog-item h3{font:650 18px/1.5 var(--msrl-font);color:var(--msrl-text);margin:0 0 8px}
.msrl-catalog-item p{font-size:14px}
.msrl-catalog-item .msrl-button{margin-top:12px}
.msrl-item-badge{display:inline-block;font-size:12px;padding:2px 9px;border-radius:99px;background:var(--msrl-accent);color:var(--msrl-button-text);margin-bottom:8px}
.msrl-page [hidden]{display:none!important}
@media(max-width:480px){.msrl-layout-fullscreen .msrl-inner{padding:var(--msrl-padding)}.msrl-page .msrl-modal{width:100vw;max-width:100vw;height:100svh;max-height:100svh;border-radius:0}.msrl-modal-body{padding:8px}.msrl-page .msrl-controls{gap:6px}.msrl-page .msrl-controls button{padding:8px}.msrl-story-stage img,.msrl-story-stage video{height:60svh}}
