/* game-ui-kit v1.0.0 — gameskill.dev 原创，MIT 许可。改 CSS 变量即可换主题。 */
.gui{--gui-bg:#141022e6;--gui-border:#ffffff33;--gui-text:#fff;--gui-accent:#ffd36b;--gui-hp:#ff4d6d;--gui-hp-chip:#fff3;--gui-hp-lag:#ffd36b;--gui-mp:#4dabff;--gui-radius:10px;--gui-font:system-ui,"PingFang SC","Microsoft YaHei",sans-serif;font-family:var(--gui-font);color:var(--gui-text)}
.gui-theme-pixel{--gui-radius:0;--gui-font:"Courier New",monospace;--gui-border:#fff;--gui-bg:#000e}
.gui-theme-fantasy{--gui-bg:#2a1a0ee6;--gui-border:#c8a25a;--gui-accent:#f4d58d;--gui-radius:4px}
/* 血条：前景即时变化，lag 层延迟追赶 */
.gui-bar{position:relative;height:16px;min-width:120px;background:#0009;border:2px solid var(--gui-border);border-radius:var(--gui-radius);overflow:hidden}
.gui-bar>i{position:absolute;inset:0;transform-origin:left;transform:scaleX(var(--v,1))}
.gui-bar>.lag{background:var(--gui-hp-lag);transition:transform .5s cubic-bezier(.3,0,.2,1) .35s}
.gui-bar>.fill{background:linear-gradient(#fff4,#0000 60%),var(--gui-color,var(--gui-hp));transition:transform .12s}
.gui-bar>.txt{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;text-shadow:0 1px 2px #000;transform:none}
.gui-bar.hit{animation:gui-shake .25s}
.gui-bar.low>.fill{animation:gui-pulse .8s infinite}
@keyframes gui-shake{20%{translate:-3px 0}40%{translate:3px 0}60%{translate:-2px 0}80%{translate:1px 0}}
@keyframes gui-pulse{50%{filter:brightness(1.7)}}
/* 技能冷却按钮 */
.gui-skill{position:relative;width:64px;height:64px;border-radius:50%;border:2px solid var(--gui-border);background:var(--gui-bg);color:var(--gui-text);font:800 22px var(--gui-font);cursor:pointer;overflow:hidden;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.gui-skill::after{content:"";position:absolute;inset:0;background:conic-gradient(#000b calc(var(--cd,0)*360deg),#0000 0);pointer-events:none}
.gui-skill .cd{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:16px;z-index:1}
.gui-skill.ready{box-shadow:0 0 0 0 var(--gui-accent);animation:gui-ready .6s}
.gui-skill:active{transform:scale(.94)}
@keyframes gui-ready{0%{box-shadow:0 0 0 0 var(--gui-accent)}100%{box-shadow:0 0 0 14px #0000}}
/* 对话框 */
.gui-dialog{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(680px,calc(100vw - 20px));background:var(--gui-bg);border:2px solid var(--gui-border);border-radius:var(--gui-radius);padding:14px 16px 26px;font-size:16px;line-height:1.6;z-index:50;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.gui-dialog .who{color:var(--gui-accent);font-weight:800;margin-bottom:4px}
.gui-dialog .more{position:absolute;right:14px;bottom:6px;animation:gui-bob .8s infinite;opacity:0}.gui-dialog.done .more{opacity:1}
@keyframes gui-bob{50%{translate:0 3px}}
/* 通知 / 成就 */
.gui-toasts{position:fixed;top:calc(12px + env(safe-area-inset-top));right:12px;display:flex;flex-direction:column;gap:8px;z-index:60;pointer-events:none;max-width:calc(100vw - 24px)}
.gui-toast{background:var(--gui-bg);border:2px solid var(--gui-border);border-left:4px solid var(--gui-accent);border-radius:var(--gui-radius);padding:8px 12px;font-size:14px;animation:gui-in .35s cubic-bezier(.2,1.4,.4,1),gui-out .3s ease-in forwards var(--life,2.6s)}
.gui-toast b{color:var(--gui-accent)}
@keyframes gui-in{from{translate:120% 0;opacity:0}}@keyframes gui-out{to{translate:120% 0;opacity:0}}
/* 连击数 */
.gui-combo{font:900 42px var(--gui-font);color:var(--gui-accent);text-shadow:0 3px 0 #000,0 0 18px var(--gui-accent);pointer-events:none}
.gui-combo.pop{animation:gui-pop .25s}
@keyframes gui-pop{from{scale:1.6}}
/* 按钮 */
.gui-btn{background:linear-gradient(#ffffff26,#ffffff08);border:2px solid var(--gui-border);border-radius:var(--gui-radius);color:var(--gui-text);font:700 15px var(--gui-font);padding:9px 18px;cursor:pointer;touch-action:manipulation}
.gui-btn:hover{border-color:var(--gui-accent)}.gui-btn:active{transform:translateY(2px)}
@media (prefers-reduced-motion:reduce){.gui *{animation:none!important;transition:none!important}}
