@import "https://fonts.googleapis.com/css2?family=Alegreya:ital,wght@0,500;0,700;1,500&family=Source+Sans+3:ital,wght@0,400;0,600;0,700;1,400&display=swap";*,: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-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=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-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-character-select-layer{z-index:1000;box-sizing:border-box;background:radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--rpg-ui-accent), transparent 88%), transparent 38%), #000000d1;justify-content:center;align-items:center;padding:clamp(10px,2.5vw,36px);display:flex;position:absolute;inset:0}.rpg-ui-character-select{border:1px solid color-mix(in srgb, var(--rpg-ui-border), white 12%);background:linear-gradient(135deg, color-mix(in srgb, var(--rpg-ui-surface-overlay-strong), transparent 3%), var(--rpg-ui-surface-overlay-strong)), var(--rpg-ui-surface-overlay-strong);width:min(1180px,100%);max-height:min(820px,100%);color:var(--rpg-ui-text);-webkit-backdrop-filter:blur(18px);border-radius:22px;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 28px 90px #00000094,inset 0 1px #ffffff0f}.rpg-ui-character-select:before{border:1px solid color-mix(in srgb, var(--rpg-ui-border), transparent 55%);pointer-events:none;content:"";border-radius:16px;position:absolute;inset:8px}.rpg-ui-character-select-header{z-index:1;text-align:center;grid-template-columns:minmax(36px,1fr) auto minmax(36px,1fr);align-items:center;gap:22px;padding:clamp(18px,3vw,30px) clamp(24px,4vw,48px) 16px;display:grid;position:relative}.rpg-ui-character-select-header h1,.rpg-ui-character-select-header p{margin:0}.rpg-ui-character-select-header h1{letter-spacing:-.02em;text-shadow:0 2px 20px #00000073;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.75rem,4vw,2.75rem);line-height:1.05}.rpg-ui-character-select-header p{color:var(--rpg-ui-text-muted);margin-top:9px;font-size:clamp(.8rem,1.8vw,1rem)}.rpg-ui-character-select-ornament{background:linear-gradient(90deg, transparent, var(--rpg-ui-border));height:1px}.rpg-ui-character-select-ornament:after{border:1px solid var(--rpg-ui-accent);background:var(--rpg-ui-surface);content:"";width:8px;height:8px;margin:-4px 0 0 auto;display:block;transform:rotate(45deg)}.rpg-ui-character-select-ornament-right{transform:scaleX(-1)}.rpg-ui-character-select-stage{z-index:1;align-items:center;min-height:0;padding:0 clamp(12px,4vw,54px);display:flex;position:relative}.rpg-ui-character-select-viewport{border:1px solid color-mix(in srgb, var(--rpg-ui-border), white 8%);background:color-mix(in srgb, var(--rpg-ui-bg), transparent 24%);border-radius:13px;flex:1;min-width:0;overflow:hidden;box-shadow:inset 0 0 55px #00000047}.rpg-ui-character-select-card{grid-template-columns:minmax(260px,39%) 1fr;gap:clamp(20px,3vw,38px);min-height:430px;padding:18px;animation:.4s cubic-bezier(.22,1,.36,1) both rpg-character-select-next;display:grid;position:relative}.rpg-ui-character-select-card[data-direction=previous]{animation-name:rpg-character-select-previous}.rpg-ui-character-select-portrait{border:1px solid color-mix(in srgb, var(--rpg-ui-border), white 14%);background:linear-gradient(180deg, transparent 45%, #0000008c), radial-gradient(circle at 50% 70%, color-mix(in srgb, var(--rpg-ui-accent), transparent 76%), transparent 46%), var(--rpg-ui-bg);border-radius:8px;justify-content:center;align-items:flex-end;min-height:390px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 48px #0000007a}.rpg-ui-character-select-portrait:before,.rpg-ui-character-select-portrait:after{z-index:2;border-color:color-mix(in srgb, var(--rpg-ui-text-muted), transparent 25%);pointer-events:none;content:"";width:22px;height:22px;position:absolute}.rpg-ui-character-select-portrait:before{border-top:2px solid;border-left:2px solid;top:10px;left:10px}.rpg-ui-character-select-portrait:after{border-bottom:2px solid;border-right:2px solid;bottom:10px;right:10px}.rpg-ui-character-select-portrait-glow{background:color-mix(in srgb, var(--rpg-ui-accent), transparent 62%);filter:blur(22px);border-radius:50%;width:74%;height:80px;position:absolute;bottom:-34px}.rpg-ui-character-select-portrait-fallback{color:var(--rpg-ui-text-muted);align-self:center;font:5rem Georgia,serif}.rpg-ui-character-select-details{flex-direction:column;justify-content:center;min-width:0;padding:clamp(6px,1.5vw,18px) clamp(4px,1vw,12px) clamp(6px,1.5vw,18px) 0;display:flex}.rpg-ui-character-select-identity{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.rpg-ui-character-select-identity h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4.5vw,3.1rem);line-height:1}.rpg-ui-character-select-class{color:var(--rpg-ui-accent-hover);align-items:center;gap:9px;margin-top:12px;font-size:clamp(1rem,2vw,1.3rem);display:flex}.rpg-ui-character-select-class-icon{border:1px solid var(--rpg-ui-accent);background:color-mix(in srgb, var(--rpg-ui-accent), transparent 88%);border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.rpg-ui-character-select-check{border:2px solid var(--rpg-ui-accent);width:38px;height:38px;color:var(--rpg-ui-accent-hover);box-shadow:0 0 20px color-mix(in srgb, var(--rpg-ui-accent), transparent 56%);border-radius:50%;flex:0 0 38px;justify-content:center;align-items:center;font-weight:700;display:flex}.rpg-ui-character-select-description{border:1px solid var(--rpg-ui-border);background:color-mix(in srgb, var(--rpg-ui-bg), transparent 24%);color:var(--rpg-ui-text-muted);border-radius:8px;grid-template-columns:auto 1fr;gap:14px;margin-top:22px;padding:17px 19px;display:grid}.rpg-ui-character-select-description>span{color:var(--rpg-ui-accent-hover)}.rpg-ui-character-select-description p{margin:0;line-height:1.55}.rpg-ui-character-select-stats{border-top:1px solid var(--rpg-ui-border);grid-template-columns:repeat(5,minmax(0,1fr));margin-top:20px;padding-top:16px;display:grid}.rpg-ui-character-select-stat{border-right:1px solid var(--rpg-ui-border);text-align:center;min-width:0;animation:rpg-character-select-stat .36s cubic-bezier(.22, 1, .36, 1) var(--rpg-stat-delay) both;padding:0 clamp(8px,1.4vw,15px)}.rpg-ui-character-select-stat:first-child{padding-left:0}.rpg-ui-character-select-stat:last-child{border-right:0;padding-right:0}.rpg-ui-character-select-stat-label{color:var(--rpg-ui-text-muted);justify-content:center;align-items:center;gap:5px;font-size:clamp(.68rem,1.25vw,.85rem);display:flex}.rpg-ui-character-select-stat-label>span:first-child{color:var(--rpg-ui-accent-hover)}.rpg-ui-character-select-stat>strong{margin-top:8px;font:1.35rem Georgia,serif;display:block}.rpg-ui-character-select-stat-bar{background:color-mix(in srgb, var(--rpg-ui-border), transparent 36%);border-radius:2px;height:5px;margin-top:10px;overflow:hidden}.rpg-ui-character-select-stat-bar span{border-radius:inherit;background:var(--rpg-ui-accent);height:100%;box-shadow:0 0 8px var(--rpg-ui-accent);display:block}.rpg-ui-character-select-arrow{z-index:3;border:1px solid var(--rpg-ui-border);background:var(--rpg-ui-surface);width:42px;height:64px;color:var(--rpg-ui-text);cursor:pointer;border-radius:9px;flex:0 0 42px;justify-content:center;align-items:center;font:2rem/1 Georgia,serif;transition:border-color .16s,color .16s,box-shadow .16s;display:flex;position:relative}.rpg-ui-character-select-arrow-left{margin-right:10px}.rpg-ui-character-select-arrow-right{margin-left:10px}.rpg-ui-character-select-arrow:hover,.rpg-ui-character-select-arrow:focus-visible{border-color:var(--rpg-ui-accent);color:var(--rpg-ui-accent-hover);box-shadow:0 0 20px color-mix(in srgb, var(--rpg-ui-accent), transparent 65%);outline:none}.rpg-ui-character-select-footer{z-index:1;grid-template-columns:1fr auto auto;align-items:center;gap:18px;padding:18px clamp(24px,4vw,54px) 24px;display:grid;position:relative}.rpg-ui-character-select-hint{min-width:0;color:var(--rpg-ui-text-muted);align-items:center;gap:12px;font-size:.82rem;display:flex}.rpg-ui-character-select-hint>span{border:1px solid var(--rpg-ui-accent);width:26px;height:26px;color:var(--rpg-ui-accent-hover);border-radius:50%;flex:0 0 26px;justify-content:center;align-items:center;font-family:Georgia,serif;display:flex}.rpg-ui-character-select-hint p{margin:0}.rpg-ui-character-select-pagination{color:var(--rpg-ui-text-muted);font-variant-numeric:tabular-nums}.rpg-ui-character-select-actions{gap:10px;display:flex}.rpg-ui-character-select-confirm{border-color:var(--rpg-ui-accent);min-width:170px;box-shadow:0 0 20px color-mix(in srgb, var(--rpg-ui-accent), transparent 75%);justify-content:center;align-items:center;gap:10px;display:inline-flex}@keyframes rpg-character-select-next{0%{opacity:0;filter:blur(7px);transform:translate(5%)scale(.985)}to{opacity:1;filter:blur();transform:translate(0)scale(1)}}@keyframes rpg-character-select-previous{0%{opacity:0;filter:blur(7px);transform:translate(-5%)scale(.985)}to{opacity:1;filter:blur();transform:translate(0)scale(1)}}@keyframes rpg-character-select-stat{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=780px){.rpg-ui-character-select-layer{align-items:center;padding:6px;overflow-y:auto}.rpg-ui-character-select{border-radius:14px;max-height:calc(100dvh - 12px);overflow-y:auto}.rpg-ui-character-select-header{padding-top:16px}.rpg-ui-character-select-card{grid-template-columns:34% 1fr;gap:14px;min-height:0;padding:12px}.rpg-ui-character-select-portrait{min-height:280px}.rpg-ui-character-select-description{margin-top:14px;padding:12px;font-size:.82rem}.rpg-ui-character-select-stats{grid-template-columns:repeat(5,1fr);margin-top:14px}.rpg-ui-character-select-stat-label span:last-child{display:none}.rpg-ui-character-select-footer{grid-template-columns:1fr auto;padding-top:12px}.rpg-ui-character-select-hint{display:none}.rpg-ui-character-select-arrow{flex-basis:34px;width:34px}}@media (width<=520px){.rpg-ui-character-select-header{grid-template-columns:24px 1fr 24px;gap:8px}.rpg-ui-character-select-header p{display:none}.rpg-ui-character-select-stage{padding:0 6px}.rpg-ui-character-select-card{grid-template-columns:1fr}.rpg-ui-character-select-portrait{min-height:180px;max-height:34vh}.rpg-ui-character-select-details{padding:0 4px 4px}.rpg-ui-character-select-identity h2{font-size:1.8rem}.rpg-ui-character-select-description{display:none}.rpg-ui-character-select-footer{padding:10px 12px 14px}.rpg-ui-character-select-pagination{display:none}.rpg-ui-character-select-actions{width:100%}.rpg-ui-character-select-actions .rpg-ui-btn{flex:1;min-width:0}.rpg-ui-character-select-arrow{background:color-mix(in srgb, var(--rpg-ui-surface), transparent 12%);position:absolute;top:78px}.rpg-ui-character-select-arrow-left{margin:0;left:12px}.rpg-ui-character-select-arrow-right{margin:0;right:12px}}@media (prefers-reduced-motion:reduce){.rpg-ui-character-select-card,.rpg-ui-character-select-stat{animation-duration:1ms;animation-delay:0s}}.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-position:50%;background-repeat:no-repeat;background-size:cover;flex-direction:column;display:flex;position:relative;overflow:hidden}.rpg-ui-title-screen:after{content:"";z-index:1;pointer-events:none;background-image:radial-gradient(circle at 20% 20%,#ffffff14,#0000 45%),radial-gradient(circle at 80% 10%,#ffffff0d,#0000 50%),linear-gradient(#00000059,#000000bf);position:absolute;inset:0}.rpg-ui-title-screen-header{z-index:2;gap:var(--rpg-ui-spacing-sm);margin-bottom:var(--rpg-ui-spacing-lg);flex-direction:column;display:flex;position:relative}.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{z-index:2;width:min(360px,85vw);box-shadow:none;background:0 0;border:none;position:relative}.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);z-index:2;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}}.rpg-ui-cinematic{z-index:10000;width:100%;height:100%;color:var(--rpg-ui-text,white);touch-action:none;background:#000;outline:none;place-items:center;animation:.2s rpg-cinematic-in;display:grid;position:relative;overflow:hidden}.rpg-ui-cinematic-video{object-fit:contain;opacity:0;grid-area:1/1;width:100%;height:100%;transition:opacity .2s}.rpg-ui-cinematic[data-state=playing] .rpg-ui-cinematic-video{opacity:1}.rpg-ui-cinematic-status,.rpg-ui-cinematic-action{z-index:1;text-align:center;grid-area:1/1;max-width:90%}.rpg-ui-cinematic-status{align-self:center}.rpg-ui-cinematic[data-state=error] .rpg-ui-cinematic-action{transform:translateY(4rem)}.rpg-ui-cinematic-skip{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;background:#000c;border:1px solid #ffffff73;align-items:center;gap:.65rem;max-width:calc(100% - 2rem);min-height:44px;display:flex;position:absolute}.rpg-ui-cinematic button{cursor:pointer}.rpg-ui-cinematic button:focus-visible{outline-offset:4px;outline:2px solid #fff}.rpg-ui-cinematic [hidden]{display:none}.rpg-ui-cinematic[data-state=closing]{opacity:0;transition:opacity .2s}@keyframes rpg-cinematic-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.rpg-ui-cinematic,.rpg-ui-cinematic-video{animation:none;transition:none!important}}:root{--rpg-ui-body-bg:#1a1a2e;--rpg-ui-body-background:radial-gradient(circle at 10% 20%, #5a228b66 0%, transparent 40%), radial-gradient(circle at 90% 80%, #00e5ff33 0%, transparent 40%), linear-gradient(180deg, #1a1a2e 0%, #121221 100%);--rpg-ui-body-background-size:cover;--rpg-ui-body-background-position:center;--rpg-ui-body-background-attachment:fixed;--rpg-ui-bg:#0f1020;--rpg-ui-surface:#14141ed1;--rpg-ui-surface-light:#ffffff14;--rpg-ui-surface-overlay:#14141ead;--rpg-ui-surface-overlay-strong:#14141ee6;--rpg-ui-border:#ffffff1f;--rpg-ui-border-light:#ffffff4d;--rpg-ui-border-dark:#0000004d;--rpg-ui-text:#fff;--rpg-ui-text-muted:#ffffffb3;--rpg-ui-text-shadow:0 2px 4px #00000080;--rpg-ui-accent:#00e5ff;--rpg-ui-accent-hover:#84ffff;--rpg-ui-accent-active:#00b8d4;--rpg-ui-success:#22c55e;--rpg-ui-warning:#f6c453;--rpg-ui-danger:#ef4444;--rpg-ui-info:#00e5ff;--rpg-ui-mana:#448aff;--rpg-ui-xp:#ffd740;--rpg-ui-gradient-surface:linear-gradient(180deg, #232332e6 0%, #12121eeb 100%);--rpg-ui-gradient-accent:linear-gradient(180deg, #84ffff 0%, #00e5ff 100%);--rpg-ui-gradient-bar:linear-gradient(90deg, #84ffff 0%, #00b8d4 100%);--rpg-ui-health-gradient:linear-gradient(90deg, #ff5252 0%, #ff1744 100%);--rpg-ui-mana-gradient:linear-gradient(90deg, #448aff 0%, #2979ff 100%);--rpg-ui-xp-gradient:linear-gradient(90deg, #ffd740 0%, #ffc400 100%);--rpg-ui-fab-gradient:linear-gradient(135deg, #ff5252 0%, #d50000 100%);--rpg-ui-font:"Fredoka", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--rpg-ui-font-mono:"Consolas", "SFMono-Regular", monospace;--rpg-ui-font-size:16px;--rpg-ui-font-size-sm:14px;--rpg-ui-font-size-lg:20px;--rpg-ui-font-size-xl:32px;--rpg-ui-font-weight:600;--rpg-ui-font-weight-bold:700;--rpg-ui-radius-sm:8px;--rpg-ui-radius-md:16px;--rpg-ui-radius-lg:24px;--rpg-ui-radius-full:9999px;--rpg-ui-border-width:1px;--rpg-ui-spacing-sm:8px;--rpg-ui-spacing:12px;--rpg-ui-spacing-lg:24px;--rpg-ui-spacing-xl:32px;--rpg-ui-shadow:0 4px 12px #0003;--rpg-ui-shadow-sm:0 8px 18px #0003;--rpg-ui-shadow-md:0 12px 30px #00000059;--rpg-ui-shadow-lg:0 20px 50px #00000080;--rpg-ui-shadow-glow:0 0 24px #00e5ff47;--rpg-ui-shadow-inset:inset 0 1px 0 #ffffff0f;--rpg-ui-backdrop-blur:blur(16px);--rpg-ui-hud-background:#0006;--rpg-ui-hud-border:#ffffff1a;--rpg-ui-avatar-background:#333;--rpg-ui-avatar-border:#ffffffe6;--rpg-ui-avatar-level-bg:#212121;--rpg-ui-avatar-level-color:#ffd740;--rpg-ui-avatar-level-border:#ffd740;--rpg-ui-status-bar-background:#00000080;--rpg-ui-status-bar-shadow:0 0 10px #ffffff4d;--rpg-ui-status-bar-label-color:#ffffffeb;--rpg-ui-dock-slot-bg:#ffffff0d;--rpg-ui-dock-slot-bg-hover:#ffffff26;--rpg-ui-dock-slot-bg-active:#00e5ff1a;--rpg-ui-dock-slot-border:#ffffff1a;--rpg-ui-dock-slot-border-hover:#ffffff80;--rpg-ui-dock-slot-shadow-hover:0 10px 20px #0000004d;--rpg-ui-minimap-background:#222;--rpg-ui-minimap-border:#ffffff1a;--rpg-ui-minimap-shadow:0 8px 32px #00000080;--rpg-ui-shop-card-background:#ffffff0d;--rpg-ui-shop-card-background-hover:#ffffff1a;--rpg-ui-shop-card-background-active:#00e5ff1a;--rpg-ui-shop-card-border:#ffffff1a;--rpg-ui-shop-card-border-active:var(--rpg-ui-accent);--rpg-ui-shop-muted-border:#ffffff1a;--rpg-ui-shop-gold-color:gold}.rpg-ui-panel,.rpg-ui-window,.rpg-ui-menu,.rpg-ui-menu-panel,.rpg-ui-dialog,.rpg-ui-save-load,.rpg-ui-toast,.rpg-ui-notification{background:var(--rpg-ui-surface-overlay-strong);border-width:1px;border-color:var(--rpg-ui-border);border-radius:var(--rpg-ui-radius-lg);box-shadow:var(--rpg-ui-shadow-lg);-webkit-backdrop-filter:var(--rpg-ui-backdrop-blur)}.rpg-ui-panel:after,.rpg-ui-window:after{display:none}.rpg-ui-window{padding-top:calc(var(--rpg-ui-spacing-lg) + 12px)}.rpg-ui-window-title,.rpg-ui-dialog-speaker,.rpg-ui-menu-panel-header,.rpg-ui-main-menu-section-title,.rpg-ui-toast-title{color:var(--rpg-ui-accent);letter-spacing:.08em;text-transform:uppercase}.rpg-ui-window-title{border-radius:var(--rpg-ui-radius-full);color:var(--rpg-ui-accent);box-shadow:none;background:#0000008c;border:1px solid #00e5ff59;padding:6px 14px;top:-14px}.rpg-ui-btn{border-radius:var(--rpg-ui-radius-full);color:#03121a;font-weight:var(--rpg-ui-font-weight-bold);letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(#84ffff 0%,#00e5ff 100%);border:1px solid #ffffff29;margin-bottom:0;padding:12px 18px;box-shadow:0 10px 24px #00e5ff29}.rpg-ui-btn:hover{color:#03121a;background:linear-gradient(#b2ffff 0%,#84ffff 100%);box-shadow:0 14px 28px #00e5ff38}.rpg-ui-btn:active{transform:translateY(1px);box-shadow:0 6px 18px #00e5ff1f}.rpg-ui-btn[data-variant=primary]{background:linear-gradient(#84ffff 0%,#00e5ff 100%)}.rpg-ui-btn[data-variant=primary]:hover{background:linear-gradient(#b2ffff 0%,#84ffff 100%)}.rpg-ui-btn[data-variant=success]{color:#03120a;background:linear-gradient(#4ade80 0%,#22c55e 100%)}.rpg-ui-btn[data-variant=success]:hover{color:#03120a;background:linear-gradient(#86efac 0%,#4ade80 100%)}.rpg-ui-btn[data-variant=warning]{color:#241503;background:linear-gradient(#fcd34d 0%,#f59e0b 100%)}.rpg-ui-btn[data-variant=warning]:hover{color:#241503;background:linear-gradient(#fde68a 0%,#fcd34d 100%)}.rpg-ui-btn[data-variant=danger]{color:#fff;background:linear-gradient(#fb7185 0%,#ef4444 100%)}.rpg-ui-btn[data-variant=danger]:hover{color:#fff;background:linear-gradient(#fda4af 0%,#fb7185 100%)}.rpg-ui-menu{gap:8px}.rpg-ui-menu-item,.rpg-ui-dialog-choice,.rpg-ui-save-load-slot{border:1px solid #0000;border-radius:14px}.rpg-ui-menu-item:hover,.rpg-ui-menu-item[data-selected=true],.rpg-ui-dialog-choice.active,.rpg-ui-dialog-choice:focus,.rpg-ui-save-load-slot.active,.rpg-ui-save-load-slot:focus{color:#fff;background:#0006;border-color:#00e5ff59;box-shadow:inset 0 0 12px #00e5ff29}.rpg-ui-menu-tab{border-radius:var(--rpg-ui-radius-full);color:#ffffffb3;background:#ffffff14;border:1px solid #0000}.rpg-ui-menu-tab.active,.rpg-ui-menu-tab[data-active=true]{color:#fff;background:#00e5ff33;border-color:#00e5ff59}.rpg-ui-menu-panel-details,.rpg-ui-main-menu-status-block,.rpg-ui-equip-stat,.rpg-ui-menu-confirm-card{background:#00000052;border-color:#ffffff1a}.rpg-ui-main-menu{padding:clamp(10px,3vw,32px);position:absolute;inset:0}.rpg-ui-main-menu-layout{align-items:stretch;height:min(500px,100%)}.rpg-ui-main-menu-status-block{border-radius:14px}.rpg-ui-dialog{--rpg-ui-dialog-min-height:220px;min-height:min(220px,100%)}@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))}.rpg-ui-main-menu-layout{align-items:stretch;height:100%}}@media (width<=640px),(height<=520px){.rpg-ui-dialog{--rpg-ui-dialog-min-height:0px;min-height:0}}.rpg-ui-dialog-speaker{border-radius:var(--rpg-ui-radius-full);box-shadow:none;background:#0000008c;border-width:1px;border-color:#00e5ff52;top:-18px}.rpg-ui-dialog-content{color:#ffffffe6;text-shadow:none}.rpg-ui-dialog-face{box-shadow:none;background:0 0;border:0}.rpg-ui-dialog-indicator{filter:drop-shadow(0 0 10px #00e5ff66)}.rpg-ui-save-load-slot{background:#ffffff0f;border-color:#ffffff1f}.rpg-ui-notification{background:#14141eeb}.rpg-ui-notification-icon{background:#00000047}.rpg-ui-menu-confirm-btn{border-radius:var(--rpg-ui-radius-full)}.rpg-ui-menu-confirm-btn-secondary{color:#ffffffd6;background:#ffffff14}:root{--thdp-ink:#14181c;--thdp-ink-2:#1c2227;--thdp-ink-soft:#283137;--thdp-paper:#efe6d0;--thdp-paper-dim:#b9ad92;--thdp-stone:#58646a;--thdp-line:#ecdcb042;--thdp-hp:#a8422f;--thdp-qi:#5f9e96;--thdp-prana:#c58a3a;--thdp-seal:#b23a26;--thdp-success:#8aa66b;--thdp-warning:#c9a24a;--thdp-danger:#a8422f;--thdp-locked:#6b6a63;--thdp-font-display:"Alegreya", "Iowan Old Style", Palatino, "Palatino Linotype", serif;--thdp-font-body:"Source Sans 3", "Segoe UI", sans-serif;--thdp-radius:4px;--thdp-space:12px;--thdp-shadow:0 18px 48px #00000073;--thdp-gold:#c9b27c;--thdp-gold-bright:#ecdcb0;--thdp-jade:#8fd6c8;--thdp-ink-wash:#14181ce0;--thdp-ink-wash-soft:#283137d6;--thdp-ink-wash-blur:blur(4px);--thdp-hairline:#ecdcb03d;--thdp-plate:var(--thdp-ink-wash);--thdp-plate-soft:var(--thdp-ink-wash-soft);--thdp-paper-plate:var(--thdp-paper);--thdp-grain:none;--thdp-inset:none;--thdp-glow:none;--thdp-ink-shade:0 4px 18px #06080a8c;--thdp-z-hud:10;--thdp-z-toast:30;--thdp-z-panel:40;--thdp-z-dialog:1000;--thdp-move:.14s;--rpg-ui-body-bg:#111;--rpg-ui-body-background:#111;--rpg-ui-bg:var(--thdp-ink);--rpg-ui-surface:#14181cdb;--rpg-ui-surface-light:var(--thdp-ink-2);--rpg-ui-surface-overlay:#14181cb8;--rpg-ui-surface-overlay-strong:#14181ceb;--rpg-ui-border:var(--thdp-line);--rpg-ui-border-light:#b8a06a9e;--rpg-ui-border-dark:var(--thdp-ink);--rpg-ui-text:var(--thdp-paper);--rpg-ui-text-muted:var(--thdp-paper-dim);--rpg-ui-text-shadow:none;--rpg-ui-accent:var(--thdp-prana);--rpg-ui-accent-hover:#d7a45a;--rpg-ui-accent-active:#a87430;--rpg-ui-success:var(--thdp-success);--rpg-ui-warning:var(--thdp-warning);--rpg-ui-danger:var(--thdp-danger);--rpg-ui-info:var(--thdp-qi);--rpg-ui-mana:var(--thdp-prana);--rpg-ui-xp:var(--thdp-prana);--rpg-ui-gradient-surface:linear-gradient(180deg, #1c2227f0, #14181cf0);--rpg-ui-gradient-accent:linear-gradient(180deg, #d7a45a, var(--thdp-prana));--rpg-ui-gradient-bar:linear-gradient(90deg, var(--thdp-prana), var(--thdp-qi));--rpg-ui-health-gradient:linear-gradient(90deg, #c45a45, var(--thdp-hp));--rpg-ui-mana-gradient:linear-gradient(90deg, #d7a45a, var(--thdp-prana));--rpg-ui-xp-gradient:linear-gradient(90deg, var(--thdp-qi), #7fb8af);--rpg-ui-font:var(--thdp-font-body);--rpg-ui-font-display:var(--thdp-font-display);--rpg-ui-font-dialogue:var(--thdp-font-body);--rpg-ui-font-weight:600;--rpg-ui-radius-sm:4px;--rpg-ui-radius-md:var(--thdp-radius);--rpg-ui-radius-lg:6px;--rpg-ui-border-width:1px;--rpg-ui-shadow:var(--thdp-shadow);--rpg-ui-shadow-sm:var(--thdp-shadow);--rpg-ui-shadow-md:var(--thdp-shadow);--rpg-ui-shadow-lg:var(--thdp-shadow);--rpg-ui-shadow-glow:none;--rpg-ui-shadow-inset:inset 0 1px 0 #efe6d014;--rpg-ui-backdrop-blur:blur(3px);--rpg-ui-control-radius:var(--thdp-radius);--rpg-ui-ornament-opacity:0;--rpg-ui-emblem:none;--rpg-ui-emblem-display:none;--rpg-ui-hud-background:#14181cc7;--rpg-ui-hud-border:var(--thdp-line);--rpg-ui-status-bar-background:#080a0c8c;--rpg-ui-status-bar-shadow:none;--rpg-ui-status-bar-label-color:var(--thdp-paper);--rpg-ui-dock-slot-bg:var(--thdp-ink-2);--rpg-ui-dock-slot-bg-hover:#262d33;--rpg-ui-dock-slot-bg-active:#c58a3a29;--rpg-ui-dock-slot-border:var(--thdp-line);--rpg-ui-dock-slot-border-hover:#b8a06ab3;--rpg-ui-dock-slot-shadow-hover:none;--rpg-ui-shop-gold-color:var(--thdp-prana);--rpg-ui-dialogue-font-size:20px}.ui-mat-paper{background-color:var(--thdp-paper);color:var(--thdp-ink)}.ui-mat-ink{background-color:var(--thdp-ink);color:var(--thdp-paper)}.ui-mat-ink.ui-mat-ink-edge{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-image:url(/ui/ui-v1/15_ui_ink_panel.png) 128 96 256 fill/36px 32px 64px;border-radius:0}.ui-mat-paper.ui-mat-paper-edge{box-shadow:none;background:0 0;border:0;border-image:url(/ui/ui-v1/06_ui_parchment.png) 80 fill/24px;border-radius:0}.ui-mat-brush{background:url(/ui/ui-v1/01_ui_bar_ivory.png) 50%/100% 100% no-repeat}.ui-mat-ring{background-image:url(/ui/ui-v1/03_ui_enso.png);background-position:50%;background-repeat:no-repeat;background-size:contain}.ui-mat-seal{background:url(/ui/ui-v1/04_ui_panel_red.png) 50%/contain no-repeat}html,body,#rpg{width:100%;height:100%;margin:0}body{color:var(--thdp-paper);font-family:var(--thdp-font-body);background:#111;overflow:hidden}.rpg-ui-panel,.rpg-ui-window,.rpg-ui-menu,.rpg-ui-menu-panel,.rpg-ui-dialog,.rpg-ui-save-load,.rpg-ui-toast,.rpg-ui-notification{border:1px solid var(--thdp-hairline);border-radius:var(--thdp-radius);background:var(--thdp-ink-wash);-webkit-backdrop-filter:var(--thdp-ink-wash-blur);backdrop-filter:var(--thdp-ink-wash-blur);box-shadow:var(--thdp-ink-shade)}.ui-panel-window{padding:28px 32px 22px;position:relative}.rpg-ui-window-title,.rpg-ui-dialog-speaker,.rpg-ui-menu-panel-header,.ui-panel-title{font-family:var(--thdp-font-display);letter-spacing:.01em;text-transform:none}.ui-panel-title{color:var(--thdp-paper);letter-spacing:.03em;background:linear-gradient(90deg, var(--thdp-ink-soft), transparent) left bottom / 100% 1px no-repeat;align-items:center;gap:14px;margin:0 0 18px;padding-bottom:14px;font-size:32px;font-weight:700;display:flex}.ui-panel-title:before{content:"";background:var(--thdp-ink-soft);border-radius:50%;flex:none;width:8px;height:8px}.ui-panel-window h3{font-family:var(--thdp-font-display);color:var(--thdp-paper);margin:0 0 6px;font-size:21px;font-weight:700}.ui-panel-window p{line-height:1.55}.rpg-ui-btn{border:1px solid var(--thdp-hairline);border-radius:var(--thdp-radius);box-shadow:none;color:var(--thdp-paper);font-family:var(--thdp-font-body);letter-spacing:.06em;text-transform:none;transition:background var(--thdp-move), border-color var(--thdp-move), color var(--thdp-move), transform 80ms;background:#ecdcb00d;font-weight:600;position:relative;overflow:hidden}.rpg-ui-btn:hover{border-color:var(--thdp-paper-dim);box-shadow:none;color:var(--thdp-paper);background:#efe6d024}.rpg-ui-btn:active,.rpg-ui-btn[aria-pressed=true]{box-shadow:none;background:#ecdcb038;transform:translateY(1px)}.rpg-ui-btn:focus-visible,.cultivation-node:focus-visible,.ui-equipment-card:focus-visible{outline:1px solid var(--thdp-gold-bright);outline-offset:3px;box-shadow:none}.rpg-ui-btn:disabled{color:var(--thdp-locked);box-shadow:none;cursor:not-allowed;background:#ffffff08;border-color:#ecdcb01a}.rpg-ui-btn[data-variant=primary]{border-color:var(--thdp-paper-dim);background:var(--thdp-paper);color:var(--thdp-ink);font-weight:700}.rpg-ui-btn[data-variant=primary]:hover{border-color:var(--thdp-ink-soft);background:var(--thdp-paper-dim);box-shadow:none;color:var(--thdp-ink)}.rpg-ui-btn[data-variant=primary]:disabled{color:var(--thdp-locked);text-shadow:none;background:#ffffff0a;border-color:#ecdcb01a}.rpg-ui-btn[data-variant=secondary],.rpg-ui-btn[data-variant=ghost]{color:var(--thdp-paper);background:0 0}.rpg-ui-btn[data-variant=danger]{color:#f6d4ca;background:#a8422f38;border-color:#c45a45b3}.rpg-ui-btn[data-variant=danger]:hover{box-shadow:none;color:#fff0ea;background:#a8422f6b;border-color:#d0624b}.ui-bar{background:#040608b8;border:1px solid #efe6d02e;border-radius:2px;height:20px;position:relative;overflow:hidden}.ui-bar-ghost,.ui-bar-fill{height:100%;position:absolute;inset:0 auto 0 0}.ui-bar-ghost{background:#efe6d052;transition:width .3s linear .3s}.ui-bar-fill{background:var(--thdp-paper-dim);transition:width .16s ease-out}.ui-bar[data-tone=hp] .ui-bar-fill{background:var(--thdp-hp)}.ui-bar[data-tone=prana] .ui-bar-fill{background:linear-gradient(90deg, var(--thdp-prana) 0 calc(100% - 3px), var(--thdp-qi) calc(100% - 3px))}.ui-bar[data-tone=qi] .ui-bar-fill{background:var(--thdp-qi)}.ui-bar-label{z-index:2;color:#fff8e6;letter-spacing:.08em;text-shadow:0 1px 3px #000000e6;align-items:center;gap:6px;height:100%;padding:0 14px;font-size:11px;font-weight:700;display:flex;position:relative}.ui-keycap{min-width:1.5em;color:var(--thdp-paper);font-family:var(--thdp-font-body);background:#080a0cb8;border:1px solid #ecdcb073;border-radius:3px;place-items:center;padding:0 5px;font-size:11px;font-weight:700;line-height:1.5;display:inline-grid;box-shadow:0 2px 4px #06080a8c}.ui-icon{vertical-align:-3px;fill:currentColor;stroke:none;stroke-width:0;width:16px;height:16px;display:inline-block}.ui-sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.ui-panel-hint{color:var(--thdp-paper-dim);letter-spacing:.04em;border-top:1px solid #ecdcb01f;margin:14px 0 0;padding-top:10px;font-size:13px}@media (prefers-reduced-motion:reduce){.ui-bar-ghost,.ui-panel-window,.ui-panel-layer[data-closing=true],.ui-panel-layer[data-opening=true]>.ui-panel-window,.ui-panel-layer[data-closing=true]>.ui-panel-window,.hud-float,.hud-hp.is-low,.combat-hud .hud-meters .ui-bar[data-tone=prana] .ui-bar-label .ui-icon,.combat-feedback,.combat-feedback:before,.cultivation-node.is-sealing .cultivation-node-mark,.cultivation-graph.is-sealing:before,.cultivation-node[data-status=available],.cultivation-node[data-status=available]:after,.cultivation-node-ring,.rpg-ui-dialog-content[data-ink-state=settled],.ui-toast{transition:none!important;animation:none!important}.rpg-ui-dialog:has(.rpg-ui-dialog-speaker[data-portrait]):after{transition:none!important;animation:none!important}}.start-menu-backdrop{z-index:2000;background:#151d22;position:fixed;inset:0;overflow:auto}.start-menu-scene{background:linear-gradient(90deg,#0a131885,#0a131817 47%,#0000 72%),url(/ui/start-menu/mountain-path.png) 50%/cover no-repeat;min-height:100svh;position:relative}.start-menu-title{filter:drop-shadow(0 1px 2px #0811143d);width:clamp(300px,29vw,738px);margin:0;line-height:0;position:absolute;top:clamp(40px,10.5vh,150px);left:clamp(32px,7.5vw,192px)}.start-menu-title img{width:100%;height:auto;display:block}.start-menu-panel{width:min(390px,100% - 56px);color:var(--thdp-paper);text-align:left;position:absolute;bottom:clamp(36px,11vh,158px);left:clamp(28px,7vw,190px)}.start-menu-save{color:#e0d9c8;text-shadow:0 1px 3px #0009;background:linear-gradient(90deg,#0d1619ad,#0d161959 78%,#0000);border-left:1px solid #e6dabb6b;margin-bottom:18px;padding:13px 18px 15px;font-size:clamp(14px,1vw,17px);line-height:1.35}.start-menu-save p{margin:3px 0}.start-menu-save-title{color:var(--thdp-paper);letter-spacing:.04em;font-weight:700}.start-menu-actions{flex-wrap:wrap;gap:10px;display:flex}.start-menu-actions[hidden],.start-menu-confirm[hidden]{display:none}.start-menu-actions .rpg-ui-btn,.start-menu-confirm .rpg-ui-btn{min-width:145px;box-shadow:none;color:var(--thdp-paper);letter-spacing:.045em;text-shadow:none;background:linear-gradient(165deg,#1c2324e0,#0f171ad1);border:1px solid #e6dabb7a;border-radius:1px;padding:10px 18px;font-size:16px;font-weight:700}.start-menu-actions .rpg-ui-btn[data-variant=primary],.start-menu-confirm .rpg-ui-btn[data-variant=primary]{color:#202422;background:linear-gradient(165deg,#f0e8d5,#ded2b6);border-color:#e5dac1}.start-menu-actions .rpg-ui-btn:hover:not(:disabled),.start-menu-confirm .rpg-ui-btn:hover:not(:disabled),.start-menu-actions .rpg-ui-btn:focus-visible,.start-menu-confirm .rpg-ui-btn:focus-visible{outline-offset:3px;box-shadow:none;border-color:#fff3d7;outline:1px solid #fff3d7}.start-menu-actions .rpg-ui-btn:disabled{opacity:.5}.start-menu-confirm{background:#0d1619e0;border-left:1px solid #e6dabb6b;padding:16px}.start-menu-confirm p{margin:0 0 14px;line-height:1.4}.start-menu-confirm .rpg-ui-btn{margin:0 6px 8px 0}@media (width<=700px),(height<=600px){.start-menu-title{width:min(72vw,500px);top:18px;left:20px}.start-menu-panel{width:min(390px,100% - 40px);bottom:24px;left:20px}.start-menu-scene{background-position:60%;min-height:max(100svh,580px)}}.combat-hud{z-index:var(--thdp-z-hud);pointer-events:none;color:var(--thdp-paper);font-family:var(--thdp-font-body);font-size:15px;font-weight:600;line-height:1.4;position:fixed;inset:0}.hud-save-indicator{max-width:min(360px,42vw);color:var(--thdp-paper);text-align:right;background:#05090dd1;border:1px solid #efe6d059;margin:0;padding:8px 16px;position:absolute;top:clamp(14px,1.4vw,24px);right:clamp(16px,1.6vw,28px)}.hud-save-indicator[hidden]{display:none}.hud-vitals{grid-template-columns:clamp(104px,7.1vw,148px) minmax(0,1fr);align-items:center;gap:6px 0;width:min(660px,34vw);padding:8px 24px 8px 6px;display:grid;position:absolute;top:clamp(14px,1.4vw,24px);left:clamp(16px,1.6vw,28px)}.hud-emblem{text-align:center;border-radius:50%;grid-row:1/span 3;place-items:center;width:clamp(104px,7.1vw,148px);height:clamp(104px,7.1vw,148px);display:grid;position:relative}.hud-emblem-portrait{z-index:0;background-color:#1a2021;background-image:url(/portraits/hanh-gia.png),radial-gradient(circle at 46% 38%,#41413a 0%,#292d2c 66%,#131819 100%);background-position:54% 20%,50%;background-repeat:no-repeat;background-size:148%,100% 100%;border-radius:50%;position:absolute;inset:2%;box-shadow:inset 0 0 0 1px #efe6d02e,0 3px 8px #00000059}.hud-emblem:before{content:"";z-index:1;filter:grayscale(.45)brightness(.82);background:url(/ui/ui-v1/17_ui_enso_hud.png) 50%/contain no-repeat;position:absolute;inset:-2px}.hud-level-seal{z-index:2;width:clamp(38px,2.25vw,46px);height:clamp(38px,2.25vw,46px);color:var(--thdp-ink);text-align:center;align-content:center;justify-items:center;line-height:.75;display:grid;position:absolute;bottom:0;right:0}.hud-level-seal:before{content:"";z-index:-1;background:url(/ui/ui-v1/04_ui_panel_red.png) 50%/contain no-repeat;position:absolute;inset:0}.hud-emblem small,.hud-emblem b{z-index:1;display:block;position:relative}.hud-emblem small{color:var(--thdp-paper);font-family:var(--thdp-font-display);font-size:15px;font-weight:700}.hud-emblem b{color:var(--thdp-paper);font-family:var(--thdp-font-display);font-size:19px;font-weight:700}.hud-meters{gap:2px;min-width:0;margin-left:-18px;display:grid}.hud-meters .ui-bar[data-tone=hp]{height:clamp(36px,2.8vw,58px)}.combat-hud .hud-meters .ui-bar{width:90%;height:clamp(32px,2.5vw,50px)}.hud-hp.is-low{animation:.42s ease-in-out hud-low}.hud-badge,.hud-counter{color:var(--thdp-paper);font-family:var(--thdp-font-display);letter-spacing:.02em;grid-column:2;margin:0;font-size:14px;font-weight:700}.hud-badge:before,.hud-counter:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;margin:0 7px 2px 0;display:inline-block}.hud-badge{color:var(--thdp-prana)}.hud-counter{color:var(--thdp-qi)}.combat-hud .ui-bar,.boss-view .ui-bar{--hud-bar-art:url(/ui/ui-v1/01_ui_bar_ivory.png);background:0 0;border:0;border-radius:0;height:36px;position:relative;overflow:visible;container-type:inline-size}.combat-hud .ui-bar[data-tone=hp],.boss-view .ui-bar[data-tone=hp]{--hud-bar-art:url(/ui/ui-v1/02_ui_bar_red.png)}.combat-hud .ui-bar:before,.boss-view .ui-bar:before,.combat-hud .ui-bar-fill:before,.boss-view .ui-bar-fill:before,.combat-hud .ui-bar-ghost:before,.boss-view .ui-bar-ghost:before{content:"";background:var(--hud-bar-art) center / 100% 100% no-repeat;width:100cqw;position:absolute;inset:0 auto 0 0}.combat-hud .ui-bar:before,.boss-view .ui-bar:before{filter:grayscale()brightness(.3)}.combat-hud .ui-bar .ui-bar-fill,.boss-view .ui-bar .ui-bar-fill,.combat-hud .ui-bar .ui-bar-ghost,.boss-view .ui-bar .ui-bar-ghost{background:0 0;overflow:hidden}.combat-hud .ui-bar-ghost:before,.boss-view .ui-bar-ghost:before{filter:grayscale();opacity:.55}.combat-hud .ui-bar[data-tone=prana] .ui-bar-fill:before{filter:sepia(.65)saturate(1.8)}.combat-hud .ui-bar[data-tone=qi] .ui-bar-fill:before,.boss-view .ui-bar[data-tone=qi] .ui-bar-fill:before{filter:sepia()hue-rotate(100deg)saturate(.6)}.combat-hud .ui-bar-label,.boss-view .ui-bar-label{z-index:2;height:100%;color:var(--thdp-paper);font-family:var(--thdp-font-display);letter-spacing:.01em;text-shadow:0 1px 2px #06080acc;white-space:nowrap;align-items:center;gap:5px;padding:0 17%;font-size:11px;font-weight:600;display:flex;position:relative}.combat-hud .hud-meters .ui-bar .ui-bar-label{font-size:17px;font-weight:700}.combat-hud .ui-bar-label .ui-icon,.boss-view .ui-bar-label .ui-icon{flex:none;width:12px;height:12px}.combat-hud .hud-meters .ui-bar[data-tone=prana] .ui-bar-label .ui-icon{box-sizing:content-box;transform-origin:50%;flex:none;width:24px;height:24px;margin-left:12px;animation:4s linear infinite hud-prana-spin}.hud-target{gap:6px;width:min(440px,100vw - 48px);padding:6px 0 4px;display:grid;position:absolute;top:clamp(14px,1.4vw,24px);left:50%;transform:translate(-50%)}.hud-target>div:first-child{color:var(--thdp-paper);font-family:var(--thdp-font-display);letter-spacing:.02em;text-align:center;text-shadow:0 1px 3px #06080acc;font-size:clamp(20px,1.6vw,26px);font-weight:700}.hud-target .ui-bar[data-tone=hp],.boss-view .ui-bar[data-tone=hp]{height:40px}.hud-target .ui-bar[data-tone=qi],.boss-view .ui-bar[data-tone=qi]{justify-self:center;width:70%;height:18px}.hud-target .ui-bar[data-tone=qi] .ui-bar-label,.boss-view .ui-bar[data-tone=qi] .ui-bar-label{display:none}.hud-target.is-near-break .ui-bar[data-tone=qi] .ui-bar-fill,.boss-view-meters.is-near-break .ui-bar[data-tone=qi] .ui-bar-fill{filter:brightness(1.6)}.hud-dock{align-items:flex-start;gap:clamp(5px,.5vw,8px);padding:0 6px;display:flex;position:absolute;bottom:clamp(18px,2vw,30px);left:50%;transform:translate(-50%)}.hud-slot{text-align:center;justify-items:center;gap:6px;width:clamp(42px,3.3vw,70px);display:grid;position:relative}.hud-orb{background-color:var(--thdp-stone);width:clamp(37px,2.9vw,61px);height:clamp(37px,2.9vw,61px);box-shadow:var(--thdp-ink-shade);color:var(--thdp-paper);transition:transform var(--thdp-move), background-color var(--thdp-move);border-radius:50%;place-items:center;display:grid;position:relative}.hud-orb:before{content:"";background:url(/ui/ui-v1/03_ui_enso.png) 50%/contain no-repeat;position:absolute;inset:-2.5px}.hud-orb .ui-icon{z-index:1;width:52%;height:52%;position:relative}.hud-skill-stone{box-shadow:none;background:0 0;border-radius:0}.hud-skill-stone:before{display:none}.hud-skill-stone .ui-icon{width:100%;height:100%}.hud-skill-stone .hud-slot-cooldown{border-radius:0;-webkit-mask:none;mask:none}.hud-slot .ui-keycap{position:absolute;top:-2px;left:calc(50% + 8px)}.combat-hud .ui-keycap{background:var(--thdp-paper);min-width:1.5em;box-shadow:var(--thdp-ink-shade);color:var(--thdp-ink);font-family:var(--thdp-font-body);border:0;border-radius:2px;padding:0 5px;font-size:11px;font-weight:700;line-height:1.5}.hud-slot-name{max-width:100%;color:var(--thdp-paper);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.hud-slot.is-locked .hud-orb{background-color:var(--thdp-stone);color:var(--thdp-locked)}.hud-slot.is-locked .hud-orb:before{opacity:.5}.hud-slot.is-locked .hud-slot-name{color:var(--thdp-locked)}.hud-slot-cooldown{z-index:2;background:conic-gradient(from -90deg, #14181cc7 0 calc(var(--cd) * 360deg), transparent 0);border-radius:50%;position:absolute;inset:0;-webkit-mask:radial-gradient(circle,#0000 0 52%,#000000a6 64%,#000 78%,#0000 94%);mask:radial-gradient(circle,#0000 0 52%,#000000a6 64%,#000 78%,#0000 94%)}.hud-pockets{justify-items:end;gap:8px;padding:0;display:grid;position:absolute;bottom:clamp(20px,2vw,30px);right:clamp(16px,1.6vw,28px)}.hud-pocket{color:var(--thdp-paper);align-items:center;gap:8px;font-size:13px;display:flex}.hud-pocket .ui-icon{color:var(--thdp-paper)}.hud-pocket .ui-icon.ui-icon-png{vertical-align:middle;width:32px;height:32px}.hud-objective,.hud-context-note{box-sizing:border-box;filter:drop-shadow(0 3px 4px #00000073);max-width:min(380px,28vw);min-height:130px;color:var(--thdp-ink);font-family:var(--thdp-font-display);text-shadow:none;background:url(/ui/ui-v1/06_ui_parchment.png) 50%/100% 100% no-repeat;margin:0;padding:28px 34px 30px 42px;font-size:18px;font-weight:600;line-height:1.3;position:absolute;bottom:clamp(20px,2vw,30px);left:clamp(16px,1.6vw,28px)}.hud-objective:before,.hud-context-note:before{content:"Mục tiêu";color:var(--thdp-ink-soft);font-family:var(--thdp-font-display);letter-spacing:0;margin-bottom:3px;font-size:20px;font-style:italic;font-weight:600;display:block}.hud-context-note{bottom:210px}.hud-context-note:before{content:"Ghi chú"}.combat-feedback,.hud-retry{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-image:}.combat-feedback{box-sizing:border-box;z-index:0;isolation:isolate;width:max-content;max-width:min(900px,100vw - 32px);color:var(--thdp-paper);font-family:var(--thdp-font-display);letter-spacing:.06em;text-align:center;text-shadow:0 1px 3px #06080ad9;white-space:normal;overflow-wrap:anywhere;margin:0;padding:6px 28px 10px;font-size:clamp(22px,2.6vw,40px);font-weight:700;animation:5s ease-out forwards combat-ink-feedback;position:absolute;top:26%;left:50%;transform:translate(-50%)}.combat-feedback:before{content:"";z-index:-1;filter:brightness(.42)saturate(.45);transform-origin:0;background:url(/ui/ui-v1/01_ui_bar_ivory.png) 50%/100% 100% no-repeat;animation:.18s ease-out combat-ink-brush;position:absolute;inset:-8% -18%}.hud-retry{box-sizing:border-box;z-index:0;isolation:isolate;color:var(--thdp-paper);font-family:var(--thdp-font-display);letter-spacing:.03em;text-align:center;text-shadow:0 1px 3px #06080ad9;margin:0;padding:6px 28px 10px;font-size:22px;position:absolute;top:38%;left:50%;transform:translate(-50%)}.hud-retry:before{content:"";z-index:-1;filter:brightness(.42)saturate(.45);transform-origin:0;background:url(/ui/ui-v1/01_ui_bar_ivory.png) 50%/100% 100% no-repeat;position:absolute;inset:-8% -18%}.hud-debug{color:var(--thdp-paper-dim);margin:0;font-size:12px;position:absolute;bottom:8px;right:20px}@keyframes combat-ink-feedback{0%{opacity:0;transform:translate(-50%,6px)}2%,96%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-8px)}}@keyframes combat-ink-brush{0%{opacity:0;transform:scaleX(.12)}to{opacity:1;transform:scaleX(1)}}@keyframes hud-low{0%,to{transform:translate(0)}50%{transform:translate(1px)}}@keyframes hud-prana-spin{to{transform:rotate(360deg)}}@media (width<=1100px){.hud-objective{max-width:min(280px,100vw - 40px)}.hud-pockets{display:none}}.combat-hud .ui-icon-png{object-fit:contain}@media (width<=1100px){.hud-vitals{width:min(440px,46vw)}.hud-target{width:38vw;left:auto;right:20px;transform:none}.hud-objective,.hud-context-note{font-size:14px}.hud-dock{gap:6px}}.ui-equipment-layer,.cultivation-panel-layer,.ui-panel-layer{z-index:var(--thdp-z-panel);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#040507c2;place-items:center;padding:32px;display:grid;position:fixed;inset:0}.ui-panel-layer[hidden]{display:none}.ui-panel-window{animation:none}.ui-panel-layer[data-opening=true]>.ui-panel-window{animation:.24s cubic-bezier(.2,.8,.2,1) ui-panel-in}.ui-panel-layer[data-closing=true]{pointer-events:none;animation:.18s ease-in forwards ui-panel-layer-out}.ui-panel-layer[data-closing=true]>.ui-panel-window{animation:.18s ease-in forwards ui-panel-out}.ui-equipment-window{box-sizing:border-box;border:0;border-radius:0;width:min(1080px,100vw - 64px);max-height:calc(100vh - 64px);position:relative;overflow:auto}.ui-equipment-window:before,.ui-equipment-window:after{z-index:0;content:"";opacity:.38;pointer-events:none;background:url(/ui/ui-v1/05_ui_cloud.png) 50%/contain no-repeat;width:76px;height:76px;position:absolute}.ui-equipment-window:before{top:8px;left:8px}.ui-equipment-window:after{bottom:8px;right:8px;transform:rotate(180deg)}.ui-equipment-window>*{z-index:1;position:relative}.ui-equipment-window .ui-panel-title{background:0 0;margin-bottom:22px;padding-bottom:18px;position:relative}.ui-equipment-window .ui-panel-title:after{filter:brightness(.75)saturate(.45);content:"";background:url(/ui/ui-v1/01_ui_bar_ivory.png) 0/100% 100% no-repeat;width:168px;height:8px;position:absolute;bottom:0;left:22px}.ui-panel-close{z-index:2;border-radius:50%;width:36px;height:36px;padding:0;position:absolute;top:16px;right:16px}.rpg-ui-equipment-layout{grid-template-columns:minmax(320px,42%) minmax(400px,58%);align-items:start;gap:clamp(32px,2.4vw,40px);display:grid}.rpg-ui-equipment-layout>.rpg-ui-stack{align-content:start;gap:14px;display:grid}.ui-equipment-card{box-sizing:border-box;outline-offset:-1px;min-height:128px;color:var(--thdp-ink);cursor:pointer;transition:filter var(--thdp-move), outline-color var(--thdp-move), box-shadow var(--thdp-move);border:0;border-radius:0;outline:1px solid #14181c24;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:18px;margin:0;padding:16px 22px 16px 24px;display:grid;position:relative}.ui-equipment-card:hover{filter:brightness(1.015);outline-color:#14181c47}.ui-equipment-card:focus-visible{outline-offset:-2px;outline:1px solid #8e3524}.ui-equipment-card.is-selected{filter:brightness(1.03);outline-offset:-1px;outline:1px solid #14181c6b;box-shadow:inset 2px 0 #9b3b28,0 4px 12px #06080a29}.ui-equipment-card-art{box-sizing:border-box;background:radial-gradient(circle,#14181c0a 0%,#14181c1a 100%);border:1px solid #14181c29;place-items:center;width:96px;height:96px;padding:6px;display:grid}.ui-equipment-card-body{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.ui-equipment-card-title,.ui-equipment-card h3{color:var(--thdp-ink);font-family:var(--thdp-font-display);margin:0;font-size:20px;font-weight:600;line-height:1.25}.ui-equipment-art-img{object-fit:contain;filter:drop-shadow(0 4px 8px #0c0e1033);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.ui-equipment-art-fallback{color:#14181cad;place-items:center;width:44px;height:44px;display:grid}.ui-equipment-art-fallback .ui-icon{width:100%;height:100%}.rpg-ui-equipment-inspector{min-width:0;color:var(--thdp-ink);border:0;border-radius:0;padding:20px 22px}.ui-equipment-inspector{outline-offset:-1px;outline:1px solid #14181c29;flex-direction:column;gap:20px;padding:26px 30px;display:flex}.ui-equipment-detail-head{grid-template-columns:clamp(196px,15vw,236px) minmax(0,1fr);align-items:center;gap:26px;display:grid}.ui-equipment-detail-art{box-sizing:border-box;background:radial-gradient(circle,#14181c08 0%,#14181c1a 100%);border:1px solid #14181c29;place-items:center;width:clamp(196px,15vw,236px);height:clamp(196px,15vw,236px);padding:14px;display:grid}.ui-equipment-detail-meta{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.ui-equipment-detail-title,.rpg-ui-equipment-inspector h3{color:var(--thdp-ink);font-family:var(--thdp-font-display);margin:0;font-size:clamp(23px,1.65vw,27px);font-weight:600;line-height:1.22}.ui-equipment-detail-type{color:#14181c99;letter-spacing:.03em;margin:6px 0 0;font-size:14px;font-weight:400}.ui-equipment-detail-status{margin-top:14px}.ui-equipment-status-note{color:#14181c94;font-size:13px;display:inline-block}.ui-equipment-effect{border-top:1px solid #14181c26;padding-top:18px}.ui-equipment-effect-title{color:#14181ca3;font-family:var(--thdp-font-display);letter-spacing:.06em;text-transform:uppercase;margin:0 0 8px;font-size:13px;font-weight:600}.ui-equipment-effect-copy,.rpg-ui-equipment-inspector p{color:#14181cdb}.ui-equipment-effect-copy{background:#14181c0d;border-left:2px solid #14181c42;margin:0;padding:12px 16px;font-size:15px;line-height:1.65}.ui-equipment-rarity,.ui-equipment-stamp,.ui-equipment-lock{color:#14181c94;letter-spacing:.03em;margin:4px 0 0;font-size:13px;font-weight:400;display:block}.ui-equipment-stamp{color:#8e3524;width:fit-content;font-family:var(--thdp-font-display);letter-spacing:.04em;background:#9b3b2814;border:1px solid #9b3b2866;align-items:center;gap:7px;margin-top:10px;padding:2px 9px 2px 8px;font-size:12px;font-weight:600;display:inline-flex}.ui-equipment-stamp-detail{margin-top:0;padding:3px 11px 3px 9px;font-size:13px}.ui-equipment-stamp-mark{background-color:#9b3b28;border-radius:1px;flex:none;width:7px;height:7px;display:inline-block}.ui-equipment-lock{color:#14181c8f;align-items:center;gap:5px;margin-top:8px;display:inline-flex}.ui-equipment-lock .ui-icon{fill:currentColor;stroke:none;width:13px;height:13px}.ui-equipment-actions{align-items:center;padding-top:4px;display:flex}.ui-equipment-equip-btn.rpg-ui-btn[data-variant=primary]{min-width:132px;color:var(--thdp-paper);letter-spacing:.05em;background:#1c2126;border:1px solid #14181c;margin:0;padding:9px 22px;font-size:14px;font-weight:600}.ui-equipment-equip-btn.rpg-ui-btn[data-variant=primary]:hover:not(:disabled){border-color:var(--thdp-gold);color:var(--thdp-paper);background:#272e35}.ui-equipment-equip-btn.rpg-ui-btn[data-variant=primary]:disabled{color:#14181c80;background:#14181c14;border:1px solid #14181c38}.ui-notice{color:var(--thdp-ink);margin:0}.ui-notice-warning{border-left:2px solid var(--thdp-warning);color:#70521d;background:#c9a24a21;margin:0;padding:8px 12px;font-size:14px}@keyframes ui-panel-in{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:none}}@keyframes ui-panel-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(8px)scale(.99)}}@keyframes ui-panel-layer-out{0%{opacity:1}to{opacity:0}}@media (width<=900px){.ui-equipment-layer,.ui-panel-layer{padding:16px}.rpg-ui-equipment-layout{grid-template-columns:1fr;gap:20px}.ui-equipment-detail-head{grid-template-columns:160px minmax(0,1fr);gap:18px}.ui-equipment-detail-art{width:160px;height:160px}}.cultivation-panel-layer{z-index:41;pointer-events:auto;background:#040608a3}.cultivation-panel-window{--cultivation-gold:#dbb96d;--cultivation-ivory:#c6bfae;box-sizing:border-box;border:0;border-radius:0;flex-direction:column;width:min(1640px,100vw - 64px);height:min(890px,100vh - 48px);min-height:0;padding:36px 48px 26px;font-size:16px;line-height:1.2;display:flex;position:relative;overflow:hidden}.cultivation-panel-window:before,.cultivation-panel-window:after{z-index:0;content:"";opacity:.35;pointer-events:none;background:url(/ui/ui-v1/05_ui_cloud.png) 50%/contain no-repeat;width:88px;height:88px;position:absolute}.cultivation-panel-window:before{top:12px;left:12px}.cultivation-panel-window:after{bottom:12px;right:12px;transform:rotate(180deg)}.cultivation-panel-window>*{z-index:1;position:relative}.cultivation-panel-close{position:absolute;top:22px;right:28px}.cultivation-panel-header{align-items:baseline;gap:22px;padding:0 54px 12px 18px;display:flex}.cultivation-panel-window .ui-panel-title{background:0 0;flex:none;margin:0;padding:0 0 14px;font-size:clamp(30px,2.2vw,40px);position:relative}.cultivation-panel-window .ui-panel-title:before{display:none}.cultivation-panel-window .ui-panel-title:after{filter:brightness(.75)saturate(.45);content:"";background:url(/ui/ui-v1/01_ui_bar_ivory.png) 0/100% 100% no-repeat;width:170px;height:7px;position:absolute;bottom:0;left:4px}.cultivation-panel-points{color:var(--thdp-prana);font-family:var(--thdp-font-display);white-space:nowrap;align-items:center;gap:8px;font-size:clamp(16px,1.1vw,20px);font-weight:700;display:inline-flex}.ui-panel-points-seal{flex:none;width:20px;height:20px;display:inline-block}.cultivation-panel-notices{min-height:26px;padding-left:18px}.cultivation-panel-notices p{margin:0 0 8px}.cultivation-panel-body{flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,2.2fr) minmax(280px,.85fr);gap:clamp(16px,2vw,36px);min-height:0;padding:12px 4px 0;display:grid}.cultivation-tablet-viewport{box-sizing:border-box;place-items:center;width:100%;min-width:0;height:100%;min-height:0;padding:8px 8px 20px;display:grid;container-type:size}.cultivation-panel-branches{aspect-ratio:3/2;isolation:isolate;background:url(/ui/cultivation/stone-skill-tablet.png) 50%/100% 100% no-repeat;grid-template-columns:repeat(2,minmax(0,1fr));align-self:center;width:min(100cqw,150cqh);min-width:0;min-height:0;max-height:none;padding:0;display:grid;position:relative;box-shadow:0 16px 28px #00000047}.cultivation-panel-branch{min-width:0;min-height:0;color:var(--thdp-paper);position:relative}.cultivation-panel-branch>h3{z-index:2;color:#bdb7a6;letter-spacing:.065em;text-align:center;text-shadow:-1px -1px 1px #080b0cd9,0 1px #e6deca21;pointer-events:none;margin:0;font-size:clamp(18px,1.3vw,24px);font-weight:500;position:absolute;top:8%;left:0;right:0}.cultivation-graph{position:absolute;inset:0}.cultivation-carved-link{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.cultivation-carved-link path{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}.cultivation-link-shadow{stroke:#090c0dd1;stroke-width:6.8px}.cultivation-link-edge{stroke:#cac2a59e;stroke-width:2px;transform:translate(.12%,.12%)}.cultivation-link-core{stroke:#73786e;stroke-width:2.5px;transition:stroke .22s,filter .22s}.cultivation-graph[data-link-status=locked] .cultivation-carved-link{opacity:.75}.cultivation-graph[data-link-status=available] .cultivation-link-core{stroke:#bcaa7e;filter:drop-shadow(0 0 2px #ccb26f4d)}.cultivation-graph[data-link-status=learned] .cultivation-link-core{stroke:#edc871;filter:drop-shadow(0 0 3px #ecc263bf)drop-shadow(0 0 7px #ecc2634d)}.cultivation-node{z-index:1;aspect-ratio:1;width:40%;min-width:44px;height:auto;min-height:44px;color:var(--cultivation-ivory);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:0;place-items:center;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.cultivation-node-art{object-fit:contain;pointer-events:none;-webkit-mask-composite:source-in;width:100%;height:100%;transition:filter .18s;display:block;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000),linear-gradient(#0000,#000 5% 95%,#0000);mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000),linear-gradient(#0000,#000 5% 95%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.cultivation-node[data-status=locked] .cultivation-node-art{filter:brightness(.72)}.cultivation-node[data-status=available] .cultivation-node-art{filter:brightness(1.08)}.cultivation-node[data-status=purchased] .cultivation-node-art{filter:brightness(1.12)}.cultivation-node:hover .cultivation-node-art{filter:brightness(1.18)}.cultivation-node-mark{pointer-events:none;border:1px solid #0000;transition:border-color .16s,box-shadow .16s;position:absolute;inset:10%}.cultivation-node[data-status=purchased] .cultivation-node-mark{border-color:#dbb96d5c;box-shadow:0 0 5px #e0b95e29}.cultivation-node[data-selected=true] .cultivation-node-mark{border-color:#d8c391;box-shadow:inset 0 0 5px #e0b95e2e,0 0 6px #e0b95e3d}.cultivation-node:focus-visible{outline:none}.cultivation-node:focus-visible .cultivation-node-mark{outline-offset:3px;outline:2px solid #eee0bb}.cultivation-node[data-status=purchased]:after{background:var(--cultivation-gold);content:"";pointer-events:none;width:5px;height:5px;position:absolute;top:15%;right:15%;transform:rotate(45deg)}.cultivation-node.is-sealing .cultivation-node-art{animation:3s ease-out cultivation-stone-awaken}.cultivation-graph.is-sealing .cultivation-link-core{animation:3s ease-out cultivation-link-confirm}.cultivation-panel-inspector{box-sizing:border-box;flex-direction:column;min-width:0;min-height:0;max-height:100%;padding:clamp(20px,1.5vw,24px);display:flex;overflow:hidden}.cultivation-panel-inspector-head{border-bottom:1px solid #4d432e33;padding:0 0 16px}.cultivation-panel-inspector-head[data-status=purchased]{border-bottom-color:#79644052}.cultivation-panel-inspector-status{color:#14181c9e;font-family:var(--thdp-font-display);letter-spacing:.025em;font-size:14px}.cultivation-panel-inspector-status[data-status=available]{color:#555344}.cultivation-panel-inspector-status[data-status=locked]{color:#69665e}.cultivation-panel-inspector-status[data-status=purchased]{color:#796440}.cultivation-panel-inspector-status:before{content:"";border:1px solid;width:4px;height:4px;margin:0 9px 3px 1px;display:inline-block;transform:rotate(45deg)}.cultivation-panel-inspector-status[data-status=purchased]:before{background:currentColor}.cultivation-panel-inspector-title{align-items:center;gap:14px;margin-top:10px;display:flex}.cultivation-panel-inspector-art{object-fit:contain;border:1px solid #403d3166;flex:none;width:54px;height:54px;box-shadow:0 1px #ffffff2e}.cultivation-panel-inspector h3{color:var(--thdp-ink);margin:0;font-size:clamp(24px,1.75vw,31px);font-weight:600;line-height:1.15}.cultivation-panel-inspector-copy{scrollbar-color:#14181c66 transparent;scrollbar-width:thin;flex:0 auto;min-height:0;padding-top:18px;padding-bottom:1px;overflow:auto}.cultivation-panel-inspector-copy::-webkit-scrollbar{width:6px}.cultivation-panel-inspector-copy::-webkit-scrollbar-button{width:0;height:0;display:none}.cultivation-panel-inspector-copy::-webkit-scrollbar-track{background:0 0}.cultivation-panel-inspector-copy::-webkit-scrollbar-thumb{background:#14181c66}.cultivation-panel-inspector-copy>p{text-wrap:pretty;margin:0;line-height:1.35}.cultivation-panel-inspector p,.cultivation-panel-inspector .rpg-ui-muted{color:#14181cd4}.cultivation-panel-inspector-detail{margin-top:10px;line-height:1.25}.cultivation-panel-inspector-detail>span{color:#000;font-family:var(--thdp-font-display);margin-bottom:10px;font-size:15px;font-weight:700;line-height:1.2;display:block}.cultivation-panel-inspector .cultivation-panel-effect{margin:2px 0 0;line-height:1.25}.cultivation-panel-effect-value{white-space:nowrap}.cultivation-panel-inspector-actions{padding-top:10px}.cultivation-panel-inspector-actions .ui-equipment-actions{padding-top:0}.cultivation-panel-inspector-empty{text-align:center;justify-items:center;gap:24px;padding-top:40px;display:grid}.cultivation-panel-inspector-emblem{background:var(--thdp-ink-soft);width:116px;height:116px;-webkit-mask:url(/ui/ui-v1/03_ui_enso.png) 50%/contain no-repeat;mask:url(/ui/ui-v1/03_ui_enso.png) 50%/contain no-repeat}.cultivation-panel-footer{justify-content:space-between;align-items:center;min-height:36px;padding:10px 18px 0;display:flex}.cultivation-panel-footer .rpg-ui-row{flex-wrap:wrap;align-items:center;gap:10px;margin:0;display:flex}.cultivation-panel-footer .ui-panel-hint{margin:0 0 0 auto}.cultivation-panel-confirm{z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#040608a8;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.cultivation-panel-confirm-card{width:min(520px,100%)}.cultivation-panel-confirm-card .rpg-ui-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;display:flex}.cultivation-panel-confirm-card .rpg-ui-btn{min-height:44px;padding:10px 22px}@keyframes cultivation-stone-awaken{0%{filter:brightness(1.12)}35%{filter:brightness(1.3)}to{filter:brightness(1.12)}}@keyframes cultivation-link-confirm{0%{stroke-opacity:.6}40%{stroke-opacity:1;stroke:#ffe0a0}to{stroke-opacity:1}}@media (prefers-reduced-motion:reduce){.cultivation-node-art,.cultivation-node-mark,.cultivation-carved-link .cultivation-link-core{transition:none!important;animation:none!important}}@media (width<=900px){.cultivation-panel-window{padding:26px 24px 18px}.cultivation-panel-body{grid-template-columns:minmax(0,1fr) minmax(230px,.8fr);gap:10px}}@media (width<=700px){.cultivation-panel-layer{padding:12px}.cultivation-panel-window{width:calc(100vw - 24px);height:calc(100vh - 24px);overflow:auto}.cultivation-panel-header,.cultivation-panel-body{display:block}.cultivation-tablet-viewport{aspect-ratio:3/2;height:auto}.cultivation-panel-inspector{min-height:280px}}.character-panel-layer{--character-panel-pad:clamp(16px, 2vw, 28px);z-index:var(--thdp-z-panel);padding:var(--character-panel-pad);overflow:hidden}.character-panel-window{width:min(1480px, calc(100vw - 2 * var(--character-panel-pad)));max-height:calc(100dvh - 2 * var(--character-panel-pad));box-sizing:border-box;color:var(--thdp-paper);border:0;border-radius:0;flex-direction:column;padding:clamp(24px,2.2vw,38px);display:flex;position:relative;overflow:hidden}.character-panel-window>header{justify-content:space-between;align-items:center;gap:24px;padding-right:50px;display:flex}.character-panel-window>header .ui-panel-title{margin-bottom:8px}.character-panel-window nav{flex-wrap:wrap;gap:8px 16px;display:flex}.character-panel-tab{color:var(--thdp-paper-dim);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:6px 2px 9px}.character-panel-tab:hover,.character-panel-tab:focus-visible{color:var(--thdp-paper)}.character-panel-tab:focus-visible{outline:1px solid var(--thdp-gold-bright);outline-offset:3px}.character-panel-tab[aria-pressed=true]{border-bottom-color:var(--thdp-gold-bright);color:var(--thdp-paper);font-weight:700}.character-panel-scroll{scrollbar-color:#efe6d073 #05090d73;scrollbar-width:thin;flex:1;min-height:0;padding:16px 8px 8px;overflow:auto}.character-panel-scroll>section{background:#05090d5c;border:1px solid #efe6d038;min-width:0;max-width:960px;padding:clamp(16px,1.7vw,26px)}.character-panel-scroll>#character-equipment{max-width:1180px;padding:clamp(20px,2vw,30px)}.character-panel-scroll>#character-equipment>h3{letter-spacing:.03em;margin:0 0 18px;font-size:22px;font-weight:600}.character-panel-scroll>section[hidden]{display:none}.character-panel-scroll>#character-tree{background:0 0;border:0;max-width:none;padding:0}.character-panel-scroll>section>h3{color:var(--thdp-paper);margin:0 0 12px}.character-panel-scroll h4{margin:16px 0 8px}.character-panel-abilities,.character-panel-slots{gap:8px;margin:0;padding:0;list-style:none;display:grid}.character-panel-abilities li,.character-panel-slots li{background:#0000002e;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:8px;min-width:0;padding:8px 12px;display:grid}.character-panel-abilities li small{grid-column:1/-1}.character-panel-slots select{width:100%;min-height:36px;color:var(--thdp-paper);background:#05090dcc;border-color:#efe6d04d;grid-column:1/-1}.character-panel-slots select:disabled{opacity:.62}.character-panel-empty{color:var(--thdp-paper-dim);border:1px solid #efe6d02e;padding:12px 14px}.character-panel-scroll>section:not(#character-tree) button{margin:4px}.character-panel-scroll label{grid-template-columns:120px minmax(0,1fr);align-items:center;gap:12px;margin:12px 0;display:grid}.character-panel-scroll input[type=range]{width:100%}.character-panel-notice{margin:4px 0}.character-panel-notice:empty{display:none}.character-save-milestone{background:#05090d47;border:1px solid #efe6d038;margin:16px 0;padding:14px 18px}.character-save-milestone h4{margin:0 0 8px}.character-save-milestone p{margin:4px 0}.character-panel-confirm{border:1px solid var(--thdp-warning);background:var(--thdp-ink);padding:16px;position:sticky;bottom:0}.character-panel-window [data-region=tree] .cultivation-panel-window,.character-panel-window [data-region=equipment] .ui-equipment-window{box-sizing:border-box;width:100%;min-width:0;max-width:none;height:auto;max-height:none;padding:18px 24px;position:relative;inset:auto}.character-panel-window:has(#character-tree:not([hidden])){height:calc(100dvh - 2 * var(--character-panel-pad))}.character-panel-window:has(#character-tree:not([hidden])) .character-panel-scroll{flex-direction:column;display:flex;overflow:hidden}.character-panel-scroll>#character-tree:not([hidden]),.character-panel-window [data-region=tree]{flex-direction:column;flex:1;min-height:0;display:flex}.character-panel-window [data-region=equipment] .character-panel-equipment{box-shadow:none;background:0 0;border:0;padding:0;overflow:visible}.character-panel-window [data-region=equipment] .character-panel-equipment:before,.character-panel-window [data-region=equipment] .character-panel-equipment:after,.character-panel-window [data-region=tree] .cultivation-panel-close{display:none}.character-panel-window [data-region=tree] .cultivation-panel-body,.character-panel-window [data-region=equipment] .rpg-ui-equipment-layout{min-width:0}.character-panel-window [data-region=tree] .cultivation-panel-window{flex:1;min-height:0;overflow:hidden}.character-panel-window [data-region=tree] .cultivation-panel-body{grid-template-columns:minmax(0,2fr) minmax(300px,.9fr);align-items:stretch;overflow:hidden}.character-panel-window [data-region=tree] .cultivation-panel-branches{min-height:0;padding:0}.character-panel-window [data-region=tree] .cultivation-panel-footer{flex:none}.character-panel-window [data-region=tree] .cultivation-panel-inspector{align-self:center;min-height:0;max-height:min(520px,100%)}.character-panel-window [data-region=tree] .cultivation-panel-inspector-empty{gap:12px;padding-top:4px}.character-panel-window [data-region=tree] .cultivation-panel-inspector-emblem{width:76px;height:76px}.character-panel-window [data-region=tree] .cultivation-panel-header{justify-content:space-between;align-items:center;padding-right:18px}.character-panel-window [data-region=tree] .cultivation-panel-points{font-size:clamp(19px,1.3vw,23px)}.character-panel-window [data-region=tree] .cultivation-panel-footer .ui-panel-hint{display:none}@media (width>=2500px){.character-panel-window{width:min(1680px, calc(100vw - 2 * var(--character-panel-pad)))}.character-panel-scroll>#character-equipment{max-width:1240px}}@media (width<=900px),(height<=700px){.character-panel-layer{--character-panel-pad:12px}.character-panel-window{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:20px}.character-panel-window:has(#character-tree:not([hidden])){height:calc(100dvh - 24px)}.character-panel-window>header{flex-direction:column;align-items:flex-start;padding-right:40px}}@media (width<=900px){.character-panel-window [data-region=tree] .cultivation-panel-body{flex-direction:column;display:flex;overflow:auto}.character-panel-window [data-region=tree] .cultivation-tablet-viewport{aspect-ratio:3/2;flex:none;height:auto}.character-panel-window [data-region=tree] .cultivation-panel-inspector{flex:none;max-height:none;margin-top:16px}}@media (prefers-reduced-motion:reduce){.character-panel-window,.character-panel-window *{scroll-behavior:auto;transition:none!important;animation:none!important}}.boss-view-layer{z-index:var(--thdp-z-hud);pointer-events:none;width:min(620px,100vw - 48px);position:fixed;top:clamp(24px,3.2vh,52px);left:50%;transform:translate(-50%)}.boss-view{color:var(--thdp-paper);padding:clamp(14px,1.2vw,20px) clamp(18px,1.6vw,28px)}.boss-view.ui-mat-ink.ui-mat-ink-edge{background:url(/ui/ui-v1/15_ui_ink_panel.png) 50%/100% 100% no-repeat;border-image:}.boss-view-heading,.boss-view-meta{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.boss-view-heading h2{font:700 clamp(18px, 1.35vw, 24px) var(--thdp-font-display);margin:0}.boss-view-state,.boss-view-meta{color:var(--thdp-paper-dim)}.boss-view-meta{margin-top:8px;font-size:15px}.boss-view-meters{gap:6px;margin-top:8px;display:grid}.boss-view-cue{text-align:center;text-shadow:var(--thdp-ink-shade);margin-top:12px}.boss-view-cue p{margin:6px 0 0;line-height:1.45}.boss-view-subtitle{color:var(--thdp-paper-dim);font-size:15px}.boss-view-dialogue{color:var(--thdp-paper);font:italic 400 clamp(16px, 1.1vw, 18px) var(--thdp-font-body)}.boss-view-speaker{font-style:normal}.boss-view-hint{color:var(--thdp-gold-bright);font:600 clamp(16px, 1.2vw, 20px) var(--thdp-font-body)}@media (width<=700px){.boss-view-layer{width:calc(100vw - 24px);top:12px}}.chapter-ending-layer{z-index:var(--thdp-z-dialog);background:#06090bc7;place-items:center;padding:clamp(20px,5vw,84px);display:grid;position:fixed;inset:0;overflow:auto}.chapter-ending-layer[hidden]{display:none}.chapter-ending-card{box-sizing:border-box;width:min(100%,920px);color:var(--thdp-paper);text-align:center;padding:clamp(28px,5vw,72px);position:relative}.chapter-ending-kicker{color:var(--thdp-gold-bright);font:600 15px var(--thdp-font-body);letter-spacing:.16em;text-transform:uppercase;margin:0 0 14px}.chapter-ending-card h1{font:700 clamp(30px, 3.5vw, 54px) / 1.12 var(--thdp-font-display);margin:0}.chapter-ending-copy{max-width:680px;font:500 clamp(19px, 1.7vw, 26px) / 1.55 var(--thdp-font-display);margin:clamp(22px,3vw,42px) auto}.chapter-ending-copy p{margin:8px 0}.chapter-ending-save{min-height:1.5em;color:var(--thdp-paper-dim)}.chapter-ending-save[data-save-status=saved]{color:var(--thdp-success)}.chapter-ending-save[data-save-status=failed]{color:var(--thdp-danger)}.chapter-ending-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:20px;display:flex}.chapter-ending-actions .rpg-ui-btn{min-height:48px;padding:10px 22px}.chapter-ending-confirm{border:1px solid var(--thdp-warning);background:var(--thdp-ink);box-shadow:var(--thdp-shadow);padding:clamp(18px,2vw,28px);position:absolute;inset:auto 5% 5%}.chapter-ending-confirm p{margin:6px 0 12px}.chapter-ending-confirm .rpg-ui-btn{margin:4px}.chapter-ending-layer :focus-visible{outline:2px solid var(--thdp-gold-bright);outline-offset:4px}@media (width<=700px),(height<=620px){.chapter-ending-layer{padding:12px}.chapter-ending-card{padding:28px 20px}.chapter-ending-confirm{inset:auto 12px 12px}}@media (prefers-reduced-motion:reduce){.chapter-ending-layer,.chapter-ending-layer *{scroll-behavior:auto;transition:none!important;animation:none!important}}.rpg-ui-dialog-container[data-full-width] .rpg-ui-dialog{isolation:isolate;width:min(90vw,1800px);max-width:100%;min-height:220px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--thdp-paper);background:0 0;border:0;border-radius:0;padding:42px 46px 30px;position:relative;overflow:visible}.rpg-ui-dialog:before{content:"";z-index:-1;pointer-events:none;border-image:url(/ui/ui-v1/15_ui_ink_panel.png) 128 96 256 fill/36px 32px 64px;position:absolute;inset:0}.rpg-ui-dialog-content{z-index:1;max-height:28vh;font-family:var(--thdp-font-body);text-shadow:0 1px 2px #00000080;padding:8px 4px 30px;font-size:21px;font-weight:500;line-height:1.6;position:relative;overflow:auto}.rpg-ui-dialog-content[data-ink-state=seeping]{opacity:.22;filter:blur(.8px)}.rpg-ui-dialog-content[data-ink-state=settled]{opacity:1;filter:none;transition:opacity .18s,filter .18s}.rpg-ui-dialog-speaker{--dialog-voice-color:var(--thdp-qi);z-index:2;box-shadow:none;color:var(--thdp-paper);font-family:var(--thdp-font-display);letter-spacing:.01em;text-transform:none;background:0 0;border:0;border-radius:0;align-items:center;gap:9px;margin:0;padding:0;font-size:22px;font-weight:700;display:inline-flex;position:absolute;top:24px;left:46px;transform:translateY(-50%)}.rpg-ui-dialog-speaker:before{content:"";background:url(/ui/ui-v1/04_ui_panel_red.png) 50%/contain no-repeat;flex:none;width:25px;height:25px;display:block}.rpg-ui-dialog-speaker[data-voice=narrator]{--dialog-voice-color:var(--thdp-paper)}.rpg-ui-dialog-speaker[data-voice=system]{--dialog-voice-color:var(--thdp-prana)}.rpg-ui-dialog:has(.rpg-ui-dialog-speaker[data-portrait]):after{content:"";z-index:0;pointer-events:none;background:url(/portraits/minh-tran.png) bottom/contain no-repeat;width:clamp(240px,20vw,400px);height:clamp(310px,28vw,480px);animation:.42s cubic-bezier(.2,.8,.2,1) both dialog-portrait-in;position:absolute;bottom:0;left:28px;-webkit-mask-image:linear-gradient(#000 0 80%,#0000 100%);mask-image:linear-gradient(#000 0 80%,#0000 100%)}.rpg-ui-dialog:has(.rpg-ui-dialog-speaker[data-portrait=minh-tran]):after{background-image:url(/portraits/minh-tran.png)}.rpg-ui-dialog:has(.rpg-ui-dialog-speaker[data-portrait=to-su]):after{background-image:url(/portraits/to-su.png)}.rpg-ui-dialog:has(.rpg-ui-dialog-speaker[data-portrait=hanh-gia]):after{background-image:url(/portraits/hanh-gia.png)}.rpg-ui-dialog:has(.rpg-ui-dialog-speaker[data-portrait=lu-khach]):after{background-image:url(/portraits/lu-khach.png)}.rpg-ui-dialog:has(.rpg-ui-dialog-speaker[data-portrait]) .rpg-ui-dialog-content{min-height:180px;padding-left:clamp(250px,21vw,420px)}.rpg-ui-dialog-speaker[data-portrait]{left:calc(46px + clamp(250px,21vw,420px))}.rpg-ui-dialog-layer>.rpg-ui-close-button{top:58px;left:auto;right:34px}.rpg-ui-dialog-choices:has(.rpg-ui-dialog-choice:only-child){z-index:2;margin:0;position:absolute;bottom:22px;right:42px}.rpg-ui-dialog-choice:only-child:before,.rpg-ui-dialog-choice:only-child.active:before,.rpg-ui-dialog-choice:only-child:focus:before{content:none;box-shadow:none;background:0 0;display:none}.rpg-ui-dialog-choice:only-child{width:auto;min-height:0;color:var(--thdp-paper-dim);font-family:var(--thdp-font-body);letter-spacing:.04em;background:0 0;border:0;border-radius:0;align-items:center;gap:6px;padding:0;font-size:13px;font-weight:400;display:inline-flex}.rpg-ui-dialog-choice.active,.rpg-ui-dialog-choice:focus{box-shadow:none;color:var(--thdp-paper);background:0 0;border:0}.rpg-ui-dialog-choice.active .ui-keycap,.rpg-ui-dialog-choice:focus .ui-keycap{color:var(--thdp-paper);border-color:#ecdcb094}.rpg-ui-dialog-indicator{border-top-color:var(--thdp-paper-dim);filter:none}@keyframes dialog-portrait-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.rpg-ui-dialog:has(.rpg-ui-dialog-speaker[data-portrait]) .rpg-ui-dialog-choices:not(:has(.rpg-ui-dialog-choice:only-child)){margin-left:clamp(250px,21vw,420px)}@media (width<=900px),(height<=600px){.rpg-ui-dialog-container[data-full-width] .rpg-ui-dialog{padding:38px 28px 28px}.rpg-ui-dialog:has(.rpg-ui-dialog-speaker[data-portrait]):after{width:180px;height:250px;left:12px}.rpg-ui-dialog:has(.rpg-ui-dialog-speaker[data-portrait]) .rpg-ui-dialog-content{min-height:120px;padding-left:180px}.rpg-ui-dialog-speaker[data-portrait]{left:208px}.rpg-ui-dialog:has(.rpg-ui-dialog-speaker[data-portrait]) .rpg-ui-dialog-choices:not(:has(.rpg-ui-dialog-choice:only-child)){margin-left:180px}}.ui-toast-stack{z-index:var(--thdp-z-toast);pointer-events:none;gap:8px;width:min(440px,100vw - 48px);display:grid;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.ui-toast-stack-objective{width:min(380px,100vw - 32px);bottom:calc(clamp(20px,2vw,30px) + 142px);left:clamp(16px,1.6vw,28px);transform:none}.ui-toast{--toast-tone:var(--thdp-prana);box-shadow:var(--thdp-ink-shade);color:var(--thdp-ink);font-family:var(--thdp-font-body);letter-spacing:.02em;animation:ui-panel-in var(--thdp-move) ease;background:0 0;border:0;border-image:url(/ui/ui-v1/06_ui_parchment.png) 80 fill/24px;border-radius:0;align-items:center;gap:12px;margin:0;padding:11px 20px;font-weight:600;display:flex}.ui-toast-stack-objective .ui-toast{box-shadow:none;padding-top:28px;padding-bottom:30px}.ui-toast:before{filter:hue-rotate(330deg)saturate(.65);content:"";background:url(/ui/ui-v1/04_ui_panel_red.png) 50%/contain no-repeat;flex:none;width:18px;height:18px}.ui-toast-success{--toast-tone:var(--thdp-qi)}.ui-toast-warning{--toast-tone:var(--thdp-prana)}.ui-toast-danger{--toast-tone:var(--thdp-seal)}.fps-readout{z-index:var(--thdp-z-hud);border:1px solid var(--thdp-hairline);color:var(--thdp-paper-dim);font:600 12px/1.3 var(--thdp-font-body);pointer-events:none;background:#080a0c8c;border-radius:999px;padding:4px 8px;position:fixed;top:8px;right:8px}
