input[type="number"] { -moz-appearance: textfield; appearance: textfield; }
input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.personal-dialog, .vault-dialog { --personal-gold: #f0d594; --personal-muted: #91aaa7; --personal-line: #bed5cd24; }
.personal-dialog [hidden], .vault-dialog [hidden] { display: none !important; }
.personal-dialog *, .vault-dialog * { box-sizing: border-box; }
.personal-dialog { width: 460px; max-height: 90dvh; padding: 0; overflow: hidden; border: 1px solid #c8ad705e; background: #153139; border-radius: 18px; }
.personal-dialog[open] { display: flex; flex-direction: column; }
.personal-header { display: flex; flex: none; align-items: center; gap: 12px; padding: 17px 20px; border-bottom: 1px solid var(--personal-line); background: #19373e; }
.personal-heading { flex: 1; min-width: 0; }
.personal-body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 22px 24px 24px; scrollbar-width: thin; scrollbar-color: #71887b #19373b; }
.personal-eyebrow { color: #8eaaa5; font-size: 10px; letter-spacing: 2px; }
.personal-dialog .personal-header h2 { margin: 3px 0 0; font-size: 21px; line-height: 1.35; font-weight: 600; color: #f5e5bf; }
.personal-dialog .personal-back { display: inline-flex; align-items: center; justify-content: center; gap: 7px; flex: none; min-width: 82px; min-height: 44px; padding: 9px 12px; border: 1px solid #f4dda1; border-radius: 7px; color: #343a2b; background: #e6ce91; box-shadow: 0 2px 4px #071a1d45; font-size: 14px; font-weight: 600; }
.personal-back svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.personal-dialog .settings-close { flex: none; width: 36px; height: 36px; padding: 0; border: 1px solid #b9c5b82b; color: #d0d9ca; background: #ffffff06; }
.personal-account { display: flex; align-items: center; gap: 12px; margin: 0 0 24px; padding: 14px; border: 1px solid var(--personal-line); border-radius: 12px; background: #ffffff04; }
.personal-account .profile-current-avatar { width: 42px; height: 42px; margin: 0; border: 2px solid #eddaa25e; background: #28444b; }
.personal-account > div { min-width: 0; }
.personal-account span { display: block; color: var(--personal-muted); font-size: 10px; }
.personal-account strong { display: block; margin-top: 3px; color: #f3e5c6; font-size: 13px; font-weight: 500; overflow-wrap: anywhere; }
.personal-menu { display: grid; gap: 10px; }
.personal-dialog .personal-menu button { display: flex; align-items: center; gap: 12px; padding: 15px 12px; border: 1px solid var(--personal-line); border-radius: 12px; background: #1c3941; text-align: left; }
.personal-menu-icon { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 10px; background: #31504f; color: #b9d6c1; font-size: 22px; }
.personal-menu-icon.gold { color: #efd38d; background: #63532d55; }
.personal-menu-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.personal-menu button > span:nth-child(2) { flex: 1; min-width: 0; }
.personal-menu strong { display: block; color: #f0e2bf; font-size: 14px; font-weight: 500; }
.personal-menu small { display: block; margin-top: 3px; color: var(--personal-muted); font-size: 11px; }
.personal-menu b { color: #9db1a3; font-size: 22px; font-weight: 400; }
.personal-dialog .settings-row { flex-direction: column; align-items: stretch; gap: 6px; margin: 14px 0; }
.personal-dialog .settings-row > label { width: auto; color: #b4c9bf; font-size: 12px; }
.personal-dialog .settings-row input, .personal-dialog .settings-row select { flex: none; width: 100%; padding: 11px; border: 1px solid #526967; border-radius: 8px; background: #f9f4e5; font-size: 14px; }
.personal-field-summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 0 0 17px; margin-bottom: 18px; border-bottom: 1px solid var(--personal-line); }
.personal-field-summary > div { min-width: 0; }
.personal-field-summary span { display: block; color: #b4c9bf; font-size: 12px; }
.personal-field-summary strong { display: block; margin-top: 5px; color: #f0e2bf; font-size: 15px; font-weight: 500; overflow-wrap: anywhere; }
.personal-dialog .personal-field-summary button { flex: none; min-height: 36px; padding: 7px 12px; border: 1px solid #ccb37a80; color: #e8d299; background: #c8ac6220; font-size: 12px; }
.personal-avatar-current { display: flex; align-items: center; gap: 12px; }
.personal-avatar-current img { display: block; flex: none; width: 46px; height: 46px; border: 1px solid #d8c59070; border-radius: 10px; }
.personal-avatar-current > div { min-width: 0; }
.personal-avatar-summary { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
.personal-field-editor { margin: 0 0 18px; padding-bottom: 17px; border-bottom: 1px solid var(--personal-line); }
.personal-field-editor > label { display: block; margin-bottom: 8px; color: #b4c9bf; font-size: 12px; }
.personal-dialog .personal-field-editor input { display: block; width: 100%; max-width: 260px; padding: 10px 11px; border: 1px solid #526967; border-radius: 7px; color: #294239; background: #f9f4e5; font-size: 16px; }
.personal-field-editor .personal-field-title { margin: 0 0 10px; }
#profile-avatar-form { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
.personal-edit-actions { display: flex; gap: 9px; margin-top: 11px; }
.personal-dialog .personal-edit-actions button { min-height: 36px; padding: 7px 13px; border: 1px solid #bed5cd45; color: #b9cbbf; background: transparent; font-size: 12px; }
.personal-dialog .personal-edit-actions button[type="submit"] { border-color: #d9be82; color: #353a25; background: #e6ce91; }
.personal-dialog button:disabled { opacity: .5; cursor: default; }
.personal-field-title { margin: 24px 0 10px; color: #bacabd; font-size: 12px; }
.personal-dialog .personal-save { width: 100%; margin-top: 16px; padding: 11px; border: 0; border-radius: 9px; color: #353a25; background: #e6ce91; font-weight: 600; }
.personal-dialog .sound-preference { display: flex; align-items: center; gap: 18px; justify-content: space-between; padding: 18px 0; border-bottom: 1px solid var(--personal-line); }
.sound-preference label { min-width: 0; }
.sound-preference strong { display: block; color: #e4d6b7; font-size: 14px; font-weight: 500; }
.sound-preference span { display: block; color: #91a9a3; font-size: 11px; margin-top: 5px; }
.sound-preference input { width: 21px; height: 21px; flex: none; accent-color: #dac17c; }
.personal-dialog .settings-note { margin-top: 18px; font-size: 11px; }
/* Game warehouse: iron panels, brass fittings and inventory-style controls. */
.vault-dialog {
    --vault-gold: #e5c486; --vault-text: #e1d7c2; --vault-muted: #aaa28f; --vault-line: #746041;
    width: 540px; max-width: calc(100vw - 20px); max-height: min(850px, 94dvh);
    margin: auto; padding: 0; overflow: hidden; border: 3px solid #79613f; border-radius: 4px;
    outline: 1px solid #171612; outline-offset: 1px; color: var(--vault-text); background: #24251f;
    box-shadow: 0 0 0 1px #bea16b inset, 0 0 0 5px #171915 inset, 0 22px 90px #000b, 0 0 0 5px #181914;
    font: 14px/1.6 "Microsoft YaHei", -apple-system, BlinkMacSystemFont, sans-serif; text-align: left;
}
.vault-dialog[open] { display: flex; flex-direction: column; }
.vault-dialog::backdrop { background: #090c0fd4; backdrop-filter: blur(3px); }
.vault-dialog button, .vault-dialog input { font: inherit; }
.vault-dialog button { cursor: pointer; touch-action: manipulation; -webkit-tap-highlight-color: transparent; transition: filter .15s, border-color .15s, box-shadow .15s; }
.vault-dialog button:disabled { cursor: wait; opacity: .5; }
.vault-dialog button:focus-visible, .vault-dialog input:focus-visible { outline: 2px solid #ffe1a0; outline-offset: 3px; }
.vault-dialog button:not(:disabled):active { filter: brightness(.87); }
.vault-dialog h2, .vault-dialog h3, .vault-dialog p { margin: 0; }
.vault-symbols { position: absolute; width: 0; height: 0; overflow: hidden; pointer-events: none; }
.vault-icon { display: block; width: 44px; height: 44px; flex: none; overflow: visible; }
.vault-header {
    position: relative; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex: none;
    padding: 12px 17px 14px; border-top: 1px solid #d4bb86; border-bottom: 2px solid #8f7447;
    background: linear-gradient(#4c493d, #35362e 45%, #282b25 46%, #242720);
    box-shadow: 0 1px #0d100e, 0 -3px 0 #181c17 inset;
}
.vault-header::before, .vault-header::after { content: ''; position: absolute; bottom: 5px; width: 4px; height: 4px; border: 1px solid #b19b70; background: #4a4937; box-shadow: 0 1px 1px #000; }
.vault-header::before { left: 5px; }
.vault-header::after { right: 5px; }
.vault-heading { display: flex; gap: 10px; align-items: center; min-width: 0; }
.vault-heading > .vault-icon { width: 39px; height: 44px; filter: drop-shadow(0 2px 2px #0008); }
.vault-dialog h2 { color: #f2dba8; font: bold 23px/1.25 "Noto Serif SC", "SimSun", "Songti SC", serif; letter-spacing: 3px; text-shadow: 0 2px #0b0d09; }
.vault-eyebrow { display: block; margin-top: 5px; color: #b2a68b; font-size: 9px; letter-spacing: 1px; }
.vault-header #vault-close, .vault-backbar #vault-back {
    display: flex; align-items: center; justify-content: center; gap: 7px; flex: none; min-height: 40px;
    padding: 8px 13px; border: 1px solid #d0ae6f; border-radius: 2px; color: #ffe6b0;
    background: linear-gradient(#74603a, #54452d 48%, #423922 49%, #56452c);
    box-shadow: inset 0 0 0 1px #332e21, inset 0 2px #b89b624d, 0 2px 3px #0006;
    font-size: 12px; font-weight: 700; text-shadow: 0 1px #241b10;
}
.vault-header #vault-close .vault-icon, .vault-backbar #vault-back .vault-icon { width: 17px; height: 17px; }
.vault-body {
    position: relative; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 18px;
    background: repeating-linear-gradient(0deg, #ffffff02 0 1px, transparent 1px 4px), #232720;
    scrollbar-width: thin; scrollbar-color: #796342 #181d18;
}
.vault-window-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex: none; padding: 7px 18px; border-top: 1px solid #655638; color: #918775; background: linear-gradient(#30332a, #20241e); box-shadow: 0 1px #141911 inset; font-size: 9px; letter-spacing: 2px; }
.vault-storefront { position: relative; min-height: 176px; overflow: hidden; border: 1px solid #6c5b3a; background: radial-gradient(ellipse at 68% 66%, #69563355, transparent 65%), repeating-linear-gradient(90deg, #11181145 0 1px, transparent 1px 52px), repeating-linear-gradient(0deg, #11181145 0 1px, transparent 1px 52px), #1b221c; box-shadow: 0 0 0 3px #121a13 inset, 0 0 25px #0007 inset; }
.vault-storefront::before, .vault-storefront::after { content: ''; position: absolute; top: 7px; bottom: 7px; width: 6px; border-top: 2px solid #ab8c54; border-bottom: 2px solid #ab8c54; z-index: 1; pointer-events: none; }
.vault-storefront::before { left: 7px; border-left: 2px solid #ab8c54; }
.vault-storefront::after { right: 7px; border-right: 2px solid #ab8c54; }
.vault-storefront-title { position: relative; z-index: 1; padding: 24px 22px 20px; width: 52%; }
.vault-small-plaque { display: inline-block; padding: 1px 8px 2px; border: 1px solid #796340; color: #bba374; background: #171e16; font-size: 9px; letter-spacing: 3px; }
.vault-dialog .vault-storefront h3 { margin-top: 10px; color: #ecd4a0; font: bold 23px/1.5 "Noto Serif SC", "SimSun", serif; letter-spacing: 2px; text-shadow: 0 2px #060c08; }
.vault-storefront p { margin-top: 7px; color: #9f9d84; font-size: 10px; line-height: 1.9; letter-spacing: 2px; }
.vault-illustration { position: absolute; width: 290px; height: auto; bottom: -1px; right: -9px; pointer-events: none; filter: drop-shadow(0 5px 6px #0007); }
.vault-balance-card { display: flex; align-items: center; gap: 12px; min-height: 78px; margin-top: 7px; padding: 12px 15px; border: 1px solid #8a7246; background: linear-gradient(100deg, #403b29, #2d3125 75%); box-shadow: inset 0 0 0 2px #151c13, inset 0 3px #e4c26b16; }
.vault-balance-card > .vault-icon { width: 38px; height: 38px; filter: drop-shadow(0 2px #0b100a); }
.vault-balance-card > div { flex: 1; min-width: 0; }
.vault-balance-card div > span { display: block; color: #b4aa8e; font-size: 10px; line-height: 1.4; }
.vault-balance-card strong { display: block; margin-top: 3px; color: #ffdf91; font: bold 28px/1.15 Georgia, "Times New Roman", serif; font-variant-numeric: tabular-nums; letter-spacing: -.3px; overflow-wrap: anywhere; text-shadow: 0 2px #14190c; }
.vault-currency { align-self: flex-end; padding-bottom: 2px; color: #c1ac76; font-size: 10px; flex: none; }
.vault-section-heading { display: flex; align-items: center; gap: 10px; margin: 20px 0 11px; }
.vault-section-heading::after { content: ''; flex: 1; height: 1px; background: linear-gradient(90deg, #85704980, transparent); }
.vault-section-heading h3 { color: #d6bd89; font-size: 12px; font-weight: 600; letter-spacing: 1px; }
.vault-section-heading > span { color: #9c9784; font-size: 9px; order: 1; }
.vault-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 17px; }
.vault-actions button { position: relative; display: grid; justify-items: center; min-width: 0; padding: 15px 10px 12px; border: 1px solid #947746; border-radius: 2px; color: #ebd19c; background: linear-gradient(135deg, #54452b2e, transparent 60%), #2d3026; box-shadow: inset 0 0 0 3px #171e17, inset 0 0 0 4px #b2975630, 0 3px 3px #0003; text-align: center; }
.vault-actions button + button { border-color: #7d8271; background: linear-gradient(135deg, #78817122, transparent 60%), #29302a; }
.vault-item-slot { display: grid; place-items: center; width: 67px; height: 67px; margin-bottom: 10px; border: 1px solid #7d6b43; background: radial-gradient(ellipse at center, #a38a4f33, #141b14 80%); box-shadow: 0 0 0 2px #161a13, inset 0 0 0 2px #0b120b, inset 0 0 12px #0009; }
.vault-item-slot .vault-icon { width: 53px; height: 53px; filter: drop-shadow(0 3px 2px #0008); }
.vault-actions button + button .vault-item-slot { border-color: #7d8370; background: radial-gradient(ellipse at center, #829b7933, #151d16 80%); }
.vault-actions strong { display: block; color: #f1d9a7; font-size: 15px; font-weight: 600; letter-spacing: 2px; }
.vault-actions small { display: block; margin-top: 3px; color: #b0aa95; font-size: 10px; }
.vault-action-label { display: block; width: calc(100% - 24px); padding: 4px 8px; margin-top: 11px; border: 1px solid #a58a52; color: #f3d99f; background: linear-gradient(#665431, #4a3f27 50%, #3d351f 51%, #51452a); box-shadow: 0 1px #bda16245 inset, 0 1px 2px #0005; font-size: 12px; font-weight: 600; text-shadow: 0 1px #211a0d; }
.vault-actions button + button .vault-action-label { border-color: #8d947b; background: linear-gradient(#4e5b48, #343f32 50%, #2c362a 51%, #414d3b); color: #e1e2c5; }
.vault-record-entry { display: flex; align-items: center; gap: 12px; width: 100%; padding: 13px; border: 1px solid #736140; border-radius: 2px; color: #e1d3b1; background: #1c231c; box-shadow: inset 0 0 0 2px #10180f; text-align: left; }
.vault-entry-icon { display: grid; place-items: center; width: 48px; height: 48px; flex: none; border: 1px solid #655736; background: #151d15; box-shadow: 0 0 0 2px #0f160e inset; }
.vault-entry-icon .vault-icon { width: 40px; height: 40px; }
.vault-record-entry > span:nth-child(2) { flex: 1; min-width: 0; }
.vault-record-entry strong { display: block; color: #e8d2a1; font-size: 13px; font-weight: 600; letter-spacing: 1px; }
.vault-record-entry small { display: block; margin-top: 5px; font-size: 10px; line-height: 1.7; color: #aaa38d; overflow-wrap: anywhere; }
.vault-record-entry small b { color: #dfc48a; font-weight: 500; }
.vault-entry-label { flex: none; padding: 5px 9px; border: 1px solid #8a7448; color: #dbc28b; background: linear-gradient(#49422c, #2c3022); font-size: 10px; box-shadow: 0 1px #a68a5033 inset; }
.vault-dialog .vault-footnote { display: flex; align-items: flex-start; gap: 7px; margin: 16px 0 0; color: #aaa18c; font-size: 10px; line-height: 1.9; }
.vault-footnote > .vault-icon { width: 19px; height: 21px; opacity: .75; }
.vault-backbar { display: flex; justify-content: space-between; gap: 10px; align-items: center; padding-bottom: 15px; margin-bottom: 17px; border-bottom: 1px solid #79633f6b; }
.vault-backbar #vault-back { min-height: 38px; padding: 7px 10px; font-size: 11px; }
.vault-backbar > span { color: #baa982; font-size: 11px; overflow-wrap: anywhere; }
.vault-page-heading { display: flex; align-items: center; gap: 12px; margin-bottom: 17px; padding-bottom: 15px; border-bottom: 1px solid #94825b38; }
.vault-page-heading > .vault-icon { width: 46px; height: 46px; filter: drop-shadow(0 3px 2px #0007); }
.vault-page-heading h3 { color: #e7ce98; font: bold 20px/1.5 "Noto Serif SC", "SimSun", serif; letter-spacing: 2px; }
.vault-page-heading span { color: #a69f8a; font-size: 10px; }
.vault-dialog .vault-intro { color: #b2aa96; font-size: 11px; line-height: 1.9; margin-bottom: 20px; }
.vault-form-page .vault-intro { margin-bottom: 15px; }
.vault-deposit-steps { display: flex; align-items: center; justify-content: space-between; gap: 13px; list-style: none; margin: 0 0 18px; padding: 0 0 14px; border-bottom: 1px solid #77654373; }
.vault-deposit-steps::before { content: ''; flex: 1; order: 1; height: 1px; background: #77654373; }
.vault-deposit-steps li { display: flex; align-items: center; gap: 7px; color: #a19d87; font-size: 11px; }
.vault-deposit-steps li:last-child { order: 2; }
.vault-deposit-steps li > span { display: grid; place-items: center; width: 22px; height: 22px; border: 1px solid #746642; color: #b3a886; background: #1a2117; font: 12px/1 Georgia, serif; }
.vault-deposit-steps li[aria-current="step"] { color: #f0d49b; }
.vault-deposit-steps li[aria-current="step"] > span { color: #ffe4a7; border-color: #c5a465; background: linear-gradient(#665332, #373421); }
.vault-form { display: flex; flex-direction: column; width: 100%; max-width: 420px; margin: 0 auto; padding: 18px; border: 1px solid #65593d; background: #181f18; box-shadow: 0 0 0 2px #10170f inset; }
.vault-field-row { display: grid; grid-template-columns: 76px minmax(0, 228px); align-items: start; column-gap: 12px; min-width: 0; }
.vault-field-row + .vault-field-row { margin-top: 10px; }
.vault-money-row + .vault-field-row { margin-top: 16px; }
.vault-form .vault-field-row > label { margin: 0; padding-top: 10px; color: #d4c6a6; font-size: 12px; white-space: nowrap; }
.vault-field-control { min-width: 0; }
.vault-form-block { min-width: 0; margin: 16px 0 0; padding: 10px 0 0; border: 0; border-top: 1px solid #77654373; }
.vault-form-block legend { padding: 0 9px 0 0; color: #a9956c; font-size: 10px; letter-spacing: 1px; }
.vault-dialog input { width: 100%; min-width: 0; max-width: 100%; padding: 11px 12px; border: 1px solid #7e6d46; border-radius: 1px; background: #0e160f; box-shadow: 0 2px 4px #0008 inset, 0 1px #aaa17d16; color: #f0ddb3; outline: none; caret-color: #f2cc7e; user-select: text; }
.vault-dialog input:focus { border-color: #dec082; background: #141e14; }
.vault-dialog input::placeholder { color: #888a74; font-size: 12px; letter-spacing: 0; }
.vault-form input:not([type="checkbox"]) { width: 228px; max-width: 100%; height: 40px; padding: 8px 10px; font-size: 14px; line-height: 22px; }
.vault-password-entry { display: flex; align-items: center; min-width: 0; max-width: 228px; border: 1px solid #7e6d46; background: #0e160f; box-shadow: 0 2px 4px #0008 inset; }
.vault-password-entry:focus-within { border-color: #dec082; }
.vault-form .vault-password-entry input { width: 100%; min-width: 0; height: 38px; border: 0; background: transparent; box-shadow: none; }
.vault-password-entry button { flex: none; align-self: stretch; min-width: 43px; padding: 0 7px; border: 0; border-left: 1px solid #77654373; color: #d5bc85; background: #a68b3b0c; font-size: 11px; }
.vault-amount-entry { position: relative; display: flex; align-items: center; min-width: 0; max-width: 228px; }
.vault-amount-input { width: 100%; min-width: 0; flex: 1; border: 1px solid #7e6d46; border-radius: 1px; background: #0e160f; box-shadow: 0 2px 4px #0008 inset; }
.vault-amount-input:focus-within { border-color: #dec082; }
.vault-form .vault-amount-input input { width: 100%; height: 40px; padding-right: 32px; border: 0; font: 21px/24px Georgia, "Times New Roman", serif; background: transparent; box-shadow: none; }
.vault-input-unit { position: absolute; right: 11px; color: #c7b788; font-size: 11px; white-space: nowrap; pointer-events: none; }
.vault-dialog .vault-field-note { margin-top: 7px; color: #a3987d; font-size: 10px; line-height: 1.8; }
.vault-dialog .vault-group-note { padding-left: 88px; }
.vault-form-actions { display: flex; justify-content: flex-end; margin-top: 16px; padding-top: 12px; border-top: 1px solid #77654373; }
.vault-dialog .vault-form-actions .vault-primary { width: auto; min-width: 154px; min-height: 40px; margin-top: 0; padding: 8px 15px; font-size: 12px; }
.vault-confirm-actions { justify-content: space-between; gap: 10px; }
.vault-dialog .vault-confirm-actions .vault-primary { flex: 1; min-width: 0; max-width: 180px; }
.vault-dialog .vault-confirm-actions .vault-secondary { flex: none; width: auto; min-height: 40px; margin: 0; padding: 8px 17px; }
.vault-deposit-summary { margin-bottom: 17px; padding-bottom: 15px; border-bottom: 1px solid #77654373; }
.vault-deposit-summary > span { color: #bfae86; font-size: 11px; }
.vault-deposit-summary strong { display: block; margin: 8px 0; color: #f5d48b; font-size: 25px; line-height: 1.4; font-weight: 600; overflow-wrap: anywhere; }
.vault-deposit-summary p { color: #aaa28b; font-size: 10px; }
.vault-dialog .vault-primary { display: block; width: 100%; min-height: 45px; margin-top: 23px; padding: 11px 12px; border: 1px solid #ebc57b; border-radius: 2px; color: #fff0c5; background: linear-gradient(#94723b, #71542b 48%, #624724 49%, #7b5a2e); box-shadow: inset 0 0 0 1px #46321b, inset 0 2px #e5bd6b70, 0 3px 4px #0005; font-weight: 600; letter-spacing: 1px; text-shadow: 0 1px 2px #2f200b; }
.vault-secondary { display: block; width: 100%; min-height: 41px; margin-top: 12px; padding: 10px; border: 1px solid #7f7d63; border-radius: 2px; color: #d0cbb5; background: linear-gradient(#41483a, #2a3327); box-shadow: 0 0 0 1px #182015 inset; font-size: 12px !important; }
.vault-dialog .vault-error { padding: 12px; margin-bottom: 18px; border: 1px solid #b77955; border-left: 3px solid #dd9b68; border-radius: 1px; background: #472e20; color: #ffcea3; font-size: 12px; line-height: 1.8; }
.vault-review { padding: 25px 17px; margin-bottom: 20px; border: 1px solid #a68a50; border-radius: 2px; background: radial-gradient(ellipse at 50% 0, #b9a05920, transparent 80%), #1a2118; box-shadow: 0 0 0 3px #10170e inset, 0 0 0 4px #b3945226 inset; text-align: center; }
.vault-review > span { color: #c1b08b; font-size: 12px; }
.vault-review > strong { display: block; margin: 14px 0; color: #f5d48b; font-size: 28px; font-weight: 600; overflow-wrap: anywhere; text-shadow: 0 2px #070e07; }
.vault-review p { color: #aca18a; font-size: 11px; }
.vault-review p b { color: #e2cca0; font-variant-numeric: tabular-nums; }
.vault-confirm-details { margin: 0; padding: 4px 15px; border: 1px solid #685b3d; background: #192017; }
.vault-confirm-details > div { display: flex; justify-content: space-between; gap: 18px; margin: 12px 0; }
.vault-confirm-details dt { color: #aaa18a; font-size: 12px; flex: none; }
.vault-confirm-details dd { margin: 0; color: #ead7ae; text-align: right; font-size: 12px; overflow-wrap: anywhere; }
.vault-form .vault-account-input { width: 176px; font-family: Consolas, monospace !important; font-size: 20px !important; letter-spacing: 2px; }
.vault-form .vault-account-input::placeholder { font-family: "Microsoft YaHei", sans-serif; font-size: 12px; letter-spacing: 0; }
.vault-success-mark { width: 70px; height: 70px; margin: 13px auto 17px; filter: drop-shadow(0 4px 3px #0007); }
.vault-success-mark .vault-icon { width: 70px; height: 70px; }
#vault-success { text-align: center; padding: 6px 0; }
#vault-success h3 { color: #f0d49c; font: bold 23px/1.5 "Noto Serif SC", "SimSun", serif; letter-spacing: 2px; }
#vault-success-note { color: #b4aa91; font-size: 11px; margin-top: 9px; }
.vault-receipt { position: relative; margin-top: 24px; padding: 22px 16px; border: 1px solid #aa8c51; border-radius: 1px; background: repeating-linear-gradient(0deg, #ffffff02 0 1px, transparent 1px 4px), #373426; box-shadow: 0 0 0 4px #1a2118 inset, 0 0 0 5px #a1844038 inset; }
.vault-receipt > span { color: #c1af89; font-size: 11px; }
.vault-receipt strong { display: block; margin: 10px 0; color: #ffe0a0; font: 32px/1.4 Consolas, monospace; letter-spacing: 5px; user-select: text; text-shadow: 0 2px #151d12; }
.vault-receipt p { color: #e4cf9d; font-size: 13px; overflow-wrap: anywhere; }
.vault-dialog .vault-copy-status { color: #bbb195; font-size: 11px; margin-top: 9px; min-height: 16px; }
.vault-filters, .vault-withdraw-tabs { display: grid; gap: 4px; padding: 4px; margin: 0 0 17px; border: 1px solid #6d5f40; border-radius: 1px; background: #11190f; box-shadow: 0 1px 3px #0008 inset; }
.vault-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vault-withdraw-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vault-filters button, .vault-withdraw-tabs button { display: flex; align-items: center; justify-content: center; gap: 6px; min-width: 0; min-height: 39px; padding: 8px 5px; border: 1px solid transparent; border-radius: 1px; color: #aba58e; background: transparent; font-size: 12px; }
.vault-filters button[aria-pressed="true"], .vault-withdraw-tabs button[aria-selected="true"] { border-color: #b89a60; color: #f5d89a; background: linear-gradient(#554c31, #363724); box-shadow: 0 1px #d5b97533 inset; }
.vault-filters button[data-vault-status="pending"] { color: #e4bf76; flex-wrap: wrap; }
.vault-filter-count { display: inline-grid; place-items: center; min-width: 19px; min-height: 19px; max-width: 100%; padding: 0 4px; border: 1px solid #b99a555c; border-radius: 1px; color: #ffe2a0; background: #b99a5524; font-size: 11px; font-weight: 600; font-variant-numeric: tabular-nums; line-height: 17px; overflow-wrap: anywhere; }
.vault-filters button[data-vault-status="used"] { color: #b2b9b5; }
.vault-filters button[data-vault-status="used"][aria-pressed="true"] { color: #d8dcd0; background: linear-gradient(#4a5147, #303c31); border-color: #86927b; }
.vault-withdraw-tabs span { min-width: 18px; padding: 0 4px; border: 1px solid #90815a5c; color: #e2c88f; background: #0a120b55; font-size: 10px; }
.vault-record-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 13px; }
.vault-record-card { position: relative; min-width: 0; padding: 17px; border: 1px solid #7b6d49; border-radius: 2px; background: #262d21; box-shadow: inset 0 0 0 3px #10180f; }
.vault-record-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.vault-record-emblem { display: grid; place-items: center; width: 40px; height: 40px; flex: none; border: 1px solid #857040; background: #10190e; box-shadow: 0 0 0 2px #090f08 inset; }
.vault-record-emblem .vault-icon { width: 32px; height: 32px; filter: drop-shadow(0 2px 1px #0008); }
.vault-record-account { flex: 1; color: #e8d5aa; font: 20px/1.5 Consolas, monospace; letter-spacing: 2px; user-select: text; }
.vault-status { flex: none; border: 1px solid #a68949; padding: 3px 8px; border-radius: 1px; font-size: 10px; color: #efd29a; background: #9c793526; }
.vault-dialog .vault-record-amount { color: #f5d596; margin: 13px 0; font-size: 20px; overflow-wrap: anywhere; font-weight: 600; }
.vault-dialog .vault-record-meta { color: #b5ac94; margin-top: 5px; font-size: 10px; line-height: 1.9; overflow-wrap: anywhere; }
.vault-record-card[data-status="pending"] { border-color: #b49350; border-left: 4px solid #e7bf6b; background: linear-gradient(110deg, #4a402b, #292f20 85%); }
.vault-record-card[data-status="pending"] .vault-record-account { color: #ffe3ab; }
.vault-record-card[data-status="pending"] .vault-record-amount { color: #ffdf93; }
.vault-record-card[data-status="pending"] .vault-status { border-color: #f1d28e; color: #38290f; background: linear-gradient(#f2d48e, #c79d50); font-weight: 700; }
.vault-record-card[data-status="used"] { border-color: #657073; border-left: 4px solid #7e898c; background: #282d2e; }
.vault-record-card[data-status="used"] .vault-record-account { color: #bdc5c6; }
.vault-record-card[data-status="used"] .vault-record-amount { color: #b9c1c3; font-weight: 400; }
.vault-record-card[data-status="used"] .vault-record-meta { color: #a4adaf; }
.vault-record-card[data-status="used"] .vault-status { border-color: #7b878a; color: #c9d0d3; background: #5260645e; }
.vault-record-card[data-status="used"] .vault-record-emblem { border-color: #6e7979; background: #1b2323; }
.vault-record-card[data-status="used"] .vault-record-emblem .vault-icon { filter: grayscale(1); opacity: .65; }
.vault-record-card[data-status="received"] { border-left: 4px solid #a8b783; border-color: #73845b; background: linear-gradient(110deg, #33402a, #222d22 85%); }
.vault-status.received { color: #d5e3b7; border-color: #92a86e; background: #89a65526; }
.vault-dialog .vault-record-amount.received { color: #dfecb9; }
.vault-dialog .vault-used-note { margin-top: 13px; padding-top: 11px; border-top: 1px solid #9bac8e2b; color: #abb8a3; font-size: 10px; }
.vault-record-actions { display: flex; justify-content: flex-end; margin-top: 13px; padding-top: 13px; border-top: 1px solid #bba46435; }
.vault-reveal-button { min-height: 36px; padding: 6px 13px; border: 1px solid #d5b875; border-radius: 1px; background: linear-gradient(#695633, #433c25); color: #ffe1a5; box-shadow: 0 1px #d1b87b26 inset; font-size: 11px !important; }
.vault-password-target { padding: 16px; margin-bottom: 20px; border: 1px solid #947d49; border-radius: 1px; background: #192116; box-shadow: 0 0 0 3px #10180e inset; }
.vault-password-target > span { display: block; font-size: 10px; color: #b7a883; }
.vault-password-target strong { display: block; margin-top: 5px; color: #efd19a; font: 25px/1.5 Consolas, monospace; letter-spacing: 4px; }
.vault-dialog .vault-reset-consent { display: flex; align-items: flex-start; gap: 9px; margin-top: 15px; padding: 10px; border: 1px solid #7e6b416b; border-radius: 1px; background: #8c783c19; color: #c7b895; font-size: 11px; line-height: 1.8; }
.vault-dialog .vault-reset-consent input { flex: none; width: 17px; height: 17px; margin: 2px 0; padding: 0; accent-color: #d8bb7d; }
.vault-revealed-password { padding: 18px; margin-top: 20px; border: 1px solid #bb9d5b; border-radius: 1px; background: #272f1d; box-shadow: 0 0 0 3px #141e10 inset; }
.vault-revealed-password > span { display: block; color: #dbc89a; font-size: 12px; margin-bottom: 10px; }
.vault-dialog #vault-revealed-secret { width: 228px; max-width: 100%; padding: 8px 10px; color: #ffe1a5; border-color: #a89159; background: #10190d; font-family: Consolas, monospace; user-select: text; }
.vault-revealed-password > p { margin-top: 12px; font-size: 10px; color: #b3b294; }
.vault-revealed-password > div { display: flex; gap: 8px; margin-top: 16px; }
.vault-revealed-password button { min-height: 37px; border: 1px solid #8c8960; border-radius: 1px; padding: 8px 13px; color: #e1d9b1; background: linear-gradient(#4b5437, #333e27); font-size: 11px; }
.vault-dialog .vault-empty { color: #b0a68b; padding: 45px 12px; border: 1px solid #73613f; background: repeating-linear-gradient(90deg, #ffffff03 0 1px, transparent 1px 52px), repeating-linear-gradient(0deg, #ffffff03 0 1px, transparent 1px 52px), #182014; text-align: center; font-size: 12px; }
.vault-pagination { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: 20px; }
.vault-pagination button { min-height: 37px; padding: 8px 11px; border: 1px solid #938050; border-radius: 1px; background: linear-gradient(#47492f, #2f3722); color: #dfd2a6; font-size: 11px; }
.vault-pagination button:disabled { opacity: .4; cursor: default; }
.vault-pagination span { color: #b5a780; font-size: 10px; text-align: center; }
@media (hover: hover) { .vault-dialog button:not(:disabled):hover { filter: brightness(1.17); } }
@media (max-width: 560px) {
    .vault-dialog { max-height: 94dvh; }
    .vault-header { padding: 11px 12px 13px; }
    .vault-heading { gap: 7px; }
    .vault-heading > .vault-icon { width: 33px; height: 39px; }
    .vault-dialog h2 { font-size: 21px; }
    .vault-header #vault-close { padding: 8px 10px; font-size: 11px; }
    .vault-body { padding: 13px; }
    .vault-window-footer { padding: 6px 13px; }
    .vault-storefront { min-height: 153px; }
    .vault-storefront-title { padding: 19px 15px; }
    .vault-dialog .vault-storefront h3 { font-size: 21px; letter-spacing: 1px; }
    .vault-storefront p { font-size: 9px; }
    .vault-illustration { width: 251px; right: -25px; bottom: -1px; }
    .vault-balance-card { min-height: 77px; padding: 12px; gap: 9px; }
    .vault-balance-card > .vault-icon { width: 32px; height: 32px; }
    .vault-balance-card strong { font-size: clamp(20px, 6.6vw, 28px); }
    .vault-actions { gap: 10px; }
    .vault-actions button { padding: 13px 8px 11px; }
    .vault-actions strong { font-size: 14px; }
    .vault-actions small { font-size: 9px; }
    .vault-action-label { width: calc(100% - 12px); }
    .vault-record-entry { padding: 11px; gap: 10px; }
    .vault-entry-label { padding: 5px 7px; font-size: 9px; }
    .vault-dialog input { font-size: 16px; }
    .vault-form { padding: 14px; }
    .vault-form input:not([type="checkbox"]) { font-size: 16px; }
    .vault-review > strong { font-size: 24px; }
    .vault-record-card { padding: 14px; }
    .vault-record-account { font-size: 18px; letter-spacing: 1px; }
    .personal-header { padding: 14px 15px; gap: 10px; }
    .personal-body { padding: 18px 20px 20px; }
    .personal-eyebrow { font-size: 9px; letter-spacing: 1px; }
}
@media (max-width: 350px) {
    .vault-body { padding: 10px; }
    .vault-header #vault-close { padding: 8px; gap: 4px; }
    .vault-eyebrow { font-size: 8px; letter-spacing: 0; }
    .vault-illustration { width: 221px; right: -30px; }
    .vault-storefront-title { padding-left: 13px; }
    .vault-dialog .vault-storefront h3 { font-size: 19px; }
    .vault-balance-card { gap: 7px; padding: 11px 9px; }
    .vault-balance-card > .vault-icon { width: 25px; height: 28px; }
    .vault-currency { font-size: 9px; }
    .vault-record-entry { gap: 8px; padding: 9px; }
    .vault-entry-icon { width: 39px; height: 43px; }
    .vault-entry-icon .vault-icon { width: 34px; height: 34px; }
    .vault-record-account { font-size: 18px; letter-spacing: 1px; }
    .vault-record-top { gap: 7px; }
    .vault-record-emblem { width: 31px; height: 35px; }
    .vault-record-emblem .vault-icon { width: 27px; height: 28px; }
    .vault-field-row { grid-template-columns: 65px minmax(0, 1fr); column-gap: 9px; }
    .vault-form { padding: 12px; }
    .vault-form .vault-field-row > label { font-size: 11px; }
    .vault-dialog .vault-group-note { padding-left: 74px; }
}
@media (max-height: 760px) {
    .vault-storefront { min-height: 128px; }
    .vault-storefront-title { padding-top: 15px; padding-bottom: 15px; }
    .vault-storefront p { line-height: 1.6; }
    .vault-illustration { width: 220px; right: 0; }
    .vault-dialog .vault-storefront h3 { margin-top: 5px; }
    .vault-section-heading { margin-top: 15px; margin-bottom: 9px; }
    .vault-actions button { padding-top: 11px; padding-bottom: 10px; }
    .vault-item-slot { width: 53px; height: 53px; margin-bottom: 7px; }
    .vault-item-slot .vault-icon { width: 43px; height: 43px; }
    .vault-action-label { margin-top: 8px; }
    .vault-actions { margin-bottom: 13px; }
    .vault-record-entry { padding-top: 10px; padding-bottom: 10px; }
}
@media (prefers-reduced-motion: reduce) { .vault-dialog button { transition: none; } }
