.lfr-layout-structure-item-container {padding: 0;} .lfr-layout-structure-item-row {overflow: hidden;} .portlet-borderless .portlet-content {padding: 0;}.lfr-layout-structure-item-e8d5a3e3-6669-0d2c-9e67-5cc2cd71fcbf {
font-size: 18px !important;
}
/* 1. PDF가 들어있는 가장 바깥쪽 상자 높이 강제 확대 */
.video, .aspect-ratio, .aspect-ratio-16-to-9 {
    padding-bottom: 0 !important; /* 기존의 16:9 비율 제한 해제 */
    height: 90vh !important;    /* 화면 높이의 90%만큼 시원하게 키움 */
    max-height: none !important;
}

/* 2. PDF 뷰어 프레임 자체의 높이 조절 */
iframe, #viewerContainer {
    height: 100% !important;
    width: 100% !important;
    min-height: 800px !important; /* 최소 높이를 800픽셀로 고정 */
}

/* 3. 내부 툴바 제거 재시도 (스샷에 찍힌 ID 기준) */
#toolbarContainer {
    display: none !important;
}/* =========================================================
   DSSC TTS UI (Scoped) - CSS 전체 완성본 (FINAL)
   컨테이너 class: dssc-tts-scope
   ========================================================= */

.dssc-tts-scope .dssc-tts{
  position: fixed !important;
  right: 22px !important;
  bottom: 22px !important;
  z-index: 2147483647 !important;
}

