/* Service windows share the inventory / skill tree's dark leather and brass frame. */
.lottery-dialog.lottery-dialog { color:var(--text-main); background:var(--panel-bg); border:1px solid var(--ui-border); border-radius:0; padding:14px; font-family:"Cinzel",serif; box-shadow:0 0 0 1px #000,0 8px 22px #000b,inset 0 0 0 3px #292116; }
.lottery-dialog.lottery-dialog::backdrop { background:#080604b8; }
.lottery-dialog.lottery-dialog header { border-bottom:1px solid #6d5c3c; padding-bottom:10px; }
.lottery-dialog.lottery-dialog h2 { font-size:16px; letter-spacing:.08em; color:#f0d9a8; }
.lottery-dialog.lottery-dialog button { background:#1e1811; border:1px solid #6d5c3c; border-radius:0; font:12px "Cinzel",serif; color:#e5d8b9; }
.lottery-dialog.lottery-dialog button:hover { background:#33291b; border-color:#b89d63; }
.lottery-dialog .lottery-rules { color:#bfae8b; }
.lottery-dialog .lottery-hub { background:#241b10; }
.lottery-dialog .lottery-prizes li { border-radius:0; background:#171109; border-color:#3f3625; }
.lottery-dialog .lottery-prizes .winner { background:#493820; border-color:#e0bd76; }
@media(max-width:620px) {
  .lottery-dialog .lottery-prizes { grid-template-columns:1fr; }
  .lottery-dialog .lottery-prizes li { grid-template-columns:30px 1fr auto; }
  .lottery-dialog .lottery-item-icon { display:block; }
}
.enhancement-dialog [data-list] .equipped-label { font-weight:900; color:#ffe5a2; font-size:13px; }
.gacha-dialog,.gacha-pools,.gacha-drop-list,.gacha-cards { scrollbar-width:none; }
.gacha-dialog::-webkit-scrollbar,.gacha-pools::-webkit-scrollbar,.gacha-drop-list::-webkit-scrollbar,.gacha-cards::-webkit-scrollbar { display:none; }
.gacha-pools { cursor:grab; user-select:none; touch-action:pan-x; scroll-snap-type:none; }
.gacha-pools:active,.gacha-drop-list:active { cursor:grabbing; }
.gacha-dialog .gacha-pool-art img { max-width:100%; height:100%; object-fit:contain; }
.gacha-drop-list { overflow-y:auto; max-height:65dvh; touch-action:pan-y; cursor:grab; user-select:none; }
.gacha-drop-list article { display:grid; grid-template-columns:56px minmax(0,1fr) auto; gap:10px; align-items:center; padding:12px 4px; border-bottom:1px solid #3f3625; }
.gacha-drop-list svg { width:36px; height:36px; }
.gacha-drop-list small { display:block; margin-top:6px; }
.gacha-detail-dialog header { justify-content:space-between; }
.gacha-result-dialog .gacha-cards { max-height:65dvh; overflow-y:auto; touch-action:pan-y; }
#notification[popover] { position:fixed; inset:auto; left:50%; margin:0; padding:0; border:0; background:transparent; overflow:visible; pointer-events:none; }
.gacha-item-icon { width:56px; height:56px; min-height:56px; flex:0 0 56px; padding:0; position:relative; }
.gacha-card-front .gacha-item-icon { width:72px; height:72px; flex-basis:72px; }
.gacha-item-tip { display:block; max-width:min(320px,90vw); white-space:pre-line; z-index:100; }
.gacha-item-tip[hidden] { display:none; }
.gacha-dialog,.enhancement-dialog,.recovery-dialog {
  color:var(--text-main); background:var(--panel-bg); border:1px solid var(--ui-border); border-radius:0;
  box-shadow:0 0 0 1px #000,0 8px 22px #000b,inset 0 0 0 3px #292116;
  padding:14px; font-family:"Cinzel",serif; backdrop-filter:blur(1px);
}
.gacha-dialog { width:min(1000px,calc(100vw - 24px)); }
.enhancement-dialog { width:min(800px,calc(100vw - 24px)); }
.gacha-dialog::backdrop,.enhancement-dialog::backdrop { background:#080604b8; backdrop-filter:none; }
.gacha-dialog header,.enhancement-dialog header {
  border-bottom:1px solid #6d5c3c; padding:0 0 10px; margin-bottom:10px;
}
.gacha-dialog h2,.enhancement-dialog h2,.recovery-dialog strong {
  font-size:16px; font-weight:700; letter-spacing:.08em; color:#f0d9a8; text-shadow:0 1px #000; margin:0;
}
.gacha-dialog h3,.enhancement-dialog h3 { font-size:14px; color:#d9c49b; }
.gacha-dialog header small { color:#9b885f; font-size:10px; letter-spacing:.12em; }
.gacha-dialog button,.enhancement-dialog button {
  border:1px solid #6d5c3c; border-radius:0; background:#1e1811; color:#e5d8b9;
  font:12px "Cinzel",serif; min-height:36px; padding:8px 12px; box-shadow:inset 0 1px #ffffff0a;
}
.gacha-dialog button:hover,.enhancement-dialog button:hover { background:#33291b; border-color:#b89d63; }
.gacha-dialog button:focus-visible,.enhancement-dialog button:focus-visible { outline:1px solid #d1a765; outline-offset:2px; }
.enhancement-dialog button[aria-pressed="true"],.gacha-draw-buttons [data-ten] {
  background:#302518; border-color:#d1a765; box-shadow:inset 0 0 10px #dcb56a3d; color:#f6e5c2;
}
.gacha-notice { background:#20190e; border-left:2px solid #b89d63; font-size:12px; color:#cdbb96; padding:8px 10px; }
.gacha-pools { gap:12px; padding:4px 0 12px; }
.gacha-pool,.gacha-pool-gold {
  flex-basis:270px; padding:12px; border:1px solid var(--ui-border); border-radius:0;
  background:linear-gradient(#211b12,#100d09); box-shadow:inset 0 0 0 2px #0c0a07;
}
.gacha-pool-art { height:100px; background:radial-gradient(ellipse,#a5813930,transparent 70%); border-bottom:1px solid #3f3625; margin-bottom:10px; }
.gacha-pool-art svg { width:76px; height:76px; filter:drop-shadow(0 2px 6px #000); }
.gacha-pool>p { color:#b5a88e; font-size:12px; min-height:3.5em; }
.gacha-pool li { border-color:#3f3625; padding:7px 0; }
.gacha-pool small,.gacha-dialog small { color:#aa9874; }
.gacha-bonus { font-size:12px; color:#c9aa6d; }
.gacha-result-heading { background:#15110b; border-bottom:1px solid #6d5c3c; }
.gacha-confirm { border:1px solid #b89d63; background:#20170d; border-radius:0; padding:12px; }
.gacha-cards { gap:10px; margin:14px 0; }
.gacha-card-back,.gacha-card-front { border:1px solid #6d5c3c; border-radius:0; }
.gacha-card-back { background:repeating-linear-gradient(45deg,#1b150e,#1b150e 10px,#302518 10px,#302518 11px); color:#b89d63; box-shadow:inset 0 0 0 5px #100c08,inset 0 0 0 6px #6d5c3c; }
.gacha-card-front { background:#171109; }
.enhancement-preview { background:#100d09; border:1px solid #3f3625; border-radius:0; padding:12px; }
.enhancement-preview [data-item] { padding:14px 4px 8px; border-bottom:1px solid #3f3625; }
.enhancement-preview [data-item]>svg { width:76px; height:76px; }
.enhancement-preview th,.enhancement-preview td { border-color:#3f3625; font-size:12px; }
.enhancement-preview td:last-child { color:#9eb681; }
.enhancement-dialog [data-list] small { color:#a18c64; }
.enhancement-dialog [data-rule],.enhancement-dialog [data-help],.enhancement-dialog [data-balance] { font-size:12px; color:#bfae8b; line-height:1.7; }
.enhancement-dialog footer { border-color:#6d5c3c; }
.recovery-dialog { position:fixed; top:auto; bottom:18vh; width:min(330px,85vw); text-align:center; z-index:1000; }
.recovery-dialog::backdrop { background:transparent; }
.recovery-dialog p { font-size:13px; color:#d0bea0; }
.recovery-dialog progress { width:100%; height:12px; accent-color:#b89d63; }
@media(max-width:600px) {
  .gacha-dialog,.enhancement-dialog { padding:10px; max-height:calc(100dvh - 16px); }
  .gacha-dialog h2,.enhancement-dialog h2 { font-size:16px; }
  .gacha-pool { flex-basis:min(270px,calc(100vw - 56px)); padding:12px; }
  .enhancement-dialog button { min-height:40px; padding:8px; }
  .enhancement-preview { padding:6px; }
  .enhancement-preview [data-item]>svg { width:58px; height:58px; }
  .enhancement-preview td,.enhancement-preview th { padding:4px 2px; font-size:11px; }
}
