@font-face {
  font-family:NotoKhmer;
  src:url('fonts/NotoSansKhmer.ttf') format('truetype');
  font-weight:100 900;
  font-display:swap
}
:root {
  --bg:#f7f5f0;
  --surface:#fffefa;
  --text:#302d29;
  --muted:#746d62;
  --border:#e5dfd4;
  --accent:#805036;
  --accent-strong:#683d2c;
  --soft:#f0e7d7;
  --gold:#ac843e;
  --sidebar:#faf8f3;
  --radius:14px;
  --reading:20px;
  --header-height:84px;
  --shadow:0 5px 24px #47351e06;
  --font-ui:'Segoe UI',NotoKhmer,system-ui,sans-serif
}
* {
  box-sizing:border-box
}
html {
  scroll-padding-top:105px
}
body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  font:14px/1.8 var(--font-ui)
}
html[lang=km] body {
  font-family:NotoKhmer,'Segoe UI',system-ui,sans-serif
}
a {
  color:var(--accent);
  text-underline-offset:4px
}
button,input,select,textarea {
  font:inherit;
  color:inherit
}
button,a,input,select,textarea,summary {
  -webkit-tap-highlight-color:transparent
}
button,a {
  touch-action:manipulation
}
:focus-visible {
  outline:3px solid var(--gold);
  outline-offset:4px
}
button {
  cursor:pointer;
  border:0
}
button:disabled {
  cursor:not-allowed
}
[hidden] {
  display:none!important
}
h1,h2,h3,p {
  margin:0 0 14px
}
h1 {
  font-size:clamp(27px,2.4vw,36px);
  line-height:1.7;
  font-weight:600;
  letter-spacing:-.6px
}
h2 {
  font-size:21px;
  font-weight:600;
  line-height:1.8
}
h3 {
  font-size:18px;
  font-weight:600
}
form {
  margin:0
}
input,textarea,select {
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--surface);
  padding:11px 13px;
  min-width:0;
  max-width:100%
}
input:hover,textarea:hover,select:hover {
  border-color:#c7b89f
}
input:focus,textarea:focus,select:focus {
  border-color:var(--gold)
}
input:not([type=radio]):not([type=checkbox]),textarea {
  width:100%
}
input[type=radio],input[type=checkbox] {
  accent-color:var(--accent)
}
textarea {
  resize:vertical
}
label {
  display:block
}
small,.muted {
  color:var(--muted)
}
small {
  font-size:12px
}
sub {
  line-height:0
}
.icon {
  width:20px;
  height:20px;
  flex:none;
  display:inline-block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
  vertical-align:middle
}
.icon-sprite {
  position:absolute;
  width:0;
  height:0;
  overflow:hidden
}
.sr-only,.skip:not(:focus) {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap
}
.skip:focus {
  position:fixed;
  z-index:100;
  top:12px;
  left:12px;
  padding:12px 18px;
  border-radius:8px;
  background:var(--accent-strong);
  color:white
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:42px;
  padding:9px 17px;
  border:1px solid transparent;
  border-radius:8px;
  background:var(--soft);
  color:var(--accent-strong);
  text-decoration:none;
  font-size:13px;
  font-weight:500;
  line-height:1.7;
  white-space:nowrap
}
.button:hover {
  background:#e9ddc8
}
.button.primary {
  background:var(--accent);
  color:#fffefa;
  border-color:var(--accent)
}
.button.primary:hover {
  background:var(--accent-strong);
  border-color:var(--accent-strong)
}
.button.quiet {
  border-color:var(--border);
  background:var(--surface)
}
.button.quiet:hover {
  background:var(--soft);
  border-color:#cdbb9c
}
.button.danger {
  color:#943c31;
  background:#faeee9
}
.button[disabled] {
  opacity:.55
}
.icon-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  min-height:38px;
  padding:6px;
  border:1px solid var(--border);
  border-radius:8px;
  background:transparent;
  color:var(--muted);
  font-size:13px
}
.icon-button:hover {
  background:var(--soft);
  color:var(--accent)
}
.eyebrow {
  font-size:10px;
  font-weight:600;
  letter-spacing:1.5px;
  line-height:1.9;
  color:var(--muted)
}
html[lang=km] .eyebrow {
  letter-spacing:.3px;
  font-size:11px
}
/* Shared application shell. */
.header {
  position:relative;
  z-index:60;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  height:var(--header-height);
  padding:0 30px;
  background:var(--surface);
  border-bottom:1px solid var(--border)
}
.brand {
  display:inline-flex;
  align-items:center;
  flex:none;
  gap:12px;
  text-decoration:none;
  color:var(--text)
}
.brand-mark {
  display:block;
  width:45px;
  height:45px;
  border-radius:13px
}
.brand strong {
  display:block;
  font-family:NotoKhmer,sans-serif;
  font-size:22px;
  line-height:1.85;
  font-weight:600
}
.brand small {
  display:block;
  font:9px/1.7 'Segoe UI',sans-serif;
  letter-spacing:2.2px;
  color:var(--muted)
}
.header-tools,.preferences {
  display:flex;
  align-items:center;
  gap:15px
}
.preferences {
  gap:12px
}
.preference-control {
  display:inline-flex;
  align-items:center;
  gap:5px
}
.preference-control>.icon {
  width:16px;
  height:16px;
  color:var(--gold)
}
.preferences select {
  padding:8px 0 8px 3px;
  border:0;
  border-radius:5px;
  background:transparent;
  font-size:12px;
  max-width:136px
}
.header-home {
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  text-decoration:none;
  padding-left:16px;
  border-left:1px solid var(--border)
}
.header-home .icon {
  width:17px;
  height:17px
}
.account-button {
  font-size:12px;
  min-height:38px;
  padding:7px 13px
}
.account-button .icon {
  width:16px;
  height:16px
}
.menu-button {
  border-color:transparent
}
.shell {
  display:grid;
  grid-template-columns:246px minmax(0,1fr);
  min-height:calc(100vh - var(--header-height) - 67px)
}
.sidebar {
  min-width:0;
  display:flex;
  flex-direction:column;
  padding:26px 17px 23px;
  border-right:1px solid var(--border);
  background:var(--sidebar)
}
.sidebar-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 13px 12px
}
.sidebar-heading .eyebrow {
  margin:0
}
.drawer-close {
  display:none
}
.primary-nav {
  display:grid;
  gap:5px;
  margin-bottom:23px
}
.nav-link {
  display:flex;
  align-items:center;
  gap:12px;
  position:relative;
  min-height:52px;
  padding:10px 13px;
  border-radius:8px;
  color:var(--muted);
  text-decoration:none
}
.nav-link>.icon {
  width:19px;
  height:19px
}
.nav-title {
  font-size:13px;
  line-height:1.8;
  overflow-wrap:anywhere
}
.nav-title small {
  display:block;
  font:10px/1.7 'Segoe UI',NotoKhmer,sans-serif;
  opacity:1;
  margin-top:2px
}
.nav-link:hover,.nav-link.active {
  color:var(--accent-strong);
  background:var(--soft)
}
.nav-link.active:before {
  content:'';
  position:absolute;
  width:3px;
  height:24px;
  background:var(--gold);
  left:-17px;
  top:calc(50% - 12px);
  border-radius:0 3px 3px 0
}
.nav-link.active .icon {
  color:var(--accent)
}
.sidebar-section {
  padding:18px 13px 15px;
  border-top:1px solid var(--border)
}
.sidebar-section .eyebrow {
  margin-bottom:11px;
  font-size:9px
}
html[lang=km] .sidebar-section .eyebrow {
  font-size:10px
}
.secondary-nav {
  display:grid;
  gap:2px
}
.secondary-nav a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:6px 0;
  color:var(--muted);
  text-decoration:none;
  font-size:12px
}
.secondary-nav a:hover,.secondary-nav a.active {
  color:var(--accent-strong)
}
.secondary-nav .icon {
  width:12px;
  height:12px;
  opacity:.55
}
.sidebar-slogan {
  margin-top:auto;
  padding:26px 13px 0;
  border-top:1px solid var(--border)
}
.slogan-flower {
  display:inline-block;
  color:var(--gold);
  font-size:30px;
  line-height:1
}
.sidebar-slogan p {
  font-size:12px;
  line-height:2;
  margin:13px 0 3px
}
.sidebar-slogan small {
  font:10px/1.8 'Segoe UI',sans-serif
}
.nav-backdrop {
  position:fixed;
  z-index:70;
  inset:var(--header-height) 0 0;
  background:#26201966
}
main {
  min-width:0;
  padding:34px clamp(24px,3vw,50px) 48px;
  width:100%;
  max-width:1540px;
  margin:0 auto
}
/* Search, alphabet and the result-to-definition workspace. */
.search-intro {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  margin-bottom:26px
}
.intro-copy {
  min-width:0
}
.search-intro .eyebrow {
  display:flex;
  gap:10px;
  align-items:center;
  font:10px/1.8 'Segoe UI',sans-serif;
  letter-spacing:2.2px;
  color:var(--accent);
  margin:0 0 10px
}
.eyebrow-line {
  width:28px;
  height:1px;
  background:var(--gold)
}
.search-intro h1 {
  margin-bottom:9px;
  font-size:clamp(25px,2.5vw,36px)
}
.search-intro p.muted {
  font-size:13px;
  margin:0 0 16px
}
.intro-note {
  display:inline-flex;
  gap:8px;
  align-items:center;
  font-size:11px;
  color:var(--muted)
}
.status-dot {
  display:inline-block;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#7c8f6d;
  flex:none
}
.intro-art {
  width:150px;
  height:150px;
  flex:none;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  position:relative;
  color:var(--gold);
  opacity:.72
}
.intro-art>span[lang] {
  font:86px/1.25 NotoKhmer,sans-serif
}
.intro-art small {
  font:7px/2 'Segoe UI',sans-serif;
  letter-spacing:2px;
  color:var(--accent)
}
.intro-art-ring {
  position:absolute;
  inset:4px;
  border:1px solid #b88f4633;
  border-radius:50%
}
.intro-art-ring:before,.intro-art-ring:after {
  content:'';
  position:absolute;
  inset:9px;
  border:1px solid #b88f4620;
  border-radius:50%
}
.intro-art-ring:after {
  inset:-8px;
  border-style:dashed
}
.search-workspace {
  margin-bottom:27px
}
.search-form {
  position:relative
}
#lookup .search-line {
  display:flex;
  align-items:center;
  gap:12px;
  padding:7px 8px 7px 18px;
  border:1px solid #cdbb9b;
  background:var(--surface);
  border-radius:11px;
  box-shadow:0 3px 15px #79542a05
}
#lookup .search-line:focus-within {
  border-color:var(--gold);
  box-shadow:0 0 0 3px #b18b4514
}
.search-icon {
  width:22px;
  height:22px;
  color:var(--gold)
}
#lookup .search-line input {
  border:0;
  background:transparent;
  font-size:20px;
  padding:9px 0;
  outline:none;
  box-shadow:none
}
#lookup .search-line input::placeholder {
  color:#746d62;
  font-size:16px
}
#lookup .search-line .button {
  align-self:stretch;
  min-width:116px
}
.search-key {
  display:grid;
  place-items:center;
  width:24px;
  height:26px;
  flex:none;
  border:1px solid var(--border);
  border-radius:4px;
  color:#aaa08d;
  font:12px 'Segoe UI',sans-serif
}
.search-options {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:14px 2px
}
.search-modes {
  display:flex;
  gap:23px;
  font-size:12px;
  color:var(--muted);
  flex-wrap:wrap
}
.search-modes label {
  display:inline-flex;
  align-items:center;
  gap:7px;
  cursor:pointer
}
.search-modes input {
  margin:0;
  width:14px;
  height:14px
}
.search-modes label:has(input:checked) {
  color:var(--accent-strong)
}
.discover-link {
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:11px;
  text-decoration:none;
  flex:none
}
.discover-link .icon {
  width:15px;
  height:15px
}
.alphabet {
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  padding:12px 2px;
  color:var(--muted);
  font-size:12px
}
.alphabet summary {
  display:flex;
  align-items:center;
  gap:10px;
  cursor:pointer;
  list-style:none
}
.alphabet summary::-webkit-details-marker {
  display:none
}
.alphabet summary>.icon {
  width:16px;
  height:16px;
  color:var(--gold)
}
.alphabet-hint {
  margin-left:4px;
  font-size:10px
}
.alphabet-toggle {
  margin-left:auto;
  font:19px/1 'Segoe UI',sans-serif;
  color:var(--gold)
}
.alphabet[open] .alphabet-toggle {
  transform:rotate(45deg)
}
.alphabet>div {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:15px 0 2px
}
.alphabet a {
  display:grid;
  place-items:center;
  min-width:34px;
  min-height:38px;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:6px;
  text-decoration:none
}
.alphabet a:hover {
  background:var(--soft);
  border-color:var(--gold)
}
.dictionary-grid {
  display:grid;
  grid-template-columns:minmax(230px,31%) minmax(0,1fr);
  align-items:start;
  gap:20px
}
.results {
  min-width:0;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:var(--surface);
  overflow:hidden;
  box-shadow:var(--shadow)
}
.section-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:17px 20px;
  border-bottom:1px solid var(--border);
  gap:12px
}
.section-heading .eyebrow {
  margin:0 0 3px;
  font-size:9px
}
.section-heading h2 {
  margin:0;
  font-size:14px
}
.badge {
  display:inline-flex;
  align-items:center;
  border-radius:5px;
  padding:3px 8px;
  background:var(--soft);
  color:var(--accent);
  font-size:10px;
  line-height:1.8
}
.result-count {
  font:12px/1.6 'Segoe UI',sans-serif;
  border-radius:20px;
  padding:5px 10px
}
.result-list {
  max-height:640px;
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:#cdbd9e transparent
}
.result {
  display:block;
  padding:14px 20px;
  border-bottom:1px solid var(--border);
  color:var(--text);
  text-decoration:none
}
.result:last-child {
  border-bottom:0
}
.result:hover {
  background:#b18b450a
}
.result.selected {
  background:var(--soft);
  box-shadow:inset 3px 0 var(--gold)
}
.result-title {
  display:flex;
  align-items:center;
  gap:9px
}
.result strong {
  font-family:NotoKhmer,sans-serif;
  font-size:21px;
  line-height:1.9;
  font-weight:550
}
.result small {
  font-size:10px
}
.result .icon {
  margin-left:auto;
  width:13px;
  height:13px;
  color:var(--gold);
  opacity:.65
}
.result p {
  font-family:NotoKhmer,sans-serif;
  font-size:12px;
  color:var(--muted);
  margin:4px 0 0;
  line-height:1.95;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden
}
.reader,.standalone-reader {
  min-width:0;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow)
}
.entry {
  padding:22px 29px 25px
}
.entry-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-bottom:1px solid var(--border);
  padding-bottom:15px;
  margin-bottom:22px
}
.entry-toolbar>div {
  display:flex;
  gap:5px;
  align-items:center
}
.entry-toolbar .eyebrow {
  margin:0
}
.entry-toolbar .icon-button {
  min-height:32px;
  width:32px;
  font-size:12px
}
.entry-toolbar .button {
  min-height:32px;
  padding:5px 10px;
  font-size:11px;
  border-color:transparent
}
.entry-toolbar .button .icon {
  width:14px;
  height:14px
}
.headword {
  color:var(--accent-strong);
  font:600 46px/1.8 NotoKhmer,sans-serif;
  margin:0 0 8px;
  overflow-wrap:anywhere
}
.pronunciation {
  color:var(--muted);
  font-size:13px;
  margin-bottom:14px
}
.save-button {
  margin:0 0 21px;
  min-height:34px;
  font-size:11px;
  padding:6px 11px;
  background:transparent;
  border-color:var(--border)
}
.save-button .icon {
  width:14px;
  height:14px
}
.save-button[aria-pressed=true] {
  background:var(--soft);
  border-color:#cbb990
}
.entry-body {
  font-family:NotoKhmer,sans-serif;
  font-size:var(--reading);
  line-height:2.15;
  overflow-wrap:anywhere
}
.sense {
  padding:19px 0 17px;
  border-top:1px solid var(--border)
}
.sense h3 {
  color:var(--accent);
  font-size:1em
}
.sense p:last-of-type {
  margin-bottom:7px
}
.sense-meta {
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:8px
}
.sense-meta:empty {
  display:none
}
.part-of-speech {
  font-size:.72em;
  color:var(--accent);
  background:var(--soft);
  padding:2px 8px;
  border-radius:4px
}
.field {
  font-size:.86em
}
.field-label {
  font-size:.8em;
  color:var(--muted);
  margin-right:8px
}
.t_exam {
  color:#776243;
  border-left:2px solid #b18b4533;
  padding-left:15px
}
.record-ref {
  font:10px/1.7 'Segoe UI',NotoKhmer,sans-serif;
  color:var(--muted)
}
.entry-provenance {
  border-top:1px solid var(--border);
  padding:17px 0 0;
  font-size:11px;
  line-height:2;
  color:var(--muted)
}
.entry-provenance p {
  margin:0 0 7px
}
.entry-provenance a {
  display:inline-block;
  margin-top:10px
}
.standalone-reader {
  max-width:960px;
  margin:auto
}
/* Shared forms, content, administration and feedback. */
.suggestions {
  position:absolute;
  z-index:10;
  top:64px;
  left:0;
  right:0;
  margin:0;
  padding:7px;
  list-style:none;
  background:var(--surface);
  box-shadow:0 14px 35px #302d291a;
  border:1px solid var(--border);
  border-radius:9px
}
.suggestions a {
  display:block;
  padding:9px 13px;
  border-radius:5px;
  text-decoration:none;
  font-size:17px
}
.suggestions a:hover,.suggestions a:focus-visible {
  background:var(--soft)
}
.page-card {
  background:var(--surface);
  padding:28px 30px;
  border:1px solid var(--border);
  border-radius:var(--radius);
  margin-bottom:23px;
  box-shadow:var(--shadow)
}
.page-card>h1 {
  margin-bottom:12px
}
.page-card>.eyebrow {
  margin-bottom:8px
}
.narrow {
  max-width:540px;
  margin:30px auto
}
.prose {
  max-width:920px;
  margin:auto;
  line-height:2.25
}
.prose h1 {
  margin-bottom:26px
}
.prose h2 {
  font-size:23px
}
.original-text {
  font-family:NotoKhmer,sans-serif;
  font-size:17px
}
.original-text p {
  margin:0 0 20px
}
.notice {
  padding:15px 18px;
  border:1px solid #d9caaa;
  border-radius:8px;
  background:var(--soft);
  margin:0 0 23px;
  font-size:13px
}
.notice.success {
  background:#edf3e9;
  border-color:#d2dfc7;
  color:#36512d
}
.notice.error {
  background:#fbefeb;
  border-color:#e7c4b9;
  color:#8d2e28
}
.notice ul {
  margin:0;
  padding-left:20px
}
.stack {
  display:grid;
  gap:18px
}
.stack>button {
  justify-self:start
}
.stack label {
  display:grid;
  gap:8px;
  font-size:13px
}
.stack input {
  min-height:47px
}
.provider-list {
  display:grid;
  gap:16px;
  margin:25px 0
}
.provider-list>div {
  text-align:center
}
.provider {
  width:100%;
  display:flex;
  gap:15px;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:#202124;
  border:1px solid #dadce0;
  border-radius:8px;
  padding:12px;
  min-height:50px;
  opacity:1;
  font-family:'Segoe UI',sans-serif
}
.provider img {
  object-fit:contain;
  flex:none
}
.provider small {
  display:block;
  font-size:11px
}
.provider-list>div>small {
  font-size:11px
}
.empty {
  display:grid;
  justify-items:center;
  text-align:center;
  padding:35px 22px;
  color:var(--muted);
  font-size:13px
}
.empty>.icon {
  width:30px;
  height:30px;
  color:var(--gold);
  margin-bottom:14px
}
.empty p {
  margin:0
}
.reader-empty {
  min-height:360px;
  align-content:center
}
.reader-empty>.icon {
  width:45px;
  height:45px;
  margin-bottom:23px
}
.reader-empty h2 {
  font-size:18px;
  font-weight:500
}
.pagination {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:14px;
  font-size:11px;
  flex-wrap:wrap;
  border-top:1px solid var(--border)
}
.pagination .button {
  font-size:10px;
  padding:5px 8px;
  min-height:32px
}
.local-list {
  display:grid;
  gap:10px;
  margin-top:24px
}
.local-word {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 18px;
  border:1px solid var(--border);
  background:var(--bg);
  border-radius:8px;
  gap:15px
}
.local-word a {
  font-family:NotoKhmer,sans-serif;
  font-size:21px;
  text-decoration:none
}
.page-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:27px
}
.page-heading h1 {
  margin-bottom:5px
}
.page-heading p {
  margin-bottom:0
}
.page-heading .eyebrow {
  margin-bottom:6px
}
.metrics {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-bottom:25px
}
.metric {
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:var(--surface);
  padding:20px 21px
}
.metric-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:12px;
  color:var(--muted)
}
.metric-top .icon {
  color:var(--gold);
  width:18px;
  height:18px
}
.metric strong {
  display:block;
  font:500 33px/1.5 'Segoe UI',sans-serif;
  color:var(--text);
  margin-top:12px;
  letter-spacing:-.6px
}
.admin-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) 260px;
  gap:20px;
  align-items:start
}
.activity-card {
  padding:0;
  overflow:hidden
}
.card-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:20px 23px;
  border-bottom:1px solid var(--border)
}
.card-heading h2 {
  margin:0;
  font-size:15px
}
.card-heading .icon {
  color:var(--gold)
}
.quick-actions {
  padding:23px
}
.quick-actions h2 {
  font-size:15px;
  margin:0 0 18px
}
.quick-action {
  display:flex;
  align-items:start;
  gap:12px;
  padding:16px 0;
  border-top:1px solid var(--border);
  text-decoration:none;
  color:var(--text)
}
.quick-action>.icon {
  color:var(--accent);
  padding:9px;
  background:var(--soft);
  border-radius:8px;
  width:36px;
  height:36px
}
.quick-action strong {
  display:block;
  font-size:12px;
  font-weight:550
}
.quick-action small {
  display:block;
  font-size:11px;
  line-height:1.9;
  margin-top:3px
}
.table-wrap {
  overflow-x:auto
}
table {
  width:100%;
  border-collapse:collapse;
  text-align:left;
  font-size:13px
}
td,th {
  padding:15px 20px;
  border-bottom:1px solid var(--border);
  vertical-align:top
}
th {
  background:#b18b4505;
  font-size:11px;
  font-weight:500;
  color:var(--muted)
}
tbody tr:last-child td {
  border-bottom:0
}
tbody tr:hover {
  background:#b18b4504
}
.table-wrap td[lang=km] {
  font:18px/1.9 NotoKhmer,sans-serif
}
.search-line {
  display:flex;
  gap:10px;
  margin-bottom:20px
}
#lookup .search-line {
  margin-bottom:0
}
.field-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:17px
}
.sense-editor {
  display:grid;
  gap:17px;
  min-width:0;
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:22px
}
.sense-editor legend {
  font-size:13px;
  color:var(--accent);
  padding:0 10px
}
.sense-editor label {
  display:grid;
  gap:6px
}
.sense-editor button {
  justify-self:start
}
.actions {
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:17px
}
.actions p {
  margin:0
}
.actions select {
  min-width:130px
}
.revision-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px
}
.revision-grid dd {
  margin:0 0 17px;
  overflow-wrap:anywhere
}
.revision-grid dt {
  color:var(--muted);
  font-size:12px
}
.preserve-lines {
  white-space:pre-wrap
}
.break-all,pre {
  overflow-wrap:anywhere
}
pre {
  white-space:pre-wrap
}
code {
  font-size:13px
}
.mfa-setup svg,.mfa-setup img {
  max-width:240px;
  height:auto
}
.honeypot {
  position:absolute;
  left:-9999px
}
footer {
  border-top:1px solid var(--border);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:21px 30px;
  font-size:10px;
  background:var(--surface);
  gap:20px;
  min-height:67px
}
.footer-identity,.footer-credit {
  display:inline-flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap
}
.footer-identity>[lang=en] {
  font:9px/1.8 'Segoe UI',sans-serif;
  letter-spacing:1px
}
.footer-divider {
  color:#c4b8a5
}
footer a {
  text-decoration:none;
  font-weight:600
}
.version {
  font:10px/1.5 'Segoe UI',sans-serif;
  color:var(--muted);
  padding:3px 6px;
  border:1px solid var(--border);
  border-radius:4px;
  margin-left:3px
}
.toast {
  position:fixed;
  bottom:24px;
  left:50%;
  transform:translateX(-50%);
  padding:13px 21px;
  background:var(--accent-strong);
  color:white;
  border-radius:9px;
  z-index:100;
  max-width:90vw;
  font-size:13px;
  box-shadow:0 8px 28px #302d2922
}
.nav-hidden .shell {
  grid-template-columns:1fr
}
.nav-hidden .sidebar {
  display:none
}
/* Staff sign-in: a focused form and a quiet Khmer identity panel. */
.auth-view .shell {
  grid-template-columns:1fr
}
.auth-view main {
  display:flex;
  flex-direction:column;
  justify-content:center;
  max-width:1240px;
  padding:45px 40px
}
.auth-stage {
  display:grid;
  grid-template-columns:1fr 1fr;
  border:1px solid var(--border);
  background:var(--surface);
  border-radius:18px;
  min-height:590px;
  overflow:hidden;
  box-shadow:0 15px 55px #59401f07
}
.auth-story {
  display:flex;
  flex-direction:column;
  padding:34px 39px 28px;
  background:#f0e8d8;
  color:#62452f;
  position:relative;
  overflow:hidden
}
.auth-story:before,.auth-story:after {
  content:'';
  position:absolute;
  width:350px;
  height:350px;
  border:1px solid #ad873b22;
  border-radius:50%;
  right:-130px;
  top:70px;
  pointer-events:none
}
.auth-story:after {
  width:400px;
  height:400px;
  right:-155px;
  top:45px
}
.auth-story-top {
  display:flex;
  align-items:center;
  justify-content:space-between
}
.auth-story-top .eyebrow {
  color:#786043;
  font:10px/1.8 'Segoe UI',sans-serif;
  letter-spacing:2px
}
.auth-story-symbol {
  color:#b38d4d;
  font-size:24px
}
.auth-story-content {
  position:relative;
  margin:auto 0;
  padding:25px 0
}
.auth-book {
  display:grid;
  place-items:center;
  width:65px;
  height:65px;
  border:1px solid #a87e3833;
  border-radius:17px;
  background:#fffaf140;
  margin-bottom:27px
}
.auth-book .icon {
  width:33px;
  height:33px;
  color:#9d773d;
  stroke-width:1.2
}
.auth-story-content .eyebrow {
  color:#786043;
  margin-bottom:12px
}
.auth-story-title {
  font:550 clamp(29px,3vw,41px)/1.95 NotoKhmer,sans-serif;
  margin:0 0 17px;
  letter-spacing:-.4px
}
.auth-story-english {
  font:17px/1.8 'Segoe UI',sans-serif;
  color:#715d43;
  margin:0 0 22px
}
.auth-story-note {
  max-width:310px;
  font-size:12px;
  line-height:2;
  color:#715d43;
  margin:0
}
.auth-story-bottom {
  display:flex;
  align-items:center;
  gap:11px;
  color:#786043;
  font:8px/1.8 'Segoe UI',sans-serif;
  letter-spacing:2px
}
.auth-line {
  width:28px;
  height:1px;
  background:#bda47d
}
.auth-card {
  display:flex;
  flex-direction:column;
  padding:32px 40px 35px
}
.auth-card-top {
  display:flex;
  justify-content:flex-end
}
.auth-badge {
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#79715f;
  font-size:10px;
  border:1px solid var(--border);
  border-radius:20px;
  padding:5px 10px
}
.auth-badge .icon {
  width:13px;
  height:13px;
  color:var(--gold)
}
.auth-form-content {
  max-width:360px;
  width:100%;
  margin:auto;
  padding:28px 0 0
}
.auth-form-content>.eyebrow {
  color:var(--accent);
  margin-bottom:8px
}
.auth-form-content h1 {
  font-size:27px;
  font-weight:600;
  margin-bottom:9px
}
.auth-description {
  font-size:12px;
  line-height:2;
  margin-bottom:27px
}
.login-form {
  gap:20px
}
.login-form label {
  font-size:13px;
  font-weight:500
}
.login-form input {
  font-weight:400;
  background:#fff
}
.login-form input::placeholder {
  color:#746d62;
  font-size:12px
}
.password-field {
  display:block;
  position:relative
}
.password-field input {
  padding-right:47px
}
.password-toggle {
  position:absolute;
  right:5px;
  top:5px;
  height:calc(100% - 10px);
  width:36px;
  display:grid;
  place-items:center;
  background:transparent;
  color:var(--muted);
  border-radius:5px
}
.password-toggle:hover {
  color:var(--accent);
  background:var(--soft)
}
.password-toggle .icon {
  width:18px;
  height:18px
}
.login-form .login-submit {
  width:100%;
  justify-self:stretch;
  min-height:47px;
  justify-content:space-between;
  padding:11px 17px;
  margin-top:4px
}
.auth-security-note {
  display:flex;
  align-items:flex-start;
  gap:9px;
  font-size:10px;
  line-height:1.9;
  color:var(--muted);
  border-bottom:1px solid var(--border);
  padding-bottom:24px;
  margin:19px 0
}
.auth-security-note .icon {
  width:14px;
  height:14px;
  margin-top:2px;
  color:var(--gold)
}
.auth-back {
  display:inline-flex;
  gap:9px;
  align-items:center;
  font-size:11px;
  text-decoration:none;
  color:var(--muted)
}
#offline-results .result {
  width:100%;
  text-align:left;
  background:var(--surface);
  font-size:21px;
  cursor:pointer
}
#offline-results .result:hover {
  background:var(--soft)
}
#offline-reader .sense {
  font-size:var(--reading);
  line-height:2.1
}
#offline-reader .entry-provenance {
  font-size:12px
}
#offline-alphabet {
  display:flex;
  flex-wrap:wrap;
  gap:6px
}
/* Responsive behavior is shared with ui-controls.mjs (880px drawer). */
@media(min-width:1700px) {
  .dictionary-grid {
    grid-template-columns:325px minmax(0,1fr)
  }
  .search-intro {
    margin-top:9px
  }
}
@media(max-width:1200px) {
  .shell {
    grid-template-columns:220px minmax(0,1fr)
  }
  main {
    padding:29px 25px 40px
  }
  .sidebar {
    padding-left:13px;
    padding-right:13px
  }
  .nav-link.active:before {
    left:-13px
  }
  .dictionary-grid {
    grid-template-columns:minmax(200px,31%) minmax(0,1fr);
    gap:15px
  }
  .entry {
    padding:20px
  }
  .intro-art {
    width:120px;
    height:120px
  }
  .intro-art>span[lang] {
    font-size:67px
  }
  .admin-grid {
    grid-template-columns:1fr
  }
  .quick-actions {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 25px
  }
  .quick-actions h2 {
    grid-column:1/-1
  }
  .auth-card {
    padding-left:30px;
    padding-right:30px
  }
}
@media(max-width:1000px) {
  .header {
    padding:0 22px;
    gap:12px
  }
  .header-tools {
    gap:10px
  }
  .preference-control>.icon {
    display:none
  }
  .metrics {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .auth-stage {
    min-height:570px
  }
  .auth-story {
    padding:28px
  }
}
@media(max-width:880px) {
  :root {
    --header-height:78px
  }
  .header {
    padding:0 18px
  }
  .brand strong {
    font-size:19px
  }
  .brand-mark {
    width:39px;
    height:39px
  }
  .brand small {
    font-size:8px;
    letter-spacing:1.6px
  }
  .header-tools {
    gap:7px
  }
  .preferences {
    gap:6px
  }
  .preferences select {
    font-size:11px;
    max-width:107px
  }
  .header-home {
    padding-left:10px
  }
  .header-home span {
    display:none
  }
  .account-button {
    min-height:35px;
    padding:6px 10px
  }
  .shell {
    grid-template-columns:1fr
  }
  .sidebar {
    border-bottom:1px solid var(--border);
    border-right:0
  }
  .js-nav .sidebar {
    position:fixed;
    z-index:80;
    top:var(--header-height);
    left:0;
    bottom:0;
    width:min(310px,86vw);
    overflow-y:auto;
    overscroll-behavior:contain;
    border-right:1px solid var(--border);
    box-shadow:10px 0 30px #302d2912
  }
  .js-nav:not(.nav-open) .sidebar {
    display:none
  }
  .drawer-close {
    display:inline-flex
  }
  .nav-open {
    overflow:hidden
  }
  .nav-open .sidebar-slogan {
    margin-top:20px
  }
  .sidebar-section {
    padding-top:15px
  }
  main {
    padding:27px 24px 35px
  }
  .dictionary-grid {
    grid-template-columns:minmax(210px,32%) minmax(0,1fr)
  }
  .search-intro h1 {
    font-size:29px
  }
  .entry-toolbar {
    flex-wrap:wrap
  }
  .headword {
    font-size:38px
  }
  .auth-view main {
    padding:30px 24px
  }
  .auth-story {
    padding:27px
  }
  .auth-story-title {
    font-size:30px
  }
  .auth-story-note {
    font-size:11px
  }
  .auth-card {
    padding:27px
  }
}
@media(max-width:640px) {
  :root {
    --header-height:116px
  }
  html {
    scroll-padding-top:20px
  }
  .header {
    height:var(--header-height);
    display:grid;
    grid-template-columns:1fr;
    gap:7px;
    padding:12px 17px 9px
  }
  .brand {
    gap:10px
  }
  .brand strong {
    font-size:18px
  }
  .brand-mark {
    width:36px;
    height:36px
  }
  .brand small {
    font-size:7px;
    line-height:1.4
  }
  .header-tools {
    width:100%;
    justify-content:space-between
  }
  .preferences {
    gap:15px
  }
  .preference-control>.icon {
    display:block;
    width:14px;
    height:14px
  }
  .preferences select {
    padding-top:3px;
    padding-bottom:3px
  }
  .header-home {
    margin-left:auto
  }
  .account-button {
    margin-left:auto;
    border:0;
    background:transparent;
    font-size:11px;
    min-height:29px
  }
  .account-button .icon {
    width:14px;
    height:14px
  }
  .menu-button {
    min-height:29px;
    width:29px
  }
  .shell {
    grid-template-columns:minmax(0,1fr)
  }
  main {
    padding:25px 16px 32px
  }
  .search-intro {
    gap:12px;
    margin-bottom:23px
  }
  .search-intro h1 {
    font-size:25px;
    line-height:1.9;
    letter-spacing:-.4px
  }
  .search-intro p.muted {
    font-size:12px
  }
  .search-intro .eyebrow {
    font-size:9px
  }
  .intro-art {
    display:none
  }
  .intro-note {
    font-size:10px
  }
  #lookup .search-line {
    gap:9px;
    padding:6px 6px 6px 12px
  }
  #lookup .search-line input {
    font-size:18px
  }
  #lookup .search-line input::placeholder {
    font-size:13px
  }
  #lookup .search-line .button {
    min-width:76px;
    padding:9px 12px;
    font-size:12px
  }
  #lookup .search-line .button .icon,.search-key {
    display:none
  }
  .search-icon {
    width:19px;
    height:19px
  }
  .search-options {
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
    padding:12px 0
  }
  .search-modes {
    gap:16px;
    font-size:11px
  }
  .discover-link {
    font-size:10px
  }
  .search-workspace {
    margin-bottom:20px
  }
  .alphabet-hint {
    display:none
  }
  .alphabet {
    font-size:11px;
    padding:11px 0
  }
  .dictionary-grid {
    grid-template-columns:minmax(0,1fr);
    gap:17px
  }
  .section-heading {
    padding:14px 17px
  }
  .result-list {
    max-height:260px
  }
  .result {
    padding:11px 17px
  }
  .result strong {
    font-size:20px
  }
  .result p {
    -webkit-line-clamp:1;
    font-size:11px
  }
  .reader {
    scroll-margin-top:16px
  }
  .entry {
    padding:18px 19px
  }
  .entry-toolbar {
    margin-bottom:17px
  }
  .headword {
    font-size:39px
  }
  .entry-body {
    line-height:2.2
  }
  .entry-provenance {
    font-size:10px
  }
  .page-card {
    padding:23px 20px
  }
  .page-heading {
    align-items:flex-start;
    flex-wrap:wrap;
    gap:12px
  }
  .page-heading h1 {
    font-size:26px
  }
  .page-heading .button {
    font-size:11px
  }
  .metrics {
    gap:11px
  }
  .metric {
    padding:16px
  }
  .metric-top {
    font-size:10px
  }
  .metric strong {
    font-size:28px
  }
  .field-grid,.revision-grid {
    grid-template-columns:minmax(0,1fr)
  }
  .search-line {
    flex-wrap:wrap
  }
  #lookup .search-line {
    flex-wrap:nowrap
  }
  .search-line>input {
    flex:1 1 55%
  }
  .sense-editor {
    padding:15px
  }
  .quick-actions {
    display:block
  }
  td,th {
    padding:13px 15px
  }
  .narrow {
    margin-top:0
  }
  .auth-view main {
    padding:22px 15px
  }
  .auth-stage {
    grid-template-columns:minmax(0,1fr);
    min-height:0;
    border-radius:13px
  }
  .auth-story {
    padding:21px 25px
  }
  .auth-story:before,.auth-story:after {
    top:-110px;
    right:-100px
  }
  .auth-story-top {
    margin-bottom:8px
  }
  .auth-story-content {
    padding:0
  }
  .auth-book,.auth-story-content>.eyebrow,.auth-story-note,.auth-story-bottom {
    display:none
  }
  .auth-story-title {
    font-size:25px;
    line-height:1.8;
    margin-bottom:6px
  }
  .auth-story-title br {
    display:none
  }
  .auth-story-english {
    font-size:12px;
    margin-bottom:0
  }
  .auth-card {
    padding:22px 25px 28px
  }
  .auth-card-top {
    justify-content:flex-start
  }
  .auth-form-content {
    max-width:none;
    padding-top:23px
  }
  .auth-form-content h1 {
    font-size:25px
  }
  .auth-description {
    margin-bottom:23px
  }
  footer {
    flex-direction:column;
    align-items:flex-start;
    gap:11px;
    padding:21px 18px;
    font-size:10px
  }
  .footer-identity>[lang=en] {
    font-size:8px
  }
}
@media(prefers-reduced-motion:no-preference) {
  a,button,input,select {
    transition:background .15s ease,border-color .15s ease,color .15s ease
  }
}
@media(max-width:640px) {
  .entry-toolbar .icon-button,.entry-toolbar .button,.menu-button {
    min-height:44px;
    min-width:44px
  }
  .preferences select {
    min-height:36px
  }
  .search-modes label {
    min-height:36px
  }
  .alphabet a {
    min-width:38px;
    min-height:42px
  }
}
@media(max-width:640px) {
  .preferences {
    gap:9px;
    min-width:0
  }
  .preference-control {
    min-width:0
  }
  .preference-control>.icon {
    display:none
  }
  .preferences select {
    max-width:103px
  }
  .account-button {
    padding:5px;
    min-width:36px
  }
  .account-button span {
    display:none
  }
  .account-button .icon {
    width:18px;
    height:18px
  }
  .header-home {
    min-height:36px
  }
}