/* 패널 */
.dssc-tts-scope .dssc-tts-panel{
  width: 176px !important;
  border-radius: 22px !important;
  padding: 14px 14px 12px !important;

  background: linear-gradient(
    145deg,
    rgba(40, 140, 255, 0.38),
    rgba(60, 210, 255, 0.22)
  ) !important;

  border: 1px solid rgba(255,255,255,0.30) !important;

  backdrop-filter: blur(18px) saturate(170%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(170%) !important;

  box-shadow:
    0 18px 55px rgba(0,0,0,0.22),
    inset 0 0 0 1px rgba(255,255,255,0.12) !important;

  transition: transform 380ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.dssc-tts-scope .dssc-tts-panel:hover,
.dssc-tts-scope .dssc-tts-panel:focus-within{
  transform: translateY(-6px) !important;
}

.dssc-tts-scope .dssc-tts-panel.is-speaking{
  box-shadow:
    0 18px 55px rgba(0,0,0,0.22),
    inset 0 0 0 1px rgba(255,255,255,0.12),
    0 0 30px rgba(70, 170, 255, 0.28) !important;
}

/* 라벨 */
.dssc-tts-scope .dssc-tts-label{
  cursor: pointer !important;
  outline: none !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;

  padding: 12px 10px !important;
  border-radius: 14px !important;

  background: rgba(255,255,255,0.20) !important;
  border: 1px solid rgba(255,255,255,0.30) !important;

  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.10),
    0 10px 22px rgba(0,0,0,0.12) !important;
}

.dssc-tts-scope .dssc-tts-label-text{
  font-size: 19px !important;
  font-weight: 900 !important;
  letter-spacing: -0.3px !important;
  line-height: 1.15 !important;

  color: rgba(255,255,255,0.98) !important;

  text-shadow:
    0 1px 0 rgba(0,0,0,0.12),
    0 12px 24px rgba(0,0,0,0.10) !important;
}

/* 찰랑 */
.dssc-tts-scope .dssc-tts-label:hover .dssc-tts-label-text,
.dssc-tts-scope .dssc-tts-label:focus .dssc-tts-label-text{
  animation: dssc-liquid-jelly 760ms cubic-bezier(0.16, 1, 0.3, 1) 1 !important;
}

@keyframes dssc-liquid-jelly{
  0%   { transform: scale(1); }
  14%  { transform: scale(1.12, 0.96); }
  34%  { transform: scale(0.96, 1.12); }
  56%  { transform: scale(1.06, 0.985); }
  74%  { transform: scale(0.99, 1.05); }
  100% { transform: scale(1); }
}

/* 버튼 2개 */
.dssc-tts-scope .dssc-tts-actions{
  margin-top: 10px !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
}

.dssc-tts-scope .dssc-tts-btn{
  width: 100% !important;
  min-width: 0 !important;
  height: 46px !important;
  border-radius: 16px !important;

  background: rgba(255,255,255,0.22) !important;
  border: 1px solid rgba(255,255,255,0.32) !important;

  backdrop-filter: blur(12px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(160%) !important;

  box-shadow:
    0 12px 24px rgba(0,0,0,0.14),
    inset 0 0 0 1px rgba(255,255,255,0.10) !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;

  cursor: pointer !important;
  user-select: none !important;

  transition:
    transform 220ms ease,
    filter 220ms ease,
    background 220ms ease,
    border-color 220ms ease !important;
}

.dssc-tts-scope .dssc-tts-btn:hover{
  transform: translateY(-2px) !important;
  filter: brightness(1.10) saturate(1.06) !important;
  background: rgba(255,255,255,0.26) !important;
  border-color: rgba(255,255,255,0.38) !important;
}

.dssc-tts-scope .dssc-tts-btn:active{
  transform: translateY(0px) !important;
}

.dssc-tts-scope .dssc-tts-btn-text{
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: -0.2px !important;
  color: rgba(255,255,255,0.98) !important;

  text-shadow:
    0 1px 0 rgba(0,0,0,0.12),
    0 10px 22px rgba(0,0,0,0.10) !important;
}

/* 아이콘 */
.dssc-tts-scope .dssc-tts-btn-icon{
  width: 14px !important;
  height: 14px !important;
  position: relative !important;
  display: inline-block !important;
  flex: 0 0 14px !important;
}

/* ▶ 재생 */
.dssc-tts-scope .dssc-tts-toggle .dssc-tts-btn-icon::before{
  content: "" !important;
  position: absolute !important;
  left: 3px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;

  width: 0 !important;
  height: 0 !important;
  border-top: 7px solid transparent !important;
  border-bottom: 7px solid transparent !important;
  border-left: 10px solid rgba(255,255,255,0.98) !important;
}

/* || 정지 */
.dssc-tts-scope .dssc-tts-toggle.pause .dssc-tts-btn-icon::before,
.dssc-tts-scope .dssc-tts-toggle.pause .dssc-tts-btn-icon::after{
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;

  width: 4px !important;
  height: 12px !important;
  border-radius: 2px !important;
  background: rgba(255,255,255,0.98) !important;
  border: 0 !important;
}

.dssc-tts-scope .dssc-tts-toggle.pause .dssc-tts-btn-icon::before{ left: 2px !important; }
.dssc-tts-scope .dssc-tts-toggle.pause .dssc-tts-btn-icon::after { left: 8px !important; }

/* ■ 중단 */
.dssc-tts-scope .dssc-tts-btn-icon.stop::before{
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%,-50%) !important;

  width: 12px !important;
  height: 12px !important;
  border-radius: 3px !important;
  background: rgba(255,255,255,0.98) !important;
}

/* 대비 선호 */
@media (prefers-contrast: more){
  .dssc-tts-scope .dssc-tts-panel{
    border-color: rgba(255,255,255,0.45) !important;
  }
  .dssc-tts-scope .dssc-tts-label,
  .dssc-tts-scope .dssc-tts-btn{
    background: rgba(255,255,255,0.28) !important;
    border-color: rgba(255,255,255,0.44) !important;
  }
}

/* 모션 최소화 */
@media (prefers-reduced-motion: reduce){
  .dssc-tts-scope .dssc-tts-panel,
  .dssc-tts-scope .dssc-tts-label,
  .dssc-tts-scope .dssc-tts-btn,
  .dssc-tts-scope .dssc-tts-label-text{
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }
}