/* Élő jelzések és bemutató-állapotok (gf-allapot.js). */

/* Hibaüzenet: élesben notify(msg,'err') — piros keret és szöveg. */
.toast.hiba{background:#3a1d1a;color:#ffd9d2;border-color:#e69c91}

/* Állapotsávok a lap tetején (gondnoki mód, szabadság, némítás). */
.gf-allapot-savok{display:grid;gap:8px;margin:0 0 18px}
.gf-allapot-sav{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font-size:13px;color:var(--muted)}
.gf-allapot-sav>.icon{width:20px;height:20px;flex:none}
.gf-allapot-sav span{flex:1;min-width:0}
.gf-allapot-sav b{color:var(--text)}
.gf-allapot-sav.gondnok{border-color:#98bfd066;background:#98bfd010}
.gf-allapot-sav.gondnok>.icon{color:var(--blue)}
.gf-allapot-sav.szabadsag{border-color:#9abb9e66;background:#9abb9e10}
.gf-allapot-sav.szabadsag>.icon{color:var(--green)}
.gf-allapot-sav.nemitva{border-color:#e69c9166;background:#e69c9110}
.gf-allapot-sav.nemitva>.icon{color:var(--red)}
.gf-tiltas{margin:0 0 10px}
p.gf-tiltas{font-size:12.5px}
@media(max-width:760px){.gf-allapot-sav{flex-wrap:wrap}.gf-allapot-sav span{flex:1 1 calc(100% - 40px)}.gf-allapot-sav .btn{margin-left:32px}}

/* A kapcsolat sávja: élesben a lap tetején középen, sötétvörösen, Újra gombbal. */
.gf-kapcsolat{position:fixed;left:50%;top:10px;transform:translateX(-50%);z-index:300;display:flex;align-items:center;gap:12px;padding:8px 10px 8px 16px;border-radius:10px;background:#5a1f1a;color:#fbe9e4;border:1px solid #2d0e0b;box-shadow:0 12px 40px #0007;font-size:13px;max-width:calc(100vw - 20px)}
@media(max-width:760px){.gf-kapcsolat{top:auto;bottom:calc(140px + env(safe-area-inset-bottom));flex-wrap:wrap;justify-content:center;text-align:center}}

/* Lebegő küldetésgomb jobb alul (élesben bordó tábla arany kerettel, lüktet, ha jutalom vár);
   a csevegő buboréka fölé kerül, mint élesben. */
.gf-kuldetes{position:fixed;right:22px;bottom:22px;z-index:44;display:flex;align-items:center;gap:10px;pointer-events:none}
.gf-kuldetes>*{pointer-events:auto}
.gf-kuldetes-gomb{position:relative;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;flex:none;background:linear-gradient(180deg,#5b2a26,#3d1b19);border:2px solid var(--copper-light);box-shadow:0 6px 18px #0008;color:var(--copper-light)}
.gf-kuldetes-gomb .icon{width:26px;height:26px}
.gf-kuldetes-gomb .badge{position:absolute;top:-4px;right:-4px;background:#c4544a;color:#fff;font-size:11px;font-weight:700;min-width:19px;height:19px;border-radius:10px;display:grid;place-items:center;padding:0 5px}
.gf-kuldetes-gomb.lukteto{animation:gf-kuldetes-feny 1.6s ease-out infinite}
@keyframes gf-kuldetes-feny{0%{box-shadow:0 6px 18px #0008,0 0 0 0 #e6c498b3}100%{box-shadow:0 6px 18px #0008,0 0 0 14px #e6c49800}}
.reduced-motion .gf-kuldetes-gomb.lukteto{animation:none}
@media(prefers-reduced-motion:reduce){.gf-kuldetes-gomb.lukteto{animation:none}}
.gf-kuldetes-buborek{max-width:240px;padding:9px 13px;border-radius:10px;background:#3d1b19;color:var(--copper-light);border:1px solid var(--copper-light);box-shadow:0 6px 16px #0007;font-size:13px;text-decoration:none;animation:gf-buborek-be .25s ease-out}
.gf-kuldetes-buborek:hover{color:#fff}
.gf-kuldetes-buborek[hidden]{display:none}
@keyframes gf-buborek-be{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}
#gf-chat-dock{bottom:88px}
@media(max-width:760px){
  .gf-kuldetes{right:14px;bottom:calc(76px + env(safe-area-inset-bottom))}
  .gf-kuldetes-gomb{width:48px;height:48px}
  #gf-chat-dock{bottom:calc(136px + env(safe-area-inset-bottom))}
  .gf-kuldetes-buborek{max-width:min(240px,calc(100vw - 100px))}
}

/* Felugró értesítésdobozok jobb felül (élesben 8 másodpercig). */
#gf-ertesites-dobozok{position:fixed;top:14px;right:14px;z-index:290;display:grid;gap:8px;width:min(340px,calc(100vw - 28px))}
.gf-ertesites-doboz{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:10px;background:var(--surface-raised);border:1px solid var(--line);border-left:3px solid var(--copper);box-shadow:0 12px 34px #0008;color:var(--text);font-size:13px;text-decoration:none;animation:gf-buborek-be .25s ease-out;transition:opacity .4s,transform .4s}
.gf-ertesites-doboz .icon{width:18px;height:18px;color:var(--copper);flex:none;margin-top:1px}
.gf-ertesites-doboz.tunik{opacity:0;transform:translateX(12px)}

/* Felugró kártyák (akció, jutalom, hír, figyelmeztetés). */
.gf-promo-hatter{position:fixed;inset:0;z-index:400;background:#060b0dcc;display:grid;place-items:center;padding:16px;animation:gf-promo-be .2s ease-out}
@keyframes gf-promo-be{from{opacity:0}to{opacity:1}}
.gf-promo{width:min(460px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 30px 80px #000a}
.gf-promo header{position:relative;min-height:190px;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:18px 20px;border-radius:14px 14px 0 0}
.gf-promo header::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,#0000 25%,#0e1517f2 100%)}
.gf-promo header>*{position:relative}
.gf-promo h2{margin:0;font-family:var(--display);font-size:30px;line-height:1.05;color:#fff;text-shadow:0 2px 12px #000}
.gf-promo-fajta{position:absolute!important;top:14px;left:16px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;background:#0e1517cc;color:var(--copper-light);border:1px solid #cda37066}
.gf-promo.sale .gf-promo-fajta{color:#ffd28a;border-color:#ffd28a66}
.gf-promo.info .gf-promo-fajta{color:var(--blue);border-color:#98bfd066}
.gf-promo.warning .gf-promo-fajta{color:var(--red);border-color:#e69c9166}
.gf-promo-szam{position:absolute!important;top:16px;right:56px;font-size:12px;color:#e8e2d6;text-shadow:0 1px 6px #000}
.gf-promo-zar{position:absolute!important;top:10px;right:10px;background:#0e1517b3}
.gf-promo-test{padding:16px 20px 4px;color:var(--muted);font-size:14px;line-height:1.55}
.gf-promo-test p{margin:0}
.gf-promo-jutalmak{display:flex;flex-wrap:wrap;gap:14px;margin:14px 0 4px}
.gf-promo-jutalmak span{display:flex;align-items:center;gap:6px;color:var(--text)}
.gf-promo-jutalmak img{width:24px;height:24px;object-fit:contain}
.gf-promo footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:14px 20px 18px}
.gf-promo footer .gf-btn-row{margin-left:auto}
.gf-promo-lapozo{display:flex;gap:4px}

/* Rendezhető táblák (élesben data-rendez) és karakterszámláló. */
table.gf-sortable thead th{cursor:pointer;user-select:none}
table.gf-sortable thead th::after{content:"↕";opacity:.35;margin-left:5px;font-size:10px}
table.gf-sortable thead th[aria-sort=ascending]::after{content:"↑";opacity:.9}
table.gf-sortable thead th[aria-sort=descending]::after{content:"↓";opacity:.9}
.gf-szamlalo{display:block;text-align:right;font-size:11px;color:var(--subtle);margin-top:4px}
.gf-szamlalo.tele{color:var(--red)}
/* Az eredmények archívuma: időrendi lista a fokozatokról. */
.gf-eredmeny-archivum{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.gf-eredmeny-archivum li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-top:1px solid var(--line)}
.gf-eredmeny-archivum li:first-child{border-top:0}
.gf-eredmeny-archivum small{display:block;color:var(--muted);font-size:12px}
.gf-eredmeny-archivum span{color:var(--subtle);font-size:12px;white-space:nowrap}
/* Gondnokként a tiltott űrlap helyén csak a magyarázat áll (a lapstílus display-e ne írja felül a hidden-t). */
[data-tiltva="gondnok"][hidden]{display:none!important}
/* Görgethető sáv: a még kitakart oldal felé halványul (a gf-allapot.js jelöli). A tartalom alatta görgethető marad. */
.gorget-jobbra{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 44px),#0003);mask-image:linear-gradient(90deg,#000 calc(100% - 44px),#0003)}
.gorget-balra{-webkit-mask-image:linear-gradient(90deg,#0003,#000 44px);mask-image:linear-gradient(90deg,#0003,#000 44px)}
.gorget-balra.gorget-jobbra{-webkit-mask-image:linear-gradient(90deg,#0003,#000 44px,#000 calc(100% - 44px),#0003);mask-image:linear-gradient(90deg,#0003,#000 44px,#000 calc(100% - 44px),#0003)}
/* Élő mód (gf-eles.js): betöltés közben a játéklap nem látszik; a még be nem kötött lapokon egy sáv jelzi, hogy bemutató. */
.gf-eles-tolt .app-shell{visibility:hidden}
.gf-eles-tolt body::after{content:"· · ·";position:fixed;inset:0;display:grid;place-items:center;color:var(--copper);font-size:28px;letter-spacing:2px;animation:gf-eles-pulzus 1.2s ease-in-out infinite}
@keyframes gf-eles-pulzus{50%{opacity:.35}}
.gf-eles-sav{display:flex;align-items:flex-start;gap:10px;margin:0 0 16px;padding:11px 14px;border:1px dashed #cda37066;border-radius:10px;background:#cda37010;color:var(--muted);font-size:13px;line-height:1.45}
.gf-eles-sav .icon{width:17px;height:17px;flex:none;margin-top:1px;fill:var(--copper)}
.gf-eles-sav b{color:var(--text)}
.gf-eles-lap-tolt{display:flex;align-items:center;justify-content:center;gap:10px;min-height:220px;color:var(--muted);font-size:14px}
.gf-eles-lap-tolt .icon{width:20px;height:20px;fill:var(--copper);animation:gf-eles-pulzus 1.2s ease-in-out infinite}
/* Élő mód: a címer képe a szerver rajza (100×120-as arány), nem beágyazott SVG. */
img.gf-crest{object-fit:contain}
.gf-crest-opt img.gf-crest{width:30px;height:36px}
.gf-crest-preset img.gf-crest{width:64px;height:76px}
.gf-crest-preview img.gf-crest{width:150px;height:180px}
.clan-banner img.gf-crest{width:96px;height:115px}
.gf-split-side img.gf-crest{width:72px;height:86px;margin:0 auto 10px}
