*,:before,:after{box-sizing:border-box}:root{-webkit-user-select:none;user-select:none}body{font-family:var(--rpg-ui-font,serif);color:#fff;background-color:#000;margin:0;padding:0;overflow:hidden}input,textarea,[contenteditable]{-webkit-user-select:text;user-select:text}button{font-family:inherit}:root{--rpg-ui-bg:#0f172a;--rpg-ui-body-bg:#050816;--rpg-ui-body-background:radial-gradient(circle at 18% 20%, #38bdf82e 0%, transparent 36%), radial-gradient(circle at 82% 16%, #f472b624 0%, transparent 32%), linear-gradient(180deg, #111827 0%, #050816 100%);--rpg-ui-body-background-size:cover;--rpg-ui-body-background-position:center;--rpg-ui-body-background-attachment:fixed;--rpg-ui-surface:#0f172ae0;--rpg-ui-surface-light:#1e293bd1;--rpg-ui-surface-overlay:#0f172ab8;--rpg-ui-surface-overlay-strong:#0f172aeb;--rpg-ui-border:#94a3b84d;--rpg-ui-border-light:#ffffff38;--rpg-ui-border-dark:#020617c7;--rpg-ui-text:#f8fafc;--rpg-ui-text-muted:#e2e8f0b8;--rpg-ui-accent:#38bdf8;--rpg-ui-accent-hover:#7dd3fc;--rpg-ui-accent-active:#0ea5e9;--rpg-ui-success:#22c55e;--rpg-ui-warning:#f59e0b;--rpg-ui-danger:#ef4444;--rpg-ui-info:#3b82f6;--rpg-ui-mana:#60a5fa;--rpg-ui-xp:#facc15;--rpg-ui-gradient-surface:linear-gradient(180deg, var(--rpg-ui-surface) 0%, var(--rpg-ui-bg) 100%);--rpg-ui-gradient-accent:linear-gradient(180deg, var(--rpg-ui-accent) 0%, color-mix(in srgb, var(--rpg-ui-accent), black 20%) 100%);--rpg-ui-gradient-bar:linear-gradient(90deg, var(--rpg-ui-accent) 0%, color-mix(in srgb, var(--rpg-ui-accent), black 30%) 100%);--rpg-ui-health-gradient:linear-gradient(90deg, #fb7185 0%, #e11d48 100%);--rpg-ui-mana-gradient:linear-gradient(90deg, #60a5fa 0%, #2563eb 100%);--rpg-ui-xp-gradient:linear-gradient(90deg, #facc15 0%, #f59e0b 100%);--rpg-ui-fab-gradient:linear-gradient(135deg, #fb7185 0%, #b91c1c 100%);--rpg-ui-shadow:0 8px 24px #02061752;--rpg-ui-shadow-sm:0 4px 12px #02061738;--rpg-ui-shadow-md:0 12px 30px #02061752;--rpg-ui-shadow-lg:0 24px 60px #02061773;--rpg-ui-shadow-glow:0 0 20px var(--rpg-ui-accent);--rpg-ui-shadow-inset:inset 0 1px 0 #ffffff14;--rpg-ui-font:system-ui, sans-serif;--rpg-ui-font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--rpg-ui-font-size:1rem;--rpg-ui-font-size-sm:.875rem;--rpg-ui-font-size-lg:1.125rem;--rpg-ui-font-size-xl:2rem;--rpg-ui-font-weight:500;--rpg-ui-font-weight-bold:700;--rpg-ui-text-shadow:0 2px 4px #0206176b;--rpg-ui-radius-sm:8px;--rpg-ui-radius-md:16px;--rpg-ui-radius-lg:24px;--rpg-ui-radius-full:9999px;--rpg-ui-border-width:2px;--rpg-ui-spacing-sm:.5rem;--rpg-ui-spacing:.75rem;--rpg-ui-spacing-lg:1.25rem;--rpg-ui-spacing-xl:2rem;--rpg-ui-bevel-light:var(--rpg-ui-border-light);--rpg-ui-bevel-dark:var(--rpg-ui-border-dark);--rpg-ui-border-double:4px;--rpg-ui-backdrop-blur:blur(16px);--rpg-ui-hud-top:24px;--rpg-ui-hud-left:24px;--rpg-ui-hud-gap:16px;--rpg-ui-hud-padding:16px;--rpg-ui-hud-background:#0206177a;--rpg-ui-hud-border:#ffffff1f;--rpg-ui-avatar-size:72px;--rpg-ui-avatar-background:#0f172aeb;--rpg-ui-avatar-border:#ffffffe0;--rpg-ui-avatar-border-width:3px;--rpg-ui-avatar-shadow:0 0 10px #02061780;--rpg-ui-avatar-content-transform:translate(-50%, -48%) scale(.2);--rpg-ui-avatar-level-bg:#020617e6;--rpg-ui-avatar-level-color:#facc15;--rpg-ui-avatar-level-border:#facc15cc;--rpg-ui-status-bars-width:200px;--rpg-ui-status-bar-height:12px;--rpg-ui-status-bar-background:#0206178f;--rpg-ui-status-bar-shadow:0 0 10px #ffffff40;--rpg-ui-status-bar-label-color:#f8fafceb;--rpg-ui-dock-bottom:32px;--rpg-ui-dock-left:50%;--rpg-ui-dock-translate-x:-50%;--rpg-ui-dock-gap:16px;--rpg-ui-dock-padding:16px 24px;--rpg-ui-dock-slot-size:64px;--rpg-ui-dock-slot-bg:#ffffff0d;--rpg-ui-dock-slot-bg-hover:#ffffff24;--rpg-ui-dock-slot-bg-active:color-mix(in srgb, var(--rpg-ui-accent), transparent 88%);--rpg-ui-dock-slot-border:#ffffff1f;--rpg-ui-dock-slot-border-hover:#ffffff6b;--rpg-ui-dock-slot-shadow-hover:0 10px 20px #02061747;--rpg-ui-fab-right:48px;--rpg-ui-fab-bottom:48px;--rpg-ui-fab-size:80px;--rpg-ui-fab-border:#fff3;--rpg-ui-fab-shadow:0 8px 24px #b91c1c66;--rpg-ui-minimap-top:24px;--rpg-ui-minimap-right:24px;--rpg-ui-minimap-size:140px;--rpg-ui-minimap-background:#020617db;--rpg-ui-minimap-border:#ffffff1f;--rpg-ui-minimap-shadow:0 8px 32px #02061773;--rpg-ui-shop-max-width:1200px;--rpg-ui-shop-card-background:#ffffff0d;--rpg-ui-shop-card-background-hover:#ffffff1a;--rpg-ui-shop-card-background-active:color-mix(in srgb, var(--rpg-ui-accent), transparent 88%);--rpg-ui-shop-card-border:#ffffff1a;--rpg-ui-shop-card-border-active:var(--rpg-ui-accent);--rpg-ui-shop-muted-border:#ffffff1f;--rpg-ui-shop-gold-color:#facc15;--rpg-ui-focus-color:var(--rpg-ui-accent);--rpg-ui-focus-width:2px;--rpg-ui-focus-offset:2px;--rpg-ui-chat-width:34rem;--rpg-ui-chat-height:20rem;--rpg-ui-chat-message-padding:.4rem 0;--rpg-ui-chat-divider:1px solid color-mix(in srgb, var(--rpg-ui-border), transparent 40%)}@keyframes rpg-fade-in{0%{opacity:0}to{opacity:1}}@keyframes rpg-slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes rpg-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes rpg-pulse{0%{transform:scale(1);box-shadow:0 0 #ffcc00b3}70%{transform:scale(1.02);box-shadow:0 0 0 6px #fc00}to{transform:scale(1);box-shadow:0 0 #fc00}}@keyframes rpg-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes rpg-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes rpg-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.rpg-anim-fade-in{animation:.3s ease-out forwards rpg-fade-in}.rpg-anim-slide-up{animation:.25s ease-out forwards rpg-fade-in}.rpg-anim-bounce{animation:2s infinite rpg-bounce}.rpg-anim-pulse{animation:2s infinite rpg-pulse}.rpg-anim-shake{animation:.3s ease-in-out rpg-shake}.rpg-anim-float{animation:3s ease-in-out infinite rpg-float}.rpg-ui-panel,.rpg-ui-window{background:var(--rpg-ui-surface);border:4px solid var(--rpg-ui-border);border-radius:var(--rpg-ui-radius-sm);padding:var(--rpg-ui-spacing-lg);box-shadow:inset 0 0 0 2px var(--rpg-ui-border-dark), inset 0 0 20px #00000080, var(--rpg-ui-shadow);color:var(--rpg-ui-text);position:relative}.rpg-ui-panel:after{content:"";border:1px solid var(--rpg-ui-border-light);pointer-events:none;opacity:.3;position:absolute;inset:2px}.rpg-ui-window{padding-top:calc(var(--rpg-ui-spacing-lg) + 24px)}.rpg-ui-window-title{background:var(--rpg-ui-border);color:var(--rpg-ui-bg);border:2px solid var(--rpg-ui-border-light);font-weight:700;font-family:var(--rpg-ui-font);text-transform:uppercase;white-space:nowrap;z-index:1;padding:4px 16px;position:absolute;top:-12px;left:50%;transform:translate(-50%);box-shadow:0 2px 4px #0000004d}.rpg-ui-btn{appearance:none;background:var(--rpg-ui-surface-light);color:var(--rpg-ui-text);font-family:var(--rpg-ui-font);font-size:var(--rpg-ui-font-size);cursor:pointer;box-shadow:inset 2px 2px 0px #ffffff1a, inset -2px -2px 0px #0000004d, 0 0 0 2px var(--rpg-ui-border-dark), 0 4px 0 2px var(--rpg-ui-border-dark),  0 6px 4px #0006;text-transform:uppercase;letter-spacing:1px;border:none;margin-bottom:6px;padding:8px 16px;font-weight:700;transition:transform .1s,box-shadow .1s;position:relative}.rpg-ui-btn:hover{background:var(--rpg-ui-accent);color:var(--rpg-ui-bg);box-shadow:inset 2px 2px 0px #ffffff4d, inset -2px -2px 0px #0000001a, 0 0 0 2px var(--rpg-ui-border-dark), 0 4px 0 2px var(--rpg-ui-border-dark), 0 6px 4px #0006}.rpg-ui-btn:active{box-shadow:inset 2px 2px 0px #0003, 0 0 0 2px var(--rpg-ui-border-dark), 0 0 0 2px var(--rpg-ui-border-dark),  0 0 0 #0000;margin-bottom:6px;transform:translateY(4px)}.rpg-ui-btn[data-variant=primary]{background:var(--rpg-ui-accent);color:var(--rpg-ui-bg)}.rpg-ui-btn[data-variant=primary]:hover{background:var(--rpg-ui-accent-hover)}.rpg-ui-btn[data-variant=danger]{background:var(--rpg-ui-danger);color:#fff}.rpg-ui-btn[data-variant=danger]:hover{background:#ef4444}.rpg-ui-btn[data-variant=success]{background:var(--rpg-ui-success);color:#fff}.rpg-ui-btn[data-variant=warning]{background:var(--rpg-ui-warning);color:#000}.rpg-ui-close-button{appearance:none;top:calc(10px + env(safe-area-inset-top,0px));left:calc(10px + env(safe-area-inset-left,0px));z-index:10000;border:1px solid var(--rpg-ui-border-light);border-radius:var(--rpg-ui-radius-full);background:var(--rpg-ui-surface-overlay-strong);width:44px;height:44px;color:var(--rpg-ui-text);box-shadow:var(--rpg-ui-shadow-md);font-family:var(--rpg-ui-font);font-size:24px;font-weight:var(--rpg-ui-font-weight-bold);cursor:pointer;touch-action:manipulation;justify-content:center;align-items:center;line-height:1;display:inline-flex;position:fixed}.rpg-ui-close-button:hover,.rpg-ui-close-button:focus{border-color:var(--rpg-ui-accent);color:var(--rpg-ui-accent);outline:none}.rpg-ui-input{background:var(--rpg-ui-bg);border:2px solid var(--rpg-ui-border-dark);color:var(--rpg-ui-text);font-family:var(--rpg-ui-font);font-size:var(--rpg-ui-font-size);border-radius:var(--rpg-ui-radius-sm);outline:none;width:100%;padding:8px 12px;transition:all .2s;box-shadow:inset 0 2px 4px #00000080}.rpg-ui-input:focus{border-color:var(--rpg-ui-accent);box-shadow:0 0 0 2px #fc03,inset 0 2px 4px #00000080}.rpg-ui-input::placeholder{color:var(--rpg-ui-text-muted);opacity:.7}.rpg-ui-input:disabled{opacity:.5;cursor:not-allowed;background:#111}.rpg-ui-checkbox{appearance:none;background:var(--rpg-ui-bg);border:2px solid var(--rpg-ui-border-dark);cursor:pointer;vertical-align:middle;border-radius:2px;width:20px;height:20px;margin-right:8px;position:relative}.rpg-ui-checkbox:checked{background:var(--rpg-ui-accent);border-color:var(--rpg-ui-accent)}.rpg-ui-checkbox:checked:after{content:"✔";color:var(--rpg-ui-bg);font-size:14px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.rpg-ui-input-layer{width:100%;height:100%;padding:var(--rpg-ui-spacing-lg);background:radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--rpg-ui-accent), transparent 88%), transparent 38%), #020617ad;-webkit-backdrop-filter:blur(5px);justify-content:center;align-items:center;display:flex}.rpg-ui-input-dialog{gap:var(--rpg-ui-spacing);isolation:isolate;border:1px solid color-mix(in srgb, var(--rpg-ui-accent), transparent 55%);border-radius:var(--rpg-ui-radius-md);background:linear-gradient(145deg, #ffffff12, transparent 36%), var(--rpg-ui-surface-overlay-strong);width:min(560px,92vw);box-shadow:0 28px 70px #00000094, 0 0 0 1px #ffffff0f, inset 0 1px 0 #ffffff1a, 0 0 32px color-mix(in srgb, var(--rpg-ui-accent), transparent 84%);flex-direction:column;padding:30px;display:flex;overflow:hidden}.rpg-ui-input-dialog:before{content:"";z-index:-1;background:var(--rpg-ui-gradient-accent);height:3px;box-shadow:0 0 18px color-mix(in srgb, var(--rpg-ui-accent), transparent 25%);border-radius:0 0 999px 999px;position:absolute;top:0;left:12%;right:12%}.rpg-ui-input-form{gap:var(--rpg-ui-spacing);flex-direction:column;width:100%;display:flex}.rpg-ui-input-form[data-layout=dialog]{margin-top:var(--rpg-ui-spacing);padding-top:var(--rpg-ui-spacing);border-top:1px solid color-mix(in srgb, var(--rpg-ui-accent), transparent 78%)}.rpg-ui-input-message{color:var(--rpg-ui-text);font-family:var(--rpg-ui-font);font-size:var(--rpg-ui-font-size-lg);font-weight:var(--rpg-ui-font-weight-bold);text-shadow:var(--rpg-ui-text-shadow);margin-bottom:2px;line-height:1.35}.rpg-ui-input-dialog-field{border-radius:var(--rpg-ui-radius-sm);background:#020617b8;border:1px solid #ffffff24;min-height:48px;padding:12px 14px;transition:border-color .14s,box-shadow .14s,background .14s;box-shadow:inset 0 2px 10px #0000006b,0 1px #ffffff0d}.rpg-ui-input-dialog-field:hover{border-color:#ffffff47}.rpg-ui-input-dialog-field:focus{border-color:var(--rpg-ui-accent);box-shadow:inset 0 2px 10px #0000005c, 0 0 0 3px color-mix(in srgb, var(--rpg-ui-accent), transparent 82%), 0 0 22px color-mix(in srgb, var(--rpg-ui-accent), transparent 84%);background:#020617db}textarea.rpg-ui-input-dialog-field{resize:vertical;min-height:8rem;line-height:1.5}.rpg-ui-input-error{color:var(--rpg-ui-danger);font-size:var(--rpg-ui-font-size-sm);font-weight:var(--rpg-ui-font-weight-bold);border-left:3px solid var(--rpg-ui-danger);background:color-mix(in srgb, var(--rpg-ui-danger), transparent 90%);border-radius:4px;padding:8px 10px}.rpg-ui-input-actions{justify-content:flex-end;gap:var(--rpg-ui-spacing-sm);margin-top:8px;display:flex}.rpg-ui-input-form .rpg-ui-input-button{border-radius:var(--rpg-ui-radius-sm);letter-spacing:.08em;border:1px solid #ffffff1f;min-width:128px;min-height:44px;margin:0 0 4px;padding:10px 18px;box-shadow:inset 0 1px #ffffff24,0 4px #00000061,0 8px 18px #00000038}.rpg-ui-input-form .rpg-ui-input-button:hover{transform:translateY(-1px)}.rpg-ui-input-form .rpg-ui-input-button:active{transform:translateY(3px);box-shadow:inset 0 2px 4px #00000038,0 1px #0006}.rpg-ui-input-form .rpg-ui-input-button-cancel{color:var(--rpg-ui-text-muted);background:#ffffff0f}.rpg-ui-input-form .rpg-ui-input-button-cancel:hover{color:var(--rpg-ui-text);background:#ffffff1c;border-color:#ffffff4d}.rpg-ui-input-form .rpg-ui-input-button-confirm,.rpg-ui-input-form .rpg-ui-input-button-confirm:hover{border-color:color-mix(in srgb, var(--rpg-ui-accent), white 22%);background:var(--rpg-ui-gradient-accent);color:var(--rpg-ui-bg);text-shadow:0 1px #ffffff3d}@media (width<=560px){.rpg-ui-input-dialog{padding:24px 18px 20px}.rpg-ui-input-actions{flex-direction:column-reverse}.rpg-ui-input-form .rpg-ui-input-button{width:100%}}.rpg-ui-menu{background:var(--rpg-ui-surface);border:4px solid var(--rpg-ui-border);border-radius:var(--rpg-ui-radius-md);box-shadow:var(--rpg-ui-shadow-lg);flex-direction:column;gap:4px;min-width:200px;padding:8px;display:flex}.rpg-ui-menu-tabs{scrollbar-width:thin;align-items:center;gap:6px;min-height:34px;margin-bottom:8px;padding-bottom:2px;display:flex;overflow-x:auto}.rpg-ui-menu-tab{border-radius:var(--rpg-ui-radius-sm);border:1px solid var(--rpg-ui-border);color:var(--rpg-ui-text-muted);cursor:pointer;font-size:var(--rpg-ui-font-size-sm);background:#0003;flex:none;padding:6px 10px}.rpg-ui-menu-tab.active{color:var(--rpg-ui-text);border-color:var(--rpg-ui-accent);background:#00000059;box-shadow:inset 0 0 0 1px #ffffff1a}.rpg-ui-menu-header{text-align:center;color:var(--rpg-ui-accent);border-bottom:2px solid var(--rpg-ui-border-dark);text-transform:uppercase;text-shadow:1px 1px #000;margin-bottom:4px;padding-bottom:8px;font-weight:700}.rpg-ui-menu-item{cursor:pointer;color:var(--rpg-ui-text-muted);background:#0003;border:1px solid #0000;padding:8px 16px 8px 24px;transition:all .2s;position:relative}.rpg-ui-menu-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.rpg-ui-menu-row-main{align-items:center;gap:10px;min-width:0;display:flex}.rpg-ui-menu-row-main span,.rpg-ui-menu-item>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.rpg-ui-menu-row-icon{flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.rpg-ui-menu-row-icon>*{width:24px;height:24px}.rpg-ui-menu-row-end{color:var(--rpg-ui-text);flex:none;font-weight:700}.rpg-ui-menu-item:hover,.rpg-ui-menu-item[data-selected=true]{color:var(--rpg-ui-text);border-color:var(--rpg-ui-border-light);background:#00000059;font-weight:700;box-shadow:inset 0 0 10px #ffffff4d}.rpg-ui-menu-item:hover:before,.rpg-ui-menu-item[data-selected=true]:before{content:"►";color:var(--rpg-ui-accent);animation:.5s infinite alternate rpg-shake;position:absolute;left:8px}.rpg-ui-main-menu{z-index:1000;box-sizing:border-box;background:#00000052;justify-content:center;align-items:center;width:100%;height:100%;padding:clamp(10px,3vw,32px);display:flex;position:absolute;inset:0;overflow:hidden}.rpg-ui-main-menu-backdrop{background:#00000075;position:absolute;inset:0}.rpg-ui-main-menu-layout{z-index:1;border:1px solid var(--rpg-ui-border);border-radius:var(--rpg-ui-radius-lg);background:var(--rpg-ui-surface-overlay-strong);width:min(940px,100%);min-width:0;height:min(500px,100%);min-height:0;max-height:100%;box-shadow:var(--rpg-ui-shadow-lg);-webkit-backdrop-filter:var(--rpg-ui-backdrop-blur);align-items:stretch;gap:0;display:flex;position:relative;overflow:hidden}.rpg-ui-main-menu-left{box-sizing:border-box;flex-direction:column;flex:0 0 clamp(190px,23vw,220px);width:clamp(190px,23vw,220px);min-width:0;height:100%;display:flex;overflow:hidden}.rpg-ui-main-menu-layout>.rpg-ui-main-menu-left.rpg-ui-menu.rpg-ui-panel{border:0;border-right:1px solid color-mix(in srgb, var(--rpg-ui-border), transparent 20%);box-shadow:none;-webkit-backdrop-filter:none;background:#0000002e;border-radius:0;gap:8px;padding:14px}.rpg-ui-main-menu-layout>.rpg-ui-main-menu-left.rpg-ui-panel:after,.rpg-ui-main-menu-right>.rpg-ui-panel:after{display:none}.rpg-ui-main-menu-list{overscroll-behavior:contain;flex-direction:column;flex:auto;gap:6px;min-height:0;padding-right:2px;display:flex;overflow:auto}.rpg-ui-main-menu-right{--rpg-ui-main-menu-right-padding:16px;min-width:0;height:100%;min-height:0;padding:var(--rpg-ui-main-menu-right-padding);box-sizing:border-box;flex-direction:column;flex:1;gap:0;display:flex;position:relative;overflow:hidden}.rpg-ui-main-menu-right>div:not(.rpg-ui-panel){inset:var(--rpg-ui-main-menu-right-padding);min-width:0;min-height:0;width:auto!important;height:auto!important;position:absolute!important}.rpg-ui-main-menu-right>.rpg-ui-panel,.rpg-ui-main-menu-right .rpg-ui-menu-panel{box-sizing:border-box;overscroll-behavior:contain;width:100%;height:100%;max-height:100%;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;border-radius:0;margin:0;overflow:hidden}.rpg-ui-main-menu-right>.rpg-ui-panel{padding:4px;overflow:auto}.rpg-ui-main-menu-right .rpg-ui-menu-panel{overflow:hidden}.rpg-ui-main-menu-status-card{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.rpg-ui-main-menu-status-block{border-radius:var(--rpg-ui-radius-sm);border:1px solid var(--rpg-ui-border);background:#00000040;padding:12px}.rpg-ui-main-menu-status-label{font-size:var(--rpg-ui-font-size-sm);color:var(--rpg-ui-text-muted)}.rpg-ui-main-menu-status-value{font-size:var(--rpg-ui-font-size-lg);font-weight:700}.rpg-ui-main-menu-status-bar{background:#00000059;border-radius:999px;height:8px;margin-top:8px;overflow:hidden}.rpg-ui-main-menu-status-bar-fill{background:var(--rpg-ui-accent);width:0%;height:100%}.rpg-ui-main-menu-status-bar-fill.hp{background:var(--rpg-ui-health-gradient)}.rpg-ui-main-menu-status-bar-fill.sp{background:var(--rpg-ui-mana-gradient)}.rpg-ui-main-menu-status-bar-fill.exp{background:var(--rpg-ui-xp-gradient)}.rpg-ui-main-menu-section-title{color:var(--rpg-ui-accent);text-transform:uppercase;letter-spacing:.04em;font-weight:700}.rpg-ui-main-menu-status{display:none}.rpg-ui-main-menu-status-line{font-size:var(--rpg-ui-font-size-sm)}.rpg-ui-main-menu-params{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;display:grid}.rpg-ui-main-menu-param{font-size:var(--rpg-ui-font-size-sm);color:var(--rpg-ui-text);justify-content:space-between;display:flex}.rpg-ui-main-menu-content{justify-content:center;align-items:stretch;display:flex}.rpg-ui-menu-panel{--rpg-ui-menu-panel-padding:16px;box-sizing:border-box;flex-direction:column;gap:0;width:100%;height:100%;min-height:0;margin:0 auto;padding:0;display:flex;overflow:hidden}.rpg-ui-main-menu-overlay{z-index:5;justify-content:center;align-items:center;padding:clamp(10px,3vw,32px);display:flex;position:absolute;inset:0}.rpg-ui-main-menu-overlay-backdrop{background:#0009;position:absolute;inset:0}.rpg-ui-main-menu-overlay-content{z-index:1;width:min(760px,90%);height:min(620px,100%);max-height:100%;position:relative;overflow:hidden}.rpg-ui-main-menu-overlay-content>div{min-width:0;min-height:0;inset:0;width:100%!important;height:100%!important;position:absolute!important}.rpg-ui-menu-panel-header{padding:var(--rpg-ui-menu-panel-padding) var(--rpg-ui-menu-panel-padding) 12px;border-bottom:1px solid color-mix(in srgb, var(--rpg-ui-border), transparent 35%);text-transform:uppercase;color:var(--rpg-ui-accent);flex:none;font-weight:700}.rpg-ui-menu-panel-body{min-height:0;padding:var(--rpg-ui-menu-panel-padding);box-sizing:border-box;flex:auto;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:16px;display:grid;overflow:hidden}.rpg-ui-menu-panel-body-stacked{flex-direction:column;flex:auto;gap:16px;min-height:0;display:flex;overflow:hidden}.rpg-ui-menu-panel-body-stacked>*{min-width:0}.rpg-ui-menu-panel-body-stacked>:first-child{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--rpg-ui-accent), transparent 30%) transparent;flex:none;min-height:0;max-height:min(52%,320px);overflow:auto}.rpg-ui-menu-panel-body-stacked>:first-child:not(.rpg-ui-menu-panel-details) .rpg-ui-menu-panel-details{max-height:none;overflow:visible}.rpg-ui-menu-panel-list-full{width:100%}.rpg-ui-menu-panel-hero{align-items:center;gap:10px;display:flex}.rpg-ui-menu-panel-hero-icon{border-radius:var(--rpg-ui-radius-sm);border:2px solid var(--rpg-ui-border);background:#00000059;justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;display:flex;overflow:hidden}.rpg-ui-menu-panel-hero-icon>*{background-position:50%!important;background-size:cover!important;width:100%!important;height:100%!important}.rpg-ui-menu-panel-list{overscroll-behavior:contain;scrollbar-gutter:stable;box-sizing:border-box;flex:auto;min-height:0;overflow:auto}.rpg-ui-main-menu-right .rpg-ui-menu-panel-header{padding:2px 0 12px}.rpg-ui-main-menu-right .rpg-ui-menu-panel-body{padding:var(--rpg-ui-menu-panel-padding) 0 0}.rpg-ui-main-menu-right .rpg-ui-menu-panel-body-stacked{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(220px,240px) minmax(0,1fr);align-items:start;display:grid}.rpg-ui-main-menu-right .rpg-ui-menu-panel-body-stacked>:first-child{align-self:start;width:100%;max-height:100%}.rpg-ui-menu-panel-list>:not(.rpg-ui-menu-tabs):not(.rpg-ui-menu-item){flex-direction:column;gap:6px;min-height:0;display:flex}.rpg-ui-main-menu-list,.rpg-ui-menu-panel-list,.rpg-ui-main-menu-right>.rpg-ui-panel,.rpg-ui-equip-modal-card,.rpg-ui-main-menu-overlay-content{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--rpg-ui-accent), transparent 30%) transparent}.rpg-ui-main-menu-list::-webkit-scrollbar{width:8px;height:8px}.rpg-ui-menu-panel-list::-webkit-scrollbar{width:8px;height:8px}.rpg-ui-main-menu-right>.rpg-ui-panel::-webkit-scrollbar{width:8px;height:8px}.rpg-ui-equip-modal-card::-webkit-scrollbar{width:8px;height:8px}.rpg-ui-main-menu-overlay-content::-webkit-scrollbar{width:8px;height:8px}.rpg-ui-main-menu-list::-webkit-scrollbar-thumb{border-radius:var(--rpg-ui-radius-full);background:color-mix(in srgb, var(--rpg-ui-accent), transparent 35%)}.rpg-ui-menu-panel-list::-webkit-scrollbar-thumb{border-radius:var(--rpg-ui-radius-full);background:color-mix(in srgb, var(--rpg-ui-accent), transparent 35%)}.rpg-ui-main-menu-right>.rpg-ui-panel::-webkit-scrollbar-thumb{border-radius:var(--rpg-ui-radius-full);background:color-mix(in srgb, var(--rpg-ui-accent), transparent 35%)}.rpg-ui-equip-modal-card::-webkit-scrollbar-thumb{border-radius:var(--rpg-ui-radius-full);background:color-mix(in srgb, var(--rpg-ui-accent), transparent 35%)}.rpg-ui-main-menu-overlay-content::-webkit-scrollbar-thumb{border-radius:var(--rpg-ui-radius-full);background:color-mix(in srgb, var(--rpg-ui-accent), transparent 35%)}.rpg-ui-menu-panel-details{flex-direction:column;gap:8px;display:flex}.rpg-ui-main-menu-right .rpg-ui-menu-panel-list.rpg-ui-menu{border:1px solid color-mix(in srgb, var(--rpg-ui-border), transparent 20%);border-radius:var(--rpg-ui-radius-md);width:100%;min-width:0;height:100%;box-shadow:none;-webkit-backdrop-filter:none;background:#0000002e;padding:10px}.rpg-ui-main-menu-right .rpg-ui-menu-panel-details.rpg-ui-panel{box-sizing:border-box;border-radius:var(--rpg-ui-radius-md);max-height:100%;box-shadow:none;padding:14px}.rpg-ui-main-menu-right .rpg-ui-menu-panel-details .rpg-ui-menu-panel-hero{align-items:flex-start}.rpg-ui-menu-panel-details-title{font-weight:700;font-size:var(--rpg-ui-font-size-lg)}.rpg-ui-menu-panel-details-desc{color:var(--rpg-ui-text-muted);font-size:var(--rpg-ui-font-size-sm)}.rpg-ui-menu-panel-details-meta{font-size:var(--rpg-ui-font-size-sm);gap:12px;display:flex}.rpg-ui-equip-hint{font-size:var(--rpg-ui-font-size-sm);color:var(--rpg-ui-text-muted);margin-top:8px}.rpg-ui-equip-stats{gap:6px;margin-top:8px;display:grid}.rpg-ui-equip-stat{border-radius:var(--rpg-ui-radius-sm);border:1px solid var(--rpg-ui-border);font-size:var(--rpg-ui-font-size-sm);background:#0003;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:5px 8px;display:grid}.rpg-ui-equip-stat.positive{color:var(--rpg-ui-success)}.rpg-ui-equip-stat.negative{color:var(--rpg-ui-danger)}.rpg-ui-equip-stat-current{color:var(--rpg-ui-text-muted);font-size:calc(var(--rpg-ui-font-size-sm) * .9);grid-column:span 2}.rpg-ui-equip-modal{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:6;background:#0000008c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.rpg-ui-equip-modal-card{border-radius:var(--rpg-ui-radius-md);background:var(--rpg-ui-surface);border:2px solid var(--rpg-ui-border);width:min(760px,92%);box-shadow:var(--rpg-ui-shadow-lg);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:16px;display:grid}.rpg-ui-equip-modal-list{min-height:260px}.rpg-ui-equip-modal-details{flex-direction:column;gap:8px;display:flex}.rpg-ui-equip-modal-empty{text-align:center;color:var(--rpg-ui-text-muted);padding:24px 12px}.rpg-ui-menu-item.disabled{opacity:.5;pointer-events:none}.rpg-ui-menu-confirm{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:8;background:#00000073;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.rpg-ui-menu-confirm-card{border-radius:var(--rpg-ui-radius-md);background:var(--rpg-ui-surface);border:2px solid var(--rpg-ui-border);min-width:280px;box-shadow:var(--rpg-ui-shadow-lg);text-align:center;padding:16px}.rpg-ui-menu-confirm-title{margin-bottom:12px;font-weight:700}.rpg-ui-menu-confirm-actions{justify-content:center;gap:12px;display:flex}.rpg-ui-menu-confirm-btn{border-radius:var(--rpg-ui-radius-sm);border:1px solid var(--rpg-ui-border);background:var(--rpg-ui-accent);color:var(--rpg-ui-bg);cursor:pointer;padding:6px 14px}.rpg-ui-menu-confirm-btn[data-selected=true]{box-shadow:0 0 0 2px var(--rpg-ui-border-light)}.rpg-ui-menu-confirm-btn-secondary{color:var(--rpg-ui-text);background:0 0}.rpg-ui-main-menu .rpg-ui-menu-tabs{border-radius:var(--rpg-ui-radius-md);background:#ffffff0d;align-items:stretch;gap:8px;min-height:42px;margin:0 0 10px;padding:4px}.rpg-ui-main-menu .rpg-ui-menu-tab{text-align:center;min-height:34px;font-weight:var(--rpg-ui-font-weight-bold);flex:1 0 96px;justify-content:center;align-items:center;padding:8px 12px;display:flex}.rpg-ui-main-menu .rpg-ui-menu-item:hover,.rpg-ui-main-menu .rpg-ui-menu-item[data-selected=true]{border-color:color-mix(in srgb, var(--rpg-ui-accent), transparent 72%);background:color-mix(in srgb, var(--rpg-ui-accent), transparent 90%);box-shadow:none;color:var(--rpg-ui-text)}.rpg-ui-main-menu .rpg-ui-menu-item:hover:before,.rpg-ui-main-menu .rpg-ui-menu-item[data-selected=true]:before{color:color-mix(in srgb, var(--rpg-ui-accent), transparent 20%);animation:none}@media (width<=760px),(height<=560px){.rpg-ui-main-menu{padding:calc(58px + env(safe-area-inset-top,0px)) calc(10px + env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) calc(10px + env(safe-area-inset-left,0px));justify-content:stretch;align-items:stretch}.rpg-ui-main-menu-layout{width:100%;height:100%;max-height:none;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;border-radius:0;flex-direction:column;align-items:stretch;gap:10px;overflow:visible}.rpg-ui-main-menu-left{flex:none;width:100%;height:auto;max-height:34%}.rpg-ui-main-menu-layout>.rpg-ui-main-menu-left.rpg-ui-menu.rpg-ui-panel{border:1px solid var(--rpg-ui-border);border-radius:var(--rpg-ui-radius-lg);background:var(--rpg-ui-surface-overlay-strong);box-shadow:var(--rpg-ui-shadow-lg);-webkit-backdrop-filter:var(--rpg-ui-backdrop-blur);padding:8px}.rpg-ui-main-menu-list{grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:8px;display:grid}.rpg-ui-main-menu-right{--rpg-ui-main-menu-right-padding:0px;flex:auto;padding:0}.rpg-ui-main-menu-right>.rpg-ui-panel,.rpg-ui-main-menu-right .rpg-ui-menu-panel{border:1px solid var(--rpg-ui-border);border-radius:var(--rpg-ui-radius-lg);background:var(--rpg-ui-surface-overlay-strong);box-shadow:var(--rpg-ui-shadow-lg);-webkit-backdrop-filter:var(--rpg-ui-backdrop-blur)}.rpg-ui-main-menu-right>.rpg-ui-panel{padding:var(--rpg-ui-spacing-lg)}.rpg-ui-main-menu-status-card,.rpg-ui-main-menu-params{grid-template-columns:1fr}.rpg-ui-menu-panel{--rpg-ui-menu-panel-padding:12px;padding:0}.rpg-ui-main-menu-right .rpg-ui-menu-panel-header{padding:var(--rpg-ui-menu-panel-padding) var(--rpg-ui-menu-panel-padding) 12px}.rpg-ui-main-menu-right .rpg-ui-menu-panel-body{padding:var(--rpg-ui-menu-panel-padding)}.rpg-ui-menu-panel-body{flex-direction:column;gap:12px;min-height:0;display:flex;overflow:hidden}.rpg-ui-main-menu-right .rpg-ui-menu-panel-body-stacked,.rpg-ui-menu-panel-body-stacked{flex-direction:column;align-items:stretch;display:flex}.rpg-ui-main-menu-right .rpg-ui-menu-panel-body-stacked>:first-child,.rpg-ui-menu-panel-body-stacked>:first-child{flex:none;max-height:min(58%,280px);overflow:auto}.rpg-ui-menu-panel-body-stacked>:first-child:not(.rpg-ui-menu-panel-details) .rpg-ui-menu-panel-details{max-height:none;overflow:visible}.rpg-ui-menu-panel-hero{gap:10px}.rpg-ui-main-menu-status-block[style]{grid-column:auto!important}.rpg-ui-equip-modal-card{grid-template-columns:1fr;max-height:100%;overflow:auto}}.rpg-ui-bar{border:2px solid var(--rpg-ui-border-dark);border-radius:var(--rpg-ui-radius-lg);background:#00000080;height:24px;margin-bottom:8px;position:relative;overflow:hidden;box-shadow:inset 0 0 5px #000c}.rpg-ui-bar-fill{justify-content:center;align-items:center;height:100%;transition:width .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.rpg-ui-bar-fill:after{content:"";pointer-events:none;background:linear-gradient(#ffffff4d,#ffffff0d);height:50%;position:absolute;top:0;left:0;right:0}.rpg-ui-bar-fill:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000) 0 0/200% 100%;width:100%;animation:2s linear infinite rpg-shimmer;position:absolute;top:0;bottom:0;left:0;transform:skew(-20deg)}.rpg-ui-bar-label{color:#fff;font-size:var(--rpg-ui-font-size-sm);text-shadow:1px 1px #000,-1px -1px #000,1px -1px #000,-1px 1px #000;z-index:1;white-space:nowrap;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.rpg-ui-bar[data-type=health] .rpg-ui-bar-fill{background:linear-gradient(#ef4444 0%,#991b1b 100%);box-shadow:0 0 10px #ef4444}.rpg-ui-bar[data-type=mana] .rpg-ui-bar-fill{background:linear-gradient(#3b82f6 0%,#1e3a8a 100%);box-shadow:0 0 10px #3b82f6}.rpg-ui-bar[data-type=experience] .rpg-ui-bar-fill{background:linear-gradient(#a855f7 0%,#6b21a8 100%);box-shadow:0 0 10px #a855f7}.rpg-ui-bar[data-type=stamina] .rpg-ui-bar-fill{background:linear-gradient(#22c55e 0%,#14532d 100%);box-shadow:0 0 10px #22c55e}.rpg-ui-inventory{border-radius:var(--rpg-ui-radius-md);background:#0000004d;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:8px;padding:8px;display:grid}.rpg-ui-inventory-slot{background:var(--rpg-ui-surface);border:2px solid var(--rpg-ui-border-dark);border-radius:var(--rpg-ui-radius-sm);cursor:pointer;justify-content:center;align-items:center;width:48px;height:48px;transition:all .1s;display:flex;position:relative;box-shadow:inset 0 0 10px #00000080}.rpg-ui-inventory-slot:hover{border-color:var(--rpg-ui-border-light);z-index:1;transform:scale(1.05)}.rpg-ui-inventory-slot[data-selected=true]{border-color:var(--rpg-ui-accent);box-shadow:0 0 0 2px var(--rpg-ui-accent), inset 0 0 10px #fc03;animation:2s infinite rpg-pulse}.rpg-ui-inventory-slot-icon{filter:drop-shadow(2px 2px #00000080);font-size:24px}.rpg-ui-inventory-slot-quantity{color:#fff;text-shadow:1px 1px #000;background:#0009;border-radius:2px;padding:0 2px;font-size:10px;font-weight:700;position:absolute;bottom:2px;right:2px}.rpg-ui-inventory-slot[data-rarity=common]{border-color:#9ca3af}.rpg-ui-inventory-slot[data-rarity=uncommon]{border-color:#22c55e}.rpg-ui-inventory-slot[data-rarity=rare]{border-color:#3b82f6}.rpg-ui-inventory-slot[data-rarity=epic]{border-color:#a855f7}.rpg-ui-inventory-slot[data-rarity=legendary]{border-color:#eab308;box-shadow:0 0 5px #eab308}.rpg-ui-inventory-slot[data-locked=true]{cursor:not-allowed;opacity:.7;background:repeating-linear-gradient(45deg,#1c1917,#1c1917 10px,#292524 10px 20px)}.rpg-ui-dialog-layer{z-index:1000;background:#0000002e;width:100%;height:100%;position:relative;overflow:hidden}.rpg-ui-dialog-container{box-sizing:border-box;justify-content:center;align-items:flex-end;width:100%;height:100%;padding:clamp(16px,3vw,28px);display:flex;overflow:visible}.rpg-ui-dialog-container[data-position=top]{align-items:flex-start}.rpg-ui-dialog-container[data-position=middle]{align-items:center}.rpg-ui-dialog-container[data-position=bottom]{align-items:flex-end}.rpg-ui-dialog-container[data-full-width=true] .rpg-ui-dialog{width:calc(100% - 2px);max-width:calc(100% - 2px);margin-left:auto;margin-right:auto}.rpg-ui-dialog-container[data-full-width=false] .rpg-ui-dialog{width:min(720px,100%);max-width:100%;margin-left:auto;margin-right:auto}.rpg-ui-dialog{--rpg-ui-dialog-min-height:256px;--rpg-ui-dialog-padding:24px;--rpg-ui-dialog-face-margin:8px;--rpg-ui-dialog-face-size:calc(var(--rpg-ui-dialog-min-height) - var(--rpg-ui-dialog-padding) * 2 - var(--rpg-ui-dialog-face-margin) * 2);background:var(--rpg-ui-surface);border:4px solid var(--rpg-ui-border);border-radius:var(--rpg-ui-radius-lg);padding:var(--rpg-ui-dialog-padding);box-shadow:var(--rpg-ui-shadow-lg);min-height:var(--rpg-ui-dialog-min-height);box-sizing:border-box;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--rpg-ui-accent), transparent 30%) transparent;flex-direction:column;max-height:100%;margin-top:24px;display:flex;position:relative;overflow:auto}.rpg-ui-dialog::-webkit-scrollbar{width:8px}.rpg-ui-dialog::-webkit-scrollbar-thumb{border-radius:var(--rpg-ui-radius-full);background:color-mix(in srgb, var(--rpg-ui-accent), transparent 35%)}.rpg-ui-dialog-speaker{background:var(--rpg-ui-border-dark);color:var(--rpg-ui-accent);border:2px solid var(--rpg-ui-border);border-radius:var(--rpg-ui-radius-sm);font-weight:700;font-size:var(--rpg-ui-font-size-lg);text-transform:uppercase;z-index:10;padding:4px 16px;position:absolute;top:-20px;left:24px;box-shadow:0 2px 4px #00000080}.rpg-ui-dialog-content{min-width:0;font-size:var(--rpg-ui-font-size-lg);color:var(--rpg-ui-text);text-shadow:1px 1px #00000080;text-align:left;flex:1;line-height:1.6}.rpg-ui-dialog-choices{flex-direction:column;gap:8px;margin-top:16px;display:flex}.rpg-ui-dialog-choice{border-radius:var(--rpg-ui-radius-sm);cursor:pointer;color:var(--rpg-ui-text);outline:none;padding:6px 12px 6px 28px;position:relative}.rpg-ui-dialog-choice:before{content:"";width:10px;height:10px;box-shadow:none;background:0 0;border-radius:50%;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.rpg-ui-dialog-choice.active,.rpg-ui-dialog-choice:focus{background:#00000059;box-shadow:inset 0 0 0 1px #ffffff1f}.rpg-ui-dialog-choice.active:before,.rpg-ui-dialog-choice:focus:before{background:var(--rpg-ui-accent);box-shadow:0 0 10px #00e5ff99}.rpg-ui-dialog-body{flex-flow:row;flex:auto;justify-content:flex-start;align-items:flex-start;gap:16px;width:100%;min-height:128px;display:flex}.rpg-ui-dialog-body>:first-child{flex:auto;min-width:0}.rpg-ui-dialog-face{width:var(--rpg-ui-dialog-face-size);height:var(--rpg-ui-dialog-face-size);margin:var(--rpg-ui-dialog-face-margin) 0;box-shadow:none;background:0 0;border:0;flex:none;justify-content:center;align-self:center;align-items:center;display:flex;overflow:hidden}.rpg-ui-dialog-face>*{object-fit:cover;width:100%;height:100%}.rpg-ui-dialog-indicator{border-left:9px solid #0000;border-right:9px solid #0000;border-top:12px solid var(--rpg-ui-accent);filter:drop-shadow(0 0 6px #00e5ff99);width:18px;height:12px;animation:1s infinite rpg-dialog-bounce;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}@keyframes rpg-dialog-bounce{0%,to{opacity:.7;transform:translate(-50%)translateY(0)}50%{opacity:1;transform:translate(-50%)translateY(6px)}}.rpg-ui-dialog-portrait{background:var(--rpg-ui-surface);border:4px solid var(--rpg-ui-border);width:96px;height:96px;box-shadow:var(--rpg-ui-shadow);display:none;position:absolute;bottom:100%;left:-10px}.rpg-ui-dialog[data-has-portrait=true]{margin-left:48px}.rpg-ui-dialog[data-has-portrait=true] .rpg-ui-dialog-portrait{display:block}@media (width<=640px),(height<=520px){.rpg-ui-dialog-container{padding:calc(58px + env(safe-area-inset-top,0px)) calc(10px + env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) calc(10px + env(safe-area-inset-left,0px))}.rpg-ui-dialog{--rpg-ui-dialog-min-height:0px;--rpg-ui-dialog-padding:14px;--rpg-ui-dialog-face-margin:0px;border-radius:var(--rpg-ui-radius-md);min-height:0;max-height:100%;margin-top:0;width:100%!important}.rpg-ui-dialog-body{gap:10px;min-height:0}.rpg-ui-dialog-container[data-has-face=true] .rpg-ui-dialog-body{flex-direction:column-reverse}.rpg-ui-dialog-face{align-self:flex-end;width:min(120px,36vw);height:min(120px,36vw)}.rpg-ui-dialog-content{font-size:var(--rpg-ui-font-size)}.rpg-ui-dialog-speaker{font-size:var(--rpg-ui-font-size-sm);left:14px}}.rpg-ui-save-load-layer{z-index:1000;box-sizing:border-box;background:#0000006b;justify-content:center;align-items:center;width:100%;height:100%;padding:clamp(10px,3vw,32px);display:flex;position:relative;overflow:hidden}.rpg-ui-save-load{background:var(--rpg-ui-surface);border:4px solid var(--rpg-ui-border);border-radius:var(--rpg-ui-radius-lg);width:min(720px,100%);max-height:min(620px,100%);box-shadow:var(--rpg-ui-shadow-lg);box-sizing:border-box;flex-direction:column;gap:16px;margin:0 auto;padding:24px;display:flex;overflow:hidden}.rpg-ui-save-load-header{flex-direction:column;gap:4px;display:flex}.rpg-ui-save-load-title{font-size:var(--rpg-ui-font-size-xl);color:var(--rpg-ui-text);font-weight:700}.rpg-ui-save-load-subtitle{font-size:var(--rpg-ui-font-size-sm);color:var(--rpg-ui-text-muted)}.rpg-ui-save-load-list{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--rpg-ui-accent), transparent 30%) transparent;flex-direction:column;flex:auto;gap:12px;min-height:0;padding-right:4px;display:flex;overflow:auto}.rpg-ui-save-load-list>:not(.rpg-ui-save-load-slot){flex-direction:column;gap:12px;min-height:0;display:flex}.rpg-ui-save-load-list::-webkit-scrollbar{width:8px}.rpg-ui-save-load-list::-webkit-scrollbar-thumb{border-radius:var(--rpg-ui-radius-full);background:color-mix(in srgb, var(--rpg-ui-accent), transparent 35%)}.rpg-ui-save-load-slot{border-radius:var(--rpg-ui-radius-md);border:2px solid var(--rpg-ui-border);background:var(--rpg-ui-surface-light);color:var(--rpg-ui-text);cursor:pointer;outline:none;flex-direction:column;gap:8px;padding:16px 20px 16px 36px;transition:background .2s,border-color .2s,box-shadow .2s;display:flex;position:relative}.rpg-ui-save-load-slot:before{content:"";width:10px;height:10px;box-shadow:none;background:0 0;border-radius:50%;position:absolute;top:18px;left:12px}.rpg-ui-save-load-slot-index{font-size:var(--rpg-ui-font-size-lg);font-weight:700}.rpg-ui-save-load-slot-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;display:grid}.rpg-ui-save-load-slot-line{font-size:var(--rpg-ui-font-size-sm);color:var(--rpg-ui-text)}.rpg-ui-save-load-slot-empty{font-size:var(--rpg-ui-font-size-sm);color:var(--rpg-ui-text-muted)}.rpg-ui-save-load-slot.active,.rpg-ui-save-load-slot:focus{border-color:var(--rpg-ui-accent);background:#00000059;box-shadow:0 0 0 2px #0003}.rpg-ui-save-load-slot.active:before,.rpg-ui-save-load-slot:focus:before{background:var(--rpg-ui-accent);box-shadow:0 0 10px #00e5ff99}.rpg-ui-save-load-slot.empty{opacity:.75}@media (width<=640px),(height<=560px){.rpg-ui-save-load-layer{padding:calc(58px + env(safe-area-inset-top,0px)) calc(10px + env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) calc(10px + env(safe-area-inset-left,0px));align-items:stretch}.rpg-ui-save-load{border-radius:var(--rpg-ui-radius-md);gap:12px;width:100%;max-height:100%;padding:14px}.rpg-ui-save-load-title{font-size:var(--rpg-ui-font-size-lg)}.rpg-ui-save-load-slot{padding:12px 14px 12px 30px}.rpg-ui-save-load-slot-meta{grid-template-columns:1fr}}.rpg-ui-character-card{background:var(--rpg-ui-surface);border:4px solid var(--rpg-ui-border);border-radius:var(--rpg-ui-radius-lg);box-shadow:var(--rpg-ui-shadow-lg);flex-direction:column;gap:16px;padding:16px;display:flex}.rpg-ui-character-card-header{border-bottom:2px solid var(--rpg-ui-border-dark);align-items:center;gap:16px;padding-bottom:16px;display:flex}.rpg-ui-character-card-avatar{background:var(--rpg-ui-bg);border:2px solid var(--rpg-ui-border-light);border-radius:var(--rpg-ui-radius-md);justify-content:center;align-items:center;width:64px;height:64px;font-size:32px;display:flex;box-shadow:inset 0 0 10px #00000080}.rpg-ui-character-card-info{flex:1}.rpg-ui-character-card-name{font-size:var(--rpg-ui-font-size-xl);color:var(--rpg-ui-accent);text-shadow:1px 1px #000;font-weight:700}.rpg-ui-character-card-class{color:var(--rpg-ui-text-muted);font-size:var(--rpg-ui-font-size-sm);text-transform:uppercase;letter-spacing:1px}.rpg-ui-character-card-level{color:var(--rpg-ui-text);background:var(--rpg-ui-border-dark);border-radius:4px;margin-left:8px;padding:2px 6px;font-size:12px}.rpg-ui-character-card-section-title{font-size:var(--rpg-ui-font-size-sm);color:var(--rpg-ui-border-light);text-transform:uppercase;margin-bottom:8px;font-weight:700}.rpg-ui-stats{border-radius:var(--rpg-ui-radius-md);border:1px solid var(--rpg-ui-border-dark);background:#0003;flex-direction:column;gap:8px;padding:12px;display:flex}.rpg-ui-stat{border-bottom:1px dashed #ffffff1a;justify-content:space-between;align-items:center;padding:4px 0;display:flex}.rpg-ui-stat:last-child{border-bottom:none}.rpg-ui-stat-label{color:var(--rpg-ui-text-muted)}.rpg-ui-stat-value{color:var(--rpg-ui-text);font-weight:700;font-family:var(--rpg-ui-font-mono)}.rpg-ui-stat-change{margin-left:8px;font-size:12px}.rpg-ui-stat-change[data-type=positive]{color:var(--rpg-ui-success)}.rpg-ui-stat-change[data-type=negative]{color:var(--rpg-ui-danger)}.rpg-ui-stat-bar-container{align-items:center;gap:8px;margin-bottom:4px;display:flex}.rpg-ui-stat-bar-container .rpg-ui-stat-label{width:30px;font-size:12px;font-weight:700}.rpg-ui-stat-bar-container .rpg-ui-bar{flex:1;height:16px;margin-bottom:0}.rpg-ui-stat-bar-container .rpg-ui-stat-value{text-align:right;width:40px;font-size:12px}.rpg-ui-hotbar{--rpg-ui-hotbar-slots:10;--rpg-ui-hotbar-gap:var(--rpg-hotbar-gap,6px);--rpg-ui-hotbar-size:var(--rpg-hotbar-slot-size,52px);--rpg-ui-hotbar-padding-x:var(--rpg-hotbar-plate-padding-x,10px);--rpg-ui-hotbar-padding-y:var(--rpg-hotbar-plate-padding-y,10px);--rpg-ui-hotbar-padding-bottom:var(--rpg-hotbar-plate-padding-bottom,12px);--rpg-ui-hotbar-plate-dark:color-mix(in srgb, var(--rpg-ui-surface), var(--rpg-ui-bg) 35%);--rpg-ui-hotbar-plate-mid:color-mix(in srgb, var(--rpg-ui-surface), var(--rpg-ui-border-light) 25%);--rpg-ui-hotbar-plate-light:color-mix(in srgb, var(--rpg-ui-surface-light,var(--rpg-ui-surface)), white 12%);--rpg-ui-hotbar-slot:color-mix(in srgb, var(--rpg-ui-surface), var(--rpg-ui-border-light) 20%);--rpg-ui-hotbar-slot-empty:color-mix(in srgb, var(--rpg-ui-bg), var(--rpg-ui-border-dark) 12%);--rpg-ui-hotbar-edge:var(--rpg-ui-border-dark);--rpg-ui-hotbar-highlight:var(--rpg-ui-accent);padding:var(--rpg-ui-hotbar-padding-y) var(--rpg-ui-hotbar-padding-x) var(--rpg-ui-hotbar-padding-bottom);border-radius:var(--rpg-hotbar-plate-radius,calc(var(--rpg-ui-radius-lg) + 4px));border:var(--rpg-hotbar-plate-border,max(2px, var(--rpg-ui-border-width)) solid var(--rpg-ui-hotbar-edge));background:linear-gradient(180deg, #fff3, transparent) 0 0 / 100% 40% no-repeat, linear-gradient(180deg, var(--rpg-ui-hotbar-plate-light), var(--rpg-ui-hotbar-plate-mid) 42%, var(--rpg-ui-hotbar-plate-dark));box-shadow:inset 0 2px 0 color-mix(in srgb, var(--rpg-ui-bevel-light), transparent 25%), inset 0 -3px 0 #00000059, var(--rpg-ui-shadow-md);display:block;position:relative}.rpg-ui-hotbar-track{grid-template-columns:repeat(var(--rpg-ui-hotbar-slots), minmax(0, 1fr));gap:var(--rpg-ui-hotbar-gap);display:grid}.rpg-ui-hotbar-slot{min-height:var(--rpg-ui-hotbar-size);aspect-ratio:1;border-radius:var(--rpg-hotbar-slot-radius,var(--rpg-ui-radius-md));border:var(--rpg-hotbar-slot-border,max(2px, var(--rpg-ui-border-width)) solid var(--rpg-ui-hotbar-edge));background:linear-gradient(180deg, color-mix(in srgb, var(--rpg-ui-hotbar-slot), white 10%), var(--rpg-ui-hotbar-slot));box-shadow:inset 0 2px 0 color-mix(in srgb, var(--rpg-ui-bevel-light), transparent 30%), inset 0 -2px 0 #0000004d;color:var(--rpg-ui-text);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.rpg-ui-hotbar-slot[data-empty=true]{background:linear-gradient(180deg, color-mix(in srgb, var(--rpg-ui-hotbar-slot-empty), white 6%), var(--rpg-ui-hotbar-slot-empty));box-shadow:inset 0 2px 3px #00000059,inset 0 -2px 2px #ffffff14}.rpg-ui-hotbar-slot[data-selected=true]{border-color:var(--rpg-ui-hotbar-highlight);box-shadow:inset 0 2px 0 #fff3d359, 0 0 0 2px color-mix(in srgb, var(--rpg-ui-hotbar-highlight), transparent 60%)}.rpg-ui-hotbar-slot[data-disabled=true]{filter:grayscale(.85);opacity:.58}.rpg-ui-hotbar-key{color:color-mix(in srgb, var(--rpg-ui-text), var(--rpg-ui-text-muted) 35%);text-shadow:0 1px #000000d9;font-size:9px;line-height:1;font-family:var(--rpg-ui-font);font-weight:var(--rpg-ui-font-weight-bold);pointer-events:none;position:absolute;top:2px;left:4px}.rpg-ui-hotbar-count{color:var(--rpg-ui-text);background:color-mix(in srgb, var(--rpg-ui-bg), transparent 28%);text-shadow:0 1px #000000d9;font-size:9px;line-height:1;font-family:var(--rpg-ui-font);font-weight:var(--rpg-ui-font-weight-bold);pointer-events:none;border-radius:4px;padding:1px 3px;position:absolute;bottom:2px;right:3px}.rpg-ui-hotbar-text{text-align:center;color:var(--rpg-ui-text);text-shadow:var(--rpg-ui-text-shadow);font-size:9px;line-height:1.1;font-family:var(--rpg-ui-font);text-overflow:ellipsis;pointer-events:none;max-width:100%;overflow:hidden}@media (width<=768px){.rpg-ui-hotbar{--rpg-ui-hotbar-gap:var(--rpg-hotbar-gap,4px);--rpg-ui-hotbar-padding-x:var(--rpg-hotbar-plate-padding-x,6px);--rpg-ui-hotbar-padding-y:var(--rpg-hotbar-plate-padding-y,8px);--rpg-ui-hotbar-padding-bottom:var(--rpg-hotbar-plate-padding-bottom,9px);--rpg-ui-hotbar-size:var(--rpg-hotbar-mobile-slot-size,42px)}}.rpg-ui-tooltip{background:var(--rpg-ui-surface);border:2px solid var(--rpg-ui-border);color:var(--rpg-ui-text);border-radius:var(--rpg-ui-radius-md);box-shadow:var(--rpg-ui-shadow);font-size:var(--rpg-ui-font-size-sm);z-index:1000;pointer-events:none;opacity:0;white-space:nowrap;padding:8px 12px;transition:opacity .2s;position:absolute}.rpg-ui-tooltip[data-visible=true]{opacity:1;animation:.2s ease-out rpg-fade-in}.rpg-ui-tooltip:after{content:"";border-left:6px solid #0000;border-right:6px solid #0000;border-top:6px solid var(--rpg-ui-border);position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.rpg-ui-toast-container{z-index:2000;flex-direction:column;gap:12px;display:flex;position:fixed;top:24px;right:24px}.rpg-ui-toast{background:var(--rpg-ui-surface);border:2px solid var(--rpg-ui-border);border-radius:var(--rpg-ui-radius-md);box-shadow:var(--rpg-ui-shadow-lg);color:var(--rpg-ui-text);border-left-width:8px;align-items:center;gap:12px;min-width:250px;padding:12px 16px;animation:.4s cubic-bezier(.175,.885,.32,1.275) rpg-slide-up;display:flex}.rpg-ui-notifications{pointer-events:none;width:320px;height:auto;position:absolute;top:24px;right:24px}.rpg-ui-notification{background:var(--rpg-ui-surface);border:2px solid var(--rpg-ui-border);border-radius:var(--rpg-ui-radius-md);box-shadow:var(--rpg-ui-shadow-lg);color:var(--rpg-ui-text);pointer-events:auto;align-items:center;gap:12px;padding:12px 16px;display:flex;position:absolute;left:0;right:0}.rpg-ui-notification[data-type=info]{border-color:var(--rpg-ui-accent)}.rpg-ui-notification[data-type=warn]{border-color:#f6c453}.rpg-ui-notification[data-type=error]{border-color:#ef4444}.rpg-ui-notification-icon{border-radius:var(--rpg-ui-radius-sm);background:var(--rpg-ui-border-dark);justify-content:center;align-items:center;width:32px;height:32px;display:flex;overflow:hidden}.rpg-ui-notification-message{font-size:var(--rpg-ui-font-size-sm);line-height:1.4}.rpg-ui-notification-icon>*{background-position:50%!important;background-size:cover!important;width:100%!important;height:100%!important}.rpg-ui-toast[data-type=success]{border-left-color:var(--rpg-ui-success)}.rpg-ui-toast[data-type=warning]{border-left-color:var(--rpg-ui-warning)}.rpg-ui-toast[data-type=danger]{border-left-color:var(--rpg-ui-danger)}.rpg-ui-toast[data-type=info]{border-left-color:var(--rpg-ui-info)}.rpg-ui-toast-icon{font-size:24px}.rpg-ui-toast-content{flex-direction:column;display:flex}.rpg-ui-toast-title{font-weight:700;font-size:var(--rpg-ui-font-size);color:var(--rpg-ui-accent)}.rpg-ui-toast-message{font-size:var(--rpg-ui-font-size-sm);color:var(--rpg-ui-text-muted)}.rpg-ui-title-screen{justify-content:center;align-items:center;gap:calc(var(--rpg-ui-spacing-lg) * 1.5);width:100%;height:100%;padding:calc(var(--rpg-ui-spacing-lg) * 1.5);text-align:center;color:var(--rpg-ui-text);background-color:var(--rpg-ui-bg);background-image:radial-gradient(circle at 20% 20%,#ffffff14,#0000 45%),radial-gradient(circle at 80% 10%,#ffffff0d,#0000 50%),linear-gradient(#00000059,#000000bf);flex-direction:column;display:flex;position:relative}.rpg-ui-title-screen-header{gap:var(--rpg-ui-spacing-sm);margin-bottom:var(--rpg-ui-spacing-lg);flex-direction:column;display:flex}.rpg-ui-title-screen-title{font-family:var(--rpg-ui-font);font-size:clamp(2.5rem,7vw,5rem);font-weight:var(--rpg-ui-font-weight-bold);letter-spacing:.35em;text-transform:uppercase;color:var(--rpg-ui-accent);text-shadow:var(--rpg-ui-text-shadow)}.rpg-ui-title-screen-subtitle{letter-spacing:.4em;text-transform:uppercase;color:var(--rpg-ui-text-muted);font-size:clamp(.9rem,2.2vw,1.2rem)}.rpg-ui-title-screen-menu{width:min(360px,85vw);box-shadow:none;background:0 0;border:none}.rpg-ui-title-screen-menu .rpg-ui-menu-item{text-align:center;color:var(--rpg-ui-text);background:#00000059;border:1px solid #ffffff1a;margin-bottom:12px;padding:12px 16px;transition:transform .2s,border-color .2s,color .2s}.rpg-ui-title-screen-menu .rpg-ui-menu-item:hover,.rpg-ui-title-screen-menu .rpg-ui-menu-item[data-selected=true]{border-color:var(--rpg-ui-accent);color:var(--rpg-ui-accent);transform:translateY(-2px)}.rpg-ui-title-screen-menu .rpg-ui-menu-item:hover:before,.rpg-ui-title-screen-menu .rpg-ui-menu-item[data-selected=true]:before{display:none}.rpg-ui-title-screen-menu .rpg-ui-menu-item.disabled{opacity:.5;cursor:not-allowed;transform:none}.rpg-ui-title-screen-version{right:calc(var(--rpg-ui-spacing-lg) * 1.25);bottom:calc(var(--rpg-ui-spacing-lg) * 1.25);font-size:var(--rpg-ui-font-size-sm);color:var(--rpg-ui-text-muted);position:absolute}.rpg-ui-gameover-screen{justify-content:center;align-items:center;gap:calc(var(--rpg-ui-spacing-lg) * 1.4);width:100%;height:100%;padding:calc(var(--rpg-ui-spacing-lg) * 1.5);text-align:center;color:var(--rpg-ui-text);background-color:var(--rpg-ui-bg);background-image:radial-gradient(circle at 20% 25%,#dc35452e,#0000 45%),radial-gradient(circle at 80% 15%,#dc35451f,#0000 50%),linear-gradient(#00000073,#000000d9);flex-direction:column;display:flex;position:relative;overflow:hidden}.rpg-ui-gameover-splatter{opacity:.6;z-index:0;background:radial-gradient(circle,#6f0000cc 0%,#0000 70%);border-radius:50%;position:absolute}.rpg-ui-gameover-splatter-left{width:280px;height:280px;top:18%;left:22%}.rpg-ui-gameover-splatter-right{width:360px;height:360px;bottom:8%;right:18%}.rpg-ui-gameover-splatter-center{opacity:.3;width:520px;height:520px;top:50%;left:50%;transform:translate(-50%,-50%)}.rpg-ui-gameover-header{z-index:1;gap:var(--rpg-ui-spacing-sm);flex-direction:column;display:flex;position:relative}.rpg-ui-gameover-title{font-family:var(--rpg-ui-font);font-size:clamp(2.8rem,8vw,6rem);font-weight:var(--rpg-ui-font-weight-bold);letter-spacing:.35em;text-transform:uppercase;color:var(--rpg-ui-danger);text-shadow:0 0 20px #dc354573,4px 4px #00000073}.rpg-ui-gameover-subtitle{letter-spacing:.3em;text-transform:uppercase;color:#ffffffb3;font-size:clamp(.9rem,2.4vw,1.2rem)}.rpg-ui-gameover-menu{z-index:1;width:min(360px,85vw);box-shadow:none;background:0 0;border:none;gap:12px;position:relative}.rpg-ui-gameover-menu .rpg-ui-menu-item{text-align:center;color:#ffffffbf;text-transform:uppercase;letter-spacing:.2em;background:#00000073;border:1px solid #ffffff14;margin-bottom:12px;padding:12px 18px;transition:transform .2s,border-color .2s,color .2s}.rpg-ui-gameover-menu .rpg-ui-menu-item:hover,.rpg-ui-gameover-menu .rpg-ui-menu-item[data-selected=true]{border-color:var(--rpg-ui-danger);color:#fff;transform:translateY(-2px)scale(1.02)}.rpg-ui-gameover-menu .rpg-ui-menu-item:hover:before,.rpg-ui-gameover-menu .rpg-ui-menu-item[data-selected=true]:before{display:none}.rpg-ui-gameover-menu .rpg-ui-menu-item.disabled{opacity:.5;cursor:not-allowed;transform:none}body.rpg-ui-app,.rpg-ui-app{background-color:var(--rpg-ui-body-bg);background-image:var(--rpg-ui-body-background);background-size:var(--rpg-ui-body-background-size);background-position:var(--rpg-ui-body-background-position);background-attachment:var(--rpg-ui-body-background-attachment);min-height:100vh;color:var(--rpg-ui-text);font-family:var(--rpg-ui-font);margin:0}body.rpg-ui-app{overflow:hidden}.rpg-ui-app{isolation:isolate;position:relative}.glass-panel,.rpg-ui-glass-panel{background:var(--rpg-ui-surface-overlay);-webkit-backdrop-filter:var(--rpg-ui-backdrop-blur);border:1px solid var(--rpg-ui-border);border-radius:var(--rpg-ui-radius-lg);box-shadow:var(--rpg-ui-shadow-lg)}.rpg-hud,.rpg-ui-hud{top:var(--rpg-ui-hud-top);left:var(--rpg-ui-hud-left);gap:var(--rpg-ui-hud-gap);padding:calc(var(--rpg-ui-hud-padding) * .65) var(--rpg-ui-hud-padding) calc(var(--rpg-ui-hud-padding) * .65) calc(var(--rpg-ui-hud-padding) * .65);border-radius:var(--rpg-ui-radius-lg);background:var(--rpg-ui-hud-background);-webkit-backdrop-filter:var(--rpg-ui-backdrop-blur);border:1px solid var(--rpg-ui-hud-border);z-index:20;align-items:center;display:flex;position:absolute}.rpg-avatar,.rpg-ui-avatar{width:var(--rpg-ui-avatar-size);height:var(--rpg-ui-avatar-size);border-radius:var(--rpg-ui-radius-md);background:var(--rpg-ui-avatar-background);border:var(--rpg-ui-avatar-border-width) solid var(--rpg-ui-avatar-border);box-shadow:var(--rpg-ui-avatar-shadow);font-size:calc(var(--rpg-ui-avatar-size) * .5);flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;overflow:visible}.rpg-avatar-face,.rpg-ui-avatar-face{border-radius:calc(var(--rpg-ui-radius-md) - 4px);z-index:0;background:#0000003d;position:absolute;inset:3px;overflow:hidden}.rpg-avatar-face>*,.rpg-ui-avatar-face>*{display:block;position:absolute;inset:0;width:100%!important;height:100%!important;transform:none!important}.rpg-avatar-level,.rpg-ui-avatar-level{box-sizing:border-box;border:1px solid var(--rpg-ui-avatar-level-border);background:var(--rpg-ui-avatar-level-bg);min-width:22px;color:var(--rpg-ui-avatar-level-color);font-size:12px;font-weight:var(--rpg-ui-font-weight-bold);text-align:center;z-index:2;border-radius:10px;padding:2px 6px;line-height:1.2;position:absolute;bottom:-6px;right:-6px}.rpg-status-bars,.rpg-ui-status-bars{min-width:var(--rpg-ui-status-bars-width);flex-direction:column;gap:6px;display:flex}@media (width<=640px),(height<=520px){.rpg-hud,.rpg-ui-hud{--rpg-ui-avatar-size:56px;--rpg-ui-avatar-content-transform:translate(-50%, -48%) scale(.16);top:calc(8px + env(safe-area-inset-top,0px));left:calc(8px + env(safe-area-inset-left,0px));gap:10px;padding:8px 10px 8px 8px}.rpg-status-bars,.rpg-ui-status-bars{min-width:min(160px,100vw - 94px)}.rpg-bar-text,.rpg-ui-status-bar-label{font-size:11px}}.rpg-bar-container,.rpg-ui-status-bar{height:var(--rpg-ui-status-bar-height);border-radius:var(--rpg-ui-radius-full);background:var(--rpg-ui-status-bar-background);position:relative;overflow:hidden}.rpg-bar-fill,.rpg-ui-status-bar-fill{border-radius:inherit;height:100%;box-shadow:var(--rpg-ui-status-bar-shadow);background:var(--rpg-ui-gradient-bar);transition:width .3s ease-out}.rpg-bar-fill.health,.rpg-ui-status-bar-fill[data-type=health]{background:var(--rpg-ui-health-gradient)}.rpg-bar-fill.mana,.rpg-ui-status-bar-fill[data-type=mana]{background:var(--rpg-ui-mana-gradient)}.rpg-bar-fill.xp,.rpg-ui-status-bar-fill[data-type=experience]{background:var(--rpg-ui-xp-gradient)}.rpg-bar-text,.rpg-ui-status-bar-label{color:var(--rpg-ui-status-bar-label-color);font-size:12px;font-weight:var(--rpg-ui-font-weight-bold);text-shadow:0 1px 2px #000c;white-space:nowrap;position:absolute;top:50%;left:6px;transform:translateY(-50%)}.rpg-item-dock,.rpg-ui-dock{left:var(--rpg-ui-dock-left);bottom:var(--rpg-ui-dock-bottom);gap:var(--rpg-ui-dock-gap);padding:var(--rpg-ui-dock-padding);border-radius:var(--rpg-ui-radius-lg);transform:translateX(var(--rpg-ui-dock-translate-x));z-index:20;display:flex;position:absolute}.rpg-item-slot,.rpg-ui-dock-slot{width:var(--rpg-ui-dock-slot-size);height:var(--rpg-ui-dock-slot-size);border:1px solid var(--rpg-ui-dock-slot-border);border-radius:var(--rpg-ui-radius-md);background:var(--rpg-ui-dock-slot-bg);cursor:pointer;justify-content:center;align-items:center;font-size:28px;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s;display:flex;position:relative}.rpg-item-slot:hover,.rpg-ui-dock-slot:hover,.rpg-ui-dock-slot[data-hover=true]{background:var(--rpg-ui-dock-slot-bg-hover);border-color:var(--rpg-ui-dock-slot-border-hover);box-shadow:var(--rpg-ui-dock-slot-shadow-hover);transform:translateY(-8px)scale(1.08)}.rpg-item-slot.active,.rpg-ui-dock-slot[data-active=true],.rpg-ui-dock-slot[data-selected=true]{border-color:var(--rpg-ui-accent);background:var(--rpg-ui-dock-slot-bg-active);box-shadow:0 0 15px color-mix(in srgb, var(--rpg-ui-accent), transparent 35%)}.rpg-item-qty,.rpg-ui-dock-slot-qty{color:var(--rpg-ui-text);font-size:12px;font-weight:var(--rpg-ui-font-weight-bold);text-shadow:0 1px 2px #000000d9;position:absolute;bottom:4px;right:4px}.rpg-fab,.rpg-ui-fab{right:var(--rpg-ui-fab-right);bottom:var(--rpg-ui-fab-bottom);width:var(--rpg-ui-fab-size);height:var(--rpg-ui-fab-size);border:4px solid var(--rpg-ui-fab-border);background:var(--rpg-ui-fab-gradient);box-shadow:var(--rpg-ui-fab-shadow);cursor:pointer;z-index:20;border-radius:50%;justify-content:center;align-items:center;font-size:32px;transition:transform .12s;display:flex;position:absolute}.rpg-fab:active,.rpg-ui-fab:active{transform:scale(.95)}.rpg-minimap,.rpg-ui-minimap{top:var(--rpg-ui-minimap-top);right:var(--rpg-ui-minimap-right);width:var(--rpg-ui-minimap-size);height:var(--rpg-ui-minimap-size);border:4px solid var(--rpg-ui-minimap-border);background:var(--rpg-ui-minimap-background);box-shadow:var(--rpg-ui-minimap-shadow);z-index:20;border-radius:50%;position:absolute;overflow:hidden}.rpg-shop-layer{z-index:1000;box-sizing:border-box;background:#0000006b;justify-content:center;align-items:stretch;padding:clamp(10px,3vw,20px);display:flex;position:absolute;inset:0;overflow:hidden}.rpg-shop-container{width:min(var(--rpg-ui-shop-max-width), 100%);max-width:var(--rpg-ui-shop-max-width);border:1px solid var(--rpg-ui-shop-muted-border);border-radius:var(--rpg-ui-radius-lg);background:var(--rpg-ui-surface-overlay-strong);height:100%;min-height:0;-webkit-backdrop-filter:var(--rpg-ui-backdrop-blur);box-shadow:var(--rpg-ui-shadow-lg);flex-direction:column;margin:0 auto;display:flex;position:relative}.rpg-shop-body{flex:1;min-height:0;display:flex}.rpg-shop-left{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.rpg-shop-header{background:#0000002e;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:16px;padding:20px 30px;display:flex}.rpg-shop-merchant{align-items:center;gap:16px;min-width:0;display:flex}.rpg-shop-merchant-avatar{border:2px solid var(--rpg-ui-accent);background:#00000059;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;display:flex;overflow:hidden}.rpg-shop-merchant-avatar>*{object-fit:contain;width:100%!important;height:100%!important}.rpg-shop-merchant-info h2,.rpg-shop-merchant-info p{margin:0}.rpg-shop-merchant-info p{max-width:64ch;color:var(--rpg-ui-text-muted);overflow-wrap:anywhere}.rpg-shop-gold{border:1px solid color-mix(in srgb, var(--rpg-ui-shop-gold-color), transparent 70%);border-radius:var(--rpg-ui-radius-full);color:var(--rpg-ui-shop-gold-color);font-weight:var(--rpg-ui-font-weight-bold);white-space:nowrap;background:#00000052;align-items:center;gap:8px;padding:8px 16px;display:flex}.rpg-shop-tabs{scrollbar-width:thin;border-bottom:1px solid #ffffff0d;gap:24px;padding:0 30px;display:flex;overflow-x:auto}.rpg-shop-tab{color:var(--rpg-ui-text-muted);cursor:pointer;flex:none;padding:16px 0;transition:color .2s;position:relative}.rpg-shop-tab:hover{color:var(--rpg-ui-text)}.rpg-shop-tab.active,.rpg-shop-tab:focus{color:var(--rpg-ui-accent);font-weight:var(--rpg-ui-font-weight-bold);outline:none}.rpg-shop-tab.active:after,.rpg-shop-tab:focus:after{content:"";background:var(--rpg-ui-accent);height:3px;box-shadow:0 -2px 10px color-mix(in srgb, var(--rpg-ui-accent), transparent 15%);border-radius:3px 3px 0 0;position:absolute;bottom:0;left:0;right:0}.rpg-shop-content{flex:1;min-height:0;display:flex;overflow:hidden}.rpg-shop-grid{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--rpg-ui-accent), transparent 30%) transparent;flex-direction:column;flex:1;gap:12px;min-width:0;padding:30px;display:flex;overflow-y:auto}.rpg-shop-grid::-webkit-scrollbar{width:8px;height:8px}.rpg-shop-details::-webkit-scrollbar{width:8px;height:8px}.rpg-shop-container::-webkit-scrollbar{width:8px;height:8px}.rpg-shop-grid::-webkit-scrollbar-thumb{border-radius:var(--rpg-ui-radius-full);background:color-mix(in srgb, var(--rpg-ui-accent), transparent 35%)}.rpg-shop-details::-webkit-scrollbar-thumb{border-radius:var(--rpg-ui-radius-full);background:color-mix(in srgb, var(--rpg-ui-accent), transparent 35%)}.rpg-shop-container::-webkit-scrollbar-thumb{border-radius:var(--rpg-ui-radius-full);background:color-mix(in srgb, var(--rpg-ui-accent), transparent 35%)}.rpg-shop-card{border:1px solid var(--rpg-ui-shop-card-border);border-radius:var(--rpg-ui-radius-md);background:var(--rpg-ui-shop-card-background);cursor:pointer;align-items:center;gap:20px;padding:12px 20px;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s;display:flex}.rpg-shop-card.disabled{opacity:.5;cursor:not-allowed}.rpg-shop-card.disabled:hover,.rpg-shop-card.disabled:focus{background:var(--rpg-ui-shop-card-background);border-color:var(--rpg-ui-shop-card-border);box-shadow:none;transform:none}.rpg-shop-card:hover{background:var(--rpg-ui-shop-card-background-hover);transform:translate(4px)}.rpg-shop-card.selected,.rpg-shop-card:focus{border-color:var(--rpg-ui-shop-card-border-active);background:var(--rpg-ui-shop-card-background-active);box-shadow:0 0 20px color-mix(in srgb, var(--rpg-ui-accent), transparent 85%);outline:none}.rpg-shop-card-icon,.rpg-shop-details-icon{background:#00000047;justify-content:center;align-items:center;display:flex;overflow:hidden}.rpg-shop-card-icon{border-radius:var(--rpg-ui-radius-sm);flex-shrink:0;width:48px;height:48px;font-size:24px}.rpg-shop-card-icon>*,.rpg-shop-details-icon>*{background-position:50%!important;background-repeat:no-repeat!important;background-size:contain!important;width:100%!important;height:100%!important}.rpg-shop-card-name{min-width:0;font-size:16px;font-weight:var(--rpg-ui-font-weight-bold);text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.rpg-shop-card-price,.rpg-shop-details-qty,.rpg-shop-modal-qty{color:var(--rpg-ui-shop-gold-color);font-weight:var(--rpg-ui-font-weight-bold)}.rpg-shop-card-qty{color:var(--rpg-ui-text-muted);font-size:var(--rpg-ui-font-size-sm);white-space:nowrap}.rpg-shop-details{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--rpg-ui-accent), transparent 30%) transparent;background:#0003;border-left:1px solid #ffffff14;flex-direction:column;gap:20px;width:280px;min-height:0;padding:30px;display:flex;overflow:auto}.rpg-shop-details-header{text-align:center;border-bottom:1px solid #ffffff14;padding-bottom:20px}.rpg-shop-details-icon{border:2px solid var(--rpg-ui-border-light);border-radius:var(--rpg-ui-radius-md);width:80px;height:80px;margin:0 auto 16px;font-size:40px}.rpg-shop-details-desc{color:var(--rpg-ui-text-muted);line-height:1.6;font-size:var(--rpg-ui-font-size-sm);flex:1}.rpg-shop-content-mode{justify-content:center;align-items:center;padding:30px}.rpg-shop-details-mode{border-radius:var(--rpg-ui-radius-lg);width:100%;max-width:360px;box-shadow:var(--rpg-ui-shadow-md);background:#00000059;border:1px solid #ffffff1f;border-left:none}.rpg-shop-card-tag{border:1px solid color-mix(in srgb, var(--rpg-ui-accent), transparent 60%);border-radius:var(--rpg-ui-radius-full);background:color-mix(in srgb, var(--rpg-ui-accent), transparent 86%);color:var(--rpg-ui-accent);text-transform:uppercase;padding:4px 8px;font-size:11px}.rpg-shop-equipped{color:var(--rpg-ui-accent);letter-spacing:.5px;text-transform:uppercase;font-size:12px}.rpg-shop-stats{flex-direction:column;gap:8px;display:flex}.rpg-shop-stat{color:var(--rpg-ui-text-muted);justify-content:space-between;align-items:baseline;font-size:12px;display:flex}.rpg-shop-stat.positive .rpg-shop-stat-value{color:#7dff9a}.rpg-shop-stat.negative .rpg-shop-stat-value{color:#ff7d7d}.rpg-shop-stat-key{color:var(--rpg-ui-text);font-weight:var(--rpg-ui-font-weight-bold);letter-spacing:.5px}.rpg-shop-stat-value{color:#7fffd4;font-weight:var(--rpg-ui-font-weight-bold)}.rpg-shop-stat-current{color:var(--rpg-ui-text-muted);font-size:11px}.rpg-shop-trade{flex-direction:column;gap:12px;display:flex}.rpg-shop-trade-tabs{border-bottom:none;padding:0}.rpg-shop-quantity{border-radius:var(--rpg-ui-radius-md);background:#ffffff0d;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.rpg-shop-quantity-label{color:var(--rpg-ui-text-muted);letter-spacing:1px;text-transform:uppercase;font-size:12px}.rpg-shop-quantity-controls{align-items:center;gap:8px;display:flex}.rpg-shop-quantity-value{text-align:center;min-width:24px;font-weight:var(--rpg-ui-font-weight-bold)}.rpg-shop-modal{z-index:10;background:#0000008c;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.rpg-shop-modal-card{border-radius:var(--rpg-ui-radius-lg);width:100%;max-width:360px;max-height:100%;box-shadow:var(--rpg-ui-shadow-md);background:#0f0f19f2;border:1px solid #ffffff26;flex-direction:column;gap:12px;padding:24px;display:flex;overflow:auto}.rpg-shop-modal-title{color:var(--rpg-ui-accent);font-size:18px;font-weight:var(--rpg-ui-font-weight-bold);letter-spacing:1px;text-transform:uppercase}.rpg-shop-modal-item{color:var(--rpg-ui-text);font-size:16px}.rpg-shop-modal-actions{gap:10px;display:flex}.rpg-shop-modal-total{color:var(--rpg-ui-accent);font-weight:var(--rpg-ui-font-weight-bold);letter-spacing:.5px;text-transform:uppercase;border-top:1px solid #ffffff14;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:8px 0;display:flex}.rpg-shop-btn{border-radius:var(--rpg-ui-radius-full);background:var(--rpg-ui-accent);color:#03121a;width:100%;font-size:16px;font-weight:var(--rpg-ui-font-weight-bold);letter-spacing:1px;text-transform:uppercase;cursor:pointer;border:none;padding:16px;transition:transform .2s,background .2s,box-shadow .2s}.rpg-shop-btn:hover{background:var(--rpg-ui-accent-hover);box-shadow:0 0 20px color-mix(in srgb, var(--rpg-ui-accent), transparent 25%)}.rpg-shop-btn.rpg-shop-btn-secondary{color:var(--rpg-ui-text);background:#ffffff1a;border:1px solid #fff3}.rpg-shop-btn.rpg-shop-btn-secondary:hover{box-shadow:none;background:#ffffff2e}@media (width<=900px){.rpg-shop-layer{padding:calc(58px + env(safe-area-inset-top,0px)) calc(10px + env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) calc(10px + env(safe-area-inset-left,0px))}.rpg-shop-container{border-radius:var(--rpg-ui-radius-md);width:100%;height:100%;overflow:hidden}.rpg-shop-body{flex-direction:column;min-height:0}.rpg-shop-header{flex-direction:column;flex:none;align-items:stretch;padding:14px}.rpg-shop-tabs{gap:12px;padding:0 14px;overflow-x:auto}.rpg-shop-content{flex-direction:column;min-height:0;overflow:hidden}.rpg-shop-grid{flex:auto;min-height:140px;padding:14px;overflow:auto}.rpg-shop-card{grid-template-columns:40px minmax(0,1fr) auto;gap:10px;padding:10px 12px;display:grid}.rpg-shop-card-icon{width:40px;height:40px}.rpg-shop-details{box-sizing:border-box;border-top:1px solid #ffffff14;border-left:none;flex:0 auto;width:100%;max-height:42%;padding:14px}.rpg-shop-modal{padding:12px}}.rpg-ui-chat{gap:var(--rpg-ui-spacing-sm);width:min(var(--rpg-ui-chat-width), calc(100vw - 2 * var(--rpg-ui-spacing)));height:min(var(--rpg-ui-chat-height), calc(100vh - 2 * var(--rpg-ui-spacing)));padding:var(--rpg-ui-spacing);color:var(--rpg-ui-text);pointer-events:auto;grid-template-rows:minmax(0,1fr) auto auto;display:grid;position:absolute}.rpg-ui-chat[data-position=top-left]{top:var(--rpg-ui-spacing);left:var(--rpg-ui-spacing)}.rpg-ui-chat[data-position=top-right]{top:var(--rpg-ui-spacing);right:var(--rpg-ui-spacing)}.rpg-ui-chat[data-position=bottom-left]{bottom:var(--rpg-ui-spacing);left:var(--rpg-ui-spacing)}.rpg-ui-chat[data-position=bottom-right]{right:var(--rpg-ui-spacing);bottom:var(--rpg-ui-spacing)}.rpg-ui-chat-log{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;overflow-y:auto}.rpg-ui-chat-message{gap:var(--rpg-ui-spacing-sm);padding:var(--rpg-ui-chat-message-padding);border-bottom:var(--rpg-ui-chat-divider);grid-template-columns:minmax(5rem,auto) 1fr;display:grid}.rpg-ui-chat-author{color:var(--rpg-ui-accent);font-weight:var(--rpg-ui-font-weight-bold)}.rpg-ui-chat-text{overflow-wrap:anywhere;min-width:0}.rpg-ui-chat-error{color:var(--rpg-ui-danger);font-size:var(--rpg-ui-font-size-sm)}.rpg-ui-chat-form{gap:var(--rpg-ui-spacing-sm);grid-template-columns:minmax(0,1fr) auto;display:grid}.rpg-ui-chat-input{min-width:0}.rpg-ui-chat :is(input,button):focus-visible{outline:var(--rpg-ui-focus-width) solid var(--rpg-ui-focus-color);outline-offset:var(--rpg-ui-focus-offset)}@media (width<=600px){.rpg-ui-chat{right:var(--rpg-ui-spacing-sm);bottom:var(--rpg-ui-spacing-sm);left:var(--rpg-ui-spacing-sm);width:auto;height:min(45vh, var(--rpg-ui-chat-height))}}@media (prefers-reduced-motion:reduce){.rpg-ui-chat,.rpg-ui-chat *{scroll-behavior:auto;transition-duration:.01ms!important;animation-duration:.01ms!important}}
