@import url('https://fonts.googleapis.com/css2?family=Grenze+Gotisch:wght@400;500;600;700;800&family=Spectral:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400;1,500&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
/* Mobile: usuń double-tap zoom i 300ms opóźnienie kliknięcia (pinch-zoom nadal działa). */
html{touch-action:manipulation;-webkit-text-size-adjust:100%}
button,a,.nav-btn,.monster-card,.shop-item,.bag-tab-btn,.hunt-item-btn,.hunt-quick-item{touch-action:manipulation}
/* Szybkie przyciski przedmiotów pod paskiem HP (polowanie). */
.hunt-quick-item{flex:1;min-width:110px;padding:8px 10px;font-size:0.82rem;font-family:var(--font-body);background:var(--panel2);color:var(--text);border:1px solid var(--border2);border-radius:6px;cursor:pointer}
.hunt-quick-item:disabled{opacity:0.4;cursor:not-allowed;border-color:var(--border)}
.hunt-quick-item:not(:disabled):active{background:var(--red)}
/* Sklep (Kupiec) */
.shop-gold{font-size:0.95rem;color:var(--text2);margin-bottom:10px}
.shop-gold strong{color:var(--gold2)}
.shop-selltools{margin-bottom:14px}
.shop-section{margin-bottom:18px}
.shop-section-title{font-family:var(--font-display);color:#fff;text-shadow:0 1px 3px rgba(0,0,0,0.95);font-size:1rem;margin-bottom:8px;border-bottom:1px solid var(--border);padding-bottom:4px}
.shop-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid var(--border);border-radius:6px;margin-bottom:6px;background:var(--panel2);flex-wrap:wrap}
.shop-item-name{flex:1;min-width:140px;color:var(--text)}
.shop-item-tag{color:var(--text3);font-size:0.72rem;border:1px solid var(--border);border-radius:10px;padding:1px 6px;margin-left:4px}
.shop-item-stat{color:var(--green2);font-size:0.82rem;min-width:120px}
.shop-item-price{color:var(--gold2);font-size:0.85rem;white-space:nowrap}
.shop-item-locked{opacity:0.55}
/* Ranking */
.rank-row{display:flex;align-items:center;gap:8px;padding:7px 10px;border-bottom:1px solid var(--border)}
.rank-row--me{background:rgba(189,90,77,0.14);border-radius:4px}
.rank-head{font-family:var(--font-display);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,0.9);border-bottom:1px solid var(--border2)}
.rank-pos{width:34px;text-align:center;color:var(--text3)}
.rank-name{flex:1;min-width:120px;color:var(--text)}
.rank-stat{width:90px;text-align:right;color:var(--text2);font-size:0.85rem}
.rank-sortable{cursor:pointer;user-select:none;-webkit-user-select:none;white-space:nowrap}
.rank-sortable:hover{color:var(--gold3,#e6553a)}
.rank-sort-active{color:#fff}
.rank-stat--neg{color:var(--red2,#c0392b);font-weight:600}
.rank-pager{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px}
.rank-pager button{padding:5px 14px;border:1px solid var(--border2);border-radius:6px;background:var(--panel2);color:var(--text);cursor:pointer;font-family:var(--font-body)}
.rank-pager button:disabled{opacity:0.4;cursor:not-allowed;border-color:var(--border)}
.rank-pager-info{color:var(--text3);font-size:0.85rem}
/* Przycisk wydania PN na stat */
.sc-spend{margin-top:5px;padding:2px 10px;font-size:0.78rem;border:1px solid var(--gold);border-radius:10px;background:rgba(189,90,77,0.16);color:var(--gold2);cursor:pointer;font-family:var(--font-body)}
.sc-spend:disabled{opacity:0.4;cursor:not-allowed;border-color:var(--border)}
:root{
  /* Blood & Ash — grim-dark. Zmienne fontów: podmiana motywu = jedna linia. */
  --font-display:'Grenze Gotisch','Spectral',serif;
  --font-body:'Spectral',Georgia,'Times New Roman',serif;
  /* Łagodniejsza paleta: tła znad czerni, przygaszony tekst, wyciszona czerwień
     (cieplejsza, mniej nasycona) — mniejszy kontrast, dalej mroczny gotyk. */
  --bg:#100c0a;
  --bg2:#15100e;
  --bg3:#1c1512;
  --panel:#191310;
  --panel2:#231a16;
  --border:#3d322b;
  --border2:#7a2b22;
  --gold:#b32f27;
  --gold2:#cf3d31;
  --gold3:#e6553a;
  --text:#d1c8bd;
  --text2:#ddd5cb;
  --text3:#8d8076;
  --red:#8a2c22;
  --red2:#c0392b;
  --green:#46583a;
  --green2:#7c9a60;
  --blue:#27333e;
  --blue2:#4a6a86;
  --shadow:0 6px 28px rgba(0,0,0,0.82);
}

body{background:radial-gradient(ellipse at 50% -10%,rgba(165,40,30,0.12),transparent 55%),radial-gradient(ellipse at 50% 118%,rgba(0,0,0,0.78),transparent 60%),var(--bg);color:var(--text);font-family:var(--font-body);min-height:100vh;overflow-x:hidden}
body::before{content:'';position:fixed;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.01'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none;z-index:-1}

h1,h2,h3,h4{font-family:var(--font-display);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,0.8)}
a{color:var(--gold);text-decoration:none}

button{cursor:pointer;border:none;outline:none;font-family:var(--font-body)}
input{outline:none;font-family:var(--font-body)}

.hidden{display:none!important}

#loading-screen{position:fixed;inset:0;background:var(--bg);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;z-index:9999}
.loading-rune{font-family:var(--font-display);font-size:3rem;color:var(--gold);animation:pulse 1.5s infinite}
@keyframes pulse{0%,100%{opacity:0.3;transform:scale(0.95)}50%{opacity:1;transform:scale(1.05)}}

#auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background-image:url('../tlo.png');background-size:cover;background-position:center;background-repeat:no-repeat}
.auth-box{background:var(--panel);border:2px solid var(--border2);border-radius:4px;padding:40px;width:100%;max-width:420px;box-shadow:var(--shadow);position:relative}
.auth-box::before{content:'';position:absolute;top:6px;left:6px;right:6px;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.auth-box::after{content:'';position:absolute;bottom:6px;left:6px;right:6px;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.auth-logo{text-align:center;margin-bottom:30px}
.auth-logo h1{font-size:1.8rem;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,0.95),0 0 20px rgba(176,29,29,0.3)}
.auth-logo p{color:var(--text3);font-size:0.85rem;margin-top:5px}
.auth-ftp-badge{display:inline-block;margin-top:12px;padding:5px 14px;font-family:var(--font-display);font-size:0.74rem;letter-spacing:0.5px;color:var(--gold3);background:rgba(176,29,29,0.08);border:1px solid rgba(176,29,29,0.4);border-radius:20px;text-shadow:0 0 10px rgba(176,29,29,0.35)}
.auth-tabs{display:flex;margin-bottom:25px;border-bottom:1px solid var(--border)}
.auth-tab{flex:1;padding:10px;background:transparent;color:var(--text3);font-family:var(--font-display);font-size:0.9rem;border-bottom:2px solid transparent;transition:all 0.3s}
.auth-tab.active{color:var(--gold2);border-bottom-color:var(--gold2)}
.auth-tab:hover:not(.active){color:var(--text)}
.form-group{margin-bottom:16px}
.form-group label{display:block;color:var(--text2);font-size:0.8rem;margin-bottom:6px;text-transform:uppercase;letter-spacing:0.5px}
.form-group input{width:100%;background:var(--bg3);border:1px solid var(--border);border-radius:3px;padding:10px 14px;color:var(--text);font-size:0.95rem;transition:border-color 0.3s}
.form-group input:focus{border-color:var(--gold)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:3px;font-family:var(--font-display);font-size:0.9rem;font-weight:600;letter-spacing:0.5px;transition:all 0.2s;position:relative;overflow:hidden}
.btn-primary{background:linear-gradient(180deg,#b01d1d,#5a1512);color:#f4e9e2;width:100%;margin-top:8px}
.btn-primary:hover{background:linear-gradient(180deg,#d83232,#b01d1d);transform:translateY(-1px)}
.btn-primary:active{transform:translateY(0)}
.btn-secondary{background:var(--panel2);border:1px solid var(--border);color:var(--text2)}
.btn-secondary:hover{border-color:var(--gold);color:var(--gold)}
.btn-danger{background:var(--red);border:1px solid var(--red2);color:var(--text)}
.btn-danger:hover{background:var(--red2)}
.btn-sm{padding:6px 12px;font-size:0.8rem}
.btn-xs{padding:4px 8px;font-size:0.75rem}
.btn:disabled{opacity:0.5;cursor:not-allowed;transform:none!important}
.auth-error{background:rgba(139,26,26,0.3);border:1px solid var(--red2);border-radius:3px;padding:10px;color:#e57373;font-size:0.85rem;margin-top:12px;text-align:center}
.auth-online{text-align:center;margin-top:10px;font-size:0.78rem;color:var(--text3);letter-spacing:0.3px}
.online-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#4caf50;margin-right:5px;vertical-align:middle;animation:onlinePulse 2s ease-in-out infinite}
@keyframes onlinePulse{0%,100%{opacity:1;box-shadow:0 0 5px #4caf50}50%{opacity:0.4;box-shadow:none}}
.online-pill{font-size:0.75rem;color:var(--green2)}

#char-create-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.char-create-box{background:var(--panel);border:2px solid var(--border2);border-radius:4px;padding:35px;width:100%;max-width:520px;box-shadow:var(--shadow)}
.char-create-box h2{font-family:var(--font-display);color:#fff;text-shadow:0 1px 3px rgba(0,0,0,0.95);text-align:center;margin-bottom:8px;font-size:1.5rem}
.char-create-box>.subtitle{text-align:center;color:var(--text3);font-size:0.85rem;margin-bottom:25px}
.char-preview-container{display:flex;justify-content:center;margin-bottom:25px}
.color-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:20px}
.color-group{text-align:center}
.color-group label{display:block;color:var(--text3);font-size:0.75rem;margin-bottom:6px;text-transform:uppercase;letter-spacing:0.5px}
.color-group input[type=color]{width:50px;height:40px;border:2px solid var(--border);border-radius:3px;background:transparent;cursor:pointer;padding:2px}
.color-group input[type=color]:hover{border-color:var(--gold)}

#xardas-screen{position:fixed;inset:0;background:rgba(0,0,0,0.85);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}
.xardas-dialog{background:var(--panel);border:2px solid var(--border2);border-radius:4px;padding:30px;max-width:600px;width:100%;box-shadow:var(--shadow);position:relative}
.xardas-header{display:flex;align-items:center;gap:20px;margin-bottom:20px}
.xardas-portrait{flex-shrink:0}
.xardas-name{font-family:var(--font-display);color:var(--gold2);font-size:1.1rem;margin-bottom:4px}
.xardas-subtitle{color:var(--text3);font-size:0.8rem}
.xardas-text{color:var(--text);line-height:1.7;margin-bottom:20px;font-style:italic;border-left:3px solid var(--gold);padding-left:15px}
.xardas-cursor{display:inline-block;width:2px;height:1em;background:var(--gold);animation:blink 0.8s step-end infinite;vertical-align:text-bottom}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}

#game-screen{min-height:100vh;display:flex;flex-direction:column}
.game-header{background:linear-gradient(180deg,var(--bg3),var(--panel));border-bottom:2px solid var(--border);padding:10px 15px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;flex-shrink:0}
.sticky-header .game-header{position:sticky;top:0;z-index:200}
.header-timers-row{display:none;width:100%;flex-basis:100%;flex-wrap:wrap;gap:5px;padding:5px 0 0;border-top:1px solid var(--border2);margin-top:4px;justify-content:center}
.sticky-header .header-timers-row:not(:empty){display:flex}
.game-title{font-family:var(--font-display);color:var(--gold2);font-size:1.1rem;white-space:nowrap}
.header-stats{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.stat-pill{display:flex;align-items:center;gap:5px;background:var(--panel2);border:1px solid var(--border);border-radius:20px;padding:4px 10px;font-size:0.8rem;white-space:nowrap}
.stat-pill .stat-icon{font-size:0.9rem}
.stat-pill .stat-val{color:var(--gold2);font-weight:600}
.effect-pill{border-color:#c0392b;color:#e57373}
.effect-pill .stat-icon{color:#e57373}
.header-right{display:flex;align-items:center;gap:10px}
.logout-btn{background:var(--panel2);border:1px solid var(--border);color:var(--text2);font-family:var(--font-display);padding:6px 12px;border-radius:3px;font-size:0.8rem;cursor:pointer;transition:all 0.2s}
.logout-btn:hover{border-color:var(--red2);color:var(--red2)}

.game-body{flex:1;display:grid;grid-template-columns:1fr;gap:0;min-height:0}
@media(min-width:900px){.game-body{grid-template-columns:240px 1fr}.game-sidebar-left{position:sticky;top:0;max-height:100vh;overflow-y:auto}}

.game-sidebar-left{background:var(--panel);border-right:1px solid var(--border);padding:12px;display:flex;flex-direction:column;gap:8px}
.game-main{background:var(--bg2);display:flex;flex-direction:column;overflow:hidden}
.game-sidebar-right{background:var(--panel);border-left:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column}

.nav-btn{display:flex;align-items:center;justify-content:flex-start;flex-direction:row;gap:11px;padding:10px 13px;background:var(--panel2);border:1px solid var(--border);border-radius:3px;color:var(--text2);font-family:var(--font-display);font-size:0.95rem;font-weight:500;letter-spacing:0.02em;line-height:1.15;text-align:left;transition:all 0.15s;width:100%}
.nav-btn:hover{background:var(--bg3);border-color:var(--gold);color:var(--gold);box-shadow:inset 3px 0 0 var(--border2)}
.nav-btn.active{background:linear-gradient(90deg,rgba(176,29,29,0.2),transparent);border-color:var(--gold);box-shadow:inset 3px 0 0 var(--gold2);color:var(--gold2)}
.nav-btn .nav-icon{font-size:1.2rem;width:1.5em;text-align:center;flex-shrink:0;line-height:1}
.nav-divider{height:1px;background:var(--border);margin:5px 0}
.nav-groups{display:flex;flex-direction:column;gap:6px;flex:1}
.nav-group{display:flex;flex-direction:column;gap:5px}
.nav-group-label{grid-column:1/-1;font-size:0.6rem;font-family:var(--font-display);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,0.9);text-transform:uppercase;letter-spacing:0.08em;padding:8px 4px 2px;border-top:1px solid var(--border);margin-top:2px}
.nav-group:first-child .nav-group-label{border-top:none;padding-top:2px;margin-top:0}
.char-mini{padding:10px;background:var(--bg3);border:1px solid var(--border);border-radius:3px;text-align:center}
.char-mini-name{font-family:var(--font-display);color:#fff;text-shadow:0 1px 3px rgba(0,0,0,0.95);font-size:1.15rem;font-weight:600;margin-bottom:8px}
.exp-bar-wrap{margin-top:8px}
.exp-bar-label{display:flex;justify-content:space-between;font-size:0.7rem;color:var(--text3);margin-bottom:3px}
.exp-bar{height:4px;background:var(--bg);border-radius:2px;overflow:hidden}
.exp-bar-fill{height:100%;background:linear-gradient(90deg,#2d7a2d,#4ab04a);border-radius:2px;transition:width 0.5s}
.mini-hp-wrap,.mini-mana-wrap{margin-top:6px}
.mini-bar-label{display:flex;justify-content:space-between;font-size:0.7rem;color:var(--text3);margin-bottom:2px}
.mini-bar{height:5px;background:var(--bg);border-radius:3px;overflow:hidden}
.mini-bar-fill{height:100%;border-radius:3px;transition:width 0.4s}
.mini-hp-fill{background:linear-gradient(90deg,#7a1f1f,#c0392b)}
.mini-mana-fill{background:linear-gradient(90deg,#1a3a7a,#2980b9)}

@media(max-width:899px){
  .game-sidebar-left{border-right:none;border-bottom:1px solid var(--border);padding:10px}
  .game-sidebar-right{border-left:none;border-top:1px solid var(--border);max-height:200px}
  .char-mini{display:none}
  .nav-groups{display:flex;flex-direction:column;gap:6px}
  .nav-group{display:flex;flex-direction:column;gap:5px}
  .nav-group-label{font-size:0.62rem;padding:6px 4px 2px;margin-top:0;border-top:1px solid var(--border)}
  .nav-group:first-child .nav-group-label{border-top:none;padding-top:2px}
  .nav-btn{flex-direction:row;align-items:center;justify-content:flex-start;padding:11px 13px;font-size:0.98rem;gap:11px;text-align:left;line-height:1.15;width:100%;background:var(--panel2);border-color:var(--border)}
  .nav-btn .nav-icon{width:1.5em;font-size:1.25rem;text-align:center}
}
@media(max-width:599px){
  .nav-divider,.char-mini{display:none}
  .nav-groups{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:400px){
  .nav-groups{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:540px){
  .game-header{padding:6px 10px;gap:4px}
  .header-stats{gap:4px}
  .stat-pill{padding:2px 7px;font-size:0.72rem;gap:3px}
  .stat-lbl{display:none}
  .stat-lbl-s{display:inline}
}
.stat-lbl-s{display:none}

.game-window{flex:1;padding:20px;display:flex;flex-direction:column;gap:15px;overflow-y:auto}
.panel-box{background:var(--panel);border:1px solid var(--border);border-radius:4px;overflow:hidden}
.panel-box-header{background:var(--panel2);border-bottom:1px solid var(--border);padding:10px 15px;display:flex;align-items:center;justify-content:space-between}
.panel-box-header h3{font-family:var(--font-display);color:#fff;text-shadow:0 1px 3px rgba(0,0,0,0.95);font-size:0.95rem}
.panel-box-body{padding:15px}

.activity-display{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;position:relative;overflow:hidden;background:var(--bg3)}
.activity-scene{display:flex;align-items:center;justify-content:center;gap:30px;width:100%;padding:20px;min-height:185px}
.monster-info{text-align:center;position:relative;width:150px}
.monster-death-skull{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0.2);opacity:0;font-size:2.5rem;animation:monsterDeath .55s ease-out forwards;pointer-events:none;z-index:10;filter:drop-shadow(0 0 8px rgba(255,50,50,.9))}
@keyframes monsterDeath{0%{transform:translate(-50%,-50%) scale(.2);opacity:0}35%{transform:translate(-50%,-50%) scale(1.4);opacity:1}70%{transform:translate(-50%,-50%) scale(1.1);opacity:1}100%{transform:translate(-50%,-50%) scale(1);opacity:0}}
.monster-name{font-family:var(--font-display);color:var(--gold);font-size:0.9rem;margin-bottom:8px}
.hp-bar-wrap{width:100px;margin:0 auto}
.hp-bar{height:8px;background:rgba(255,255,255,0.1);border-radius:4px;overflow:hidden}
.hp-bar-fill{height:100%;background:linear-gradient(90deg,var(--red),var(--red2));border-radius:4px;transition:width 0.3s}
.hp-text{text-align:center;font-size:0.7rem;color:var(--text3);margin-top:3px}
.activity-idle-text{color:var(--text3);font-style:italic;font-size:0.9rem}
.vs-text{color:var(--gold);font-family:var(--font-display);font-size:1.2rem;font-weight:700}
.damage-float{position:absolute;pointer-events:none;font-family:var(--font-display);font-weight:700;color:var(--gold2);font-size:1rem;animation:floatUp 1s ease-out forwards;text-shadow:0 0 8px var(--gold)}
@keyframes floatUp{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-50px)}}
.guard-scene{text-align:center}
.guard-scene .guard-title{font-family:var(--font-display);color:var(--gold2);font-size:1rem;margin-bottom:10px}
.guard-scene .guard-time{color:var(--text);font-size:1.5rem;font-weight:600;margin-bottom:5px}
.guard-scene .guard-sub{color:var(--text3);font-size:0.8rem}
.guard-progress{width:200px;height:6px;background:rgba(255,255,255,0.1);border-radius:3px;overflow:hidden;margin:10px auto}
.guard-progress-fill{height:100%;background:linear-gradient(90deg,var(--blue2),var(--gold));border-radius:3px;transition:width 1s}

@keyframes charIdle{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes charAttack{0%,100%{transform:translateX(0)}50%{transform:translateX(8px)}}
@keyframes monsterHurt{0%,100%{opacity:1;filter:none}50%{opacity:0.5;filter:brightness(2) saturate(5) hue-rotate(0deg)}}
@keyframes guardSway{0%,100%{transform:rotate(0deg)}50%{transform:rotate(1.5deg)}}
.char-sprite.idle{animation:charIdle 2s ease-in-out infinite}
.char-sprite.attacking{animation:charAttack 0.5s ease-in-out infinite}
.char-sprite.guarding{animation:guardSway 3s ease-in-out infinite}
.monster-sprite.hurt{animation:monsterHurt 0.4s ease-in-out}
@keyframes monsterDie{0%{opacity:1;transform:scale(1) rotate(0deg)}40%{opacity:1;transform:scale(1.1) rotate(-8deg)}100%{opacity:0;transform:scale(0.4) rotate(35deg) translateY(24px)}}
.monster-dying{animation:monsterDie 0.55s ease-in forwards!important}

.monsters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.monster-card{background:var(--panel2);border:1px solid var(--border);border-radius:3px;padding:12px;cursor:pointer;transition:all 0.2s;position:relative}
.monster-card:hover:not(.locked){border-color:var(--gold);background:var(--bg3)}
.monster-card.active-hunt{border-color:var(--green2);background:rgba(45,90,45,0.2)}
.monster-card.locked{opacity:0.5;cursor:not-allowed}
.monster-card .mon-name{font-family:var(--font-display);font-size:0.85rem;color:var(--text);margin-bottom:6px}
.monster-card .mon-stats{display:flex;flex-direction:column;gap:4px}
.monster-card .mon-stat{font-size:0.72rem;color:var(--text3);background:var(--bg3);padding:2px 6px;border-radius:2px;display:block}
.monster-card .mon-stat span{color:var(--gold)}
.monster-card .mon-stat.exp-stat,.monster-card .mon-stat.exp-stat span{color:var(--green2)}
.monster-card .mon-stat.hp-stat,.monster-card .mon-stat.hp-stat span{color:var(--red2)}
.monster-card .mon-lock{position:absolute;top:8px;right:8px;font-size:0.75rem;color:var(--text3)}
.monster-card.hunt-cooldown-lock{cursor:not-allowed;opacity:0.65}
.monster-card .hunt-cooldown-badge{color:var(--gold2);font-weight:700}
.monster-card .mon-exp{font-size:0.75rem;color:var(--green2);margin-top:6px}

/* --- Hunt layout (dwie kolumny) --- */
.hunt-layout{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
@media(max-width:750px){.hunt-layout{grid-template-columns:1fr}}
.hunt-left{display:flex;flex-direction:column;gap:0}
.hunt-left .monsters-grid{display:flex;flex-direction:column;gap:8px}
.hunt-right{display:flex;flex-direction:column;gap:12px}
/* Konsola zdarzeń */
.hunt-console{background:var(--panel2);border:1px solid var(--border);border-radius:6px;overflow:hidden}
.hunt-console-header{font-family:var(--font-display);font-size:0.82rem;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,0.95);padding:8px 12px;border-bottom:1px solid var(--border);background:var(--bg3)}
.hunt-event-log{max-height:220px;overflow-y:auto;padding:8px 10px;font-size:0.75rem;line-height:1.6}
.hunt-event-log::-webkit-scrollbar{width:4px}
.hunt-event-log::-webkit-scrollbar-track{background:var(--bg)}
.hunt-event-log::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}
.hunt-event-empty{color:var(--text3);font-style:italic;padding:8px 0;text-align:center}
.hunt-event{color:var(--text2);padding:1px 0;border-bottom:1px solid var(--bg);font-family:monospace;font-size:0.72rem}
.hunt-event.kill{color:var(--green2)}
.hunt-event.loot{color:#c8a84e}
.hunt-event.levelup{color:#f9a8d4;font-weight:700}
.hunt-event.downed{color:var(--red2);font-weight:700}
.hunt-event.damage{color:#d98a8a}
.hunt-event.hit{color:var(--text2)}
.hunt-event.crit{color:#ff6a3d;font-weight:700}
.hunt-event.dodge{color:#6fb6d6}
.hunt-event.heal{color:var(--green2)}
.hunt-event.engage{color:var(--text3);font-style:italic}
.hunt-event.flee{color:#d6a23d;font-style:italic;font-weight:700}
.regen-banner{margin-bottom:10px;padding:9px 14px;background:rgba(176,29,29,0.12);border:1px solid var(--red2,#c0392b);border-radius:6px;font-size:0.85rem;color:#e0b0b0;text-align:center}
.regen-banner .regen-countdown{color:#fff;font-weight:700}
/* Pasek HP bohatera w sekcji polowania — płynne schodzenie */
#hunt-hp-fill{transition:width 0.4s}
/* Karta potwora w panelu bocznym */
.hunt-monster-card{background:var(--panel2);border:1px solid var(--border);border-radius:6px;overflow:hidden}
.hunt-monster-header{font-family:var(--font-display);font-size:0.82rem;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,0.95);padding:8px 12px;border-bottom:1px solid var(--border);background:var(--bg3)}
.hunt-monster-body{display:flex;gap:12px;padding:12px;align-items:flex-start}
.hunt-monster-body img,.hunt-monster-body .hunt-monster-img-placeholder{width:70px;height:70px;object-fit:contain;border-radius:6px;background:var(--bg3);flex-shrink:0}
.hunt-monster-body .hunt-monster-info{flex:1;display:flex;flex-direction:column;gap:5px}
.hunt-monster-name{font-family:var(--font-display);font-size:0.85rem;color:var(--text)}
.hunt-monster-stat{font-size:0.73rem;color:var(--text3)}
.hunt-monster-stat span{color:var(--text2)}
.hunt-monster-stat.hp span{color:var(--red2)}
.hunt-monster-stat.atk span{color:var(--gold)}
.hunt-monster-stat.exp span{color:var(--green2)}
.hunt-monster-hp-bar{height:6px;background:var(--bg);border-radius:3px;overflow:hidden;margin-top:4px}
.hunt-monster-hp-fill{height:100%;background:linear-gradient(90deg,#7a1f1f,#c0392b);transition:width 0.4s}
/* Panel przedmiotów w walce */
.hunt-items-card{background:var(--panel2);border:1px solid var(--border);border-radius:6px;overflow:hidden}
.hunt-items-list{display:flex;flex-direction:column;gap:6px;padding:10px 12px}
.hunt-item-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;background:var(--bg3);border-radius:4px}
.hunt-item-info{font-size:0.78rem;color:var(--text)}
.hunt-item-info span{color:var(--gold);font-weight:600}
.hunt-item-heal{font-size:0.7rem;color:var(--green2)}
.hunt-item-btn{padding:4px 10px;font-size:0.72rem;border-radius:3px;cursor:pointer;border:1px solid var(--border);background:var(--bg);color:var(--text);white-space:nowrap;transition:all 0.15s}
.hunt-item-btn:hover:not(:disabled){background:var(--gold);color:#000;border-color:var(--gold)}
.hunt-item-btn:disabled{opacity:0.4;cursor:not-allowed}
.hunt-items-empty{font-size:0.78rem;color:var(--text3);padding:8px 12px;text-align:center}

.shop-layout{display:grid;grid-template-columns:1fr 1fr;gap:15px}
@media(max-width:700px){.shop-layout{grid-template-columns:1fr}}
.shop-section h4{font-family:var(--font-display);color:var(--gold);font-size:0.9rem;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border)}
.sell-all-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:var(--panel2);border:1px solid var(--border2);border-radius:3px;font-size:0.82rem;color:var(--text2);flex-wrap:wrap}
.sell-all-bar .btn{width:auto;margin-top:0;flex-shrink:0}
.shop-items{display:flex;flex-direction:column;gap:6px;max-height:350px;overflow-y:auto;padding-right:4px}
.shop-items::-webkit-scrollbar{width:4px}
.shop-items::-webkit-scrollbar-track{background:var(--bg)}
.shop-items::-webkit-scrollbar-thumb{background:var(--border)}
.shop-item{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:var(--panel2);border:1px solid var(--border);border-radius:3px;gap:8px}
.shop-item-name{font-size:0.85rem;color:var(--text);flex:1}
.shop-item-stat{font-size:0.75rem;color:var(--text3);flex-shrink:0}
.shop-item-price{font-size:0.8rem;color:var(--gold);font-weight:600;flex-shrink:0;white-space:nowrap}
.shop-item-sell{font-size:0.75rem;color:var(--green2);flex-shrink:0}
.shop-item .btn{padding:5px 10px;font-size:0.75rem;flex-shrink:0;width:auto;margin-top:0}
.shop-item-req{font-size:0.75rem;flex-shrink:0}
.shop-item-locked{opacity:0.65}
.shop-tab-bar{display:flex;gap:4px;margin-bottom:8px;flex-wrap:wrap}
.shop-tab-btn{padding:4px 12px;font-size:0.78rem;border:1px solid var(--border);background:var(--panel2);color:var(--text3);cursor:pointer;border-radius:3px;transition:background 0.15s,color 0.15s,border-color 0.15s}
.shop-tab-btn:hover:not(.active){border-color:var(--gold2);color:var(--text)}
.shop-tab-btn.active{background:var(--gold);color:#f4e9e2;border-color:var(--gold);font-weight:600}
.sell-section{margin-top:15px}

.exp-daily-bar{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--panel2);border:1px solid var(--border);border-radius:4px;margin-bottom:14px;font-size:0.83rem;flex-wrap:wrap}
.exp-daily-left{margin-left:auto}
.exp-picker{margin-bottom:18px}
.exp-picker-title,.exp-section-title{font-size:0.9rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,0.9);margin-bottom:10px;padding-bottom:4px;border-bottom:1px solid var(--border)}
.exp-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.exp-card{background:var(--panel2);border:1px solid var(--border);border-radius:5px;padding:12px;display:flex;flex-direction:column;gap:5px;transition:border-color 0.15s}
.exp-card:hover:not(.exp-card-locked){border-color:var(--gold2)}
.exp-card-locked{opacity:0.6}
.exp-card-icon{font-size:1.6rem;line-height:1}
.exp-card-name{font-weight:600;color:var(--text)}
.exp-card-req{font-size:0.76rem;color:var(--text3)}
.exp-card-enemies{font-size:0.76rem;color:var(--text);margin-top:2px}
.exp-card-boss{font-size:0.8rem;margin-top:2px}
.exp-card-rare{font-size:0.78rem;margin-top:2px}
.exp-create-btn{margin-top:6px;align-self:flex-start}
.exp-open-groups{margin-bottom:18px}
.exp-group-list{display:flex;flex-direction:column;gap:6px}
.exp-group-row{display:flex;align-items:center;gap:10px;background:var(--panel2);border:1px solid var(--border);border-radius:4px;padding:8px 12px}
.exp-group-row .btn{width:auto;margin-top:0;flex-shrink:0}
.exp-group-icon{font-size:1.3rem;flex-shrink:0}
.exp-group-info{flex:1;min-width:0}
.exp-group-name{font-weight:600;font-size:0.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.exp-group-members{font-size:0.76rem;color:var(--text3)}
.exp-group-lobby{background:var(--panel2);border:1px solid var(--border);border-radius:5px;padding:16px;margin-bottom:14px}
.exp-lobby-header{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.exp-lobby-icon{font-size:2rem}
.exp-lobby-title{font-weight:700;font-size:1rem;color:var(--text)}
.exp-lobby-members{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.exp-lobby-member{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:4px;border:1px solid var(--border)}
.exp-lobby-member-filled{background:var(--bg2);border-color:var(--gold2)}
.exp-lobby-member-empty{color:var(--text3);font-style:italic;background:var(--bg);border-style:dashed}
.exp-leader-badge{background:var(--gold);color:#f4e9e2;font-size:0.68rem;padding:1px 5px;border-radius:2px;font-weight:700;margin-left:6px;vertical-align:middle}
.exp-helper-badge{background:#6b7280;color:#f3f4f6;font-size:0.68rem;padding:1px 5px;border-radius:2px;font-weight:700;margin-left:6px;vertical-align:middle}
.exp-helper-btn{opacity:0.75}
.exp-lobby-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.exp-lobby-actions .btn{width:auto;margin-top:0;flex-shrink:0}
.fishing-tabs .btn{width:auto;margin-top:0;flex-shrink:0}
.exp-start-btn{font-size:0.9rem}
.exp-kick-btn{font-size:0.73rem;padding:2px 8px}
.btn-danger{background:var(--red,#c0392b);color:#fff;border:none}
.btn-danger:hover{opacity:0.85}
.exp-active{background:var(--panel2);border:1px solid var(--border);border-radius:5px;padding:14px;margin-bottom:14px}
.exp-active-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.exp-active-icon{font-size:1.8rem}
.exp-active-title{font-weight:700;font-size:1rem}
.exp-active-sub{font-size:0.8rem;color:var(--text3)}
.exp-progress-bar-wrap{height:6px;background:var(--bg);border-radius:3px;margin-bottom:12px;overflow:hidden}
.exp-progress-bar{height:100%;background:linear-gradient(90deg,var(--gold2),var(--gold));border-radius:3px;transition:width 0.5s ease}
.exp-timeline{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}
.exp-tl-item{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:3px;font-size:0.84rem}
.exp-tl-done{background:rgba(74,140,74,0.12);color:var(--text3)}
.exp-tl-current{background:rgba(176,29,29,0.18);font-weight:600;color:var(--text)}
.exp-tl-pending{color:var(--text3)}
.exp-tl-dot{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg);border:1px solid var(--border);font-size:0.75rem;flex-shrink:0}
.exp-tl-done .exp-tl-dot{background:var(--green,#4a8c4a);color:#fff;border-color:var(--green,#4a8c4a)}
.exp-tl-current .exp-tl-dot{background:var(--gold2);color:#f4e9e2;border-color:var(--gold2)}
.exp-countdown-row{font-size:0.85rem;color:var(--text3);margin-bottom:10px}
.exp-rewards-preview{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:10px;font-size:0.83rem;margin-bottom:10px}
.exp-rp-title{font-weight:600;color:var(--text);margin-bottom:6px;font-size:0.85rem}
.exp-rp-row{display:flex;gap:6px;padding:2px 0;color:var(--text)}
.exp-members-row{display:flex;gap:6px;flex-wrap:wrap}
.exp-member-chip{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:3px 10px;font-size:0.78rem}
.exp-report{background:var(--panel2);border:1px solid var(--border);border-radius:5px;padding:16px;margin-bottom:14px}
.exp-report-new{border-color:var(--gold);animation:expReportPulse 1.5s ease-out}
@keyframes expReportPulse{0%{box-shadow:0 0 0 0 rgba(176,29,29,0.5)}100%{box-shadow:0 0 0 8px rgba(176,29,29,0)}}
.exp-report-header{font-size:1.1rem;font-weight:700;color:var(--gold);margin-bottom:6px}
.exp-report-name{font-weight:600;margin-bottom:4px}
.exp-report-meta{font-size:0.8rem;color:var(--text3);margin-bottom:12px}
.exp-report-rewards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.exp-report-member{background:var(--bg2);border:1px solid var(--border);border-radius:4px;padding:10px}
.exp-report-member-name{font-weight:600;color:var(--gold2);margin-bottom:6px;font-size:0.88rem}
.exp-rw-row{font-size:0.82rem;padding:1px 0}
.exp-rw-rare{color:var(--gold);font-weight:600}
.exp-rare-badge{background:var(--gold);color:#f4e9e2;font-size:0.68rem;padding:1px 5px;border-radius:2px;font-weight:700;margin-left:4px}
.exp-last-report{margin-top:14px;border:1px solid var(--border);border-radius:4px;overflow:hidden}
.exp-last-report-summary{padding:8px 12px;cursor:pointer;font-size:0.85rem;font-weight:600;background:var(--panel2);user-select:none}
.exp-last-report-summary:hover{background:var(--bg2)}
.exp-last-report-body{padding:12px;background:var(--bg)}
@media(max-width:480px){.exp-cards-grid{grid-template-columns:1fr}.exp-report-rewards-grid{grid-template-columns:1fr}.exp-group-row{flex-wrap:wrap}}

.inventory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}
.inv-item{background:var(--panel2);border:1px solid var(--border);border-radius:3px;padding:10px;position:relative}
.inv-item.equipped{border-color:var(--gold2);background:rgba(176,29,29,0.1)}
.inv-item-name{font-size:0.82rem;color:var(--text);margin-bottom:4px}
.inv-item-qty{font-size:0.75rem;color:var(--text3)}
.inv-item-badge{position:absolute;top:4px;right:4px;background:var(--gold);color:#f4e9e2;font-size:0.65rem;padding:1px 5px;border-radius:2px;font-weight:700}
.inv-item-actions{display:flex;gap:4px;margin-top:8px;flex-wrap:wrap}
.inv-empty{color:var(--text3);font-style:italic;text-align:center;padding:20px}

.quest-box{background:var(--panel2);border:1px solid var(--border);border-radius:4px;padding:18px}
.quest-type-badge{display:inline-block;font-size:0.7rem;padding:2px 8px;border-radius:2px;margin-bottom:8px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px}
.quest-type-badge.hunt{background:rgba(139,26,26,0.4);color:#e57373}
.quest-type-badge.guard{background:rgba(26,58,92,0.4);color:#64b5f6}
.quest-type-badge.loot{background:rgba(45,90,45,0.4);color:#81c784}
.quest-title{font-family:var(--font-display);color:var(--gold);font-size:1rem;margin-bottom:8px}
.quest-desc{color:var(--text2);font-size:0.85rem;line-height:1.6;margin-bottom:12px;font-style:italic}
.quest-progress-bar{height:6px;background:var(--bg);border-radius:3px;overflow:hidden;margin-bottom:6px}
.quest-progress-fill{height:100%;background:linear-gradient(90deg,var(--green),var(--green2));border-radius:3px;transition:width 0.5s}
.quest-progress-text{font-size:0.8rem;color:var(--text3);margin-bottom:12px}
.quest-reward{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.quest-reward-label{font-size:0.75rem;color:var(--text3)}
.quest-reward-val{font-size:0.85rem;color:var(--gold);font-weight:600}
.quest-done-glow{border-color:var(--gold2)!important;box-shadow:0 0 12px rgba(216,50,50,0.3)}
.all-quests-done{text-align:center;padding:30px;color:var(--gold2);font-family:var(--font-display);font-size:1.1rem}

.guard-form{display:flex;flex-direction:column;gap:12px;max-width:350px}
.hours-selector{display:flex;gap:8px;flex-wrap:wrap}
.hour-btn{padding:8px 14px;background:var(--panel2);border:1px solid var(--border);border-radius:3px;color:var(--text2);font-family:var(--font-display);font-size:0.85rem;transition:all 0.2s}
.hour-btn.selected{background:rgba(176,29,29,0.2);border-color:var(--gold2);color:var(--gold2)}
.hour-btn:hover:not(.selected){border-color:var(--gold);color:var(--gold)}
.guard-reward-info{background:var(--bg3);border:1px solid var(--border);border-radius:3px;padding:12px;font-size:0.85rem;color:var(--text2)}
.guard-reward-info strong{color:var(--gold)}

.ranking-table{width:100%;border-collapse:collapse;font-size:0.82rem}
.ranking-table th{font-family:var(--font-display);color:var(--gold);padding:8px;text-align:left;border-bottom:2px solid var(--border);white-space:nowrap}
.ranking-table td{padding:8px;border-bottom:1px solid rgba(58,37,34,0.3);color:var(--text2)}
.ranking-table tr:hover td{background:var(--panel2)}
.ranking-table .rank-num{color:var(--text3);font-weight:600}
.ranking-table .rank-1 .rank-num{color:#ffd700}
.ranking-table .rank-2 .rank-num{color:#c0c0c0}
.ranking-table .rank-3 .rank-num{color:#cd7f32}
.activity-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px}
.activity-dot.hunting{background:var(--red2)}
.activity-dot.guard{background:var(--blue2)}
.activity-dot.null{background:var(--text3)}
.activity-dot.foraging{background:var(--green2)}
.activity-dot.mine{background:#e91e8c}
.ranking-scroll{overflow-x:auto}

.world-feed{flex:1;overflow:hidden;display:flex;flex-direction:column}
.world-feed-header{padding:10px 12px;border-bottom:1px solid var(--border);font-family:var(--font-display);color:var(--gold);font-size:0.85rem;flex-shrink:0}
.world-feed-body{flex:1;overflow:hidden;padding:8px;position:relative}
.feed-event{padding:7px 10px;border-bottom:1px solid rgba(58,37,34,0.2);font-size:0.75rem;color:var(--text2);line-height:1.5;animation:feedIn 0.5s ease-out}
@keyframes feedIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
.feed-event .feed-time{color:var(--text3);font-size:0.65rem}

.notification-container{position:fixed;top:70px;right:15px;display:flex;flex-direction:column;gap:8px;z-index:500;pointer-events:none;max-width:300px}
.notification{background:var(--panel);border-left:3px solid var(--gold2);border-radius:0 4px 4px 0;padding:10px 14px;font-size:0.82rem;color:var(--text);box-shadow:var(--shadow);animation:notifIn 0.3s ease-out forwards;pointer-events:auto}
.notification.success{border-left-color:var(--green2)}
.notification.error{border-left-color:var(--red2);color:#e57373}
.notification.levelup{border-left-color:var(--gold3);background:rgba(176,29,29,0.15)}
@keyframes notifIn{from{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}
@keyframes notifOut{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}
.notification.out{animation:notifOut 0.3s ease-in forwards}
.admin-broadcast-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1200;padding:20px;pointer-events:none;animation:bcIn 0.35s cubic-bezier(0.34,1.56,0.64,1) forwards}
@keyframes bcIn{from{opacity:0;transform:scale(0.85)}to{opacity:1;transform:scale(1)}}
@keyframes bcOut{from{opacity:1;transform:scale(1)}to{opacity:0;transform:translateY(-12px)}}
.admin-broadcast-overlay.bc-out{animation:bcOut 0.38s ease-in forwards;pointer-events:none}
.admin-broadcast-box{background:var(--panel);border:2px solid var(--border2);border-radius:6px;max-width:500px;width:100%;box-shadow:0 8px 48px rgba(0,0,0,0.88),0 0 0 1px rgba(176,29,29,0.12);overflow:hidden;position:relative;pointer-events:auto}
.admin-broadcast-box::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);pointer-events:none}
.admin-broadcast-head{display:flex;align-items:center;gap:10px;padding:14px 20px 12px;border-bottom:1px solid var(--border)}
.admin-broadcast-head-title{font-family:var(--font-display);color:var(--gold2);font-size:0.9rem;font-weight:600;letter-spacing:0.5px}
.admin-broadcast-msg{padding:18px 20px;color:var(--text);font-size:0.92rem;line-height:1.65;white-space:pre-wrap;word-break:break-word;min-height:48px}
.admin-broadcast-foot{display:flex;align-items:center;gap:14px;padding:10px 20px 12px;border-top:1px solid var(--border);background:var(--bg3)}
.admin-broadcast-btn{background:var(--bg2);border:1px solid var(--border);color:var(--text2);border-radius:3px;padding:6px 18px;font-size:0.82rem;cursor:pointer;transition:border-color 0.2s,color 0.2s;flex-shrink:0}
.admin-broadcast-btn:hover{border-color:var(--gold);color:var(--gold)}
.admin-broadcast-prog{flex:1;height:3px;background:rgba(58,37,34,0.35);border-radius:2px;overflow:hidden}
.admin-broadcast-prog-bar{height:100%;width:100%;background:linear-gradient(90deg,var(--gold2),var(--gold));border-radius:2px;transition:width 8s linear}

.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.7);display:flex;align-items:center;justify-content:center;z-index:800;padding:20px}
.modal-box{background:var(--panel);border:2px solid var(--border2);border-radius:4px;padding:25px;max-width:420px;width:100%;box-shadow:var(--shadow)}
.modal-box h3{font-family:var(--font-display);color:var(--gold2);margin-bottom:12px}
.modal-box p{color:var(--text2);font-size:0.9rem;line-height:1.6;margin-bottom:18px}
.modal-actions{display:flex;gap:10px;justify-content:flex-end}

.offline-summary{background:var(--panel2);border:1px solid var(--border2);border-radius:4px;padding:15px;margin-bottom:15px}
.offline-summary h4{font-family:var(--font-display);color:var(--gold2);margin-bottom:10px;font-size:0.95rem}
.offline-event{display:flex;align-items:flex-start;gap:8px;padding:6px 0;border-bottom:1px solid rgba(58,37,34,0.3);font-size:0.82rem;color:var(--text2)}
.offline-event:last-child{border-bottom:none}
.offline-event .ev-icon{font-size:0.9rem;flex-shrink:0}

/* Character panel — identity header */
.char-identity{background:linear-gradient(135deg,var(--bg3),rgba(176,29,29,0.06));border:1px solid var(--border2);border-radius:4px;padding:14px 16px;margin-bottom:14px}
.char-identity-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.prof-badge{display:inline-flex;align-items:center;gap:4px;background:rgba(176,29,29,0.15);border:1px solid rgba(176,29,29,0.45);border-radius:20px;padding:3px 10px;font-size:0.78rem;color:#d95a4a;font-weight:600;letter-spacing:0.02em}
.prof-badge--none{background:rgba(80,80,80,0.1);border-color:var(--border);color:var(--text3)}
.char-identity-level{font-size:0.8rem;color:var(--text2)}
.char-xp-row{margin-bottom:8px}
.char-xp-label{display:flex;justify-content:space-between;align-items:center;font-size:0.72rem;color:var(--text3);margin-bottom:4px}
.char-xp-bar{height:5px;background:var(--bg);border-radius:3px;overflow:hidden}
.char-xp-fill{height:100%;background:linear-gradient(90deg,var(--gold2),var(--gold));border-radius:3px;transition:width 0.5s}
.char-ruda-row{display:flex;align-items:center;justify-content:space-between;font-size:0.82rem}
.char-ruda-label{color:var(--text3);font-size:0.7rem;text-transform:uppercase;letter-spacing:0.5px}
.char-ruda-val{color:#4a90d9;font-family:var(--font-display);font-size:1rem;font-weight:700}
.prof-choose-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.prof-choose-row button{flex:1;min-width:70px;padding:8px 6px;font-family:var(--font-display);font-size:0.8rem;border-radius:3px;cursor:pointer;border:1px solid var(--border2);background:var(--panel2);color:var(--text2);transition:all 0.15s}
.prof-choose-row button:hover{border-color:var(--gold);color:var(--gold)}

/* Combat stat cards — 3-column grid */
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
.stat-card{background:var(--panel2);border:1px solid var(--border);border-radius:4px;padding:10px 6px;text-align:center;position:relative;overflow:hidden}
.stat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--sc-accent,var(--border))}
.stat-card .sc-icon{font-size:1rem;display:block;margin-bottom:1px;opacity:0.65}
.stat-card .sc-val{font-family:var(--font-display);font-size:1.2rem;color:var(--sc-accent,var(--gold2));font-weight:700;line-height:1.2}
.stat-card .sc-label{font-size:0.62rem;color:var(--text3);margin-top:3px;text-transform:uppercase;letter-spacing:0.5px}
.stat-card--atk{--sc-accent:#c0392b}
.stat-card--def{--sc-accent:#4a78b0}
.stat-card--hp{--sc-accent:#c24a4a}
.stat-card--agil{--sc-accent:#3a9a5a}
.stat-card--crit{--sc-accent:#b89840}
.stat-card--pn{--sc-accent:#8855b0}

/* Equipment slots */
.equipped-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.equipped-slot{background:var(--panel2);border:1px solid var(--border);border-radius:3px;padding:8px 12px;flex:1;min-width:140px}
.equipped-slot .slot-label{font-size:0.7rem;color:var(--text3);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:4px}
.equipped-slot .slot-val{font-size:0.85rem;color:var(--gold)}
.equipped-slot .slot-bonus{font-size:0.72rem;color:#e57373;margin-top:3px}
.inv-ring-bonus{font-size:0.72rem;color:#e57373;margin-left:6px}

/* Bag tabs */
.bag-tab-btn{padding:5px 11px;border-radius:3px;font-size:0.8rem;cursor:pointer;border:1px solid var(--border);background:var(--bg2);color:var(--text2);font-family:var(--font-display);transition:all 0.15s}
.bag-tab-btn.active{background:rgba(176,29,29,0.12);border-color:var(--gold);color:var(--gold);font-weight:600}
.bag-tab-btn:hover:not(.active){border-color:var(--border2);color:var(--text)}
.bag-tab-btn span{opacity:0.65}

/* Header XP bar */
.header-xp-row{width:100%;flex-basis:100%;height:4px;background:rgba(0,0,0,0.4);overflow:hidden;margin:4px -15px 0;padding:0}
.header-xp-fill{height:100%;background:linear-gradient(90deg,#8b1e1e,var(--gold2));transition:width 0.7s ease}

/* Pin message (wiadomość dnia) */
.tavern-pin-box{background:linear-gradient(90deg,rgba(176,29,29,0.12),rgba(176,29,29,0.04));border-left:3px solid #c0392b;border-bottom:1px solid var(--border);padding:8px 12px;font-size:0.82rem;color:var(--text)}
.tavern-pin-icon{color:#e74c3c;font-weight:700;margin-right:4px}
.tavern-pin-text{font-weight:600;color:var(--text)}
.tavern-pin-clear{float:right;font-size:0.7rem;color:var(--text3);cursor:pointer;padding:2px 6px;border:1px solid var(--border);border-radius:3px;background:transparent}
.tavern-pin-clear:hover{color:var(--text);border-color:var(--border2)}
.crafting-list{display:flex;flex-direction:column;gap:12px;max-width:680px}
.crafting-recipe{background:var(--panel2);border:1px solid var(--border);border-radius:4px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.crafting-recipe-disabled{opacity:0.65}
.crafting-recipe-name{font-family:var(--font-display);font-size:0.9rem;color:var(--gold);margin-bottom:2px}
.crafting-recipe-body{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.crafting-inputs,.crafting-outputs{display:flex;flex-direction:column;gap:4px}
.crafting-arrow{font-size:1.3rem;color:var(--text3);padding:0 4px}
.crafting-mat{display:flex;gap:8px;align-items:center;font-size:0.82rem}
.crafting-mat-name{color:var(--text2)}
.crafting-mat-qty{color:var(--text3);font-size:0.78rem}
.crafting-mat-missing .crafting-mat-qty{color:#e57373}
.crafting-empty{color:var(--text3);padding:12px 0}

@media(max-width:900px){
  .game-body{grid-template-columns:1fr!important}
  .game-sidebar-right{max-height:180px}
}
@media(max-width:500px){
  .monsters-grid{grid-template-columns:1fr 1fr}
  .shop-layout{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:repeat(3,1fr)}
  .ranking-table th:nth-child(5),.ranking-table td:nth-child(5){display:none}
  .ranking-table th:nth-child(4),.ranking-table td:nth-child(4){display:none}
}

.section-title{font-family:var(--font-display);color:#fff;text-shadow:0 1px 3px rgba(0,0,0,0.95);font-size:1rem;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}

.inventory-section{margin-top:12px}
.inventory-section h4{font-family:var(--font-display);color:var(--text2);font-size:0.85rem;margin-bottom:8px}

/* Farm */
.farm-buy-box{text-align:center;background:var(--panel2);border:1px solid var(--border2);border-radius:4px;padding:24px;max-width:440px}
.farm-buy-icon{font-size:2.5rem;margin-bottom:10px}
.farm-buy-title{font-family:var(--font-display);color:var(--gold);font-size:1rem;margin-bottom:8px}
.farm-buy-desc{color:var(--text2);font-size:0.85rem;line-height:1.7;margin-bottom:12px}
.farm-buy-price{color:var(--text2);font-size:0.9rem}
.farm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:600px}
.farm-plot{background:var(--panel2);border:1px solid var(--border);border-radius:4px;padding:14px 10px;text-align:center;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;transition:all 0.2s;position:relative}
.farm-plot.empty{cursor:pointer;border-style:dashed}
.farm-plot.empty:hover{border-color:var(--gold);background:var(--bg3)}
.farm-plot.ready{cursor:pointer;border-color:var(--green2);background:rgba(45,90,45,0.15)}
.farm-plot.ready:hover{background:rgba(45,90,45,0.25)}
.plot-icon{font-size:2rem}
.plot-label{font-size:0.72rem;color:var(--text3);line-height:1.4;word-break:break-word}
.plot-progress{width:90%;height:5px;background:var(--bg);border-radius:2px;overflow:hidden}
.plot-progress-fill{height:100%;background:linear-gradient(90deg,var(--green),var(--green2));border-radius:2px;transition:width 0.5s}
.plot-time{font-size:0.66rem;color:var(--text3)}
.plot-harvest-btn{padding:4px 10px;font-size:0.72rem;width:85%;margin-top:4px;background:linear-gradient(180deg,var(--green2),var(--green));color:#fff;border:none;border-radius:3px;cursor:pointer;font-family:var(--font-display);font-weight:600}
.plot-harvest-btn:hover{filter:brightness(1.15)}

/* Foraging */
.foraging-level-header{display:flex;align-items:center;gap:12px;background:var(--panel2);border:1px solid var(--border);border-radius:4px;padding:12px 16px;margin-bottom:14px}
.foraging-level-badge{background:rgba(45,90,45,0.5);color:var(--green2);border:1px solid rgba(45,120,45,0.4);border-radius:3px;padding:4px 10px;font-size:0.82rem;font-weight:700;white-space:nowrap;flex-shrink:0}
.foraging-level-info{flex:1;min-width:0}
.foraging-level-name{font-family:var(--font-display);color:var(--gold);font-size:0.9rem;display:block;margin-bottom:4px}
.foraging-xp-bar-wrap{display:flex;align-items:center;gap:8px}
.foraging-xp-bar{flex:1;height:6px;background:rgba(255,255,255,0.08);border-radius:3px;overflow:hidden}
.foraging-xp-fill{height:100%;background:linear-gradient(90deg,var(--green),var(--green2));border-radius:3px;transition:width 0.4s}
.foraging-xp-text{color:var(--text3);font-size:0.75rem;white-space:nowrap;flex-shrink:0}
.foraging-potion-badge{background:rgba(45,90,45,0.6);color:var(--green2);border:1px solid rgba(45,150,45,0.5);border-radius:3px;padding:3px 8px;font-size:0.75rem;font-weight:600;white-space:nowrap;flex-shrink:0}
.foraging-active-box{background:var(--panel2);border:1px solid var(--border2);border-radius:4px;padding:20px;max-width:500px}
.foraging-icon{font-size:1.8rem;margin-bottom:0;flex-shrink:0}
.foraging-title{font-family:var(--font-display);color:var(--gold);font-size:1rem}
.foraging-active-header{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.foraging-subtitle{color:var(--text2);font-size:0.82rem;margin-top:4px}
.foraging-cycle-bar{height:8px;background:rgba(255,255,255,0.08);border-radius:4px;overflow:hidden;margin-bottom:10px}
.foraging-cycle-fill{height:100%;background:linear-gradient(90deg,var(--green),var(--green2));border-radius:4px;transition:width 0.5s}
.foraging-stats{display:flex;gap:16px;color:var(--text2);font-size:0.82rem;margin-bottom:10px;flex-wrap:wrap}
.foraging-stats strong{color:var(--gold)}
.foraging-recent-drops{background:var(--bg3);border:1px solid var(--border);border-radius:3px;padding:8px 12px;font-size:0.8rem;display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:34px}
.foraging-recent-label{color:var(--text3);font-size:0.75rem;margin-right:2px;flex-shrink:0}
.foraging-recent-item{background:rgba(45,90,45,0.3);color:var(--green2);padding:2px 7px;border-radius:2px;font-size:0.78rem}
.foraging-area-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.foraging-area-card{background:var(--panel2);border:1px solid var(--border);border-radius:4px;padding:14px;display:flex;flex-direction:column;gap:6px;transition:border-color 0.2s}
.foraging-area-card:not(.locked):hover{border-color:var(--border2)}
.foraging-area-card.locked{opacity:0.55;filter:grayscale(30%)}
.foraging-area-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.foraging-area-name{font-family:var(--font-display);color:var(--gold);font-size:0.88rem;line-height:1.3}
.foraging-area-meta{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0}
.foraging-area-cycle{color:var(--text3);font-size:0.72rem;background:var(--bg3);padding:1px 5px;border-radius:2px}
.foraging-area-xp{color:var(--green2);font-size:0.72rem;font-weight:600}
.foraging-area-desc{color:var(--text3);font-size:0.78rem;line-height:1.5}
.foraging-drops-info{display:flex;flex-direction:column;gap:4px}
.foraging-drop-item{display:flex;align-items:center;gap:6px;font-size:0.78rem;color:var(--text2)}
.foraging-drop-chance{background:rgba(45,90,45,0.4);color:var(--green2);padding:1px 5px;border-radius:2px;font-size:0.72rem;font-weight:600;min-width:30px;text-align:center}
.foraging-drop-chance.rare{background:rgba(90,45,90,0.4);color:#c89eff}
.foraging-drop-rare{color:#c89eff;font-size:0.7rem;font-style:italic}
.foraging-area-locked-label{color:var(--text3);font-size:0.75rem;font-style:italic;margin-top:2px}
.foraging-progress-bar{width:200px;height:6px;background:rgba(255,255,255,0.1);border-radius:3px;overflow:hidden;margin:8px auto}
.foraging-progress-fill{height:100%;background:linear-gradient(90deg,var(--green),var(--green2));border-radius:3px;transition:width 0.5s}

/* Seed modal */
.seed-option{background:var(--bg3);border:1px solid var(--border);border-radius:3px;padding:12px;cursor:pointer;margin-bottom:6px;transition:all 0.2s}
.seed-option:hover{border-color:var(--gold);background:var(--panel2)}
.seed-name{font-family:var(--font-display);color:var(--gold);font-size:0.9rem;margin-bottom:4px}
.seed-info{color:var(--text2);font-size:0.78rem;margin-bottom:3px}
.seed-qty{color:var(--text3);font-size:0.75rem}

/* Ranking tabs */
.rank-tabs{display:flex;gap:0;margin-bottom:14px;border:1px solid var(--border);border-radius:4px;overflow:hidden;width:fit-content}
.rank-tab-btn{background:var(--panel2);border:none;color:var(--text3);padding:9px 22px;font-family:var(--font-display);font-size:0.82rem;cursor:pointer;transition:all 0.18s;letter-spacing:0.3px}
.rank-tab-btn:hover{color:var(--text);background:var(--bg3)}
.rank-tab-btn.active{background:var(--panel);color:var(--gold);border-bottom:2px solid var(--gold)}
.rank-tab-btn + .rank-tab-btn{border-left:1px solid var(--border)}

/* Ranking pagination */
.ranking-pagination{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 15px;border-top:1px solid var(--border);flex-wrap:wrap}
.rank-page-btn{background:var(--panel2);border:1px solid var(--border);color:var(--text2);padding:6px 14px;border-radius:3px;font-family:var(--font-display);font-size:0.78rem;transition:all 0.2s;cursor:pointer}
.rank-page-btn:hover:not(:disabled){border-color:var(--gold);color:var(--gold)}
.rank-page-btn:disabled{opacity:0.35;cursor:default}
.rank-page-info{color:var(--text3);font-size:0.78rem;font-family:var(--font-display)}
.rank-jump-btn{background:rgba(176,29,29,0.12);border-color:var(--border2);color:var(--gold)}
.rank-jump-btn:hover{background:rgba(176,29,29,0.22)!important}

/* Nav button — Co nowego */
.nav-btn-news:hover{color:var(--gold2)!important}

/* Nav button — FAQ */
.nav-btn-faq:hover{color:var(--gold2)!important}

/* Nav button — Wesprzyj (czerwona aura) */
.nav-btn-support{color:#d6473b!important}
.nav-btn-support:hover{color:#f06458!important;background:rgba(192,57,43,0.12)!important}

/* Support modal */
.support-modal-box{max-width:480px;width:100%;padding:28px;text-align:center}
.support-modal-body{padding:16px 0 4px}
.support-modal-text{color:var(--text2);font-size:0.89rem;line-height:1.8;margin:0 0 22px;text-align:left}
.support-coffee-btn{display:inline-block;padding:11px 32px;background:linear-gradient(135deg,#b32f27,#e0553a);color:#fff;font-family:var(--font-display);font-size:0.95rem;font-weight:600;letter-spacing:0.04em;border-radius:4px;text-decoration:none;border:none;cursor:pointer;transition:opacity 0.2s,transform 0.15s;box-shadow:0 2px 12px rgba(192,57,43,0.4)}
.support-coffee-btn:hover{opacity:0.88;transform:translateY(-1px);box-shadow:0 4px 18px rgba(192,57,43,0.55)}

/* FAQ modal */
.faq-modal-box{max-width:640px;width:100%;padding:28px}
.faq-list{max-height:60vh;overflow-y:auto;padding-right:4px}
.faq-item{border:1px solid var(--border2);border-radius:4px;margin-bottom:6px;overflow:hidden}
.faq-item[open]{border-color:var(--gold)}
.faq-summary{padding:12px 16px;cursor:pointer;font-family:var(--font-display);color:var(--gold2);font-size:0.92rem;list-style:none;display:flex;align-items:center;justify-content:space-between;user-select:none;-webkit-user-select:none}
.faq-summary::-webkit-details-marker{display:none}
.faq-summary::after{content:'▸';font-size:0.8rem;color:var(--text3);transition:transform 0.2s;flex-shrink:0}
.faq-item[open] .faq-summary::after{transform:rotate(90deg)}
.faq-summary:hover{background:rgba(176,29,29,0.07)}
.faq-body{padding:0 16px 16px;color:var(--text2);font-size:0.86rem;line-height:1.75}
.faq-body p{margin:0 0 10px}
.faq-body ul{margin:4px 0 10px;padding-left:18px}
.faq-body li{margin-bottom:4px}
.faq-body strong{color:var(--text)}
.faq-section{padding-top:14px;border-top:1px solid var(--border2);margin-top:4px}
.faq-section:first-child{padding-top:4px;border-top:none;margin-top:0}
.faq-section-last{margin-bottom:0}
.faq-section-title{font-family:var(--font-display);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,0.9);font-size:0.82rem;font-weight:600;margin-bottom:10px;letter-spacing:0.03em}
.faq-type-label{display:inline-block;font-size:0.74rem;font-weight:700;border-radius:3px;padding:2px 9px;margin-bottom:8px;border:1px solid}
.faq-type-ustawka{color:#4ab04a;border-color:#4ab04a;background:rgba(74,176,74,0.08)}
.faq-type-napad{color:#e04a4a;border-color:#e04a4a;background:rgba(224,74,74,0.08)}
.faq-note{color:var(--text3);font-style:italic;font-size:0.82rem;border-left:2px solid var(--border);padding-left:10px;margin-top:6px}

/* News modal */
.news-modal-box{max-width:600px;width:100%;padding:28px}
/* Privacy modal */
.privacy-modal-box{max-width:560px;width:100%;padding:28px}
.privacy-modal-body{max-height:55vh;overflow-y:auto;padding-right:6px;margin-bottom:4px}
.privacy-section{margin-bottom:18px}
.privacy-section-last{margin-bottom:0}
.privacy-section-title{font-family:var(--font-display);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,0.9);font-size:0.8rem;margin-bottom:6px;text-transform:uppercase;letter-spacing:0.5px}
.privacy-section p,.privacy-section ul{color:var(--text2);font-size:0.86rem;line-height:1.7;margin:0}
.privacy-section ul{padding-left:18px}
.privacy-section ul li{margin-bottom:3px}
.privacy-section a{color:var(--gold);text-decoration:none}
.privacy-section a:hover{text-decoration:underline}
.privacy-notice-box{max-width:380px;text-align:center;padding:30px 26px}
.privacy-notice-box h3{font-family:var(--font-display);color:var(--gold2);font-size:1rem;margin-bottom:10px}
.privacy-notice-box>p{color:var(--text2);font-size:0.86rem;line-height:1.65;margin-bottom:22px}
.privacy-notice-actions{display:flex;align-items:center;justify-content:center;gap:18px}
.privacy-notice-link{color:var(--text3);font-size:0.82rem;text-decoration:none}
.privacy-notice-link:hover{color:var(--gold)}
.privacy-check-group{margin:2px 0 14px}
.privacy-check-label{display:flex;align-items:flex-start;gap:8px;cursor:pointer;color:var(--text3);font-size:0.82rem;line-height:1.5}
.privacy-check-label input[type=checkbox]{width:14px;height:14px;accent-color:var(--gold);cursor:pointer;flex-shrink:0;margin-top:2px}
.privacy-check-label a{color:var(--gold);text-decoration:none}
.privacy-check-label a:hover{text-decoration:underline}
.auth-privacy-link{text-align:center;margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}
.auth-privacy-link a{color:var(--text3);font-size:0.78rem;text-decoration:none;letter-spacing:0.3px}
.auth-privacy-link a:hover{color:var(--gold)}
.news-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.news-modal-header h3{font-family:var(--font-display);color:var(--gold2);font-size:1.1rem}
.news-modal-close{background:transparent;border:1px solid var(--border);color:var(--text3);width:28px;height:28px;border-radius:3px;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all 0.2s}
.news-modal-close:hover{border-color:var(--red2);color:var(--red2)}
.news-modal-text{white-space:pre-wrap;color:var(--text2);font-size:0.88rem;line-height:1.8;min-height:60px;max-height:55vh;overflow-y:auto;padding:14px;background:var(--bg3);border:1px solid var(--border);border-radius:3px;margin-bottom:14px}
.news-modal-date{color:var(--text3);font-size:0.74rem;margin-bottom:16px}

/* Alchemy */
.alchemy-lore{background:var(--panel2);border:1px solid var(--border2);border-left:3px solid var(--gold);border-radius:4px;padding:14px 18px;margin-bottom:16px}
.alchemy-lore p{color:var(--text2);font-size:0.84rem;line-height:1.7;font-style:italic}
.alchemy-lore em{color:var(--gold2);font-style:normal}
.alchemy-active-effect{display:flex;align-items:center;gap:10px;background:rgba(176,29,29,0.08);border:1px solid var(--gold2);border-radius:4px;padding:10px 14px;margin-bottom:12px;font-size:0.84rem;color:var(--text2)}
.alchemy-effect-icon{font-size:1.1rem;flex-shrink:0}
.alchemy-brewing-active{background:var(--panel2);border:1px solid var(--border2);border-radius:4px;padding:14px;margin-bottom:16px;text-align:center}
.alchemy-brewing-title{font-family:var(--font-display);color:var(--gold2);font-size:0.95rem;margin-bottom:10px}
.alchemy-progress-bar{height:8px;background:rgba(255,255,255,0.08);border-radius:4px;overflow:hidden;margin:0 auto 8px;max-width:300px}
.alchemy-progress-fill{height:100%;background:linear-gradient(90deg,#7b2d8b,#a64dff);border-radius:4px;transition:width 1s}
.alchemy-brewing-time{color:var(--text3);font-size:0.82rem}
.brew-queue-section{margin-top:10px;text-align:left}
.brew-queue-list{height:140px;overflow-y:auto;padding-right:2px}
.brew-queue-label{font-size:0.78rem;color:var(--text3);margin-bottom:4px}
.brew-queue-item{display:flex;align-items:center;gap:6px;padding:4px 6px;background:rgba(255,255,255,0.04);border-radius:3px;margin-bottom:3px;font-size:0.82rem}
.brew-queue-name{flex:1;color:var(--text1)}
.brew-queue-time{color:var(--text3);font-size:0.78rem}
.brew-queue-remove{background:none;border:none;color:var(--text3);cursor:pointer;font-size:1rem;padding:0 2px;line-height:1}
.brew-queue-remove:hover{color:#e44}
.brew-queue-total{font-size:0.78rem;color:var(--gold2);margin-top:5px;text-align:right}
.alchemy-recipes{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}
.alchemy-recipe-card{background:var(--panel2);border:1px solid var(--border);border-radius:4px;padding:15px}
.alchemy-recipe-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}
.alchemy-recipe-name{font-family:var(--font-display);color:var(--gold);font-size:0.9rem}
.alchemy-recipe-time{color:var(--text3);font-size:0.75rem;white-space:nowrap;flex-shrink:0}
.alchemy-recipe-desc{color:var(--text2);font-size:0.78rem;line-height:1.6;margin-bottom:5px;font-style:italic}
.alchemy-effect-desc{color:var(--green2);font-size:0.78rem;margin-bottom:10px}
.alchemy-ingredients{margin-bottom:12px}
.alchemy-ing-label{font-size:0.71rem;color:var(--text3);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:5px}
.alchemy-ingredient{display:flex;justify-content:space-between;align-items:center;font-size:0.8rem;padding:3px 0;border-bottom:1px solid rgba(58,37,34,0.2)}
.alchemy-ingredient:last-child{border-bottom:none}
.ing-name{color:var(--text2)}
.ing-qty{color:var(--gold);font-weight:600}
.alchemy-ingredient.missing .ing-name{color:var(--text3)}
.alchemy-ingredient.missing .ing-qty{color:var(--red2)}
.activity-dot.brewing{background:#a64dff}

/* Options section */
.options-group{margin-bottom:20px}
.options-group-title{font-family:var(--font-display);color:#fff;text-shadow:0 1px 3px rgba(0,0,0,0.95);font-size:0.9rem;margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--border)}
.option-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid rgba(58,37,34,0.3)}
.option-row:last-child{border-bottom:none}
.option-info{flex:1}
.option-name{color:var(--text);font-size:0.88rem;margin-bottom:3px}
.option-desc{color:var(--text3);font-size:0.78rem;line-height:1.5}

/* Music controls */
.music-controls{display:flex;gap:8px;margin-bottom:12px}
.music-btn{min-width:110px}
.music-vol-row{display:flex;align-items:center;gap:10px;max-width:360px}
.music-vol-label-txt{color:var(--text3);font-size:0.8rem;white-space:nowrap;min-width:62px}
.music-vol-slider{flex:1;-webkit-appearance:none;appearance:none;height:4px;border-radius:2px;background:var(--bg2);outline:none;cursor:pointer;accent-color:var(--gold2)}
.music-vol-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--gold2);cursor:pointer;border:none}
.music-vol-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--gold2);cursor:pointer;border:none}
.music-vol-pct{color:var(--gold2);font-size:0.8rem;font-weight:700;min-width:36px;text-align:right}

/* Toggle switch */
.toggle-switch{position:relative;display:inline-block;width:46px;height:26px;flex-shrink:0}
.toggle-switch input{opacity:0;width:0;height:0;position:absolute}
.toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--bg2);border:1px solid var(--border);border-radius:26px;transition:.2s}
.toggle-slider:before{position:absolute;content:'';height:18px;width:18px;left:3px;bottom:3px;background:var(--text3);border-radius:50%;transition:.2s}
.toggle-switch input:checked+.toggle-slider{background:var(--gold2);border-color:var(--gold2)}
.toggle-switch input:checked+.toggle-slider:before{transform:translateX(20px);background:#fff}

/* Daily quest */
.quest-type-badge.daily{background:rgba(139,110,26,0.35);color:#ff7a4a}
/* Mine quest */
.quest-type-badge.mine{background:rgba(233,30,140,0.3);color:#f48fb1}
.dq-fill{background:linear-gradient(90deg,#b01d1d,#ff7a4a)}
.dq-done-msg{color:var(--gold2);font-size:0.88rem;margin-bottom:8px}
.dq-countdown{font-family:var(--font-display);font-size:1.5rem;color:var(--gold2);text-align:center;padding:8px 0 4px}

/* Admin banner */
#admin-banner{display:none;margin-bottom:8px}
.admin-banner-inner{display:flex;align-items:center;gap:10px;padding:10px 16px;background:linear-gradient(90deg,rgba(60,35,10,0.97),rgba(80,50,15,0.97));border:1px solid #b01d1d;border-radius:4px;color:#ff7a4a;font-size:0.9rem;line-height:1.4;box-shadow:0 2px 10px rgba(0,0,0,0.5)}
.admin-banner-icon{font-size:1.1rem;flex-shrink:0}
.admin-banner-text{word-break:break-word}

/* Weather bar */
#weather-bar{display:none;margin-bottom:8px}
.weather-bar-inner{display:flex;align-items:center;gap:10px;padding:9px 16px;background:var(--panel2);border:1px solid var(--border);border-radius:4px;color:var(--text2);font-size:0.87rem;line-height:1.4}
.weather-bar-icon{font-size:1.05rem;flex-shrink:0}
.weather-bar-text{flex:1;min-width:0}
.weather-bar-name{color:var(--text);font-style:italic}
.weather-bar-bonus{color:var(--green2);font-size:0.8rem;margin-top:1px}
.weather-bar-timer{flex-shrink:0;font-size:0.75rem;color:var(--text3);font-family:var(--font-display);white-space:nowrap}
.forecast-btn{flex-shrink:0;margin-left:6px;padding:2px 8px;font-size:0.73rem;background:var(--panel);border:1px solid var(--border);border-radius:3px;color:var(--text3);cursor:pointer;white-space:nowrap;font-family:var(--font-display)}
.forecast-btn:hover{border-color:var(--gold);color:var(--gold)}
.weather-forecast-panel{display:none;overflow-x:auto;padding:8px 0 2px;gap:8px}
.weather-forecast-panel.open{display:flex}
.weather-forecast-card{flex-shrink:0;width:130px;background:var(--panel2);border:1px solid var(--border);border-radius:4px;padding:8px 10px;text-align:center}
.wfc-time{font-size:0.72rem;color:var(--text3);font-family:var(--font-display);margin-bottom:4px}
.wfc-icon{font-size:1.15rem;margin-bottom:4px}
.wfc-name{font-size:0.7rem;color:var(--text);font-style:italic;margin-bottom:3px;line-height:1.3}
.wfc-bonus{font-size:0.67rem;color:var(--green2);line-height:1.3}

/* Daily reward */
.daily-reward-box{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:520px;margin:0 auto;padding:30px 20px}
.dr-chest{font-size:4rem;animation:drFloat 3s ease-in-out infinite;filter:drop-shadow(0 0 18px rgba(176,29,29,0.7))}
.dr-chest-done{animation:none;filter:grayscale(0.6) opacity(0.5);transform:none}
@keyframes drFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.dr-title{font-family:var(--font-display);font-size:1.4rem;color:var(--gold2);margin:14px 0 6px;text-shadow:0 0 20px rgba(176,29,29,0.4)}
.dr-subtitle{color:var(--text3);font-size:0.83rem;line-height:1.6;margin-bottom:22px}
.dr-claim-btn{background:linear-gradient(180deg,#b01d1d,#5a1512);color:#f4e9e2;font-family:var(--font-display);font-weight:700;font-size:1rem;padding:14px 32px;border:none;border-radius:4px;cursor:pointer;box-shadow:0 0 24px rgba(176,29,29,0.5),0 4px 14px rgba(0,0,0,0.5);transition:all 0.2s;letter-spacing:0.5px;width:100%;max-width:320px;margin-bottom:14px}
.dr-claim-btn:hover:not(:disabled){filter:brightness(1.15);box-shadow:0 0 36px rgba(176,29,29,0.8),0 4px 18px rgba(0,0,0,0.5)}
.dr-claim-disabled{background:linear-gradient(180deg,#4a3c20,#2a2010);color:var(--text3);cursor:not-allowed;box-shadow:none;opacity:0.7}
.dr-countdown{color:var(--text2);font-size:0.88rem;margin-bottom:16px}
.dr-countdown strong{color:var(--gold);font-size:1rem}
.dr-pool-wrap{width:100%;margin-top:10px;border-top:1px solid var(--border);padding-top:16px}
.dr-pool-label{font-size:0.72rem;color:var(--text3);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:10px}
.dr-pool{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.dr-pool-item{background:var(--panel2);border:1px solid var(--border);border-radius:3px;padding:4px 10px;font-size:0.78rem;color:var(--text2)}

/* Monster GIF images */
.monster-gif{display:block;margin:0 auto 4px 18px;object-fit:contain;image-rendering:pixelated}
.monster-gif.monster-gif-center{margin:0 auto 4px}
.monster-gif-lg{width:90px;height:90px}

/* ===== KARCZMA (TAVERN CHAT) ===== */
.tavern-chat-box{border-color:var(--gold2)!important;overflow:hidden;display:flex;flex-direction:column}
.tavern-chat-header{font-family:var(--font-display);color:#fff;text-shadow:0 1px 3px rgba(0,0,0,0.95);font-size:0.9rem;padding:10px 14px 6px;border-bottom:1px solid var(--border2);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px}
.tavern-chat-toggle-btn{background:none;border:1px solid var(--border2);color:var(--text3);font-size:0.75rem;padding:3px 8px;border-radius:3px;cursor:pointer;font-family:var(--font-body);flex-shrink:0;line-height:1.4}
.tavern-chat-toggle-btn:hover{border-color:var(--gold2);color:var(--gold2)}
.tavern-chat-messages{height:360px;max-height:360px;overflow-y:auto;padding:8px 14px;font-size:0.82rem;line-height:1.5;flex-shrink:0;overscroll-behavior:contain}
.tav-msg-line{padding:2px 0;line-height:1.5;word-break:break-word}
.tav-mention-line{background:rgba(255,220,80,0.07);border-left:2px solid rgba(200,160,60,0.4);padding-left:5px;margin-left:-7px}
.chat-mention{color:#d83232;font-weight:600}
.tav-dice-line{background:rgba(176,29,29,0.07);border-left:3px solid var(--gold2);padding-left:6px;margin:2px 0}
.tav-dice-name{color:var(--gold);font-weight:600}
.tav-dice-label{color:var(--text2)}
.tav-dice-result{color:var(--gold2);font-family:var(--font-display);font-weight:700;font-size:0.9rem}
.respawn-wait-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:120px;gap:6px;opacity:0.9}
.respawn-skull{font-size:2.2rem;animation:respawnPulse 1.2s ease-in-out infinite}
.respawn-title{color:var(--text2);font-size:0.82rem;font-family:var(--font-display);letter-spacing:0.5px;text-align:center}
.respawn-timer{color:var(--gold2);font-size:1.1rem;font-family:var(--font-display);font-weight:700;min-width:3rem;text-align:center}
@keyframes respawnPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.45;transform:scale(0.88)}}
.tav-time{color:var(--text3);font-size:0.75rem}
.tav-title{color:#b01d1d;font-size:0.75rem;font-style:italic;opacity:0.85}
.tav-level{color:var(--text3);font-size:0.75rem;font-family:var(--font-display)}
.tav-commander-star{font-size:0.72rem;opacity:0.9;margin-right:2px;vertical-align:middle}
.tav-pkg-emblem{font-size:0.82rem;margin-right:2px;vertical-align:middle}
.tav-name{color:var(--gold);font-weight:600}
.tav-sep{color:var(--text2)}
.tav-text{color:var(--text2)}
.titles-equipped-bar{display:flex;flex-direction:column;gap:6px;background:var(--panel2);border:1px solid var(--border);border-radius:6px;padding:10px 14px;margin-bottom:10px}
.titles-slot-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.titles-slot-label{color:var(--text3);font-size:0.8rem;font-family:var(--font-display);min-width:42px}
.titles-equipped-name{color:var(--gold);font-weight:700;font-family:var(--font-display)}
.titles-remove-btn{font-size:0.78rem;padding:4px 12px}
.titles-cooldown{color:var(--text3);font-size:0.8rem;background:var(--panel2);border:1px solid var(--border);border-radius:5px;padding:7px 12px;margin-bottom:10px;text-align:center}
.titles-list{display:flex;flex-direction:column;gap:16px}
.titles-category{background:var(--panel2);border:1px solid var(--border);border-radius:8px;overflow:hidden}
.titles-category-label{padding:9px 14px;font-family:var(--font-display);font-size:0.82rem;color:var(--gold);background:var(--bg3);border-bottom:1px solid var(--border)}
.titles-row{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid rgba(58,37,34,0.2)}
.titles-row:last-child{border-bottom:none}
.titles-row-equipped{background:rgba(176,29,29,0.07)}
.titles-row-locked{opacity:0.55}
.titles-row-name{font-weight:600;color:var(--text);min-width:140px}
.titles-row-req{flex:1;font-size:0.78rem}
.titles-status{display:inline-block;padding:2px 8px;border-radius:3px;font-size:0.75rem}
.titles-status-equipped{background:rgba(176,29,29,0.18);color:var(--gold);border:1px solid rgba(176,29,29,0.35)}
.titles-status-unlocked{background:rgba(80,160,80,0.15);color:#7ec87e;border:1px solid rgba(80,160,80,0.3)}
.titles-status-locked{color:var(--text3)}
.titles-row-btns{display:flex;gap:5px;flex-shrink:0;flex-wrap:wrap}
.titles-select-btn{font-size:0.78rem;padding:4px 14px;width:auto;margin-top:0;flex-shrink:0}
.titles-remove-btn{width:auto;margin-top:0;flex-shrink:0}
.tavern-chat-input-row{display:flex;gap:6px;padding:8px 12px;border-top:1px solid var(--border);flex-shrink:0;flex-wrap:wrap;align-items:center}
.tavern-chat-input{flex:1;min-width:0;background:var(--bg3);border:1px solid var(--border);border-radius:3px;color:var(--text);padding:7px 10px;font-size:0.85rem;font-family:var(--font-body);transition:border-color 0.2s}
.tavern-chat-input:focus{border-color:var(--gold);outline:none}
#chat-channel-switcher{display:none;gap:3px;align-items:center;flex-shrink:0}
@keyframes chat-unread-pulse{0%,100%{box-shadow:0 0 0 0 rgba(176,29,29,0)}50%{box-shadow:0 0 0 3px rgba(176,29,29,0.55);border-color:#b01d1d!important}}
.chat-btn-unread{animation:chat-unread-pulse 1.4s ease-in-out infinite}
@media(max-width:520px){
  .tavern-chat-input-row{padding:6px 8px;gap:4px;flex-wrap:wrap}
  #chat-channel-switcher{width:100%;justify-content:flex-start;order:1}
  .tavern-chat-input{width:100%;order:2;flex:none}
  .tavern-chat-input-row .btn{order:3;flex:1;min-width:0}
}
/* ===== END KARCZMA ===== */

/* ===== WIĘZIENIE (PRISON) ===== */
.prison-header{text-align:center;padding:20px 0 10px}
.prison-title{font-family:var(--font-display);color:var(--gold);font-size:1.1rem;margin:0 0 6px}
.prison-subtitle{color:var(--text3);font-size:0.8rem;margin:0}
.prison-grid{display:flex;flex-wrap:wrap;gap:14px;padding:16px 0;justify-content:flex-start}
.prison-empty{color:var(--text3);font-size:0.85rem;padding:20px 0}
.prison-cell{background:var(--panel2);border:1px solid var(--border);border-radius:6px;padding:12px 10px;display:flex;flex-direction:column;align-items:center;gap:5px;min-width:90px;max-width:110px}
.prison-cell-name{font-size:0.75rem;color:var(--gold);font-weight:600;text-align:center;word-break:break-word}
.prison-cell-time{font-size:0.7rem;color:var(--text3);text-align:center}
.prison-cell-time strong{color:var(--red2)}
.prison-cell-reason{font-size:0.68rem;color:var(--text3);text-align:center;font-style:italic;word-break:break-word;max-width:100px}
.prison-observers{padding:10px 0 4px;min-height:20px}
.prison-obs-line{font-size:0.78rem;color:var(--text3)}

/* ===== KOPALNIA (MINE) ===== */
.mining-panel{display:flex;flex-direction:column;gap:14px}
.mining-header{background:var(--panel2);border:1px solid var(--border);border-radius:6px;padding:16px 18px}
.mining-title{font-family:var(--font-display);color:var(--gold);font-size:1.1rem;margin-bottom:8px}
.mining-icon{font-size:1.2rem}
.mining-skill-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.mining-level-badge{background:linear-gradient(135deg,#5a3a1a,#8b5e2a);color:#ff7a4a;font-family:var(--font-display);font-size:0.82rem;padding:3px 10px;border-radius:10px;border:1px solid #6e1a17}
.mining-level-name{color:var(--text2);font-size:0.85rem}
.mining-success-rate{color:var(--text3);font-size:0.82rem;margin-left:auto}
.mining-success-rate b{color:#b01d1d}
.skill-xp-bar-wrap{background:var(--bg3);border-radius:3px;height:7px;overflow:hidden;margin-bottom:4px}
.mining-xp-fill{height:100%;background:linear-gradient(90deg,#7a4a1a,#b01d1d);border-radius:3px;transition:width 0.4s}
.mining-xp-label{font-size:0.75rem;color:var(--text3)}
.mining-potion-active{background:rgba(180,120,40,0.18);border:1px solid rgba(180,120,40,0.4);border-radius:4px;padding:7px 12px;font-size:0.82rem;color:#ff7a4a}
.mining-areas-grid{display:flex;flex-direction:column;gap:10px}
.mining-area-card{background:var(--panel2);border:1px solid var(--border);border-radius:6px;padding:14px 16px}
.mining-area-active{border-color:#6e1a17;background:rgba(100,70,20,0.25)}
.mining-area-locked{opacity:0.55}
.mining-area-name{font-family:var(--font-display);color:var(--gold2);font-size:0.92rem;margin-bottom:6px}
.mining-area-req{font-size:0.8rem;color:var(--text3);font-style:italic}
.mining-area-mats{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}
.mining-mat-pill{background:rgba(90,60,20,0.4);border:1px solid rgba(140,100,40,0.5);color:#d4a84b;font-size:0.75rem;padding:2px 8px;border-radius:8px;text-transform:capitalize}
.mining-active-box{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.mining-cycle-bar-wrap{background:var(--bg3);border-radius:3px;height:8px;overflow:hidden}
.mining-cycle-fill{height:100%;background:linear-gradient(90deg,#6b3d0f,#b01d1d);border-radius:3px;transition:width 0.5s linear;width:0%}
.mining-remaining{font-size:0.8rem;color:var(--text3)}
.mining-start-btn{margin-top:4px;width:auto}
.mining-stop-btn{margin-top:0;width:auto}
.mining-drops-section{background:var(--panel2);border:1px solid var(--border);border-radius:6px;padding:12px 14px}
.mining-drops-title{font-size:0.82rem;color:var(--text3);margin-bottom:6px}
.mining-drops-list{display:flex;flex-wrap:wrap;gap:5px}
.mining-drop-badge{background:rgba(80,55,15,0.55);border:1px solid rgba(160,120,50,0.5);color:#e8c870;font-size:0.78rem;padding:3px 9px;border-radius:8px}
.mining-bonus-row{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:6px}
.mining-bonus-chip{font-size:0.75rem;padding:2px 9px;border-radius:10px;font-family:var(--font-display)}
.mining-bonus-base{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.12);color:var(--text2)}
.mining-bonus-weather{background:rgba(30,90,180,0.25);border:1px solid rgba(80,160,240,0.5);color:#7ec8f8}
.mining-bonus-potion{background:rgba(180,120,40,0.2);border:1px solid rgba(176,29,29,0.45);color:#ff7a4a}
.mining-bonus-total{background:rgba(40,160,80,0.18);border:1px solid rgba(60,200,100,0.4);color:#7ae89a;font-weight:bold}
.mining-weather-banner{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,rgba(20,70,160,0.22),rgba(10,50,120,0.12));border:1px solid rgba(80,150,240,0.4);border-radius:6px;padding:8px 12px;box-shadow:0 0 10px rgba(60,130,230,0.08)}
.mining-wb-icon{font-size:1.3rem;flex-shrink:0;filter:drop-shadow(0 0 4px rgba(100,170,255,0.4))}
.mining-wb-body{flex:1;min-width:0}
.mining-wb-title{font-size:0.68rem;color:#7ec8f8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:1px}
.mining-wb-name{font-size:0.8rem;color:#b8d8f8;margin-bottom:1px}
.mining-wb-effect{font-size:0.74rem;color:#90b8e0}
.mining-wb-effect b{color:#a8d4ff}
.mining-wb-pct{flex-shrink:0;font-family:var(--font-display);font-size:1.05rem;font-weight:bold;color:#5aadff;background:rgba(20,70,160,0.3);border:1px solid rgba(80,150,240,0.35);border-radius:6px;padding:3px 9px;text-shadow:0 0 8px rgba(90,173,255,0.5)}
.mining-area-chance-row{display:flex;align-items:center;gap:7px;margin-bottom:6px;font-size:0.78rem}
.mining-area-chance-label{color:var(--text3)}
.mining-area-chance-val{color:#b01d1d;font-weight:bold}
.mining-area-chance-wx{color:#7ec8f8;background:rgba(30,90,180,0.2);border:1px solid rgba(80,160,240,0.3);border-radius:8px;padding:1px 7px}
/* ===== END KOPALNIA ===== */
.prison-obs-names{color:var(--text2)}
/* ===== END WIĘZIENIE ===== *//* ===== ARENA ===== */
.activity-dot.arena{background:#ff9a3c}
.quest-type-badge.arena{background:rgba(255,150,50,0.3);color:#ff9a3c}
.quest-type-badge.expedition{background:rgba(100,180,100,0.25);color:#80c080}
.arena-box{background:var(--panel2);border:1px solid var(--border);border-radius:4px;padding:24px;max-width:700px}
.arena-box.arena-active{max-width:720px}
.arena-title{font-family:var(--font-display);color:var(--gold);font-size:1.1rem;margin-bottom:16px}
.arena-desc{color:var(--text2);font-size:0.87rem;line-height:1.6;margin-bottom:14px}
.arena-desc p{margin:0 0 6px}
.arena-player-stats{background:var(--bg3);border:1px solid var(--border);border-radius:3px;padding:10px 14px;margin-bottom:14px;font-size:0.85rem}
.arena-stats-row{color:var(--text2);margin-bottom:3px}
.arena-warning{background:rgba(180,100,20,0.15);border:1px solid rgba(255,150,50,0.3);border-radius:3px;padding:10px 14px;color:#ff9a3c;font-size:0.83rem;margin-bottom:16px;line-height:1.5}
.arena-enter-btn{max-width:220px}
.arena-cooldown-screen{text-align:center;padding:16px 0}
.arena-cd-icon{font-size:2.5rem;margin-bottom:8px}
.arena-cd-title{font-family:var(--font-display);color:var(--gold2);font-size:1rem;margin-bottom:6px}
.arena-cd-sub{color:var(--text3);font-size:0.85rem;margin-bottom:6px}
.arena-cd-time{color:var(--gold);font-size:1.6rem;font-weight:700;letter-spacing:1px;margin-bottom:8px}
.arena-cd-result{color:var(--text2);font-size:0.85rem;margin-top:8px}
.arena-battle-scene{display:flex;align-items:stretch;gap:0;margin-bottom:14px;background:var(--bg3);border:1px solid var(--border);border-radius:4px;overflow:hidden}
.arena-player-card,.arena-opponent-card{flex:1;padding:14px 12px;display:flex;flex-direction:column;gap:6px}
.arena-player-card{border-right:1px solid var(--border)}
.arena-vs{display:flex;align-items:center;justify-content:center;padding:0 10px;font-family:var(--font-display);font-size:1.1rem;color:var(--red2);font-weight:700}
.arena-opp-num{font-size:0.72rem;color:var(--text3);text-transform:uppercase;letter-spacing:0.5px}
.arena-opp-name{font-family:var(--font-display);color:var(--gold);font-size:0.95rem}
.arena-opp-title{color:var(--text2);font-size:0.8rem;font-style:italic}
.arena-opp-stats{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}
.arena-stat-pill{font-size:0.75rem;padding:2px 8px;border-radius:2px;font-weight:600}
.arena-stat-pill.red{background:rgba(139,26,26,0.3);color:#e57373}
.arena-stat-pill.blue{background:rgba(26,58,92,0.3);color:#64b5f6}
.arena-stat-pill.gold{background:rgba(139,110,26,0.25);color:var(--gold)}
.arena-next-battle{text-align:center;color:var(--text2);font-size:0.88rem;padding:8px;background:rgba(255,255,255,0.03);border:1px solid var(--border);border-radius:3px;margin-bottom:12px}
.arena-next-battle strong{color:var(--gold2)}
.arena-pool{background:rgba(30,50,20,0.3);border:1px solid rgba(100,180,100,0.2);border-radius:3px;padding:12px 14px;margin-bottom:12px}
.arena-pool-title{color:#7ec87e;font-size:0.83rem;font-weight:600;margin-bottom:6px}
.arena-pool-gold{color:var(--text2);font-size:0.88rem;margin-bottom:6px}
.arena-pool-items{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}
.arena-pool-item{background:rgba(255,255,255,0.07);border:1px solid var(--border);border-radius:2px;padding:2px 8px;font-size:0.75rem;color:var(--text2)}
.arena-log-box{background:var(--bg3);border:1px solid var(--border);border-radius:3px;padding:10px 12px;max-height:200px;overflow-y:auto}
.arena-log-title{font-size:0.78rem;color:var(--text3);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:7px}
.arena-log-row{display:flex;align-items:center;gap:8px;padding:3px 0;border-bottom:1px solid rgba(255,255,255,0.04);font-size:0.8rem}
.arena-log-row:last-child{border-bottom:none}
.arena-log-win{color:#7ec87e}
.arena-log-lose{color:#e57373}
.arena-log-icon{font-weight:700;width:14px}
.arena-log-opp{flex:1}
.arena-log-score{color:var(--text3);font-size:0.73rem}
.arena-log-gold{color:var(--gold);font-size:0.73rem;margin-left:4px}
.arena-summary{background:var(--bg3);border:1px solid var(--border);border-radius:3px;padding:14px 16px;margin:8px 0}
.arena-summary-row{color:var(--text2);font-size:0.87rem;margin-bottom:8px;line-height:1.5}
@keyframes ticket-blink{0%,100%{background:transparent}50%{background:rgba(139,110,26,0.35)}}
.ticket-unread{animation:ticket-blink 1s ease-in-out infinite}
.ticket-list{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}
.ticket-item{background:var(--bg3);border:1px solid var(--border);border-radius:4px;padding:10px 14px;cursor:pointer;transition:border-color 0.15s}
.ticket-item:hover{border-color:var(--gold)}
.ticket-item-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
.ticket-item-subject{font-family:var(--font-display);color:var(--text1);font-size:0.88rem}
.ticket-item-meta{display:flex;align-items:center;gap:10px}
.ticket-date{font-size:0.75rem;color:var(--text3)}
.ticket-unread-dot{font-size:0.75rem;color:var(--gold);font-weight:600}
.ticket-status-open{font-size:0.72rem;padding:2px 8px;border-radius:2px;background:rgba(30,100,30,0.3);color:#7ec87e;font-weight:600;white-space:nowrap}
.ticket-status-closed{font-size:0.72rem;padding:2px 8px;border-radius:2px;background:rgba(80,80,80,0.3);color:var(--text3);font-weight:600;white-space:nowrap}
.ticket-empty{color:var(--text3);font-size:0.85rem;margin-bottom:18px;padding:10px 0}
.ticket-new-form{background:var(--bg3);border:1px solid var(--border);border-radius:4px;padding:14px 16px;margin-top:6px}
.ticket-form-title{font-family:var(--font-display);color:var(--text2);font-size:0.85rem;margin-bottom:12px}
.ticket-input{width:100%;background:var(--bg1);border:1px solid var(--border);border-radius:3px;color:var(--text1);padding:7px 10px;font-size:0.85rem;box-sizing:border-box}
.ticket-textarea{width:100%;background:var(--bg1);border:1px solid var(--border);border-radius:3px;color:var(--text1);padding:7px 10px;font-size:0.85rem;resize:vertical;box-sizing:border-box;font-family:inherit}
.ticket-input:focus,.ticket-textarea:focus{outline:none;border-color:var(--gold)}
.ticket-detail{background:var(--bg3);border:1px solid var(--border);border-radius:4px;padding:14px 16px}
.ticket-detail-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.ticket-messages{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.ticket-msg{border-radius:4px;padding:10px 12px;font-size:0.85rem}
.ticket-msg-player{background:rgba(139,110,26,0.1);border:1px solid rgba(139,110,26,0.25)}
.ticket-msg-admin{background:rgba(26,60,100,0.2);border:1px solid rgba(26,100,180,0.3)}
.ticket-msg-system{background:rgba(60,60,60,0.2);border:1px solid var(--border);color:var(--text3);font-style:italic;text-align:center}
.ticket-msg-sender{font-size:0.75rem;color:var(--text3);margin-bottom:4px}
.ticket-msg-time{color:var(--text3);font-size:0.72rem}
.ticket-msg-text{color:var(--text1);line-height:1.5;white-space:pre-wrap;word-break:break-word}
.ticket-reply-form{border-top:1px solid var(--border);padding-top:12px;margin-top:6px}
/* ===== END ARENA ===== */

.kronika-toggle-btn{background:transparent;border:1px solid var(--border);border-radius:3px;color:var(--text3);font-size:0.72rem;padding:2px 8px;cursor:pointer;transition:all 0.2s;font-family:var(--font-body)}
.kronika-toggle-btn:hover{border-color:var(--gold);color:var(--gold)}
.kronika-filter-active{color:var(--gold)!important;border-color:var(--gold)!important}
.world-feed-header{display:flex;align-items:center;gap:8px}
.kronika-header-btns{margin-left:auto;display:flex;gap:6px}
.kronika-filter-panel{background:var(--panel2);border-bottom:1px solid var(--border);padding:8px 10px;flex-shrink:0}
.kronika-filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px}
.kronika-filter-item{display:flex;align-items:center;gap:5px;font-size:0.74rem;color:var(--text2);cursor:pointer;user-select:none;line-height:1.5}
.kronika-filter-item input{cursor:pointer;accent-color:var(--gold);flex-shrink:0}

.skills-lp-info{background:var(--bg3);border:1px solid var(--border);border-radius:4px;padding:10px 14px;margin-bottom:14px;font-size:0.85rem;color:var(--text2)}
.skills-lp-info strong{color:var(--gold2)}
.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.skill-card{background:var(--bg3);border:1px solid var(--border);border-radius:4px;padding:14px;display:flex;flex-direction:column;gap:8px;transition:border-color 0.2s}
.skill-card:hover{border-color:var(--border2)}
.skill-card-owned{border-color:rgba(74,140,74,0.5);background:rgba(20,40,20,0.4)}
.skill-card-owned:hover{border-color:var(--green2)}
.skill-card-header{display:flex;align-items:center;justify-content:space-between;gap:6px}
.skill-name{font-family:var(--font-display);color:var(--gold2);font-size:0.92rem}
.skill-owned-badge{font-size:0.68rem;font-family:var(--font-body);background:rgba(74,140,74,0.25);color:#7ec87e;border:1px solid rgba(74,140,74,0.4);border-radius:3px;padding:2px 7px;white-space:nowrap}
.skill-desc{font-size:0.8rem;color:var(--text2);line-height:1.5;flex:1}
.skill-cost{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}
.skill-cost-lp{font-size:0.78rem;padding:2px 8px;border-radius:3px;background:rgba(26,58,92,0.4);border:1px solid rgba(42,90,140,0.5);color:#7eb8e8}
.skill-cost-gold{font-size:0.78rem;padding:2px 8px;border-radius:3px;background:rgba(100,80,0,0.25);border:1px solid rgba(139,110,26,0.4);color:var(--gold)}
.skill-buy-btn{margin-top:4px}

.mine-loot-wrap{background:var(--bg3);border:1px solid var(--border);border-radius:4px;padding:12px 14px;margin-top:12px}
.mine-loot-title{font-family:var(--font-display);color:var(--text2);font-size:0.85rem;margin-bottom:8px}
.mine-loot-btn{padding:8px 18px;background:linear-gradient(180deg,var(--bg2),var(--panel));border:1px solid var(--border2);border-radius:3px;color:var(--gold);font-family:var(--font-display);font-size:0.82rem;cursor:pointer;transition:all 0.2s}
.mine-loot-btn:hover:not(:disabled){background:linear-gradient(180deg,var(--panel2),var(--bg3));border-color:var(--gold2);color:var(--gold2)}
.mine-loot-btn:disabled{opacity:0.45;cursor:not-allowed}
.mine-loot-cd{font-size:0.78rem;color:var(--text3);margin-top:6px}
.thieves-guild-header{display:flex;align-items:center;gap:16px;padding:18px 20px 12px;border-bottom:1px solid var(--border)}
.thieves-guild-emblem{font-size:2.2rem;filter:drop-shadow(0 0 8px rgba(200,80,80,0.5))}
.thieves-guild-name{font-family:var(--font-display);font-size:1.1rem;color:var(--gold);font-weight:700;letter-spacing:0.5px}
.thieves-guild-sub{font-size:0.78rem;color:var(--text3);margin-top:2px}
.thieves-split{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:20px}
@media(max-width:700px){.thieves-split{grid-template-columns:1fr}}
.thieves-targets-title,.thieves-log-title{font-family:var(--font-display);font-size:0.88rem;color:var(--text2);letter-spacing:0.5px;margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--border)}
.thieves-targets{display:flex;flex-direction:column;gap:8px}
.thieves-target-card{display:flex;align-items:center;justify-content:space-between;background:var(--panel2);border:1px solid var(--border);border-radius:4px;padding:10px 14px;transition:border-color 0.15s}
.thieves-target-card:hover{border-color:var(--border2)}
.thieves-target-info{display:flex;flex-direction:column;gap:2px}
.thieves-target-name{font-size:0.9rem;color:var(--text);font-weight:600}
.thieves-target-level{font-size:0.75rem;color:var(--text3)}
.thieves-cooldown{background:var(--panel2);border:1px solid #4a2020;border-radius:6px;padding:24px 20px;text-align:center}
.thieves-cd-icon{font-size:2rem;margin-bottom:10px}
.thieves-cd-title{font-family:var(--font-display);font-size:1rem;color:var(--text2);margin-bottom:6px}
.thieves-cd-msg{font-size:0.82rem;color:var(--text3);margin-bottom:12px}
.thieves-cd-timer{font-family:var(--font-display);font-size:1.6rem;color:#e05555;font-weight:700;letter-spacing:2px}
.thieves-empty{background:var(--panel2);border:1px solid var(--border);border-radius:4px;padding:24px;text-align:center;color:var(--text3);font-size:0.85rem;display:flex;flex-direction:column;gap:8px;align-items:center}
.thieves-log{display:flex;flex-direction:column;gap:6px;max-height:380px;overflow-y:auto}
.thieves-log-row{display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:start;background:var(--panel2);border:1px solid var(--border);border-radius:3px;padding:8px 10px;font-size:0.8rem}
.thieves-log-success{border-left:3px solid #4a9a4a}
.thieves-log-fail{border-left:3px solid #7a4040}
.thieves-log-icon{font-weight:700;font-size:0.9rem;padding-top:1px}
.thieves-log-success .thieves-log-icon{color:#6abf6a}
.thieves-log-fail .thieves-log-icon{color:#c06060}
.thieves-log-time{color:var(--text3);font-size:0.75rem;white-space:nowrap}
.thieves-log-desc{color:var(--text2);line-height:1.4}
.thieves-burglary-box{background:var(--panel2);border:1px solid var(--border);border-radius:6px;padding:16px;display:flex;flex-direction:column;gap:12px}
.thieves-burglary-desc{font-size:0.85rem;color:var(--text2);line-height:1.5}

/* === HAZARD === */
.hazard-section{max-width:520px;margin:0 auto;display:flex;flex-direction:column;gap:18px}
.hazard-innkeeper{display:flex;align-items:flex-start;gap:14px;background:var(--panel2);border:1px solid var(--border);border-radius:6px;padding:14px 16px}
.hazard-inn-icon{font-size:2.4rem;line-height:1;flex-shrink:0}
.hazard-inn-bubble{font-size:0.88rem;color:var(--text2);line-height:1.5;font-style:italic;padding-top:4px}
.hazard-stats-bar{background:var(--panel2);border:1px solid var(--border);border-radius:4px;padding:10px 16px;font-size:0.9rem;color:var(--text2)}
.hazard-stats-bar strong{color:var(--gold)}
.hazard-bet-area{background:var(--panel2);border:1px solid var(--border);border-radius:6px;padding:18px;display:flex;flex-direction:column;gap:12px}
.hazard-bet-label{font-size:0.85rem;color:var(--text3)}
.hazard-quick-bets{display:flex;gap:8px;flex-wrap:wrap}
.hazard-quick-btn{background:var(--panel);border:1px solid var(--border);color:var(--gold);font-size:0.82rem;font-weight:600;padding:5px 12px;border-radius:3px;cursor:pointer;transition:background 0.15s,border-color 0.15s}
.hazard-quick-btn:hover:not([disabled]){background:rgba(176,29,29,0.15);border-color:var(--gold)}
.hazard-quick-btn.hqb-disabled,.hazard-quick-btn[disabled]{opacity:0.35;cursor:not-allowed}
.hazard-input-row{display:flex;align-items:center;gap:10px}
.hazard-amount-input{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:3px;padding:8px 12px;font-size:1rem;width:140px;outline:none}
.hazard-amount-input:focus{border-color:var(--gold)}
.hazard-currency{color:var(--text3);font-size:0.88rem}
.hazard-start-btn{align-self:flex-start;font-size:0.95rem;padding:9px 24px}
.hazard-hint{font-size:0.76rem;color:var(--text3)}
.hazard-phase-msg{text-align:center;font-size:0.9rem;color:var(--text2);font-style:italic}
.hazard-phase-msg.shuffling{animation:hazardPulse 0.7s ease-in-out infinite}
.hazard-phase-msg.picking{color:var(--gold);font-style:normal;font-weight:600;font-size:1rem;animation:none}
@keyframes hazardPulse{0%,100%{opacity:0.55}50%{opacity:1}}
.hazard-bet-disp{text-align:center;font-size:0.85rem;color:var(--text3)}
.hazard-bet-disp strong{color:var(--gold)}
.hazard-cups-row{position:relative;height:165px;width:330px;margin:4px auto}
.hazard-cup-wrapper{position:absolute;width:80px;bottom:0;text-align:center;transition:left 0.22s cubic-bezier(0.4,0,0.2,1)}
.hazard-cup-body{width:80px;height:72px;background:linear-gradient(170deg,#3d1a05 0%,#6b2f0a 45%,#8b4513 100%);clip-path:polygon(18% 0%,82% 0%,100% 100%,0% 100%);border-radius:0 0 5px 5px;position:relative;transition:transform 0.48s cubic-bezier(0.34,1.1,0.64,1);cursor:default;box-shadow:inset 2px 0 8px rgba(255,255,255,0.07),inset -2px 0 6px rgba(0,0,0,0.25),0 4px 14px rgba(0,0,0,0.55)}
.hazard-cup-body::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:52%;height:5px;background:linear-gradient(90deg,#1a0c0b,#7a3810,#1a0c0b);border-radius:3px}
.hazard-cup-body.pickable{cursor:pointer}
.hazard-cup-body.pickable:hover{filter:brightness(1.35);transform:translateY(-6px)}
.hazard-cup-body.chosen{box-shadow:0 0 0 2px var(--gold),inset 2px 0 8px rgba(255,255,255,0.07),0 4px 14px rgba(0,0,0,0.55)}
.hazard-cup-body.lifted{transform:translateY(-92px)}
.hazard-cup-body.chosen.lifted{transform:translateY(-92px)}
.hazard-ball{width:30px;height:30px;background:radial-gradient(circle at 38% 35%,#f0d060,#7a1816);border-radius:50%;margin:5px auto 0;box-shadow:0 2px 8px rgba(0,0,0,0.5);display:none}
.hazard-result-wrap{background:var(--panel2);border:1px solid var(--border);border-radius:6px;padding:24px;text-align:center;display:flex;flex-direction:column;gap:10px;align-items:center}
.hazard-result-badge{font-family:var(--font-display);font-size:1.35rem;font-weight:700;letter-spacing:1px;padding:12px 20px;border-radius:5px;border:2px solid}
.hazard-result-badge.win{color:#f0c840;border-color:#7a1816;background:rgba(184,144,40,0.12)}
.hazard-result-badge.loss{color:#e05555;border-color:#8a3030;background:rgba(138,48,48,0.12)}
.hazard-result-detail{font-size:0.88rem;color:var(--text2)}
.hazard-result-gold{font-size:0.9rem;color:var(--text3)}
.hazard-result-gold strong{color:var(--gold)}
.inv-scroll-nouse{font-size:0.72rem;color:var(--text3);padding:2px 6px;border:1px solid var(--border);border-radius:3px}
.exp-confirm-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.78);z-index:9990;display:flex;align-items:center;justify-content:center}
.exp-confirm-modal{background:var(--panel);border:1px solid var(--border2);border-radius:8px;padding:28px 30px;max-width:400px;width:90%;text-align:center;box-shadow:0 8px 40px rgba(0,0,0,0.8)}
.exp-confirm-icon{font-size:2.2rem;margin-bottom:6px}
.exp-confirm-title{font-family:var(--font-display);font-size:1.15rem;color:var(--gold);margin-bottom:14px;letter-spacing:0.5px}
.exp-confirm-desc{font-size:0.87rem;color:var(--text2);margin-bottom:10px}
.exp-confirm-list{list-style:none;padding:10px 14px;margin:0 0 10px;background:var(--panel2);border:1px solid var(--border);border-radius:5px;text-align:left}
.exp-confirm-list li{padding:3px 0;font-size:0.87rem;color:var(--text)}
.exp-confirm-note{font-size:0.78rem;color:var(--text3);margin-bottom:18px}
.exp-confirm-buttons{display:flex;gap:10px;justify-content:center}
.exp-combat-log{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:10px 14px;margin-top:12px}
.exp-combat-log-title{font-size:0.78rem;color:var(--text3);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}
.exp-cl{font-size:0.83rem;color:var(--text2);padding:2px 0;border-bottom:1px solid rgba(58,37,34,0.2);line-height:1.5}
.exp-cl:last-child{border-bottom:none}
.exp-cl-hit{color:var(--gold)}
.exp-cl-kill{color:var(--green2);font-weight:600}
.exp-cl-boss{color:var(--red2);font-weight:700}

#ach-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(0.82);width:320px;max-width:90vw;background:var(--panel);border:2px solid #b01d1d;border-radius:8px;box-shadow:0 8px 40px rgba(0,0,0,0.85);z-index:9999;transition:transform 0.4s cubic-bezier(0.16,1,0.3,1),opacity 0.4s cubic-bezier(0.16,1,0.3,1);opacity:0;pointer-events:none}
#ach-popup.ach-popup-visible{transform:translate(-50%,-50%) scale(1);opacity:1}
.ach-popup-inner{display:flex;flex-direction:column;align-items:center;padding:14px 16px;gap:4px}
.ach-popup-label{font-size:0.68rem;text-transform:uppercase;letter-spacing:1.5px;color:#b01d1d;font-weight:700}
.ach-popup-icon{font-size:2rem;line-height:1}
.ach-popup-name{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--gold);text-align:center}
.ach-popup-desc{font-size:0.78rem;color:var(--text2);text-align:center}
.ach-popup-pts{font-size:0.75rem;color:#b01d1d;font-weight:600;margin-top:2px}
.ach-tabs{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}
.ach-tab-btn{background:var(--panel2);border:1px solid var(--border);color:var(--text2);border-radius:4px;padding:5px 14px;font-size:0.82rem;cursor:pointer;transition:background 0.15s}
.ach-tab-btn.active,.ach-tab-btn:hover{background:var(--gold);color:#1a1209;border-color:var(--gold)}
.ach-summary{font-size:0.82rem;color:var(--text2);margin-bottom:10px;display:flex;gap:12px}
.ach-cats{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:12px}
.ach-cat-btn{background:var(--panel2);border:1px solid var(--border);color:var(--text3);border-radius:4px;padding:3px 10px;font-size:0.78rem;cursor:pointer;transition:background 0.15s}
.ach-cat-btn.active,.ach-cat-btn:hover{background:var(--border);color:var(--text)}
.ach-list{display:flex;flex-direction:column;gap:8px}
.ach-card{display:flex;align-items:center;gap:10px;background:var(--panel2);border:1px solid var(--border);border-radius:6px;padding:10px 12px;opacity:0.55}
.ach-card-unlocked{opacity:1;border-color:#b01d1d}
.ach-card-rare{border-color:#c62828;box-shadow:0 0 6px rgba(224,168,32,0.3)}
.ach-card-icon{font-size:1.7rem;flex-shrink:0;width:40px;text-align:center}
.ach-card-body{flex:1;min-width:0}
.ach-card-name{font-weight:700;font-size:0.88rem;color:var(--text);margin-bottom:2px}
.ach-card-desc{font-size:0.77rem;color:var(--text3);margin-bottom:4px}
.ach-card-pts{font-size:0.82rem;font-weight:700;color:#b01d1d;white-space:nowrap;margin-left:8px}
.ach-progress-wrap{height:5px;background:var(--border);border-radius:3px;overflow:hidden;margin-bottom:2px}
.ach-progress-bar{height:100%;background:#b01d1d;transition:width 0.4s}
.ach-progress-lbl{font-size:0.7rem;color:var(--text3)}
.ach-date{font-size:0.7rem;color:var(--green2);margin-top:2px}
.ach-global{font-size:0.68rem;color:var(--text3);margin-top:2px}
.ach-rare-badge{font-size:0.65rem;color:#c62828;font-weight:600;vertical-align:middle}
.ach-ranking-table{width:100%;border-collapse:collapse;font-size:0.83rem}
.ach-ranking-table th{color:var(--text3);font-weight:600;padding:4px 8px;text-align:left;border-bottom:1px solid var(--border)}
.ach-ranking-table td{padding:5px 8px;border-bottom:1px solid rgba(58,37,34,0.15)}
.ach-ranking-table tr:hover td{background:var(--panel2)}
.ach-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-top:8px}
.ach-stat-card{background:var(--panel2);border:1px solid var(--border);border-radius:6px;padding:12px;text-align:center}
.ach-stat-label{font-size:0.75rem;color:var(--text3);margin-bottom:4px}
.ach-stat-val{font-size:1.4rem;font-weight:700;color:var(--gold)}
.emoji-picker{background:var(--panel2);border:1px solid var(--border);border-radius:6px;padding:6px;display:flex;flex-wrap:wrap;gap:4px;max-height:160px;overflow-y:auto;margin:0 0 4px 0}.emoji-picker.hidden{display:none}.emoji-picker-item{width:36px;height:36px;cursor:pointer;border-radius:4px;padding:2px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background 0.15s}.emoji-picker-item:hover{background:var(--border)}.emoji-picker-item img{width:30px;height:30px;object-fit:contain;display:block}.emoji-picker-empty{font-size:0.78rem;color:var(--text3);padding:4px 8px}.chat-emoji{width:22px;height:22px;object-fit:contain;vertical-align:middle;display:inline-block}.tavern-chat-input-row{flex-wrap:wrap}#activity-timers{min-height:34px}.activity-timers-row{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;padding:6px 8px 4px;border-bottom:1px solid var(--border2)}.activity-timer-chip{display:inline-flex;align-items:center;font-size:0.73rem;color:var(--text2);background:var(--panel2);border:1px solid var(--border);border-radius:4px;padding:2px 6px;white-space:nowrap}
.is-points-bar{background:var(--panel2);border:1px solid var(--border);border-radius:8px;padding:12px 16px;margin-bottom:14px;display:flex;align-items:center;gap:10px}
.is-points-val{font-size:1.3rem;font-weight:700;color:var(--gold)}
.is-points-lbl{font-size:0.8rem;color:var(--text3)}
.is-points-note{font-size:0.72rem;color:var(--text3);margin-top:3px}
.is-packages{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.is-pkg-card{background:var(--panel2);border:1px solid var(--border);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:8px;position:relative;transition:border-color 0.2s,box-shadow 0.2s}
.is-pkg-card:hover{border-color:var(--gold);box-shadow:0 0 12px rgba(192,148,65,0.18)}
.is-pkg-card.is-pkg-active{border-color:#4caf50;box-shadow:0 0 10px rgba(76,175,80,0.2)}
.is-pkg-emblem{font-size:2rem;text-align:center}
.is-pkg-name{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--gold);text-align:center}
.is-pkg-price{text-align:center;font-size:0.85rem;color:var(--text2);font-weight:600}
.is-pkg-duration{text-align:center;font-size:0.75rem;color:var(--text3)}
.is-pkg-features{list-style:none;margin:4px 0;padding:0}
.is-pkg-features li{font-size:0.78rem;color:var(--text2);padding:2px 0;display:flex;align-items:flex-start;gap:5px}
.is-pkg-features li::before{content:"✓";color:#4caf50;font-weight:700;flex-shrink:0}
.is-pkg-buy-btn{margin-top:auto;background:linear-gradient(135deg,#b8860b,#d4a017);color:#fff;border:none;border-radius:6px;padding:8px 16px;font-weight:700;font-size:0.85rem;cursor:pointer;transition:opacity 0.2s}
.is-pkg-buy-btn:hover{opacity:0.85}
.is-pkg-buy-btn:disabled{opacity:0.4;cursor:not-allowed}
.is-active-badge{position:absolute;top:8px;right:8px;background:#4caf50;color:#fff;font-size:0.65rem;font-weight:700;padding:2px 7px;border-radius:10px}
.is-pkg-expires{font-size:0.72rem;color:#4caf50;text-align:center}
.is-title-note{font-size:0.75rem;color:var(--text3);text-align:center;font-style:italic}


/* === Funkcje niewdrożone — ukryte do czasu implementacji. Patrz docs/BACKLOG.md. === */
#nav-skills,#nav-quests,#nav-titles,#nav-achievements,
#nav-itemshop,#nav-tickets,#nav-forum,#nav-news{display:none!important}

/* ===== Sekcja Pomysłów (mini-forum) ===== */
.idea-intro{color:var(--text2,#a99);font-size:0.88rem;margin:4px 0 14px}
.idea-loading,.idea-empty{color:var(--text2,#a99);padding:18px;text-align:center;font-size:0.9rem}
.idea-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.idea-tab{background:var(--panel2);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:5px 11px;font-size:0.82rem;cursor:pointer;transition:all .15s}
.idea-tab:hover{border-color:var(--gold)}
.idea-tab.active{background:var(--gold);border-color:var(--gold2);color:#fff}
.idea-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.idea-sort{display:flex;gap:4px}
.idea-sort-btn{background:var(--panel2);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:5px 12px;font-size:0.82rem;cursor:pointer}
.idea-sort-btn.active{background:var(--gold);border-color:var(--gold2);color:#fff}
.idea-add-btn,.idea-btn{background:var(--gold);border:1px solid var(--gold2);color:#fff;border-radius:4px;padding:7px 16px;font-size:0.86rem;cursor:pointer;font-weight:600}
.idea-add-btn:hover,.idea-btn:hover{background:var(--gold2)}
.idea-btn-ghost{background:var(--panel2);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:7px 16px;font-size:0.86rem;cursor:pointer}
.idea-list{display:flex;flex-direction:column;gap:10px}
.idea-tile{display:flex;gap:12px;background:var(--panel2);border:1px solid var(--border);border-radius:5px;padding:12px}
.idea-tile-full{border-color:var(--border2)}
.idea-tile-main{flex:1;min-width:0}
.idea-tile-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:5px}
.idea-title{font-weight:600;color:var(--text);font-size:0.98rem}
.idea-flair{font-size:0.7rem;padding:2px 8px;border-radius:10px;color:#fff;font-weight:600;text-transform:uppercase;letter-spacing:.3px}
.idea-status{font-size:0.7rem;padding:2px 7px;border-radius:10px;border:1px solid var(--border);color:var(--text2,#a99)}
.idea-status-pending{color:#e0b84a;border-color:#5a4a1a}
.idea-status-rejected{color:#d86a6a;border-color:#5a2020}
.idea-status-archived{color:#8a8a8a}
.idea-body-short{color:var(--text2,#bbb);font-size:0.86rem;line-height:1.45}
.idea-body-full{color:var(--text);font-size:0.92rem;line-height:1.55;white-space:pre-wrap;margin-bottom:8px}
.idea-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:8px;font-size:0.78rem;color:var(--text2,#998)}
.idea-open{cursor:pointer;color:var(--gold3)}
.idea-open:hover{text-decoration:underline}
.idea-act{cursor:pointer;color:var(--text2,#998)}
.idea-act:hover{color:var(--gold2)}
.idea-mod-group{display:inline-flex;gap:12px}
.idea-vote{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:34px}
.idea-vote button{background:none;border:none;color:var(--text2,#776);cursor:pointer;font-size:0.95rem;line-height:1;padding:2px}
.idea-vote button:hover{color:var(--gold2)}
.idea-vote-up.on{color:#4caf6a}
.idea-vote-down.on{color:#d85a5a}
.idea-score{font-weight:700;color:var(--text);font-size:0.9rem}
.idea-back{background:none;border:none;color:var(--gold3);cursor:pointer;font-size:0.86rem;margin-bottom:10px;padding:0}
.idea-back:hover{text-decoration:underline}
.idea-comments-head{font-weight:600;margin:14px 0 8px;color:var(--text)}
.idea-comment-add{display:flex;gap:8px;margin-bottom:12px}
.idea-comment-add textarea{flex:1;background:var(--bg3,#0d0a09);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:8px;font-family:inherit;resize:vertical}
.idea-comments{display:flex;flex-direction:column;gap:8px}
.idea-comment{display:flex;gap:10px;background:var(--panel);border:1px solid var(--border);border-radius:4px;padding:9px}
.idea-comment-main{flex:1;min-width:0}
.idea-comment-body{color:var(--text);font-size:0.88rem;line-height:1.45;white-space:pre-wrap}
.idea-modal-ov{position:fixed;inset:0;background:rgba(0,0,0,0.75);display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px}
.idea-modal{background:var(--panel);border:2px solid var(--border2);border-radius:6px;padding:22px;width:100%;max-width:460px;box-shadow:0 10px 40px rgba(0,0,0,0.6)}
.idea-modal-head{font-size:1.15rem;font-weight:700;color:var(--gold2);margin-bottom:16px}
.idea-field{margin-bottom:12px;display:flex;flex-direction:column;gap:4px}
.idea-field label{font-size:0.8rem;color:var(--text2,#998)}
.idea-field select,.idea-field input,.idea-field textarea{background:var(--bg3,#0d0a09);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:8px 10px;font-family:inherit;font-size:0.9rem}
.idea-field textarea{resize:vertical}
.idea-modal-err{color:#d85a5a;font-size:0.82rem;min-height:16px;margin-bottom:6px}
.idea-modal-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}

/* ===== Hazard: Live ruletka ===== */
.rl-top{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.rl-result{width:96px;height:96px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.2rem;font-weight:800;color:#fff;border:3px solid rgba(255,255,255,0.25);box-shadow:0 0 22px rgba(0,0,0,0.5);flex-shrink:0}
.rl-result.rl-reveal{animation:rlpop .5s ease}
@keyframes rlpop{0%{transform:scale(0.6) rotate(-12deg);opacity:.3}60%{transform:scale(1.12)}100%{transform:scale(1)}}
.rl-info{flex:1;min-width:200px}
.rl-status{font-size:1.05rem;font-weight:700;margin-bottom:4px}
.rl-status-bet{color:#4caf6a}
.rl-status-spin{color:var(--gold3)}
.rl-balance{font-size:0.86rem;color:var(--text2,#bbb);margin-bottom:6px}
.rl-history-wrap{font-size:0.8rem;color:var(--text3,#998)}
/* Najnowszy wynik po lewej (100% opacity), starsze w prawo stopniowo przygaszone.
   Maska na całym kontenerze — niezależna od liczby wyników, nie wygasza do zera. */
.rl-history{display:inline-flex;gap:3px;flex-wrap:nowrap;vertical-align:middle;max-width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(to right,#000 35%,rgba(0,0,0,0.28));mask-image:linear-gradient(to right,#000 35%,rgba(0,0,0,0.28))}
.rl-hdot{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:4px;font-size:0.72rem;font-weight:700;color:#fff;padding:0 3px}
.rl-red{background:#b1242c}
.rl-black{background:#2a2320;border:1px solid #54453f}
.rl-green{background:#2a8f4a}
.rl-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px;color:var(--text2,#bbb);font-size:0.88rem}
.rl-chip{background:var(--panel2);border:1px solid var(--border);color:var(--text);border-radius:20px;padding:6px 14px;font-size:0.85rem;cursor:pointer;font-weight:700}
.rl-chip:hover{border-color:var(--gold)}
.rl-chip.active{background:var(--gold);border-color:var(--gold2);color:#fff}
.rl-chip-custom{background:var(--panel2);border:1px solid var(--border);color:var(--text);border-radius:20px;padding:6px 12px;font-size:0.85rem;font-weight:700;width:110px;text-align:center}
.rl-chip-custom:focus{outline:none;border-color:var(--gold)}
.rl-chip-custom::placeholder{color:var(--text3);font-weight:400}
.rl-board{transition:opacity .2s}
.rl-board.rl-disabled{opacity:0.45;pointer-events:none;filter:grayscale(0.3)}
.rl-colorbets{display:flex;gap:8px;margin-bottom:8px}
.rl-cbet{flex:1;border:none;color:#fff;border-radius:5px;padding:12px;font-size:0.95rem;font-weight:800;cursor:pointer;letter-spacing:.5px}
.rl-cbet.rl-black{border:1px solid #54453f}
.rl-cbet:hover{filter:brightness(1.15)}
.rl-zero{background:#2a8f4a;color:#fff;text-align:center;font-weight:800;padding:10px;border-radius:5px 5px 0 0;cursor:pointer;font-size:1rem}
.rl-zero:hover{filter:brightness(1.15)}
.rl-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;margin-top:4px}
.rl-num{aspect-ratio:1;min-height:34px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:0.9rem;border-radius:4px;cursor:pointer}
.rl-num:hover{filter:brightness(1.25);outline:2px solid var(--gold)}
.rl-hint{margin-top:8px;font-size:0.78rem;color:var(--text3,#998);text-align:center}
.rl-mybets-wrap{margin-top:14px}
.rl-mybets-title{font-weight:700;color:var(--text);margin-bottom:6px;font-size:0.9rem}
.rl-mybets{display:flex;flex-wrap:wrap;gap:8px;height:80px;overflow-y:auto;align-content:flex-start}
.rl-mybet{background:var(--panel2);border:1px solid var(--border);border-radius:4px;padding:5px 10px;font-size:0.82rem;color:var(--text2,#bbb)}
.rl-mybet b{color:var(--text)}
.rl-mybet-total{background:rgba(176,29,29,0.12);border-color:var(--border2)}
.rl-empty{color:var(--text3,#998);font-size:0.85rem}
@media(max-width:560px){.rl-num{min-height:26px;font-size:0.75rem}.rl-result{width:74px;height:74px;font-size:1.6rem}}

/* Hazard: zakłady całego stołu */
.rl-table-wrap{margin-top:14px}
.rl-table-count{color:var(--text3,#998);font-weight:400;font-size:0.82rem}
.rl-tablebets{display:flex;flex-direction:column;gap:4px;height:175px;overflow-y:auto;padding-right:4px}
.rl-tbet{display:flex;align-items:center;gap:8px;background:var(--panel2);border:1px solid var(--border);border-radius:4px;padding:6px 9px;font-size:0.82rem}
.rl-tbet-name{font-weight:700;color:var(--text);flex-shrink:0;min-width:70px}
.rl-tbet-chips{display:flex;flex-wrap:wrap;gap:4px;flex:1;min-width:0}
.rl-tchip{display:inline-flex;align-items:center;border-radius:4px;color:#fff;font-weight:600;font-size:0.74rem;padding:2px 7px;white-space:nowrap}
.rl-tbet-amt{color:var(--gold3);font-weight:700;flex-shrink:0}

/* === Nagłówki / tytuły: białe z lekkim konturem (jednolicie w całym UI) === */
.section-title,
.panel-box-header h3,
.tavern-chat-header,
.hunt-console-header,
.hunt-monster-header,
.options-group-title,
.shop-section-title,
.rank-head,
.faq-section-title,
.privacy-section-title,
.exp-picker-title,
.exp-section-title,
.char-mini-name,
#mini-name,
.game-title,
.xardas-name,
#h-charname,
.news-modal-header h3,
.modal-box h3 {
  color: #f4f1ec !important;
  text-shadow:
    1px 1px 0 rgba(0,0,0,0.5),
    -1px 1px 0 rgba(0,0,0,0.5),
    1px -1px 0 rgba(0,0,0,0.5),
    -1px -1px 0 rgba(0,0,0,0.5),
    0 1px 2px rgba(0,0,0,0.7) !important;
}
