html:root{--hud-font: "Fira Sans Condensed", "Roboto Condensed", "Arial Narrow", system-ui, sans-serif;--fs-xs: clamp(12px, 1.35vmin, 13px);--fs-sm: clamp(13px, 1.55vmin, 15px);--fs-md: clamp(15px, 1.9vmin, 18px);--fs-lg: clamp(17px, 2.3vmin, 22px);--fs-xl: clamp(24px, 3.4vmin, 32px);--fs-2xl: clamp(28px, 4.8vmin, 44px);--fs-3xl: clamp(36px, 7vmin, 68px);--lh-label: 1.15;--lh-text: 1.45;--caps-track: .08em;--hud-ink: #f2ece0;--hud-ink-dim: rgba(242, 236, 224, .74);--hud-ink-faint: rgba(242, 236, 224, .4);--hud-ground: rgba(12, 13, 17, .8);--hud-ground-deep: rgba(9, 10, 13, .94);--hud-line: rgba(255, 255, 255, .12);--plate: linear-gradient(180deg, rgba(20, 22, 28, .84), rgba(9, 10, 13, .88));--plate-deep: rgba(9, 10, 13, .94);--plate-line: rgba(255, 255, 255, .12);--plate-hi: inset 0 1px 0 rgba(255, 255, 255, .06);--track: rgba(0, 0, 0, .55);--hud-track: var(--track);--hud-shadow: var(--sh-plate);--hud-tshadow: var(--sh-text);--hud-radius: var(--r-md);--hud-good: var(--good);--target-hostile: #ff4a3d;--target-boss: #ffae1f;--target-npc: #58c8ff;--rel-hostile-ink: #ff8a80;--rel-boss-ink: #ffc25c;--rel-npc-ink: #58c8ff;--rel-ally: #5bd68a;--rel-ally-ink: #5bd68a;--plate-name-hostile: #ff8a80;--plate-name-boss: #ffc25c;--plate-name-npc: #58c8ff;--plate-name-ally: #5bd68a;--plate-hp: #ff4a3d;--plate-hp-trail: #ffe3a8;--plate-track: #2b0d0b;--plate-halo: rgba(4, 5, 8, .92);--ring-band: .15;--ring-pulse-alpha: .75;--tier-brute: #ff9a3c;--tier-elite: #e24a3c;--tier-champion: #9a4cff;--tier-ink: #0b0c10;--con-gray: #a7b0c2;--con-blue: #74b3ff;--con-green: #6fdc7a;--con-even: #f2ece0;--con-yellow: #ffd84a;--con-orange: #ff9a3d;--con-red: #ff8a80;--hp-crit: #ff5a4a;--hp-crit-ink: #ff8f84;--trail: #ffe3a8;--gold: #ffc94a;--threat-tell: #ffb02e;--threat-hit: #ff3b30;--good: #4ade80;--dmg-other: #a9aebb;--el-fire: #ff7a2f;--el-bolt: #f5d547;--el-frost: #8fe3ff;--el-dash: #a9bccf;--r-xs: 4px;--r-sm: 8px;--r-md: 12px;--r-lg: 18px;--r-pill: 999px;--sh-plate: 0 8px 24px rgba(0, 0, 0, .45);--sh-text: 0 1px 2px rgba(0, 0, 0, .95), 0 0 8px rgba(0, 0, 0, .55);--sh-big: 0 4px 18px rgba(0, 0, 0, .5);--stroke-big: 3px rgba(0, 0, 0, .85);--blur-panel: 10px;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--hud-g: 24px;--safe-t: env(safe-area-inset-top, 0px);--safe-r: env(safe-area-inset-right, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--m-snap: 90ms;--m-fast: .14s;--m-base: .22s;--m-slow: .36s;--m-trail-delay: .3s;--m-trail: .42s;--m-spin: 1.6s;--e-out: cubic-bezier(.2, .8, .2, 1);--e-in: cubic-bezier(.4, 0, 1, 1);--e-pop: cubic-bezier(.3, 1.5, .5, 1)}@media(max-width:639px){html:root{--hud-g: 12px}}.fk-ico{display:inline-block;flex:none;vertical-align:-.18em;overflow:visible}.fk-num{font-variant-numeric:tabular-nums lining-nums}.fk-caps{text-transform:uppercase;letter-spacing:var(--caps-track)}.fk-over{text-shadow:var(--sh-text)}.fk-big{-webkit-text-stroke:var(--stroke-big);paint-order:stroke fill;text-shadow:var(--sh-big)}.fk-plate{background:var(--plate);border:1px solid var(--plate-line);border-radius:var(--r-md);box-shadow:var(--plate-hi),var(--sh-plate);color:var(--hud-ink);font-family:var(--hud-font)}.fk-keycap{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;box-sizing:border-box;border-radius:5px;background:linear-gradient(#2c3039,#16181d);border:1px solid rgba(255,255,255,.18);border-bottom:2px solid rgba(0,0,0,.6);color:var(--hud-ink);font:700 var(--fs-xs)/1 var(--hud-font);letter-spacing:.04em;text-transform:uppercase;font-variant-numeric:tabular-nums lining-nums;text-shadow:none;white-space:nowrap}.fk-tag{display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:var(--r-xs);color:var(--tier-ink);font:700 var(--fs-xs)/1 var(--hud-font);letter-spacing:var(--caps-track);text-transform:uppercase}.fk-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:44px;padding:0 var(--s4);box-sizing:border-box;border-radius:12px;cursor:pointer;white-space:nowrap;background:var(--plate);border:1px solid var(--plate-line);box-shadow:var(--plate-hi);color:var(--hud-ink);font:700 var(--fs-md)/1 var(--hud-font);transition:transform var(--m-snap) var(--e-out),opacity var(--m-fast) var(--e-out)}.fk-btn:active{transform:scale(.97)}.fk-btn:focus-visible{outline:3px solid var(--hud-accent);outline-offset:2px}.fk-btn-primary{min-height:52px;background:var(--hud-accent);border-color:transparent;box-shadow:var(--sh-plate);color:#0b0c10;font-weight:800;letter-spacing:var(--caps-track);text-transform:uppercase}.fk-bar{position:relative;overflow:hidden;height:12px;border-radius:var(--r-xs);background:var(--track);box-shadow:0 0 0 1px #000000d9}.fk-bar-trail,.fk-bar-fill{position:absolute;inset:0;display:block;transform-origin:0 50%;will-change:transform}.fk-bar-trail{background:var(--trail);transition:transform var(--m-trail) var(--e-out) var(--m-trail-delay)}.fk-bar-fill{background:linear-gradient(180deg,color-mix(in srgb,var(--bar, var(--rel-ally)) 82%,#fff),var(--bar, var(--rel-ally)) 55%,color-mix(in srgb,var(--bar, var(--rel-ally)) 78%,#000));box-shadow:inset 0 1px #ffffff47;transition:transform var(--m-snap) var(--e-out)}.fk-bar-trail[data-snap],.fk-bar-fill[data-snap]{transition:none}@keyframes fk-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes fk-shake{0%,to{transform:translate(0)}25%{transform:translate(6px)}55%{transform:translate(-4px)}80%{transform:translate(2px)}}@keyframes fk-pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes fk-pop{0%{transform:scale(.96)}to{transform:scale(1)}}@keyframes fk-spin{to{transform:rotate(360deg)}}@keyframes fk-flash{0%,to{opacity:1}50%{opacity:.6}}@keyframes fk-leave{to{opacity:0}}.fk-enter{animation:fk-enter var(--m-fast) var(--e-out) both}.fk-leave{animation:fk-leave var(--m-base) var(--e-in) both;pointer-events:none}.fk-shake{animation:fk-shake .26s var(--e-out)}.fk-pulse{animation:fk-pulse .48s ease-in-out infinite}.fk-pop{animation:fk-pop var(--m-base) var(--e-pop)}.fk-spin{animation:fk-spin var(--m-spin) linear infinite}@media(prefers-reduced-motion:reduce){.fk-spin,.fk-pulse{animation:none}.fk-shake,.fk-pop{animation:fk-flash .12s linear}.fk-enter{animation-duration:1ms}.fk-bar-trail,.fk-bar-fill,.fk-btn{transition-duration:1ms;transition-delay:0s}}
