/* Bahasa · Liquid Glass. A material layer: no dimensions, scroll handling or cover transforms.
   Repeating the existing root ID intentionally outranks legacy module !important colors. */
@property --lg-light {
  syntax: '<number>';
  inherits: false;
  initial-value: 0;
}

body#bahasa-premium#bahasa-premium {
  --lg-top: rgba(255,255,255,.72);
  --lg-bottom: rgba(231,240,234,.46);
  --lg-edge: rgba(255,255,255,.82);
  --lg-lower-edge: rgba(40,73,57,.12);
  --lg-ink: #244337;
  --lg-shadow: rgba(22,49,37,.09);
  --lg-solid: #edf3ee;
  --lg-focus: #246c55;
  --lg-selected-top: rgba(180,216,192,.68);
  --lg-selected-bottom: rgba(215,235,220,.62);
  --lg-selected-ink: #163d2b;
  --lg-ease: cubic-bezier(.22,.75,.24,1);
}

/* Explicit dark scenes; the vocabulary introduction and its filters stay light. */
body#bahasa-premium#bahasa-premium :is(.portal-shell,.ps-studio,.reading-gateway,.br-library,.br-story-hero,.voc-accordion,.br-reader[data-theme="night"]) {
  --lg-top: rgba(238,255,244,.16);
  --lg-bottom: rgba(91,135,115,.14);
  --lg-edge: rgba(243,255,248,.38);
  --lg-lower-edge: rgba(0,18,13,.23);
  --lg-ink: #edf6ee;
  --lg-shadow: rgba(0,20,15,.18);
  --lg-solid: #29473d;
  --lg-focus: #d3eed6;
  --lg-selected-top: rgba(213,243,211,.33);
  --lg-selected-bottom: rgba(142,191,155,.24);
  --lg-selected-ink: #f4ffef;
}

/* :where exclusions leave reading text and physical book covers in their native layout. */
body#bahasa-premium#bahasa-premium :is(
  button,select,summary,input[type="button"],input[type="submit"],input[type="reset"],[role="button"],
  .button,.button-ghost,.bah-primary,.bah-text-action,.bah-nav-action,.bah-links>a,
  .portal-rail-link,.portal-rail-bottom,.portal-round,.portal-avatar,.portal-start,.portal-listen,.portal-goal,.portal-shortcut,
  .rg-library-entry,.rg-book-card,.br-start,.br-back,.br-vocab-link,.br-book-open,.voc-plan-link,.plan-task-link,.auth-back,.auth-continue,a[download]
):not(:where(.br-book,.br-inline-word,.read-token)) {
  --lg-radius: 14px;
  --lg-light: 0;
  border-color: var(--lg-edge) !important;
  border-radius: var(--lg-radius) !important;
  background:
    radial-gradient(ellipse 140px 85px at var(--lg-pointer-x,45%) var(--lg-pointer-y,0%),
      rgba(255,255,255,calc(.12 + var(--lg-light)*.17)),transparent 78%),
    linear-gradient(152deg,var(--lg-top),var(--lg-bottom)) !important;
  color: var(--lg-ink) !important;
  box-shadow: inset 0 1px 0 var(--lg-edge),inset 0 -1px 0 var(--lg-lower-edge),
    inset 1px 0 0 rgba(255,255,255,.10),0 3px 10px var(--lg-shadow) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  text-shadow: 0 1px 1px rgba(255,255,255,.04);
  transition: --lg-light 300ms var(--lg-ease),box-shadow 300ms var(--lg-ease),
    border-color 300ms var(--lg-ease),color 300ms var(--lg-ease),
    background-color 300ms var(--lg-ease),transform 300ms var(--lg-ease),
    translate 300ms var(--lg-ease),scale 300ms var(--lg-ease);
  -webkit-tap-highlight-color: transparent;
}

/* Rounded silhouettes retain existing width, height, padding and display values. */
body#bahasa-premium#bahasa-premium :is(.button,.button-ghost,.bah-primary,.bah-nav-action,.portal-start,.portal-rail-bottom,.ps-listen-button,.ps-rate-controls>button,.ps-complete-button,.voc-filter,.rg-motion-toggle,.background-motion-toggle,.br-book-open) {
  --lg-radius: 999px;
}
body#bahasa-premium#bahasa-premium :is(.portal-round,.portal-avatar,.ps-stop-button,.br-sentence-number,.br-popover-close,.br-now-playing>button,.br-book-controls>button) {
  --lg-radius: 50%;
}
body#bahasa-premium#bahasa-premium :is(.voc-toggle,.br-side-tabs>button,.br-bookmark-list>button) {
  --lg-radius: 0px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10),inset 0 -1px 0 var(--lg-lower-edge) !important;
}
body#bahasa-premium#bahasa-premium :is(.rg-book-card,.portal-shortcut,.portal-goal,.ps-lesson,.quiz-option) {
  box-shadow: inset 0 1px 0 var(--lg-edge),inset 0 -1px 0 var(--lg-lower-edge),0 5px 16px var(--lg-shadow) !important;
}

