html[lang="th"] .book-title h2 {
  letter-spacing: normal !important;
  line-height: 1.5 !important;
}
html[lang="th"] .hand summary::after,
html[lang="th"] .skill[aria-pressed="true"]::before { letter-spacing: normal; }

/* The rewind controls live inside the tools dialog instead of occupying the play area. */
.timebar { display:none; }
#app { grid-template-rows:auto minmax(0,1fr); }
/* dialog shell: เปลือกเดียวกับ #divine-desk (radius 12, เงา, backdrop, หัวติดบน) */
#player-tools {
  box-sizing:border-box;
  width:min(760px,calc(100vw - 32px));
  max-height:min(820px,calc(100dvh - 32px));
  padding:0;
  overflow:hidden;
  color:var(--ink);
  background:var(--panel);
  border:1px solid var(--line-2);
  border-radius:var(--r-12);
  box-shadow:var(--ui-shadow-2);
  line-height:var(--lh-body);
  font-family:var(--font-ui);
}
#player-tools[open] { display:grid; grid-template-rows:auto auto minmax(0,1fr); }
#player-tools::backdrop { background:var(--ui-backdrop); backdrop-filter:blur(4px); }
#player-tools *, #player-tools *::before, #player-tools *::after { box-sizing:border-box; min-width:0; }
#player-tools > header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px var(--gutter); border-bottom:1px solid var(--line-1); background:linear-gradient(125deg,var(--gold-soft),transparent 76%),var(--panel); }
#player-tools h2 { font-size:var(--fs-24); line-height:var(--lh-tight); margin:0; }
#player-tools > [data-tools-section] { min-height:0; overflow:auto; overscroll-behavior:contain; padding:var(--sp-3) var(--gutter) var(--gutter); }
#player-tools nav, .player-presets { display:flex; flex-wrap:wrap; gap:4px; margin:0; padding:var(--sp-2) var(--gutter); border-bottom:1px solid var(--line-1); background:var(--panel); }
#player-tools nav .btn { min-height:var(--tap); padding:6px 12px; border-color:transparent; color:var(--ink-2); font-size:var(--fs-14); }
#player-tools .btn { min-height:var(--tap); padding:7px 12px; border-radius:var(--r-8); white-space:normal; overflow-wrap:anywhere; font-size:var(--fs-14); }
#player-tools [aria-pressed="true"] { border-color:var(--gold); background:var(--gold-soft); color:var(--gold-ink); }
#player-tools .legend { position:static; display:flex; width:auto; max-height:none; box-shadow:none; padding:4px; }
.event-location { margin-top:5px; padding:5px 9px; min-height:32px; }
.player-search { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--sp-3); }
.player-search label { display:grid; gap:var(--sp-1); font-size:var(--fs-12); color:var(--ui-ink-2); }
.player-search select { padding-right:30px; background-image:var(--ui-chevron); background-repeat:no-repeat; background-position:right 10px center; background-size:11px 7px; appearance:none; }
.player-search label:has(#player-query) { grid-column:1 / -1; order:-1; }
#player-tools #player-count { margin:var(--sp-3) 0 var(--sp-2); font-size:var(--fs-12); color:var(--ui-ink-3); }
#player-tools #player-results > p:not(:has(*)) {
  margin:var(--sp-2) 0; padding:var(--sp-4) var(--sp-3);
  border:1px dashed var(--line-2); border-radius:var(--r-8);
  color:var(--ink-2); font-size:var(--fs-14); line-height:var(--lh-body); text-align:center;
}
.player-person { display:grid; grid-template-columns:minmax(0,1fr) 48px; gap:8px; margin:8px 0; }
.player-person-main { display:flex; flex-direction:column; align-items:flex-start; gap:5px; text-align:left; }
.player-person small { display:block; font-size:12px; color:var(--muted); }
.player-history .timebar { display:flex; margin-top:16px; width:100%; min-height:80px; }
.room :is(input,select,textarea), .veil-card :is(input,select,textarea) { box-sizing:border-box; max-width:100%; }
.room .name-row { min-width:0; width:100%; }
.room .name-row input { min-width:0; max-width:100%; }
.room :is(.seg-btn,.word,.pick,.skill), .veil-card .btn { overflow-wrap:anywhere; }
.native-map-settings { display:grid; gap:10px; }
.native-map-settings select { width:100%; min-height:40px; margin-top:4px; font:inherit; color:var(--ink); background:var(--bg); border:1px solid var(--line-2); border-radius:8px; }
.native-map-settings fieldset { min-width:0; margin:0; border:1px solid var(--line-2); border-radius:8px; }
.native-map-settings fieldset:disabled { opacity:.55; }
.native-map-settings fieldset label { display:flex; gap:6px; align-items:center; min-height:36px; }
[data-light-map] #graph :is(.m-routes,.m-pacts,.m-isles,.m-feats,.m-crack-glow,.m-border-glow) { display:none; }
[data-light-map] #graph :is(.halo,.m-ov-bless,.m-season-tint,.m-snowcap) { animation:none; }
[data-light-map] #graph-card :is(.era-stamp,.tool,.tools-seg,.powers,.aim-bar,.trial-chip,.toast) {
  backdrop-filter:none;
  background:var(--panel);
}
[data-light-map] :is(.btn.primary.ready,.warp-meter[data-level="brink"] .warp-track i) { animation:none; }
[data-light-map] #btn-play.on.tick { animation-timing-function:steps(4,end); }
@media (max-width:760px), (max-width:980px) and (max-height:520px) and (pointer:coarse) {
 .room .row { align-items:flex-start; gap:10px; }
 .room .row-label { flex:0 0 100%; }
 .room :is(.step,.soul-card) { padding:16px; }
 .room .step legend { padding-inline:6px; }
 .room .name-row { display:flex; flex-direction:column; align-items:stretch; gap:8px; }
 .room .name-row input { flex:0 0 auto; width:100%; padding:10px 12px; }
 .room :is(.seg-btn,.word) { padding:9px 13px; }
 #player-tools { padding:0; }
 #player-tools h2 { font-size:var(--fs-18); }
 /* ฟิลเตอร์ 5 ช่อง: มือถือเป็นแถบเลื่อนแนวนอน (เดิมเรียงแนวตั้งกิน ~390px ก่อนเห็นรายการ) */
 .player-search {
   display:flex;
   gap:var(--sp-2);
   overflow-x:auto;
   overscroll-behavior-x:contain;
   scroll-snap-type:x proximity;
   scrollbar-width:thin;
   padding-bottom:var(--sp-1);
 }
 .player-search label { flex:0 0 auto; width:min(70vw,230px); scroll-snap-align:start; }
 .player-search label:has(#player-query) { grid-column:auto; }
 .mobile-zoom { bottom:60px; }
}

/* Phone fixes from the Find X8 screenshots: column flex-basis must not become height. */
@media (max-width:760px), (max-width:980px) and (max-height:520px) and (pointer:coarse) {
 .thread-row select { flex:0 0 auto; height:46px; min-height:46px; width:100%; }
 .mobile-rite-nav { top:0; padding:6px 10px; gap:6px; background:var(--panel); }
 .mobile-rite-nav .room-annals { position:static; flex:none; margin:0; min-height:44px; font-size:12px; }
 .mobile-rite-nav button { min-height:44px; padding:6px 10px; font-size:12px; }
 #mobile-menu #th-toolbar { box-sizing:border-box; min-width:0; max-width:100%; }
 .room-inner { padding:72px 12px 18px; }
 #soul, #rite .step { scroll-margin-top:68px; }
 html[lang="th"] .room-foot { padding:6px 8px max(6px,env(safe-area-inset-bottom)); max-height:28dvh; }
 .foot-in { gap:3px; }
 .proj-top { gap:6px; flex-wrap:wrap; align-items:center; }
 .proj-top .lbl { font-size:10px; line-height:1.3; }
 .proj-top b { font:600 13px/1.4 var(--font-body); }
 .proj-top small { font-size:11px; }
 .proj-warn { font-size:11px; }
 .fate { min-height:20px; font-size:10px; gap:8px; }
 .fate-label { display:none; }
 .foot-actions { gap:4px; }
 .foot-actions .btn, .foot-actions .btn.big { min-height:44px; padding:5px 3px; font-size:11px; }
 .graph-top { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; }
 .graph-top .gt-spacer { display:none; }
 .graph-top > #btn-legend { grid-column:1; grid-row:1; justify-self:start; }
 .era-stamp { max-width:none; min-width:0; }
 .graph-top .watch-btn { grid-column:1; grid-row:2; justify-self:start; }
 .graph-tools { grid-column:2; grid-row:2; justify-content:flex-end; }
 .toasts { bottom:118px; right:60px; width:calc(100% - 72px); max-height:110px; overflow:hidden; }
 .toasts .toast:not(:first-child) { display:none; }
 .toasts .toast { padding:8px 10px; font-size:12px; max-height:110px; overflow:hidden; }
 .toasts .toast p { margin:0; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
}
