/* Shared sculpted window template. Geometry and native scrolling belong to views. */
body[data-game-ui='v20'] {
  --ui20-window-ink:#f2ecd9;
  --ui20-window-muted:#a7bab9;
  --ui20-window-brass:#c9af75;
  --ui20-window-stone:#101b22;
}
body[data-game-ui='v20'] [data-ui-window]:not(#ui20-old-one):not(#ui20-old-two):not(#ui20-old-three) {
  color:var(--ui20-window-ink)!important;
  background-color:var(--ui20-window-stone)!important;
  background-image:radial-gradient(ellipse at 0 0,#77908219,transparent 50%),repeating-linear-gradient(112deg,#7c8f8706 0 1px,transparent 1px 7px),linear-gradient(135deg,#14242a,#0b151e 80%)!important;
  border:1px solid #aa9062!important;
  border-radius:4px!important;
  box-shadow:inset 0 0 0 2px #03090d,inset 0 0 0 3px #a994614a,0 24px 65px #0009,0 2px 0 #000c!important;
  isolation:isolate;
}
body[data-game-ui='v20'] [data-ui-window] > [data-ui-window-frame] {
  position:absolute;inset:4px;z-index:6;pointer-events:none;
  border:1px solid #7a8d8540;border-radius:1px;
  background:linear-gradient(90deg,#f7e0a5,transparent) left top/22px 1px no-repeat,
    linear-gradient(#f7e0a5,transparent) left top/1px 22px no-repeat,
    linear-gradient(270deg,#d4b778,transparent) right top/22px 1px no-repeat,
    linear-gradient(#d4b778,transparent) right top/1px 22px no-repeat,
    linear-gradient(90deg,#d4b778,transparent) left bottom/22px 1px no-repeat,
    linear-gradient(0deg,#d4b778,transparent) left bottom/1px 22px no-repeat,
    linear-gradient(270deg,#d4b778,transparent) right bottom/22px 1px no-repeat,
    linear-gradient(0deg,#d4b778,transparent) right bottom/1px 22px no-repeat;
}
body[data-game-ui='v20'] [data-ui-window] > [data-ui-window-frame]::before,
body[data-game-ui='v20'] [data-ui-window] > [data-ui-window-frame]::after {
  content:'';position:absolute;left:calc(50% - 18px);width:36px;height:3px;
  background:linear-gradient(90deg,transparent,#d9c58f 35%,#fff0c5 50%,#d9c58f 65%,transparent);
}
body[data-game-ui='v20'] [data-ui-window] > [data-ui-window-frame]::before {top:-4px;}
body[data-game-ui='v20'] [data-ui-window] > [data-ui-window-frame]::after {bottom:-4px;opacity:.65;}
body[data-game-ui='v20'] #detail-dialog#detail-dialog[data-ui-window] .dialog-header,
body[data-game-ui='v20'] [data-ui-window] .settings-heading {
  color:#f6edce!important;
  background-color:#1a2a30!important;
  background-image:linear-gradient(90deg,#a9946120,transparent 48%),linear-gradient(180deg,#344440,#14242b)!important;
  border-bottom:1px solid #9c865962!important;
  box-shadow:inset 0 1px #d9ceb537,inset 0 -2px #010a0e7a,0 5px 12px #0003!important;
}
body[data-game-ui='v20'] #detail-dialog#detail-dialog[data-ui-window] .dialog-header::after {content:none!important;}
body[data-game-ui='v20'] [data-ui-window] :is(.dialog-header,.settings-heading) h2 {
  color:#fbf1ce!important;letter-spacing:.015em!important;text-shadow:0 2px 3px #020b11;
}
body[data-game-ui='v20'] #detail-dialog#detail-dialog[data-ui-window] .dialog-header h2 .game-icon-v19 {
  width:34px;height:34px;filter:drop-shadow(0 2px 2px #0007);
}
body[data-game-ui='v20'] #detail-dialog#detail-dialog[data-ui-window] :is(.dialog-fixed-actions,.dialog-footer),
body[data-game-ui='v20'] [data-ui-window] .view-thumb-footer {
  background-color:#111d23!important;
  background-image:linear-gradient(180deg,#273733,#111d23 55%)!important;
  border-top:1px solid #98805a6b!important;
  box-shadow:inset 0 1px #b4c3ad18,0 -5px 14px #0003!important;
}
body[data-game-ui='v20'] #detail-dialog#detail-dialog[data-ui-window] .dialog-content-navigation {
  background:#101d24!important;border-bottom:1px solid #54736c48!important;
}
body[data-game-ui='v20'] #detail-dialog#detail-dialog[data-ui-window] .dialog-body {background-color:transparent!important;}
body[data-game-ui='v20'] #detail-dialog#detail-dialog[data-ui-window] .hub-panel {max-width:none!important;width:auto!important;}
body[data-game-ui='v20'] #detail-dialog#detail-dialog[data-ui-window] :is(.hub-panel,.equipment-row,.growth-goal,.room-directory-card,.news-detail,.codex-detail,.mini-character,.character-detail-card):not(.sanctuary-experience-v17):not(.codex-experience-v17):not(.hub-list) {
  background-color:#0e1c24!important;
  background-image:linear-gradient(135deg,#54736c0b,transparent 65%)!important;
  border-color:#84947948!important;
  box-shadow:inset 0 1px #ddebc90a,0 2px 5px #0002!important;
}
body[data-game-ui='v20'] #detail-dialog#detail-dialog[data-ui-window] :is(.dialog-section-title,.setting-row h3,.hub-panel h3,.equipment-row h3) {color:#d9c796!important;}
body[data-game-ui='v20'] #detail-dialog#detail-dialog[data-ui-window] .ui19-path-label {color:#b0c3ba!important;}
body[data-game-ui='v20'] #detail-dialog#detail-dialog[data-ui-window] :is(input:not([type='checkbox']):not([type='range']),select,textarea) {
  color:#f4ebd5!important;background-color:#09151d!important;background-image:linear-gradient(180deg,#0003,transparent)!important;
  border:1px solid #7b8e825c!important;border-radius:3px!important;
  box-shadow:inset 0 2px 5px #0005,inset 0 -1px #c6d2b510!important;
}
body[data-game-ui='v20'] [data-ui-window] :is(input,select,textarea):focus-visible {
  outline:2px solid #e9ce8a!important;outline-offset:2px!important;
}
/* Setting sections use one divider, leaving the options as the visual focus. */
body[data-game-ui='v20'] #detail-dialog#detail-dialog[data-ui-window-family='settings'] .setting-row {
  padding:10px 2px 16px!important;margin:0 0 10px!important;
  background:transparent!important;border:0!important;border-bottom:1px solid #7b8e8240!important;border-radius:0!important;box-shadow:none!important;
}
body[data-game-ui='v20'] #detail-dialog#detail-dialog[data-ui-window-family='settings'] .setting-row h3 {margin-bottom:10px!important;}
body[data-game-ui='v20'] #detail-dialog#detail-dialog[data-ui-window-family='settings'] :is(.ui19-optional-explanation,.ui19-more) {
  border:0!important;background:transparent!important;box-shadow:none!important;margin-top:4px!important;
}
body[data-game-ui='v20'] #detail-dialog#detail-dialog[data-ui-window-family='settings'] details summary {
  min-height:44px;padding:8px 0!important;background:transparent!important;border:0!important;box-shadow:none!important;color:#a7bab2!important;
}
body[data-game-ui='v20'] #detail-dialog#detail-dialog[data-ui-window-family='settings'] .segmented {background:#071119!important;border:1px solid #8e9c7c4a!important;box-shadow:inset 0 2px 4px #0006!important;}
/* Repeated portraits are removed from the banner; native hero selection remains. */
body[data-game-ui='v20'] #detail-dialog[data-ui-window-name='characterInfo'] .ui19-visual-heading {display:none!important;}
body[data-game-ui='v20'] dialog[data-ui-window]::backdrop {
  background:radial-gradient(ellipse at 50% 35%,#06121b73,#01070fc7)!important;
  backdrop-filter:blur(5px) saturate(.65)!important;
}
/* Respect the existing effect and reduced-motion preferences on the modal backdrop. */
body[data-game-ui='v20']:is([data-motion='reduced'],[data-motion='bg-off'],[data-background-motion='off'],[data-reduced-motion='true'],.motion-reduced,.reduce-motion) dialog[data-ui-window]::backdrop,
body[data-game-ui='v20'] :is([data-motion='reduced'],[data-motion='bg-off'],[data-background-motion='off'],[data-reduced-motion='true'],.motion-reduced,.reduce-motion) dialog[data-ui-window]::backdrop,
body[data-game-ui='v20'] dialog[data-ui-window]:is([data-motion='reduced'],[data-motion='bg-off'],[data-background-motion='off'],[data-reduced-motion='true'],.motion-reduced,.reduce-motion)::backdrop {
  backdrop-filter:none!important;
}
@media(prefers-reduced-motion:reduce) {
  body[data-game-ui='v20'] dialog[data-ui-window]::backdrop { backdrop-filter:none!important; }
}
body[data-game-ui='v20'] .ui20-backdrop-residue {
  position:fixed;inset:0;z-index:2147483000;pointer-events:none;background:#01070f99;backdrop-filter:none;
}
body[data-game-ui='v20'] .ui20-press-light {
  z-index:2;pointer-events:none!important;
  background:radial-gradient(ellipse at var(--ui20-press-x,50%) var(--ui20-press-y,50%),#ffe9b94d,transparent 65%);
  mix-blend-mode:screen;
}
/* Equipment actions get their own row; labels never collapse to one glyph per line. */
body[data-game-ui='v20'] #detail-dialog#detail-dialog[data-ui-window] .equipment-row {
  display:grid;grid-template-columns:64px minmax(0,1fr);gap:5px 12px;
}
body[data-game-ui='v20'] #detail-dialog#detail-dialog[data-ui-window] .equipment-row > .ui19-equipment-art {
  float:none!important;width:64px!important;height:64px!important;margin:0!important;grid-column:1;grid-row:1/span 3;
}
body[data-game-ui='v20'] #detail-dialog#detail-dialog[data-ui-window] .equipment-row > :is(h3,p) {grid-column:2;margin:0!important;}
body[data-game-ui='v20'] #detail-dialog#detail-dialog[data-ui-window] .equipment-row > :is(label,.input-action-row,.equipment-enhance,.equipment-salvage,button) {grid-column:1/-1;min-width:0;}
body[data-game-ui='v20'] #detail-dialog#detail-dialog[data-ui-window] .equipment-row .input-action-row {display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px!important;}
body[data-game-ui='v20'] #detail-dialog#detail-dialog[data-ui-window] .equipment-row .input-action-row select {grid-column:1/-1;width:100%!important;max-width:100%!important;min-width:0!important;}
body[data-game-ui='v20'] #detail-dialog#detail-dialog[data-ui-window] .equipment-row .input-action-row button {min-width:0!important;width:100%;white-space:normal;overflow-wrap:normal!important;word-break:normal!important;}
body[data-game-ui='v20'] #detail-dialog#detail-dialog[data-ui-window] .equipment-row .equipment-comparison {display:block;margin-top:3px;color:#afbeb0;}
@media(min-width:900px) and (min-height:480px) {
  body[data-game-ui='v20'] #detail-dialog#detail-dialog[data-ui-window-family='settings'] #dialog-body {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;align-content:start;}
  body[data-game-ui='v20'] #detail-dialog#detail-dialog[data-ui-window-family='settings'] #dialog-body > :not(.setting-row) {grid-column:1/-1;}
}
body[data-game-ui='v20'] [data-ui-window-tone='danger'] > [data-ui-window-frame] {border-color:#b4846c66;}
body[data-game-ui='v20'] [data-ui-window][data-ui20-entering] {will-change:opacity;}
body[data-game-ui='v20'] .game-ui-window-v20 {max-width:min(920px,calc(100vw - 16px));max-height:calc(100dvh - 16px);padding:0;}
body[data-game-ui='v20'] .game-ui-window-v20[open] {display:flex;flex-direction:column;}
body[data-game-ui='v20'] .game-ui-window-v20 .dialog-body {overflow:auto;min-height:0;}
body[data-game-ui='v20'] [data-ui-window].result-card:not(#ui20-old-one):not(#ui20-old-two):not(#ui20-old-three) {background-image:radial-gradient(ellipse at 50% 0,#ba98562e,transparent 55%),linear-gradient(135deg,#14242a,#0b151e 80%)!important;}
@media (prefers-reduced-motion:reduce) {
  body[data-game-ui='v20'] [data-ui-window] {transition:none!important;animation:none!important;will-change:auto!important;}
  body[data-game-ui='v20'] .ui20-backdrop-residue {display:none!important;}
}
body[data-game-ui='v20'].motion-reduced [data-ui-window],
body[data-game-ui='v20']:is([data-motion='reduced'],[data-motion='bg-off']) [data-ui-window] {transition:none!important;animation:none!important;will-change:auto!important;}
@media (forced-colors:active) {
  body[data-game-ui='v20'] [data-ui-window]:not(#ui20-old-one):not(#ui20-old-two):not(#ui20-old-three) {background:Canvas!important;border:2px solid CanvasText!important;box-shadow:none!important;color:CanvasText!important;}
  body[data-game-ui='v20'] [data-ui-window] > [data-ui-window-frame] {display:none!important;}
}

/* One finite rim ignition on entry; no idle animation or additional blur. */
@keyframes ui20-window-ignite {
  0% {opacity:.35;filter:brightness(1);}
  38% {opacity:1;filter:brightness(1.8);}
  100% {opacity:1;filter:brightness(1);}
}
body[data-game-ui='v20'] [data-ui-window][data-ui20-entering] > [data-ui-window-frame] {animation:ui20-window-ignite 200ms ease-out 1 both;}
html[data-ui20-visible='false'] [data-ui-window-frame],
[data-reduced-motion='true'] [data-ui-window-frame],
[data-motion='reduced'] [data-ui-window-frame],
[data-motion='bg-off'] [data-ui-window-frame],
[data-background-motion='off'] [data-ui-window-frame] {animation:none!important;filter:none!important;}
@media (prefers-reduced-motion:reduce),(forced-colors:active) {
  body[data-game-ui='v20'] [data-ui-window-frame] {animation:none!important;filter:none!important;}
}

body[data-game-ui='v20'] button.game-ui-control-v20 {min-width:44px;min-height:44px;}