/* A fixed handful of hero actions and preview cards use real frosted glass.
   Vocabulary rows, word tokens and long lists never create per-row blur layers. */
body#bahasa-premium#bahasa-premium :is(.portal-start,.portal-round,.portal-avatar,.portal-goal,.portal-shortcut,.rg-library-entry,.rg-book-card,.ps-listen-button,.br-start,.br-popover-actions>button) {
  -webkit-backdrop-filter: blur(12px) saturate(145%) !important;
  backdrop-filter: blur(12px) saturate(145%) !important;
}
/* At most one additional small pointer target may gain blur. */
body#bahasa-premium#bahasa-premium .lg-live.lg-live {
  -webkit-backdrop-filter: blur(10px) saturate(145%) !important;
  backdrop-filter: blur(10px) saturate(145%) !important;
}
body#bahasa-premium#bahasa-premium .lg-pointer.lg-pointer { --lg-light: 1; }

body#bahasa-premium#bahasa-premium :is(button,select,summary,[role="button"],.button,.button-ghost,.bah-primary,.bah-nav-action,.bah-links>a,.portal-rail-link,.portal-rail-bottom,.portal-round,.portal-avatar,.portal-start,.portal-listen,.portal-goal,.portal-shortcut,.rg-library-entry,.rg-book-card,.br-start,.br-back,.br-vocab-link,.voc-plan-link,.plan-task-link,.auth-back,.auth-continue,a[download]):not(:where(.br-book,.br-inline-word,.read-token)):focus-visible {
  outline: 2px solid var(--lg-focus) !important;
  outline-offset: 4px !important;
  --lg-light: 1;
}
/* A focused parent in a dark scene must remain visible over the imagery. */
body#bahasa-premium#bahasa-premium :is(.portal-shell,.ps-studio,.reading-gateway,.br-library,.br-story-hero,.voc-accordion,.br-reader[data-theme="night"]) :focus-visible {
  outline-color: var(--lg-focus) !important;
}

body#bahasa-premium#bahasa-premium :is(button,select,summary,[role="button"],.button,.button-ghost,.bah-primary,.bah-nav-action,.bah-links>a,.portal-rail-link,.portal-rail-bottom,.portal-round,.portal-avatar,.portal-start,.portal-listen,.portal-goal,.portal-shortcut,.rg-library-entry,.rg-book-card,.br-start,.br-back,.br-vocab-link,.voc-plan-link,.plan-task-link,.auth-back,.auth-continue,a[download]):not(:where(.br-book,.br-inline-word,.read-token)):not(:disabled):not([aria-disabled="true"]):active {
  --lg-light: .65;
  box-shadow: inset 0 2px 5px var(--lg-shadow),inset 0 1px 0 var(--lg-edge),0 1px 4px var(--lg-shadow) !important;
  transition-duration: 180ms;
}
/* Only compact controls compress. Cards, accordions, covers and reading tokens do not scale. */
body#bahasa-premium#bahasa-premium :is(.button,.button-ghost,.bah-nav-action,.portal-round,.portal-avatar,.portal-start,.ps-listen-button,.ps-stop-button,.ps-native-reference,.ps-rate-controls>button,.voc-audio-button,.voc-reference-button,.voc-memory,.voc-favorite,.voc-filter,.voc-load-more,.br-tool,.br-mini-button,.br-popover-actions>button,.br-save-note,.br-theme-buttons>button,.br-font-settings>button,.br-book-controls>button):not(:disabled):active {
  translate: 0 1px;
  scale: .985;
}

/* Primary and selected states use a tint, while preserving success/failure meaning below. */
body#bahasa-premium#bahasa-premium :is(.button,.bah-primary,.bah-nav-action,.portal-start,.ps-listen-button,.br-popover-pronounce,.br-save-note,.plan-checkin>button,[aria-pressed="true"],[aria-selected="true"],[aria-current="page"],.portal-rail-link.is-current,.voc-memory-active):not(:where(.br-book,.br-inline-word,.read-token)) {
  --lg-top: var(--lg-selected-top);
  --lg-bottom: var(--lg-selected-bottom);
  --lg-ink: var(--lg-selected-ink);
  box-shadow: inset 0 1px 0 var(--lg-edge),inset 0 -1px 0 var(--lg-lower-edge),0 3px 12px var(--lg-shadow) !important;
}
body#bahasa-premium#bahasa-premium :is(button,select,[role="button"]):is(:disabled,[aria-disabled="true"]) {
  opacity: .5;
  cursor: default;
  --lg-light: 0;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body#bahasa-premium#bahasa-premium .quiz-option:disabled { opacity: 1; }
body#bahasa-premium#bahasa-premium .quiz-option.quiz-option-correct {
  --lg-top: rgba(219,244,223,.92);
  --lg-bottom: rgba(200,232,208,.72);
  --lg-ink: #245d36;
  --lg-edge: rgba(118,176,130,.78);
  --lg-solid: #e0f0e2;
}
body#bahasa-premium#bahasa-premium .quiz-option.quiz-option-wrong {
  --lg-top: rgba(255,234,229,.94);
  --lg-bottom: rgba(249,210,202,.76);
  --lg-ink: #923d32;
  --lg-edge: rgba(194,124,111,.75);
  --lg-solid: #fae3df;
}
body#bahasa-premium#bahasa-premium select option { color: #213f32; background: #f3f7f3; }

