/* KOF Tournament (public/js/kof-*.js): a tela do torneio, o menu VS e a luta assistida, montados dos layouts do jogo */
#screen-kofvs, #screen-kof, #screen-kofwatch { position: relative; overflow: hidden; background: #000; }
.kf-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.kf-bgcv { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
/* como no jogo, só botões e áreas de toque recebem clique (as artes por cima não) */
.kf .cc-img, .kf .cc-s9, .kv .cc-img, .kv .cc-s9, .kw .cc-img, .kw .cc-s9 { pointer-events: none !important; }

/* camadas do tamanho do design (960×640) dentro dos grupos de encaixe */
.kf-layer { position: absolute; left: 0; bottom: 0; width: 960px; height: 640px; pointer-events: none; }
.kf-layer > *, .kf-row > *, .kf-pv-page > *, .kf-icons > * { position: absolute; }
.kf-layer > .cc-btn, .kf-row > .cc-btn, .kf-pv-page > .cc-btn { pointer-events: auto; }
.kf-gray, .cc-btn.kf-gray:hover, .cc-btn.kf-gray:active { filter: grayscale(1); }
.kf-pass, .kf-clip { pointer-events: none !important; }
.kf-hit { position: absolute; pointer-events: auto !important; cursor: pointer; }
.kf .kf-touch { pointer-events: auto !important; cursor: pointer; }
.kf-clip { display: block; }

/* popups: a máscara do jogo (preto a 90/255) por cima da tela */
.kf-pop { position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: 10; }
.kf-mask { position: absolute; inset: -2000px; background: rgba(0, 0, 0, .353); pointer-events: auto; }
.kf-pop > .lb-group { z-index: 1; }

.kf-toast { position: absolute; left: 50%; top: 42%; z-index: 50; transform: translate(-50%, -50%); padding: 10px 26px; border-radius: 8px;
  background: rgba(10, 12, 24, .85); color: #fff; font-size: 20px; white-space: nowrap; pointer-events: none; transition: opacity .35s;
  font-family: 'FZCuYuan', Inter, sans-serif; }
.kf-toast.out { opacity: 0; }

/* números em imagem (LabelAtlas) */
.cc-atlas { display: flex; white-space: nowrap; pointer-events: none; }
.cc-atlas > i { display: block; flex: none; background-repeat: no-repeat; }

/* ícone do lutador (TKOFHelper.createHeroIcon) centrado num ponto, na escala do nó */
.kf-hslot { position: absolute; width: 0; height: 0; pointer-events: none; transform: scale(calc(var(--s, 1) * var(--k, 1))); }
.kf-hslot > .kf-hicon { position: absolute; left: 0; top: 0; transform: translate(-50%, -50%); }
.kf-hicon { position: relative; width: 120px; height: 120px; }
.kf-hicon > .kf-buff { position: absolute; right: 17px; bottom: 37px; z-index: 2; }
.kf-head { position: absolute; border-radius: 50%; overflow: hidden; pointer-events: none; }
.kf-head > img { width: 100%; height: 100%; display: block; }
.kf-chest { position: absolute; pointer-events: none; display: flex; align-items: center; justify-content: center; }
.kf-chest > img { max-width: 100%; max-height: 100%; }

/* rich text (PCRichText): <font size color> */
.kf-rich { white-space: nowrap; font-size: 23px; line-height: 1.1; font-family: 'FZCuYuan', Inter, sans-serif; pointer-events: none;
  text-shadow: 1px 1px 0 #10131c, -1px 1px 0 #10131c, 1px -1px 0 #10131c, -1px -1px 0 #10131c; }
.kf-rich span { white-space: pre; }
.kf-summary span, .kv-desc span { white-space: normal; }
.kf-logtext { transform: translate(0, 50%); }
.kf-summary { white-space: normal; text-align: center; transform: translate(0, 50%); }
.kf-mytitle { position: absolute; left: 0; top: 50%; transform: translateY(-50%); }

/* listas (TableView): rolam por dentro do retângulo do layout */
.kf-scroll { position: absolute; overflow-x: hidden; overflow-y: auto; pointer-events: auto; scrollbar-width: none; overscroll-behavior: contain; }
.kf-scroll::-webkit-scrollbar { display: none; }
.kf-row { position: relative; width: 100%; flex: none; }
.kf-loglist .kf-row { height: 39px; }
.kf-hscroll { position: absolute; overflow-x: auto; overflow-y: hidden; pointer-events: auto; scrollbar-width: none; }
.kf-hscroll::-webkit-scrollbar { display: none; }
.kf-strip-in { display: flex; height: 100%; align-items: center; }
.kf-cell107 { position: relative; width: 107px; height: 107px; flex: none; cursor: pointer; }
.kf-cell107 > .kf-add { position: absolute; left: 2.5px; top: 2.5px; width: 102px; height: 102px; }

/* Previous Match: as duas páginas do PageView */
.kf-pageview { position: absolute; overflow: hidden; pointer-events: none; }
.kf-strip { position: absolute; left: 0; top: 0; width: 1920px; height: 100%; transition: transform .3s ease; }
.kf-pv-page { position: absolute; top: 0; width: 960px; height: 100%; pointer-events: none; }
.kf-pv-page:nth-child(2) { left: 960px; }
.kf-pv-page > .kf-scroll { pointer-events: auto; }
.kf-pv-final { left: 0; }

/* formação: os ícones arrastáveis */
.kf-icons { position: absolute; left: 0; bottom: 0; width: 960px; height: 640px; pointer-events: none; }
.kf-icons > .kf-slot { pointer-events: auto; cursor: grab; touch-action: none; }
.kf-drag.kf-dragging { --k: 1.2; opacity: .6; z-index: 5; }

/* prêmio recebido (GetAwardView) */
.kf-award-title { font-size: 26px; color: #fff2e6; }
.kf-award-icons { position: absolute; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; pointer-events: none; }
.kf-award-icons .it-icon { transform: scale(.85); }

/* regras */
.kf-help { display: block; }
.kf-help > .kf-row { margin-bottom: 14px; }
.kf-help-text { position: relative; width: 640px; margin: 0 0 14px 25px; font-size: 24px; line-height: 1.3; white-space: normal; color: #fff2e8;
  font-family: 'FZCuYuan', Inter, sans-serif; text-shadow: 1px 1px 0 #000; }
.kf-help-text span { white-space: normal; }
.kf-reward { pointer-events: none; }
.kf-reward > .it-icon { position: absolute; left: -10px; top: -10px; transform: scale(.8); }

/* troca das insígnias */
.kf-cost, .kf-target { pointer-events: none; }
.kf-cost > .it-icon, .kf-target > .it-icon { position: absolute; left: -10px; top: -10px; transform: scale(.8); }
.kf-cost-n { position: absolute; right: 4px; bottom: 6px; font-size: 20px; z-index: 3; }
.kf-boxes { position: absolute; display: flex; align-items: center; gap: 9px; pointer-events: none; }
.kf-boxitem { position: relative; display: flex; align-items: center; gap: 6px; width: 100px; height: 30px; }
.kf-boxitem > img { width: 35px; height: 35px; }
.kf-boxitem > span { position: static; font-size: 20px; }
.kf-stdh { display: flex; flex-direction: column; align-items: center; gap: 4px; pointer-events: none; z-index: 5; }
.kf-stdh > b { font-family: Teko, sans-serif; font-size: 44px; color: #ffe08a; text-shadow: 0 2px 0 #000; }

/* ponto vermelho do Arena no início */
.kf-red { position: absolute; right: 2px; top: 0; width: 29px; height: 29px; pointer-events: none; }
.kf-red.hidden { display: none; }

/* menu VS */
.kv-over { position: absolute; pointer-events: auto; cursor: pointer; }
.kv-over > * { position: absolute; }
.kv-desc { display: flex; align-items: center; justify-content: center; white-space: normal; text-align: center;
  font-size: 20px; line-height: 1.25; transform: none; }
.kv-desc span { white-space: normal; }
.kv-award { left: 0; top: 0; width: 100%; height: 100%; pointer-events: none; }
.kv-award > * { position: absolute; }
.kv-icon > .it-icon { position: absolute; left: -20px; top: -20px; transform: scale(.5); }
/* addLock: o cinza (pic_rukou_suo1, 9-slice) e no meio a placa (pic_rukou_suo2, 9-slice 171×63, cantos 62/25/95/12) com o
   texto a 62 da borda esquerda e 13 da direita */
.kv-lock { display: flex; align-items: center; justify-content: center; box-sizing: border-box; }
.kv-plate { position: static; height: 63px; box-sizing: border-box; padding: 0 13px 0 62px; display: flex; align-items: center;
  border-style: solid; border-image: url('/assets/ui/arena/pic_rukou_suo2.png') 25 14 26 62 fill / 25px 14px 26px 62px stretch; }
.kv-plate > span { position: relative; top: 2px; font-size: 18px; color: #fff; white-space: nowrap;
  text-shadow: -1px 0 #000, 1px 0 #000, 0 -1px #000, 0 1px #000; }
.kv-red { pointer-events: none; }

/* luta assistida */
.kw-cv, .kw-load { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.kw-load { z-index: 3; background: #000; }
.kw-end { position: absolute; inset: 0; z-index: 4; cursor: pointer; }
.kw-end.cc-hidden { display: none; }
.kw-tap { position: absolute; left: 50%; top: calc(50% + 250px); transform: translateX(-50%); font-size: 25px; color: rgb(253, 214, 1); }
.kw-lose { position: absolute; left: 0; top: 0; transform-origin: 0 0; }
.kw .bt-prio { margin: 0 14px 0 26px; }
.kw [data-id$=".enemyName"] .bt-prio { margin: 0 26px 0 0; }
.kw-hp { filter: sepia(1) saturate(6) hue-rotate(60deg) brightness(.9); }
.kw-hp2 { filter: sepia(1) saturate(8) hue-rotate(-20deg) brightness(.95); }
.kw-glow { mix-blend-mode: screen; opacity: .5; }
.kw-bench { position: absolute; pointer-events: none; }
.kw-avatar { position: absolute; overflow: hidden; pointer-events: none; }
.kw-bench > img { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.kw-bench > .pic { width: 72px; height: 72px; border-radius: 6px; }
.kw-bench > .frame { width: 84px; height: 84px; }
.kw-bench > .die { width: 88px; display: none; }
.kw-bench.kw-used > .pic { filter: grayscale(1); }
.kw-bench.kw-used > .die { display: block; }