/* Keep the existing offline shell's letter mark legible as well as the image logo. */
.brand-mark:not(img) {
  display:grid;
  place-items:center;
  background:var(--accent);
  color:#fff6df;
  font:30px/1.5 NotoKhmer,sans-serif;
}

/* The selected SVG supplies its own rounded silhouette. */
img.brand-mark {
  object-fit:contain;
  border-radius:0;
}

/* Prototype parity: compact chrome, bilingual search cards and native popups. */
:root {--header-height:70px}
html {scroll-padding-top:86px}
.header {padding:0 24px;gap:16px}
.brand {gap:10px}
.brand strong {font-size:20px;line-height:1.7}
.brand small {font-size:9px;letter-spacing:1.7px}
.brand-mark {width:41px;height:41px}
.header-tools {gap:10px}
.language-switch button {display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:5px 9px;background:transparent;color:var(--muted);font-size:12px;border-radius:6px}
.language-switch .active {color:var(--accent-strong);font-weight:600}
.language-separator {color:#b4a999}
.theme-button {font-size:12px;min-height:40px;padding:7px 11px}
.shell {min-height:calc(100vh - var(--header-height) - 48px)}
.sidebar {padding-top:18px;padding-bottom:18px}
.sidebar-heading {padding-bottom:8px}
.primary-nav {gap:3px;margin-bottom:13px}
.nav-link {min-height:49px;padding:7px 12px;gap:10px}
.nav-link.active:before {height:22px;top:calc(50% - 11px)}
.sidebar-section {padding:12px 12px 10px}
.sidebar-section .eyebrow {margin-bottom:7px}
.secondary-nav a {padding:5px 0;font-size:12px;line-height:1.7}
.sidebar-slogan {padding:16px 12px 0}
.sidebar-slogan p {margin:7px 0 2px}
.slogan-flower {font-size:24px}
main {padding:22px clamp(20px,2.4vw,36px) 30px}
footer {padding:10px 24px;min-height:48px;gap:10px 20px}
.search-intro {gap:20px;margin:0 0 17px;align-items:center}
.breadcrumb {display:flex;align-items:center;gap:9px;color:var(--muted);font-size:11px;margin-bottom:7px}
.search-intro h1 {font-size:clamp(24px,2.2vw,30px);margin-bottom:5px;line-height:1.7}
.intro-subtitle {color:var(--muted);font-size:12px;line-height:1.8;margin:0}
.dictionary-total {text-align:right;max-width:215px;flex:0 1 215px;color:var(--muted);font-size:11px;line-height:1.8}
.dictionary-total strong {display:block;color:var(--accent);font:600 28px/1.4 'Segoe UI',sans-serif;font-variant-numeric:tabular-nums}
.ui-copy {display:inline-flex;flex-direction:column;line-height:1.8;min-width:0}
.ui-secondary {display:block;font-size:10px;line-height:1.7;color:var(--muted);font-weight:400;letter-spacing:0}
.ui-secondary:lang(km) {font-family:NotoKhmer,sans-serif}
.ui-secondary:lang(en) {font-family:'Segoe UI',sans-serif}
.intro-subtitle .ui-copy {display:block}
.intro-subtitle .ui-secondary {display:inline;margin-left:8px}
.search-workspace {margin-bottom:18px}
#lookup .search-line {padding:6px 7px 6px 16px;gap:10px}
#lookup .search-line input {padding:7px 0;font-size:19px;min-width:0}
#lookup .search-line .button {min-width:100px}
.search-options {padding:10px 0;gap:12px;flex-wrap:wrap}
.search-modes {gap:5px;flex-wrap:wrap}
.search-modes label {position:relative;display:flex;justify-content:center;min-height:54px;min-width:104px;padding:7px 13px;border-radius:7px;text-align:center}
.search-modes input {position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
.search-modes label:has(input:checked) {background:var(--soft);color:var(--accent-strong)}
.search-modes label:has(input:focus-visible) {outline:3px solid var(--gold);outline-offset:2px}
.search-modes label:hover {background:var(--soft)}
.discover-link {min-height:44px;gap:9px;padding:4px 6px;font-size:12px}
.discover-link .ui-copy {text-align:right}
.alphabet summary {padding-top:9px;padding-bottom:9px}
.nav-title .ui-copy {display:flex}
.nav-title .ui-secondary {margin-top:0}
.ui-dialog {width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain;padding:28px;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);box-shadow:0 22px 80px #302d2933}
.ui-dialog::backdrop {background:#30282066;backdrop-filter:blur(3px)}
body:has(.ui-dialog[open]) {overflow:hidden}
.dialog-close {position:absolute;top:14px;right:14px;font:22px/1 'Segoe UI',sans-serif;min-height:36px;width:36px}
.ui-dialog>.eyebrow {padding-right:34px;margin-bottom:10px}
.ui-dialog h2 {font-size:22px;line-height:1.8;margin-bottom:12px;padding-right:15px}
.ui-dialog p {font-size:13px;line-height:2}
.ui-dialog h2 .ui-secondary {font-size:12px}
.ui-dialog .theme-options {display:grid;gap:12px;margin:20px 0 15px}
.theme-option {display:flex;align-items:center;gap:16px;padding:15px;width:100%;text-align:left;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.theme-option:hover,.theme-option[aria-pressed=true] {background:var(--soft);border-color:var(--gold)}
.theme-miniature {width:82px;height:66px;flex:none;display:grid;grid-template-columns:22px 1fr;grid-template-rows:12px 1fr;gap:5px;padding:6px;background:#f7f5f0;border:1px solid #d9cdb9;border-radius:6px}
.theme-miniature i {border-radius:2px;background:#fffefa}
.theme-miniature i:first-child {grid-column:1/-1;background:#e9dfca}
.theme-miniature i:nth-child(2) {background:#e5d7b9}



.theme-description {display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}
.theme-description strong {font-size:14px;font-family:'Segoe UI',sans-serif}
.theme-description small {font-size:12px;color:var(--muted);line-height:1.8}
.theme-description em {font-size:10px;font-style:normal;color:var(--accent)}
.theme-selection {display:grid;place-items:center;width:24px;height:24px;flex:none;border:1px solid var(--border);border-radius:50%;color:transparent;background:var(--surface)}
.theme-option[aria-pressed=true] .theme-selection {color:var(--accent);border-color:var(--gold)}
.theme-options[aria-busy=true] {pointer-events:none;opacity:.7}
.ui-dialog .provider-list {gap:10px;margin:17px 0}
.ui-dialog .provider {min-height:48px;padding:9px}
.dialog-actions {display:flex;justify-content:flex-end;margin-top:18px}
.ui-dialog .form-help {margin:0;font-size:11px}
.member-page h2 {font-size:25px}
@media(max-width:1200px) {main {padding:21px 23px 28px}.shell {grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:880px) {:root {--header-height:66px}.shell {grid-template-columns:1fr}.header {padding:0 16px}.brand strong {font-size:18px}.brand-mark {width:37px;height:37px}.header-tools {gap:7px}.auth-view main {padding:25px 22px}.search-intro h1 {font-size:25px}}
@media(max-width:640px) {
 :root {--header-height:68px}
 .header {display:flex;height:var(--header-height);flex-wrap:nowrap;padding:0 12px;gap:8px}
 .header-tools {width:auto;justify-content:flex-end;gap:4px;flex:none}
 .brand {gap:7px;min-width:0;flex:1}.brand strong {font-size:16px;white-space:nowrap}.brand small {font-size:7px;letter-spacing:1px}.brand-mark {width:33px;height:33px;flex:none}
 .language-switch button {gap:5px;padding:5px;font-size:11px}
 .theme-button,.account-button {width:36px;min-height:38px;padding:7px}.theme-button>span,.account-button>span {display:none}
 .menu-button {width:34px;min-height:38px}.header-home {padding-left:5px}.header-home .icon {width:16px}
 main {padding:18px 15px 25px}.search-intro {gap:12px;align-items:flex-start;margin-bottom:14px}.search-intro h1 {font-size:22px;line-height:1.8}.breadcrumb {font-size:10px;margin-bottom:5px}
 .dictionary-total {flex:0 0 104px;font-size:10px;padding-top:21px}.dictionary-total strong {font-size:24px}.dictionary-total .ui-secondary {font-size:9px}
 .intro-subtitle {font-size:11px}.intro-subtitle .ui-secondary {display:block;margin-left:0}
 .search-modes {gap:3px}.search-modes label {min-width:90px;padding:6px 10px;font-size:12px}.search-options {gap:5px}.discover-link {margin-left:auto}
 #lookup .search-line {gap:7px;padding-left:12px}#lookup .search-line .button {min-width:62px;font-size:12px;padding:8px 10px}#lookup .search-line input {font-size:17px}#lookup .search-line input::placeholder {font-size:14px}
 footer {padding:9px 15px;gap:5px 12px;min-height:48px}.footer-identity {font-size:10px}.footer-identity>[lang=en] {font-size:8px}.footer-credit {margin-left:auto}
 .ui-dialog {padding:24px 20px;width:calc(100% - 24px)}.theme-option {gap:12px;padding:12px}.theme-miniature {width:66px;height:57px;grid-template-columns:18px 1fr}.theme-description small {font-size:11px}
}
@media(max-width:380px) {.brand strong {font-size:14px}.brand-mark {width:29px;height:29px}.header {padding:0 8px;gap:4px}.header-tools {gap:2px}.language-switch button {gap:3px;font-size:10px}.search-intro h1 {font-size:20px}.dictionary-total {flex-basis:95px}.search-modes label {min-width:86px;padding:6px 8px}}
@media(prefers-reduced-motion:reduce) {html {scroll-behavior:auto}}

#lookup .search-line {flex-wrap:nowrap}
.sidebar-section>summary {cursor:pointer;min-height:34px;align-content:center;margin:0;list-style-position:inside}
.sidebar-section[open]>summary {margin-bottom:6px}
.sidebar-section>.secondary-nav {padding-top:4px}
@media(max-width:640px) {.search-options {flex-direction:row;align-items:center;flex-wrap:wrap}.search-modes {flex:1 0 auto;max-width:100%}}

/* Shared UI system: these tokens govern public, information, auth and admin pages. */
:root {--font-title:28px;--font-section:21px;--font-subtitle:17px;--font-body:14px;--font-note:12px;--font-caption:11px;--line-body:1.9;--field:var(--surface);--button-ink:#fffefa;--success-bg:#edf3e9;--success-ink:#36512d;--error-bg:#fbefeb;--error-ink:#8d2e28;--story:#f0e8d8;--page-width:1180px;--article-width:900px;color-scheme:light}
html[data-theme=dark] {--bg:#171a1e;--surface:#20252b;--text:#ece8df;--muted:#bab3a8;--border:#3d454d;--accent:#e1b777;--accent-strong:#f2d3a4;--soft:#30343a;--gold:#d5ad6b;--sidebar:#1d2228;--field:#191e24;--button-ink:#241b10;--success-bg:#20372c;--success-ink:#bee8c9;--error-bg:#412b2c;--error-ink:#ffd0c9;--story:#272c31;--shadow:0 5px 24px #0002;color-scheme:dark;}
@media(prefers-color-scheme:dark) {html[data-theme=device] {--bg:#171a1e;--surface:#20252b;--text:#ece8df;--muted:#bab3a8;--border:#3d454d;--accent:#e1b777;--accent-strong:#f2d3a4;--soft:#30343a;--gold:#d5ad6b;--sidebar:#1d2228;--field:#191e24;--button-ink:#241b10;--success-bg:#20372c;--success-ink:#bee8c9;--error-bg:#412b2c;--error-ink:#ffd0c9;--story:#272c31;--shadow:0 5px 24px #0002;color-scheme:dark;}}
body {font-size:var(--font-body);line-height:var(--line-body)}
button,input,select,textarea,dialog {font-family:inherit}
h1,.search-intro h1,.page-heading h1,.auth-form-content h1,.member-page h2 {font-size:var(--font-title);font-weight:600;line-height:1.7;letter-spacing:0;margin-bottom:12px}
h2,.prose h2,.ui-dialog h2,.section-heading h2 {font-size:var(--font-section);font-weight:600;line-height:1.8}
h3 {font-size:var(--font-subtitle);font-weight:600;line-height:1.8}
.page-card,.prose,.original-text {font-size:var(--font-body);line-height:var(--line-body)}
.original-text {font-family:NotoKhmer,sans-serif;font-size:16px;line-height:2.1}
.muted,.form-help,.record-ref,.entry-provenance,.auth-description,.auth-story-note {font-size:var(--font-note);line-height:1.9;color:var(--muted)}
.ui-secondary,.nav-title small,.eyebrow,.version {font-size:var(--font-caption)}
.ui-dialog p,.ui-dialog .form-help,.theme-description small,.provider-list>div>small {font-size:var(--font-note);line-height:1.9}
.page-content {width:100%;max-width:var(--page-width);margin:0 auto;min-width:0}
.page-breadcrumb {max-width:var(--page-width);margin:0 auto 15px;min-height:26px;font-size:var(--font-note);flex-wrap:wrap}
.page-breadcrumb a {text-decoration:none;color:var(--muted)}
.page-breadcrumb [aria-current] {color:var(--text)}
.page-content>.page-card {max-width:var(--article-width);margin-left:auto;margin-right:auto}
.page-content>.page-card.narrow {max-width:540px}
.page-content>.page-card.prose {max-width:var(--article-width)}
.page-card {padding:25px 28px;margin-bottom:20px;border-radius:var(--radius);overflow-wrap:anywhere}
.prose {line-height:var(--line-body)}
.prose h1 {margin-bottom:18px}.prose h2 {margin-top:22px;margin-bottom:12px}
.prose p,.original-text p {margin-bottom:16px}
.local-list {margin-top:18px;display:grid;gap:6px}
.local-word {align-items:center;gap:16px;padding:10px 0;border-bottom:1px solid var(--border)}
.local-word>a {font-size:18px;line-height:1.9}
.instruction-list {padding-left:24px}.instruction-list li {padding:4px 0 6px 5px}
.auth-view main {display:block;padding-top:22px;padding-bottom:28px}
.auth-stage {min-height:520px}.auth-view .page-content {max-width:1100px}
.auth-view .page-breadcrumb {max-width:1100px}
.brand-mark {filter:drop-shadow(0 2px 3px #3e2b1830) drop-shadow(0 0 1px #8c6e3a20)}
.button.primary {color:var(--button-ink)}
.button:hover,.button.quiet:hover {background:var(--soft);border-color:var(--gold)}
.button.primary:hover {background:var(--accent-strong);border-color:var(--accent-strong);color:var(--button-ink)}
input,textarea,select,.login-form input {background:var(--field);color:var(--text);border-color:var(--border)}
input::placeholder,textarea::placeholder,#lookup .search-line input::placeholder,.login-form input::placeholder {color:var(--muted)}
.notice.success {background:var(--success-bg);color:var(--success-ink);border-color:var(--border)}
.notice.error,.button.danger {background:var(--error-bg);color:var(--error-ink);border-color:var(--border)}
.t_exam {color:var(--muted)}
.result-list {scrollbar-color:var(--border) transparent}
.auth-story {background:var(--story);color:var(--text)}
.auth-story-top .eyebrow,.auth-story-content .eyebrow,.auth-story-english,.auth-story-note,.auth-story-bottom,.auth-badge {color:var(--muted)}
.auth-book {background:var(--surface);border-color:var(--border)}
.auth-book .icon,.auth-story-symbol {color:var(--accent)}
.provider {font-family:inherit;background:var(--field);color:var(--text);border-color:var(--border);gap:12px;padding:11px 14px}
.provider-copy {font:inherit;font-size:var(--font-body);line-height:1.8;min-width:0}
.provider-copy[lang=km] {font-family:NotoKhmer,'Segoe UI',sans-serif}
.provider-copy small {font-family:'Segoe UI',sans-serif;font-size:var(--font-caption);color:var(--muted);line-height:1.7}
.provider-icon {display:flex;align-items:center;justify-content:center;width:26px;height:26px;flex:none;overflow:hidden;border-radius:5px;background:#fff}
.provider-icon img {width:22px;height:22px;object-fit:contain;flex:none}
.provider-icon--apple img {width:50px;height:50px;max-width:none;transform:translateY(3px)}
.ui-dialog .provider {padding:10px 14px}
.theme-options,.language-options {display:grid;gap:12px;margin:20px 0 16px}
.theme-miniature.light {background:#f7f5f0}
.theme-miniature.dark {background:#171a1e;border-color:#56616d}
.theme-miniature.dark i {background:#30343a}.theme-miniature.dark i:first-child {background:#454b54}.theme-miniature.dark i:nth-child(2) {background:#e1b777}
.theme-miniature.device {background:linear-gradient(125deg,#f7f5f0 50%,#171a1e 50%)}
.theme-miniature.device i {background:#d0b489}.theme-miniature.device i:first-child {background:linear-gradient(125deg,#e9dfca 50%,#454b54 50%)}
.language-button {min-height:40px;padding:6px 10px;font-size:12px}
.language-option {display:flex;align-items:center;gap:16px;text-align:left;padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text)}
.language-option:hover,.language-option[aria-pressed=true] {background:var(--soft);border-color:var(--gold)}
.language-option>span:nth-child(2) {flex:1;display:grid;gap:3px}
.language-option strong {font-size:16px;font-weight:600;line-height:1.8}.language-option small {color:var(--muted);font-size:var(--font-note)}
.language-symbol {display:grid;place-items:center;width:46px;height:46px;border-radius:10px;background:var(--soft);color:var(--accent);font-size:23px;font-family:NotoKhmer,'Segoe UI',sans-serif}
.language-option[aria-pressed=true] .theme-selection {color:var(--accent);border-color:var(--gold)}
.section-toggle {display:flex;align-items:center;gap:10px;min-height:46px;padding:9px 12px;border-radius:8px;font-size:12px;line-height:1.8;color:var(--muted);list-style:none}
.section-toggle::-webkit-details-marker {display:none}
.section-toggle>.icon {width:19px;height:19px;color:var(--accent)}
.section-label {flex:1;min-width:0}.section-chevron {font-size:20px;line-height:1;transition:transform .15s}
.sidebar-section {padding:6px 0;border:0}
.sidebar-section>summary.section-toggle {margin:0;min-height:46px;align-content:normal}
.sidebar-section[open]>.section-toggle,.section-toggle:hover {background:var(--soft);color:var(--accent-strong)}
.sidebar-section[open] .section-chevron {transform:rotate(90deg)}
.sidebar-section .secondary-nav {padding:6px 11px 9px 19px;margin-left:20px;border-left:1px solid var(--border)}
.sidebar-section .secondary-nav a {padding:7px 0}
.nav-hidden .shell {grid-template-columns:76px minmax(0,1fr)}
.nav-hidden .sidebar {display:flex;padding-left:10px;padding-right:10px}
.nav-hidden .sidebar-heading,.nav-hidden .nav-title,.nav-hidden .sidebar-slogan,.nav-hidden .section-label,.nav-hidden .section-chevron,.nav-hidden .sidebar-section .secondary-nav {display:none}
.nav-hidden .primary-nav {gap:7px;margin-bottom:12px}
.nav-hidden .nav-link,.nav-hidden .section-toggle {justify-content:center;min-height:46px;padding:11px;gap:0}
.nav-hidden .nav-link.active:before {left:-10px}
.nav-hidden .sidebar-section {margin-top:6px;padding-top:9px;border-top:1px solid var(--border)}
.offline-shell main {max-width:1260px;padding:24px 28px}
.offline-shell .header {min-height:var(--header-height);height:auto;padding-top:10px;padding-bottom:10px}
.offline-shell .preferences {flex-wrap:wrap}
.offline-shell .page-card {max-width:var(--page-width);margin:0 auto 20px}
@media(max-width:880px) {.nav-hidden .shell {grid-template-columns:minmax(0,1fr)}}
@media(max-width:640px) {
 :root {--font-title:23px;--font-section:19px;--font-subtitle:16px;--font-note:12px;--font-caption:11px}
 .page-card {padding:21px 19px}.page-breadcrumb {margin-bottom:12px;font-size:11px}
 .search-intro h1 {font-size:var(--font-title)}.page-heading h1,.auth-form-content h1 {font-size:var(--font-title)}
 .ui-dialog {padding:25px 21px}.ui-dialog h2 {font-size:var(--font-section)}
 .header-tools .language-button {padding:5px 6px;gap:4px;min-height:38px;font-size:11px}.language-button>.icon {display:none}
 .header .brand strong {font-size:15px}.header-tools {gap:3px}.theme-description small {font-size:var(--font-note)}
 .offline-shell .header {flex-wrap:wrap}.offline-shell .preferences {width:100%;justify-content:space-between}.offline-shell main {padding:20px 15px}
}
@media(prefers-reduced-motion:reduce) {.section-chevron {transition:none}}

.reading-view .page-content,.reading-view .page-breadcrumb {max-width:var(--article-width)}
.staff-view .page-content>.page-card {max-width:none}

.auth-story-top .eyebrow,.auth-story-content .eyebrow {font-family:inherit;font-size:var(--font-caption);line-height:1.9}
.auth-story-english {font-size:var(--font-subtitle)}

/* Section hierarchy, full-width information panels and distinct dialog typography. */
:root {--font-title:24px;--font-dialog-title:24px;--page-width:1440px}
body:not(.auth-view) main {max-width:none;padding:20px 24px 28px}
.reading-view .page-content,.reading-view .page-breadcrumb {max-width:none}
.page-content>.page-card.prose,.page-content>.page-card:not(.narrow) {max-width:none;margin-left:0;margin-right:0}
.page-card {padding:20px 22px}
.page-card>h1,.page-heading h1,.search-intro h1,.member-page>h2 {color:var(--accent-strong);font-size:var(--font-title);line-height:1.7}
.page-breadcrumb {margin-bottom:12px;min-height:24px}
.sidebar-heading>.eyebrow {font-size:15px!important;font-weight:650;letter-spacing:0;color:var(--accent-strong);line-height:1.8}
.primary-nav .nav-title>.ui-copy>span,.primary-nav .nav-title {font-size:14px;font-weight:550}
.primary-nav .ui-secondary {font-size:11px;font-weight:400}
.secondary-nav>a {justify-content:flex-start}
.prose>h1 {margin-bottom:14px}.prose>h2 {margin-top:20px}
.original-text {line-height:1.95;text-align:start;word-spacing:normal;letter-spacing:normal;white-space:normal}
.original-text p {margin:0 0 11px}
.document-abbreviations .original-text {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 26px}
.document-abbreviations .original-text p {margin:0;padding:6px 0;border-bottom:1px solid var(--border)}
.document-contributors .original-text p {margin:0 0 4px;line-height:1.9}
.preserve-lines {white-space:pre-line;overflow-wrap:anywhere;line-height:1.95}
.ui-dialog h2 {font-size:var(--font-dialog-title);color:var(--accent-strong);line-height:1.7;margin-bottom:12px}
.ui-dialog h2 .ui-copy>span {font-size:var(--font-dialog-title);font-weight:600}
.ui-dialog h2 .ui-secondary,.ui-dialog>.eyebrow .ui-secondary {font-size:10px;line-height:1.7;font-weight:400}
.ui-dialog>p.muted,.ui-dialog>p.eyebrow,.ui-dialog .theme-description small {font-size:12px;line-height:1.9}
.ui-dialog>p.eyebrow {font-weight:500;margin-bottom:8px}
.ui-dialog>p.eyebrow .ui-copy>span {font-size:11px}
.result-title {flex-wrap:wrap;row-gap:3px}
.result-subword {font-family:NotoKhmer,'Segoe UI',sans-serif;font-size:17px;line-height:1.9;color:var(--accent-strong);flex:1 1 auto;order:0}
.result-subword>span {color:var(--muted);margin-right:4px}
.result-title>small {margin-left:auto}
.result p {margin-top:4px}
.headword-line {display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.headword-line .headword {margin:0;min-width:0;overflow-wrap:anywhere}
.headword-subword {font-size:.72em;color:var(--accent-strong)}
.speak-button {flex:none;border-radius:50%;width:40px;min-height:40px;color:var(--accent)}
.speak-button[aria-disabled=true] {opacity:.55}.speak-button[aria-pressed=true] {background:var(--soft);border-color:var(--accent)}
.reader[aria-busy=true] {opacity:.65;transition:opacity .1s}
.report-destination {font-size:12px;margin:0 0 13px}
.shortcut-list {display:grid;gap:0;margin:14px 0 22px}
.shortcut-list>div {display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:16px;padding:10px 0;border-bottom:1px solid var(--border)}
.shortcut-list dt,.shortcut-list dd {margin:0}
kbd {padding:3px 7px;border:1px solid var(--border);border-bottom-width:2px;border-radius:5px;background:var(--surface);font:12px/1.6 'Segoe UI',sans-serif}
.help-search-modes {display:flex;flex-wrap:wrap;gap:10px 30px}
@media(max-width:640px) {
 :root {--font-title:21px;--font-dialog-title:23px}
 body:not(.auth-view) main {padding:16px 15px 23px}.page-card {padding:18px 17px}
 .document-abbreviations .original-text {grid-template-columns:1fr}
 .result-subword {font-size:16px}.shortcut-list>div {grid-template-columns:67px minmax(0,1fr);gap:12px}
}

/* Compact dictionary workspace, reader actions and source references. */
.brand-group {display:flex;align-items:center;gap:14px;min-width:0}
.sources-button {font-size:12px;padding:6px 9px;min-height:36px;color:var(--accent-strong)}
.sources-button .icon {width:17px;height:17px}
.sidebar-slogan {margin-top:auto;padding:12px 13px;border-left:2px solid var(--gold);border-top:0;background:linear-gradient(90deg,var(--soft),transparent);border-radius:0 8px 8px 0}
.sidebar-slogan p {display:flex;flex-wrap:wrap;gap:0 .4em;font-size:14px;font-weight:550;line-height:1.9;color:var(--accent-strong);margin:0 0 3px}
.sidebar-slogan small {font-size:11px;line-height:1.7;letter-spacing:.02em;color:var(--muted)}
.search-intro {display:block;min-height:0;margin:0 0 10px;gap:0}
.search-intro h1 {font-size:20px;line-height:1.8;margin:0;color:var(--accent-strong)}
.search-workspace {margin-bottom:14px}
.search-options {display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding-bottom:0}
.search-tools {position:relative;display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto}
.search-tools .alphabet {position:static;min-width:0;width:auto;padding:0;margin:0;border:0}
.search-tools .alphabet summary,.search-tools .discover-link {display:flex;align-items:center;gap:7px;min-height:38px;padding:6px 9px;border:1px solid transparent;border-radius:7px;font-size:12px;line-height:1.6;color:var(--accent-strong)}
.search-tools .alphabet summary:hover,.search-tools .discover-link:hover {background:var(--soft);border-color:var(--border)}
.search-tools .alphabet summary {list-style:none;cursor:pointer}
.search-tools .ui-copy {gap:0}.search-tools .ui-secondary {font-size:10px;line-height:1.6}
.search-tools .alphabet-toggle {margin-left:3px}
.search-tools .alphabet>div {position:absolute;top:calc(100% + 6px);right:0;z-index:25;display:grid;grid-template-columns:repeat(11,minmax(0,1fr));width:560px;max-width:calc(100vw - 34px);gap:6px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 30px #0002}
.search-tools .alphabet a {display:grid;place-items:center;padding:4px;min-height:35px;font-size:18px}
footer .dictionary-total {display:flex;align-items:center;gap:7px;margin:0;padding:0;min-width:0;text-align:start}
footer .dictionary-total strong {font-size:13px;line-height:1.6;color:var(--accent-strong)}
footer .dictionary-total .ui-copy {display:flex;flex-direction:row;flex-wrap:wrap;gap:0 5px;font-size:11px;line-height:1.6}
footer .dictionary-total .ui-secondary {font-size:10px;line-height:1.6}
.entry-toolbar {gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.entry-toolbar .entry-actions {display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-left:auto}
.entry-toolbar .button {min-height:34px;padding:5px 8px;font-size:12px;line-height:1.7;gap:5px}
.entry-toolbar .button .icon {width:15px;height:15px}
.bookmark-toggle[aria-pressed=true] {color:var(--accent-strong);background:var(--soft);border-color:var(--gold)}
.bookmark-toggle[aria-pressed=true] .icon {fill:var(--soft)}
.reading-controls {display:flex;align-items:center;gap:5px;margin:8px 0 18px;color:var(--muted);font-size:12px}
.reading-controls>span {margin-right:7px}.reading-controls .icon-button {width:34px;min-height:32px;font-size:12px}
.source-reference-list {display:grid;gap:12px;margin:14px 0}
.source-reference-card {display:flex;align-items:flex-start;gap:14px;padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--field)}
.source-reference-icon {display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:10px;background:var(--soft);color:var(--accent-strong)}
.source-reference-icon .icon {width:26px;height:26px}
.source-reference-card h3 {margin:0 0 6px;font-size:17px;line-height:1.8;color:var(--accent-strong)}
.source-reference-card h3 .ui-secondary {font-size:11px;line-height:1.7;font-weight:400}
.source-reference-card p,.source-reference-note {font-size:12px;line-height:1.9;margin:0 0 10px;color:var(--muted)}
.source-reference-links {display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12px;line-height:1.9}
.sources-dialog {width:min(580px,calc(100vw - 32px))}
.report-word {display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 12px;padding:10px 13px;background:var(--soft);border-radius:8px}
.report-word>span,.report-time {font-size:12px;color:var(--muted)}
.report-word strong {font-size:17px;font-weight:550;color:var(--accent-strong)}
.report-filters {display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 18px}
.report-filters label {display:flex;align-items:center;gap:10px;font-size:13px}
.report-filters select {min-width:160px;padding:8px 10px;background:var(--field);color:var(--text);border:1px solid var(--border);border-radius:7px;font:inherit}
.report-time {display:flex;flex-wrap:wrap;gap:5px 12px;margin:0 0 12px}.report-time time {color:var(--text)}
#copy-dialog textarea {display:block;width:100%;padding:12px;border:1px solid var(--border);background:var(--field);color:var(--text);border-radius:8px;font:inherit}
@media(max-width:1100px) {.search-tools {margin-left:0}.search-options {gap:6px 14px}}
@media(max-width:640px) {
 .brand-group {gap:6px}.sources-button {padding:5px;min-width:30px}.sources-button>span {display:none}
 .search-intro h1 {font-size:18px}.search-intro {margin-bottom:8px}
 .search-tools {width:100%;justify-content:flex-start;gap:6px}.search-tools .alphabet>div {grid-template-columns:repeat(7,minmax(0,1fr))}
 .entry-toolbar>.eyebrow {font-size:10px}.entry-toolbar .entry-actions {margin-left:0;gap:2px}.entry-toolbar .button {font-size:11px;padding:5px 7px}
 footer {gap:6px 12px}footer .dictionary-total {justify-content:center}.source-reference-card {padding:12px;gap:11px}.source-reference-icon {width:38px;height:38px}
}

.source-reference-icon img {width:100%;height:100%;object-fit:contain;padding:3px}

@media(max-width:640px) {
 .header {padding-left:10px;padding-right:10px;gap:6px}.header .brand {gap:6px;min-width:0}
 .header .brand strong {font-size:14px}.header .brand small {font-size:7px;letter-spacing:.8px}
 .header .brand-mark {width:30px;height:30px}.header .brand-group {gap:3px}
 .header-tools {gap:2px}.header-tools .theme-button,.header-tools .account-button,.header-tools .menu-button {width:32px;min-height:40px;padding:6px}
 .header-tools .language-button {min-height:40px;padding:4px}.sources-button {width:28px;min-width:28px;padding:4px}
}

/* Original contributors: preserve the source order, one numbered person per row. */
.contributors-table-wrap {width:100%;margin:12px 0 16px}
.contributors-table {width:100%;table-layout:fixed;border-collapse:collapse;font-size:15px;line-height:1.9}
.contributors-table th,.contributors-table td {padding:9px 12px;text-align:start;vertical-align:top;border-bottom:1px solid var(--border);font-weight:400;overflow-wrap:anywhere}
.contributors-table thead th {background:var(--soft);color:var(--accent-strong);font-size:13px;font-weight:600}
.contributors-table .contributor-number {width:4em;text-align:center;color:var(--muted)}
.contributors-table .contributor-role {width:11em}
.contributors-table tbody tr:nth-child(even) {background:var(--field)}
.contributors-table tbody tr:hover {background:var(--soft)}
.original-text .contributors-note {margin:8px 0 14px}
@media(max-width:640px) {
 .contributors-table {font-size:13px;line-height:1.85}.contributors-table th,.contributors-table td {padding:8px 7px}
 .contributors-table .contributor-number {width:2.8em}.contributors-table .contributor-role {width:7em}
 .contributors-table thead th {font-size:11px}
}