/* Reading words are semantic buttons, not hundreds of individual frosted surfaces. */
body#bahasa-premium#bahasa-premium :is(.br-inline-word,.read-token),
body#bahasa-premium#bahasa-premium .bah-excerpt button {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  text-shadow: none;
  transition: color 220ms var(--lg-ease),background-color 300ms var(--lg-ease),box-shadow 300ms var(--lg-ease);
}
body#bahasa-premium#bahasa-premium :is(.br-inline-word,.read-token):is(:hover,:focus-visible,[aria-expanded="true"]),
body#bahasa-premium#bahasa-premium .bah-excerpt button:is(:hover,:focus-visible) {
  background: rgba(148,187,159,.16) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.48),inset 0 -1px 0 rgba(60,102,79,.26) !important;
}
/* Shelf dots retain their 26px touch target and their tiny native marker. */
body#bahasa-premium#bahasa-premium .br-book-dots button {
  background: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body#bahasa-premium#bahasa-premium .br-book-dots button:before {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.66),0 1px 4px rgba(0,20,15,.15);
}

/* Real glass degrades to a readable solid material, rather than relying on blur for contrast. */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  body#bahasa-premium#bahasa-premium :is(button,select,summary,[role="button"],.button,.button-ghost,.bah-nav-action,.bah-links>a,.portal-rail-link,.portal-rail-bottom,.portal-round,.portal-avatar,.portal-start,.portal-listen,.portal-goal,.portal-shortcut,.rg-library-entry,.rg-book-card,.br-start,.br-back,.br-vocab-link,.br-book-open,.voc-plan-link,.plan-task-link,.auth-back,.auth-continue,a[download]):not(:where(.br-book,.br-inline-word,.read-token,.br-book-dots button)) { background: var(--lg-solid) !important; }
}
@media (prefers-reduced-transparency: reduce) {
  body#bahasa-premium#bahasa-premium :is(button,select,summary,[role="button"],.button,.button-ghost,.bah-nav-action,.bah-links>a,.portal-rail-link,.portal-rail-bottom,.portal-round,.portal-avatar,.portal-start,.portal-listen,.portal-goal,.portal-shortcut,.rg-library-entry,.rg-book-card,.br-start,.br-back,.br-vocab-link,.br-book-open,.voc-plan-link,.plan-task-link,.auth-back,.auth-continue,a[download]):not(:where(.br-book,.br-inline-word,.read-token,.br-book-dots button)) {
    background: var(--lg-solid) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  body#bahasa-premium#bahasa-premium :is(button,select,summary,[role="button"],.button,.button-ghost,.bah-nav-action,.bah-links>a,.portal-rail-link,.portal-rail-bottom,.portal-round,.portal-avatar,.portal-start,.portal-listen,.portal-goal,.portal-shortcut,.rg-library-entry,.rg-book-card,.br-start,.br-back,.br-vocab-link,.voc-plan-link,.plan-task-link,.auth-back,.auth-continue,a[download]):not(:where(.br-book)) { transition: none !important; translate: none !important; scale: none !important; }
}
@media (forced-colors: active) {
  body#bahasa-premium#bahasa-premium :is(button,select,summary,[role="button"],.button,.button-ghost,.bah-nav-action,.bah-links>a,.portal-rail-link,.portal-rail-bottom,.portal-round,.portal-avatar,.portal-start,.portal-listen,.portal-goal,.portal-shortcut,.rg-library-entry,.rg-book-card,.br-start,.br-back,.br-vocab-link,.voc-plan-link,.plan-task-link,.auth-back,.auth-continue,a[download]):not(:where(.br-book,.br-inline-word,.read-token)) {
    background: ButtonFace !important; color: ButtonText !important;
    border: 1px solid ButtonText !important; box-shadow: none !important;
    -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
    forced-color-adjust: auto;
  }
}

@media (prefers-reduced-transparency: reduce), (forced-colors: active) {
  body#bahasa-premium#bahasa-premium .lg-live.lg-live {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
}

/* Low-memory / low-core / data-saving devices keep the material without expensive blur. */
body#bahasa-premium#bahasa-premium.lg-lite :is(button,select,summary,[role="button"],.button,.button-ghost,.bah-nav-action,.bah-links>a,.portal-rail-link,.portal-rail-bottom,.portal-round,.portal-avatar,.portal-start,.portal-listen,.portal-goal,.portal-shortcut,.rg-library-entry,.rg-book-card,.br-start,.br-back,.br-vocab-link,.br-book-open,.voc-plan-link,.plan-task-link,.auth-back,.auth-continue,a[download]) {
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
}
body#bahasa-premium#bahasa-premium.lg-lite .auth-card {
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#eff1e5;
}
