@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&family=Zen+Dots&display=swap');
:root{
    --bg:#071224;
    --bg2:#0b1931;
    --panel:rgba(10,18,34,.86);
    --panel2:rgba(15,26,47,.96);
    --line:rgba(255,255,255,.09);
    --text:#ecf1ff;
    --muted:#a9b4d0;
    --pink:#ff61b2;
    --cyan:#6be9ff;
    --green:#7effb7;
    --gold:#ffd76a;
    --danger:#ff8fab;
    --shadow:0 10px 30px rgba(0,0,0,.35);
    --radius:20px;
}

.feedHubPanel{
    grid-column:1/-1;
    border:1px solid rgba(255,255,255,.12);
    background:linear-gradient(135deg,rgba(18,30,56,.96),rgba(49,21,61,.9));
    border-radius:18px;
    padding:16px;
    box-shadow:0 16px 34px rgba(0,0,0,.26);
}
.feedHubHead{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.feedHubHead h3{margin:4px 0 6px;font-size:22px}
.feedHubHead p{margin:0;color:var(--muted);max-width:760px}
.feedHubPower{min-width:124px;text-align:center;border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:12px;background:rgba(255,255,255,.07);font-size:28px;font-weight:900;color:var(--gold)}
.feedHubPower span{display:block;font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.feedHubStats{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.feedHubStats span{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.06);border-radius:999px;padding:7px 10px;color:var(--muted)}
.feedHubStats b{color:var(--text)}
.feedHubQualities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.feedHubQuality,.feedHubFestival{border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.18);border-radius:14px;padding:12px}
.feedHubQuality{display:grid;gap:10px}
.feedHubQuality strong,.feedHubFestival strong{display:block}
.feedHubQuality span,.feedHubFestival span,.feedHubQuality small{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.feedHubActions{display:flex;gap:8px;flex-wrap:wrap}
.feedHubActions button{min-width:74px}
.feedHubFestival{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:10px}
@media (max-width:760px){
    .feedHubHead,.feedHubFestival{display:grid}
    .feedHubPower{text-align:left}
    .feedHubQualities{grid-template-columns:1fr}
}
*{box-sizing:border-box;-webkit-user-select:none;user-select:none}
html,body{height:100%;margin:0;font-family:'Nunito',Arial,Helvetica,sans-serif;background:radial-gradient(circle at top,#182d5f 0,#081226 42%,#050912 100%);color:var(--text);overflow:hidden}
body{position:relative}
body[data-theme="tokyo"]{
    --pink:#ff5db8;
    --cyan:#35e7ff;
    --green:#7dfcc9;
    --gold:#ffe57e;
}
body[data-theme="zen"]{
    --pink:#7fe3c7;
    --cyan:#8be9ff;
    --green:#c8ffdc;
    --gold:#e7ffb7;
}
body[data-theme="moonlit"]{
    --pink:#9b8cff;
    --cyan:#82d8ff;
    --green:#c8f6ff;
    --gold:#d8d6ff;
}
body[data-theme="shogun"]{
    --pink:#ff7866;
    --cyan:#ffc16e;
    --green:#ffd6a3;
    --gold:#fff1b7;
}
body[data-theme="imperial"]{
    --pink:#ff9a5f;
    --cyan:#ffe38c;
    --green:#ffd9b0;
    --gold:#fff0a8;
}
body[data-theme="aurora"]{
    --pink:#9b7bff;
    --cyan:#6ffff2;
    --green:#b9ffd8;
    --gold:#fff2b0;
}
body[data-theme="celestial"]{
    --pink:#ff8cf3;
    --cyan:#82fff4;
    --green:#b8ffdb;
    --gold:#fff5b0;
}
body[data-theme="tokyo"]{background:radial-gradient(circle at top,#2c1b56 0,#071425 46%,#03070f 100%)}
body[data-theme="zen"]{background:radial-gradient(circle at top,#234944 0,#081a1c 45%,#03080b 100%)}
body[data-theme="moonlit"]{background:radial-gradient(circle at top,#252f70 0,#0b1838 45%,#050914 100%)}
body[data-theme="shogun"]{background:radial-gradient(circle at top,#5a281d 0,#180d12 42%,#070507 100%)}
body[data-theme="imperial"]{background:radial-gradient(circle at top,#563622 0,#1b1220 40%,#09060d 100%)}
body[data-theme="aurora"]{background:radial-gradient(circle at top,#20356f 0,#0b1a34 44%,#040811 100%)}
body[data-theme="celestial"]{background:radial-gradient(circle at top,#3d1f6f 0,#121c4d 42%,#050816 100%)}
body[data-theme="tokyo"] .topbar{background:linear-gradient(135deg,rgba(255,93,184,.18),rgba(53,231,255,.14))}
body[data-theme="zen"] .topbar{background:linear-gradient(135deg,rgba(127,227,199,.18),rgba(139,233,255,.13))}
body[data-theme="moonlit"] .topbar{background:linear-gradient(135deg,rgba(132,123,255,.2),rgba(130,216,255,.14))}
body[data-theme="shogun"] .topbar{background:linear-gradient(135deg,rgba(255,120,102,.18),rgba(255,193,110,.13))}
body[data-theme="imperial"] .topbar{background:linear-gradient(135deg,rgba(255,154,95,.18),rgba(255,227,140,.12))}
body[data-theme="aurora"] .topbar{background:linear-gradient(135deg,rgba(155,123,255,.18),rgba(111,255,242,.14))}
body[data-theme="celestial"] .topbar{background:linear-gradient(135deg,rgba(255,140,243,.2),rgba(130,255,244,.14))}
body[data-theme="tokyo"] .tile{background:linear-gradient(180deg,rgba(74,31,109,.46),rgba(19,22,51,.78))}
body[data-theme="zen"] .tile{background:linear-gradient(180deg,rgba(36,88,80,.42),rgba(12,33,31,.78))}
body[data-theme="moonlit"] .tile{background:linear-gradient(180deg,rgba(53,61,118,.42),rgba(24,28,66,.76))}
body[data-theme="shogun"] .tile{background:linear-gradient(180deg,rgba(110,46,34,.42),rgba(41,18,22,.78))}
body[data-theme="imperial"] .tile{background:linear-gradient(180deg,rgba(120,76,32,.42),rgba(58,28,12,.76))}
body[data-theme="aurora"] .tile{background:linear-gradient(180deg,rgba(46,67,132,.42),rgba(12,27,63,.8));box-shadow:0 0 0 1px rgba(111,255,242,.08), inset 0 0 26px rgba(111,255,242,.04)}
body[data-theme="celestial"] .tile{background:linear-gradient(180deg,rgba(84,44,130,.42),rgba(27,20,67,.8));box-shadow:0 0 0 1px rgba(130,255,244,.08), inset 0 0 28px rgba(130,255,244,.05)}
body[data-theme="crimson"]{background:radial-gradient(circle at top,#691738 0,#1b0915 44%,#070409 100%)}
body[data-theme="void"]{background:radial-gradient(circle at top,#1d174f 0,#0a081d 42%,#030307 100%)}
body[data-theme="solar"]{background:radial-gradient(circle at top,#6f3f14 0,#231008 42%,#090506 100%)}
body[data-theme="mythic"]{background:radial-gradient(circle at top,#114b55 0,#071b22 44%,#02070a 100%)}
body[data-theme="transcendent"]{background:radial-gradient(circle at top,#5f166a 0,#101643 42%,#04060f 100%)}
body[data-theme="crimson"] .topbar{background:linear-gradient(135deg,rgba(255,94,145,.22),rgba(255,178,119,.14))}
body[data-theme="void"] .topbar{background:linear-gradient(135deg,rgba(132,119,255,.22),rgba(59,224,255,.13))}
body[data-theme="solar"] .topbar{background:linear-gradient(135deg,rgba(255,187,73,.24),rgba(255,119,87,.14))}
body[data-theme="mythic"] .topbar{background:linear-gradient(135deg,rgba(107,255,210,.18),rgba(94,167,255,.13))}
body[data-theme="transcendent"] .topbar{background:linear-gradient(135deg,rgba(255,130,236,.24),rgba(122,255,240,.15))}
body[data-theme="crimson"] .tile{background:linear-gradient(180deg,rgba(120,22,58,.44),rgba(44,10,25,.8))}
body[data-theme="void"] .tile{background:linear-gradient(180deg,rgba(45,34,112,.44),rgba(15,12,41,.8))}
body[data-theme="solar"] .tile{background:linear-gradient(180deg,rgba(130,74,16,.44),rgba(51,22,9,.8))}
body[data-theme="mythic"] .tile{background:linear-gradient(180deg,rgba(19,87,98,.44),rgba(8,29,37,.8))}
body[data-theme="transcendent"] .tile{background:linear-gradient(180deg,rgba(100,32,138,.42),rgba(23,24,75,.82));box-shadow:0 0 0 1px rgba(122,255,240,.10), inset 0 0 30px rgba(255,130,236,.06)}
body[data-theme="jadeDynasty"]{background:radial-gradient(circle at top,#1d5e4c 0,#0a1c1b 46%,#03080a 100%)}
body[data-theme="eclipseHarbor"]{background:radial-gradient(circle at top,#2c245f 0,#0c1020 44%,#05070d 100%)}
body[data-theme="lotusEmpire"]{background:radial-gradient(circle at top,#6b491d 0,#21140d 42%,#090607 100%)}
body[data-theme="stormTemple"]{background:radial-gradient(circle at top,#1b4b72 0,#091623 44%,#04070d 100%)}
body[data-theme="phoenixSkyline"]{background:radial-gradient(circle at top,#6f2415 0,#1f0e0d 44%,#070506 100%)}
body[data-theme="dragonSanctum"]{background:radial-gradient(circle at top,#225b77 0,#0d1441 42%,#04060d 100%)}
body[data-theme="jadeDynasty"] .topbar{background:linear-gradient(135deg,rgba(118,255,195,.18),rgba(88,220,255,.13))}
body[data-theme="eclipseHarbor"] .topbar{background:linear-gradient(135deg,rgba(165,128,255,.20),rgba(88,168,255,.12))}
body[data-theme="lotusEmpire"] .topbar{background:linear-gradient(135deg,rgba(255,204,116,.20),rgba(255,132,165,.12))}
body[data-theme="stormTemple"] .topbar{background:linear-gradient(135deg,rgba(102,188,255,.20),rgba(155,226,255,.12))}
body[data-theme="phoenixSkyline"] .topbar{background:linear-gradient(135deg,rgba(255,132,84,.22),rgba(255,208,104,.12))}
body[data-theme="dragonSanctum"] .topbar{background:linear-gradient(135deg,rgba(110,255,228,.18),rgba(140,176,255,.12))}
body[data-theme="jadeDynasty"] .tile{background:linear-gradient(180deg,rgba(32,92,77,.44),rgba(12,29,25,.79))}
body[data-theme="eclipseHarbor"] .tile{background:linear-gradient(180deg,rgba(50,41,115,.44),rgba(14,17,39,.80))}
body[data-theme="lotusEmpire"] .tile{background:linear-gradient(180deg,rgba(107,77,30,.44),rgba(36,21,11,.79))}
body[data-theme="stormTemple"] .tile{background:linear-gradient(180deg,rgba(31,79,117,.44),rgba(10,23,36,.80))}
body[data-theme="phoenixSkyline"] .tile{background:linear-gradient(180deg,rgba(126,44,20,.44),rgba(37,16,10,.80))}
body[data-theme="dragonSanctum"] .tile{background:linear-gradient(180deg,rgba(28,98,124,.42),rgba(17,22,72,.82));box-shadow:0 0 0 1px rgba(110,255,228,.10), inset 0 0 30px rgba(140,176,255,.06)}
body[data-theme="mistGarden"]{background:radial-gradient(circle at top,#3a6370 0,#111d27 44%,#05080d 100%)}
body[data-theme="neonCanal"]{background:radial-gradient(circle at top,#214c66 0,#0d1726 44%,#05080d 100%)}
body[data-theme="obsidianPagoda"]{background:radial-gradient(circle at top,#3c3028 0,#141113 42%,#060607 100%)}
body[data-theme="silverBamboo"]{background:radial-gradient(circle at top,#526871 0,#162128 42%,#06090c 100%)}
body[data-theme="oracleGarden"]{background:radial-gradient(circle at top,#423371 0,#15183a 42%,#06080e 100%)}
body[data-theme="nebulaCourtyard"]{background:radial-gradient(circle at top,#492f6b 0,#171842 42%,#06080e 100%)}
body[data-theme="rubyLotus"]{background:radial-gradient(circle at top,#661d38 0,#1b0e16 42%,#070507 100%)}
body[data-theme="frostHalo"]{background:radial-gradient(circle at top,#365d7c 0,#152336 42%,#070c12 100%)}
body[data-theme="empressCircuit"]{background:radial-gradient(circle at top,#71411f 0,#22120d 42%,#080607 100%)}
body[data-theme="astralTemple"]{background:radial-gradient(circle at top,#463182 0,#181b4d 42%,#07080f 100%)}
body[data-theme="prismCrown"]{background:radial-gradient(circle at top,#295678 0,#131c3d 42%,#06080e 100%)}
body[data-theme="mistGarden"] .topbar{background:linear-gradient(135deg,rgba(187,239,255,.16),rgba(136,255,236,.10))}
body[data-theme="neonCanal"] .topbar{background:linear-gradient(135deg,rgba(107,255,242,.18),rgba(137,179,255,.12))}
body[data-theme="obsidianPagoda"] .topbar{background:linear-gradient(135deg,rgba(255,205,130,.18),rgba(255,156,103,.10))}
body[data-theme="silverBamboo"] .topbar{background:linear-gradient(135deg,rgba(206,236,255,.18),rgba(167,255,205,.10))}
body[data-theme="oracleGarden"] .topbar{background:linear-gradient(135deg,rgba(200,139,255,.18),rgba(122,255,240,.10))}
body[data-theme="nebulaCourtyard"] .topbar{background:linear-gradient(135deg,rgba(255,156,229,.18),rgba(142,171,255,.10))}
body[data-theme="rubyLotus"] .topbar{background:linear-gradient(135deg,rgba(255,117,156,.20),rgba(255,196,124,.10))}
body[data-theme="frostHalo"] .topbar{background:linear-gradient(135deg,rgba(172,232,255,.20),rgba(144,255,255,.10))}
body[data-theme="empressCircuit"] .topbar{background:linear-gradient(135deg,rgba(255,191,122,.20),rgba(255,138,184,.10))}
body[data-theme="astralTemple"] .topbar{background:linear-gradient(135deg,rgba(189,150,255,.20),rgba(112,184,255,.10))}
body[data-theme="prismCrown"] .topbar{background:linear-gradient(135deg,rgba(155,255,239,.18),rgba(196,150,255,.10))}
body[data-theme="mistGarden"] .tile{background:linear-gradient(180deg,rgba(55,94,106,.42),rgba(16,29,39,.80))}
body[data-theme="neonCanal"] .tile{background:linear-gradient(180deg,rgba(35,83,110,.42),rgba(13,27,42,.80))}
body[data-theme="obsidianPagoda"] .tile{background:linear-gradient(180deg,rgba(67,55,46,.42),rgba(20,17,19,.80))}
body[data-theme="silverBamboo"] .tile{background:linear-gradient(180deg,rgba(83,110,118,.42),rgba(18,29,34,.80))}
body[data-theme="oracleGarden"] .tile{background:linear-gradient(180deg,rgba(69,52,120,.42),rgba(18,22,48,.82))}
body[data-theme="nebulaCourtyard"] .tile{background:linear-gradient(180deg,rgba(79,51,108,.42),rgba(20,22,55,.82))}
body[data-theme="rubyLotus"] .tile{background:linear-gradient(180deg,rgba(120,31,66,.42),rgba(35,14,22,.80))}
body[data-theme="frostHalo"] .tile{background:linear-gradient(180deg,rgba(60,100,130,.42),rgba(20,30,45,.80))}
body[data-theme="empressCircuit"] .tile{background:linear-gradient(180deg,rgba(120,71,35,.42),rgba(37,19,13,.80))}
body[data-theme="astralTemple"] .tile{background:linear-gradient(180deg,rgba(70,50,134,.42),rgba(20,22,58,.82))}
body[data-theme="prismCrown"] .tile{background:linear-gradient(180deg,rgba(46,95,124,.42),rgba(16,24,52,.82));box-shadow:0 0 0 1px rgba(155,255,239,.10), inset 0 0 28px rgba(196,150,255,.06)}
body[data-aura="rose"]::before,body[data-aura="violet"]::before,body[data-aura="gold"]::before,body[data-aura="aqua"]::before,body[data-aura="prismatic"]::before{content:'';position:fixed;inset:-20%;pointer-events:none;z-index:0;filter:blur(36px);opacity:.28}
body[data-aura="rose"]::before{background:radial-gradient(circle at 20% 20%,rgba(255,94,145,.28),transparent 30%),radial-gradient(circle at 80% 80%,rgba(255,178,119,.18),transparent 26%)}
body[data-aura="violet"]::before{background:radial-gradient(circle at 22% 18%,rgba(132,119,255,.3),transparent 30%),radial-gradient(circle at 82% 76%,rgba(59,224,255,.16),transparent 24%)}
body[data-aura="gold"]::before{background:radial-gradient(circle at 20% 18%,rgba(255,189,74,.28),transparent 30%),radial-gradient(circle at 76% 78%,rgba(255,118,86,.18),transparent 24%)}
body[data-aura="aqua"]::before{background:radial-gradient(circle at 20% 18%,rgba(107,255,210,.24),transparent 30%),radial-gradient(circle at 80% 78%,rgba(94,167,255,.18),transparent 24%)}
body[data-aura="prismatic"]::before{background:radial-gradient(circle at 20% 18%,rgba(255,130,236,.28),transparent 30%),radial-gradient(circle at 80% 78%,rgba(122,255,240,.2),transparent 24%),radial-gradient(circle at 50% 50%,rgba(255,203,93,.12),transparent 22%)}
.prestigeReadyCard{border:1px solid rgba(255,215,110,.18);background:linear-gradient(135deg,rgba(255,203,93,.10),rgba(255,110,184,.08))}
.prestigeSkillGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.prestigeSkillCard{border-radius:18px;border:1px solid rgba(255,255,255,.10);padding:12px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));box-shadow:0 12px 24px rgba(0,0,0,.16)}
.prestigeSkillTop{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}
.prestigeSkillLvl{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:54px;white-space:nowrap;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);font-size:11px;font-weight:800}
.prestigeSkillEffect{font-size:12px;color:var(--muted);margin:8px 0 10px;line-height:1.5}
.expeditionActiveCard{border:1px solid rgba(107,233,255,.18);background:linear-gradient(135deg,rgba(107,233,255,.10),rgba(255,97,178,.07));box-shadow:0 16px 32px rgba(0,0,0,.18)}
.expeditionRewardLine{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.expeditionMetaLine{display:flex;flex-wrap:wrap;gap:8px;margin:9px 0 0}
.expeditionMetaLine .playerStatPill{white-space:nowrap}
.seasonClaimedList{display:grid;gap:8px}
.seasonClaimedItem{padding:10px 11px;border-radius:14px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.025));box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.seasonClaimedItem .seasonClaimedTitle{font-weight:900;color:#fff;margin-bottom:4px}
.seasonClaimedItem .seasonClaimedMeta{font-size:12px;color:var(--muted);line-height:1.45}
.seasonRewardExplain{display:grid;gap:6px;margin:10px 0;font-size:12px;color:var(--muted);line-height:1.45}
.seasonRewardExplainRow{padding:7px 9px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07)}
.seasonRewardExplainRow strong{color:#fff;font-weight:900}

.seasonRewardExplainRow:first-child{background:linear-gradient(135deg,rgba(255,211,110,.09),rgba(255,255,255,.035));border-color:rgba(255,211,110,.18)}
#seasonRewardsGrid .card{position:relative;overflow:hidden}
#seasonRewardsGrid .card::before{content:"";position:absolute;inset:-1px auto auto -1px;width:5px;height:calc(100% + 2px);background:linear-gradient(180deg,#ffd36e,#ff7ab8,#74e8ff);opacity:.75}
#fxCanvas{position:fixed;inset:0;pointer-events:none;z-index:0}
button,input,select,textarea{font:inherit}
button{cursor:pointer;border:none;color:#fff;background:linear-gradient(135deg,var(--pink),#ff78d4);border-radius:14px;padding:10px 14px;font-weight:800;box-shadow:0 10px 20px rgba(255,97,178,.2)}
button:hover{filter:brightness(1.05)}
button.secondary{background:linear-gradient(135deg,#284472,#5b79b8);box-shadow:0 10px 20px rgba(91,121,184,.2)}
button.green{background:linear-gradient(135deg,#14995b,#7effb7);color:#072012;box-shadow:0 10px 20px rgba(126,255,183,.15)}
button.gold{background:linear-gradient(135deg,#b48715,#ffd76a);color:#2e2200;box-shadow:0 10px 20px rgba(255,215,106,.18)}
button.ghost{background:rgba(255,255,255,.05);box-shadow:none;border:1px solid var(--line)}
button:disabled{opacity:.55;cursor:not-allowed;filter:none}
.shopMaxReached{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:14px;background:rgba(126,255,183,.10);border:1px solid rgba(126,255,183,.20);color:#bfffd9;font-weight:900;box-shadow:none}
input,textarea{width:100%;background:rgba(255,255,255,.06);border:1px solid var(--line);color:var(--text);border-radius:14px;padding:12px;-webkit-user-select:text;user-select:text}
textarea{min-height:130px;resize:vertical;line-height:1.45}
input[type=checkbox]{width:18px;height:18px;padding:0;border-radius:6px;accent-color:var(--pink);box-shadow:none}
label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}
.small{font-size:12px;color:var(--muted)}
.hidden{display:none !important}
.app{position:relative;z-index:1;height:100dvh;min-height:100dvh;padding:10px;display:flex;flex-direction:column;gap:8px;overflow:hidden}
.topbar{position:relative;z-index:6;display:grid;grid-template-columns:1.2fr auto auto;gap:10px;align-items:center;background:linear-gradient(135deg,rgba(255,97,178,.18),rgba(107,233,255,.12));border:1px solid var(--line);border-radius:22px;padding:8px 14px;box-shadow:var(--shadow);min-height:64px}
.brand h1{margin:0;font-size:clamp(24px,3vw,38px);font-family:'Zen Dots','Nunito',sans-serif;letter-spacing:.04em}
.brand .sub{color:var(--muted);font-size:13px;margin-top:4px}
.pills{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.topbarStatsGroup{align-items:center;flex-wrap:wrap}
.moneyOnlineGroup{display:flex;align-items:center;gap:8px;flex:0 0 auto;white-space:nowrap}
.moneyPill{box-shadow:inset 0 0 0 1px rgba(255,213,106,.05)}
.levelTopbarPill{box-shadow:inset 0 0 0 1px rgba(255,213,106,.05)}
.onlineStatusPill{display:inline-flex;align-items:center;gap:7px;box-shadow:inset 0 0 0 1px rgba(126,255,183,.06)}
.xpProgressPill{box-shadow:inset 0 0 0 1px rgba(255,120,212,.05)}
.prestigeTopbarPill{box-shadow:inset 0 0 0 1px rgba(255,213,106,.05)}
.topbarHiddenLevel{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
.pill{padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--line);font-weight:700;white-space:nowrap}
.main{flex:1;display:grid;grid-template-columns:minmax(0,1.2fr) 360px;gap:12px;min-height:0}
.left,.right{display:flex;flex-direction:column;gap:12px;min-height:0}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;min-height:0;display:flex;flex-direction:column}
.panelHead{padding:10px 12px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:8px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015))}
.panelHead h2,.panelHead h3{margin:0;font-size:20px}
.panelBody{padding:9px 12px;min-height:0}
.farmPanel{flex:1;min-height:0;display:flex;flex-direction:column}
.farmTop{display:flex;justify-content:space-between;gap:6px;flex-wrap:wrap;margin-bottom:4px}
 .farmWorldBar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin:6px 0 8px;padding:8px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.035)}
.farmWorldTabs{display:flex;gap:8px;overflow:auto;padding-bottom:2px;scrollbar-width:thin}
.farmWorldBtn{flex:0 0 auto;padding:8px 10px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid var(--line);box-shadow:none;font-size:12px;white-space:nowrap;color:var(--text)}
.farmWorldBtn.active{background:linear-gradient(135deg,rgba(255,97,178,.24),rgba(107,233,255,.14));border-color:rgba(255,255,255,.18);box-shadow:0 10px 20px rgba(0,0,0,.15)}
.farmWorldBtn.locked{opacity:.55;filter:grayscale(.35)}
.farmWorldSummary{font-size:12px;color:var(--muted);white-space:nowrap;text-align:right}
@media (max-width:900px){.farmWorldBar{grid-template-columns:1fr}.farmWorldSummary{text-align:left;white-space:normal}}
.tags,.actions,.tabButtons{display:flex;gap:8px;flex-wrap:wrap}
.tag{font-size:10px;color:var(--muted);background:rgba(255,255,255,.05);border:1px solid var(--line);padding:5px 8px;border-radius:999px}
.farmGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(112px,1fr);gap:6px;flex:1;min-height:0;height:100%}
.tile{position:relative;min-height:0;border-radius:12px;border:1px solid rgba(255,255,255,.11);background:linear-gradient(180deg,rgba(93,66,32,.35),rgba(52,35,14,.62));padding:6px 6px 28px;overflow:hidden;cursor:pointer;transition:transform .12s ease, border-color .12s ease, box-shadow .12s ease}
.tile:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.2)}
.tile.locked{filter:grayscale(.4);opacity:.7}
.tileCenter{position:relative;z-index:2}
.growBar{position:absolute;left:8px;right:8px;bottom:8px;z-index:1}
.tile.ready{box-shadow:0 0 0 1px rgba(126,255,183,.25),0 0 18px rgba(126,255,183,.07)}
.tile.wet{box-shadow:inset 0 0 0 1px rgba(107,233,255,.25), inset 0 0 20px rgba(107,233,255,.08)}
.tileHeader{display:flex;justify-content:space-between;font-size:10px;color:#fff9cf}
.tileIcon{font-size:24px;text-align:center;margin:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}
.tileName{text-align:center;font-size:11px;font-weight:700;line-height:1.16;min-height:auto}
.growBar{position:absolute;left:8px;right:8px;bottom:22px;height:5px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden;margin:0}
.growBar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--pink),var(--cyan));border-radius:999px}
.tileFoot{position:absolute;left:8px;right:8px;bottom:6px;text-align:center;font-size:10px;color:#f6f7fb;text-shadow:0 1px 1px rgba(0,0,0,.45);display:flex;justify-content:center}
.bottomPanels{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-height:260px}
.scrollArea{overflow:auto;min-height:0}
#inventoryScroll,#shopScroll,#cropScroll,#marketScroll,#socialSideScroll,#animalScroll,#animalProductScroll,#questScroll{max-height:72dvh}
.shopGrid,.inventoryGrid,.questList,.leaderList,.logList{display:grid;gap:10px}
.questLiveHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px;padding:10px 12px;border-radius:16px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.025))}
.miniQuestHistoryBtn{min-height:36px;padding:8px 12px;border-radius:12px;white-space:nowrap}
.questClaimedBox,.questWaitingBox{margin-top:12px;padding:12px;border-radius:18px;border:1px solid rgba(255,255,255,.10);background:rgba(4,9,22,.26)}
.questClaimedBox.collapsed .questHistoryList,.questClaimedBox.collapsed .small,.questWaitingBox.collapsed .questWaitingList,.questWaitingBox.collapsed .small{display:none}
.questHistoryTitle{font-weight:900;margin-bottom:6px;color:#ffe7ac}
.questWaitingBox .questHistoryTitle{color:#aef7ff}
.questHistoryList,.questWaitingList{margin-top:10px;max-height:280px;overflow:auto;padding-right:4px}
.questHistoryList .card{opacity:.82;background:rgba(255,255,255,.045)}
.questWaitingList .card{opacity:.88;background:rgba(107,233,255,.045)}
.questArchiveActions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.questStatusPill{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:900;background:rgba(255,255,255,.08);white-space:nowrap}
.questStatusPill.running{color:#aef7ff;border:1px solid rgba(107,233,255,.20)}
.questStatusPill.ready{color:#ffe7ac;border:1px solid rgba(255,213,106,.26);background:rgba(255,213,106,.10)}
.questStatusPill.waiting{color:#b9c7ff;border:1px solid rgba(151,170,255,.22);background:rgba(151,170,255,.08)}
.questStatusPill.claimed{color:#bfffd6;border:1px solid rgba(126,255,183,.20)}
.card{background:var(--panel2);border:1px solid var(--line);border-radius:16px;padding:12px;position:relative;overflow:hidden}
.cardHead{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.cardHead>div:first-child{min-width:0}
.qtyInline{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;white-space:nowrap;flex:0 0 auto;min-width:max-content;text-align:right;font-weight:800}
.cardTitle{font-size:15px;font-weight:800}
.muted{color:var(--muted)}
.profileTop{display:flex;align-items:center;gap:12px}
.profileHeroFrame{position:relative;margin-bottom:12px;padding:14px 14px 13px;border-radius:24px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.04));box-shadow:0 18px 34px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.05);overflow:hidden;isolation:isolate}
.profileHeroFrame::before{content:"";position:absolute;inset:-1px;background:radial-gradient(circle at top left,rgba(255,255,255,.16),transparent 34%),radial-gradient(circle at bottom right,rgba(255,255,255,.10),transparent 28%);opacity:.9;pointer-events:none}
.profileHeroFrame::after{content:"";position:absolute;inset:auto -10% -48% auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.10),transparent 70%);filter:blur(8px);opacity:.65;pointer-events:none}
.profileHeroFrame .profileTop,.profileRankLine{position:relative;z-index:1}
.profileHeroFrame .avatar{width:84px;height:84px;border-radius:26px;font-size:42px;border:1px solid rgba(255,255,255,.18);box-shadow:0 12px 26px rgba(0,0,0,.24),0 0 0 1px rgba(255,255,255,.04) inset}
.profileRankLine{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.profileRankBadge,.profileTierBadge,.profilePowerText{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:7px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.10);background:rgba(8,13,28,.32);font-size:12px;line-height:1.2;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.profileRankBadge{font-weight:900;letter-spacing:.02em;color:#fff}
.profileTierBadge{font-weight:800;color:#ffeab6}
.profilePowerText{font-weight:700;color:var(--muted)}
#profileMainPanel[data-shop-frame="on"] #profileHeroFrame{border-color:rgba(255,215,106,.34);box-shadow:0 0 0 1px rgba(255,215,106,.10),0 22px 46px rgba(0,0,0,.30),0 0 38px rgba(255,122,212,.13)}
#profileMainPanel[data-shop-frame="on"] #profileHeroFrame::before{background:radial-gradient(circle at top left,rgba(255,215,106,.20),transparent 34%),radial-gradient(circle at bottom right,rgba(255,122,212,.14),transparent 30%)}
#profileMainPanel,#profileQuickPanel{transition:border-color .2s ease, box-shadow .2s ease}
#profileMainPanel .stat{transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease}
#profileMainPanel .stat:hover{transform:translateY(-1px)}
#profileMainPanel[data-profile-tier="rookie"] #profileHeroFrame,#profileQuickPanel[data-profile-tier="rookie"]{border-color:rgba(152,176,255,.16)}
#profileMainPanel[data-profile-tier="veteran"] #profileHeroFrame,#profileQuickPanel[data-profile-tier="veteran"]{border-color:rgba(107,233,255,.24);box-shadow:0 0 0 1px rgba(107,233,255,.07),0 18px 34px rgba(0,0,0,.24)}
#profileMainPanel[data-profile-tier="elite"] #profileHeroFrame,#profileQuickPanel[data-profile-tier="elite"]{border-color:rgba(126,255,183,.28);box-shadow:0 0 0 1px rgba(126,255,183,.08),0 18px 36px rgba(0,0,0,.26),0 0 28px rgba(126,255,183,.08)}
#profileMainPanel[data-profile-tier="legend"] #profileHeroFrame,#profileQuickPanel[data-profile-tier="legend"]{border-color:rgba(255,213,106,.34);box-shadow:0 0 0 1px rgba(255,213,106,.09),0 18px 38px rgba(0,0,0,.28),0 0 34px rgba(255,213,106,.10)}
#profileMainPanel[data-profile-tier="royal"] #profileHeroFrame,#profileQuickPanel[data-profile-tier="royal"]{border-color:rgba(255,122,212,.34);box-shadow:0 0 0 1px rgba(255,122,212,.10),0 18px 40px rgba(0,0,0,.28),0 0 40px rgba(255,122,212,.12)}
#profileMainPanel[data-profile-tier="mythic"] #profileHeroFrame,#profileQuickPanel[data-profile-tier="mythic"]{border-color:rgba(122,255,240,.38);box-shadow:0 0 0 1px rgba(122,255,240,.12),0 20px 44px rgba(0,0,0,.30),0 0 44px rgba(122,255,240,.12)}
#profileMainPanel[data-profile-tier="transcendent"] #profileHeroFrame,#profileQuickPanel[data-profile-tier="transcendent"]{border-color:rgba(255,130,236,.42);box-shadow:0 0 0 1px rgba(255,130,236,.14),0 22px 46px rgba(0,0,0,.32),0 0 56px rgba(255,130,236,.14)}
#profileMainPanel[data-profile-tier="veteran"] .stat{border-color:rgba(107,233,255,.14);box-shadow:inset 0 0 0 1px rgba(107,233,255,.04)}
#profileMainPanel[data-profile-tier="elite"] .stat{border-color:rgba(126,255,183,.16);box-shadow:inset 0 0 0 1px rgba(126,255,183,.04),0 12px 22px rgba(0,0,0,.12)}
#profileMainPanel[data-profile-tier="legend"] .stat{border-color:rgba(255,213,106,.18);box-shadow:inset 0 0 0 1px rgba(255,213,106,.05),0 12px 24px rgba(0,0,0,.14)}
#profileMainPanel[data-profile-tier="royal"] .stat{border-color:rgba(255,122,212,.18);box-shadow:inset 0 0 0 1px rgba(255,122,212,.05),0 12px 26px rgba(0,0,0,.15)}
#profileMainPanel[data-profile-tier="mythic"] .stat{border-color:rgba(122,255,240,.18);box-shadow:inset 0 0 0 1px rgba(122,255,240,.05),0 14px 28px rgba(0,0,0,.16)}
#profileMainPanel[data-profile-tier="transcendent"] .stat{border-color:rgba(255,130,236,.20);box-shadow:inset 0 0 0 1px rgba(255,130,236,.06),0 16px 30px rgba(0,0,0,.18)}
.avatar{width:70px;height:70px;border-radius:20px;background:linear-gradient(135deg,rgba(255,97,178,.24),rgba(107,233,255,.18));display:grid;place-items:center;font-size:34px;border:1px solid var(--line)}
.statGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.stat{background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:10px}
.progress{height:10px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden;margin-top:8px;max-width:320px}
.progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--pink))}
.animalProgressRow{display:flex;align-items:center;gap:10px;margin-top:8px}
.animalProgressRow .progress{flex:0 0 75%;max-width:75%;margin-top:0}
.animalProgressTime{flex:1;text-align:right;font-variant-numeric:tabular-nums;color:var(--muted);font-size:12px;white-space:nowrap}
.tabs{display:flex;flex-direction:column;min-height:0}
.pageContent{position:relative;z-index:1;flex:1;min-height:0;display:flex;flex-direction:column}
.pagePane{display:none;min-height:0}
.pagePane.active{display:flex;flex-direction:column;flex:1;min-height:0}
.tabPane{display:none;min-height:0;flex:1}
.tabPane.active{display:flex;flex-direction:column}
.profilePageGrid,.socialPageGrid{display:grid;grid-template-columns:minmax(280px,320px) minmax(0,1fr);gap:12px;align-items:start}
.profilePageGrid > .panel{min-width:0}
#profilePage.active{overflow:hidden;min-height:0}
#profilePage .profilePageGrid{height:calc(100dvh - 154px);min-height:0;overflow:hidden;align-items:stretch}
#profilePage .profilePageGrid>.panel{height:100%;min-height:0}
#profilePage .panelBody.scrollArea{max-height:none!important;flex:1;min-height:0;overflow:auto;padding-bottom:30px}
#profileScroll{padding-bottom:42px}
.stablePageGrid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:12px}
.adminPageGrid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:12px;align-items:start}
.adminToolGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.adminToolGrid label{margin:0}
.adminToolGrid input,.adminToolGrid select,.adminToolGrid textarea{margin-top:6px}
.adminList{display:grid;gap:10px}
.adminPlayerCard,.adminMarketCard,.adminLogCard{background:var(--panel2);border:1px solid var(--line);border-radius:16px;padding:12px}
.adminPlayerCard.selected{border-color:rgba(255,215,106,.32);box-shadow:0 0 0 1px rgba(255,215,106,.10),0 14px 26px rgba(0,0,0,.18)}
.adminPlayerCard.banned{border-color:rgba(255,94,117,.36);box-shadow:0 0 0 1px rgba(255,94,117,.10),0 14px 26px rgba(0,0,0,.18)}
.adminCardTop{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.adminCardTitle{font-weight:900;font-size:15px}
.adminDbTablesList{display:flex;flex-wrap:wrap;gap:8px}
.adminDbTableBtn{display:inline-grid;gap:2px;text-align:left;border:1px solid rgba(255,255,255,.14);background:rgba(8,13,28,.72);color:#eef;border-radius:12px;padding:8px 10px;cursor:pointer;min-width:130px}
.adminDbTableBtn.active{border-color:rgba(255,215,106,.42);background:rgba(255,215,106,.12)}
.adminDbTableBtn span{font-weight:900;font-size:12px}
.adminDbTableBtn small{font-size:10px;color:#9fb0d0}
.adminDbSchema{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.adminDbTableScroll{max-height:360px;overflow:auto;border:1px solid rgba(255,255,255,.10);border-radius:12px;background:rgba(5,9,20,.58)}
.adminDbTable{width:max-content;min-width:100%;border-collapse:collapse;font-size:11px}
.adminDbTable th,.adminDbTable td{border-bottom:1px solid rgba(255,255,255,.08);border-right:1px solid rgba(255,255,255,.06);padding:7px;vertical-align:top}
.adminDbTable th{position:sticky;top:0;z-index:1;background:#141d35;color:#fff;text-align:left;font-weight:900}
.adminDbTable pre{margin:0;white-space:pre-wrap;word-break:break-word;max-width:360px;color:#dbe9ff;font:inherit;line-height:1.35}
.adminDanger{background:linear-gradient(135deg,#8e2039,#ff6f91)!important}
.adminWarningText{padding:10px 12px;border-radius:16px;border:1px solid rgba(255,215,106,.18);background:rgba(255,215,106,.07);color:#ffe8a8;font-size:12px;line-height:1.45}
@media(max-width:900px){.adminPageGrid,.adminToolGrid{grid-template-columns:1fr}}

.performanceToolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 12px 0;padding:10px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.035)}
.performanceToolbar input,.performanceToolbar select{max-width:220px;min-height:38px;border-radius:12px}
.pagerActions{display:flex;gap:8px;align-items:center;margin-left:auto}
body.performanceMode *,body.performanceMode *::before,body.performanceMode *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
body.performanceMode .authWrap::before,body.performanceMode .authWrap::after,body.performanceMode .authScene::before,body.performanceMode .authSkyFx{display:none!important}
body.performanceMode .card,body.performanceMode .panel,body.performanceMode .topbar,body.performanceMode .authCard{box-shadow:none!important;backdrop-filter:none!important}
body.performanceMode .pageContent{background:#081123!important}

.inventoryPageGrid,.shopPageGrid,.cropsPageGrid{display:grid;gap:12px}
.questsPageGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}
.singlePanel{min-height:420px}
.authWrap{position:relative;z-index:2;min-height:100dvh;display:grid;place-items:center;padding:24px;overflow:hidden;background:radial-gradient(circle at 50% 8%,rgba(255,228,170,.18) 0 5%,transparent 15%),radial-gradient(circle at 15% 18%,rgba(255,76,181,.38),transparent 28%),radial-gradient(circle at 86% 12%,rgba(51,221,255,.32),transparent 30%),radial-gradient(circle at 51% 74%,rgba(255,207,91,.12),transparent 30%),linear-gradient(118deg,rgba(60,18,82,.82) 0%,rgba(9,15,38,.84) 44%,rgba(3,38,58,.80) 100%),linear-gradient(180deg,rgba(3,7,17,.08),rgba(1,5,14,.42))}
.authWrap::before,.authWrap::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none}
.authWrap::before{background:linear-gradient(180deg,transparent 0 48%,rgba(6,12,28,.18) 49%,rgba(3,8,20,.80) 100%),linear-gradient(155deg,transparent 0 49%,rgba(255,82,178,.18) 49.08% 49.34%,transparent 49.45%),linear-gradient(25deg,transparent 0 56%,rgba(83,231,255,.16) 56.08% 56.36%,transparent 56.48%),repeating-linear-gradient(90deg,transparent 0 70px,rgba(108,237,255,.12) 71px 74px,transparent 75px 124px),repeating-linear-gradient(0deg,transparent 0 62px,rgba(255,104,190,.10) 63px 65px,transparent 66px 126px),radial-gradient(circle at 18% 82%,rgba(255,92,184,.22),transparent 20%),radial-gradient(circle at 82% 78%,rgba(64,225,255,.22),transparent 24%);opacity:.92;mix-blend-mode:screen}
.authWrap::after{background:linear-gradient(90deg,transparent 0 2.35%,rgba(255,224,145,.74) 2.45% 3.35%,transparent 3.45% 96.55%,rgba(255,224,145,.72) 96.65% 97.55%,transparent 97.65%),linear-gradient(90deg,transparent 0 3.55%,rgba(255,214,132,.58) 3.62% 4.28%,transparent 4.36% 95.72%,rgba(255,214,132,.58) 95.8% 96.46%,transparent 96.54%),radial-gradient(circle at 3% 31%,rgba(255,255,240,1) 0 5px,rgba(255,218,108,.88) 6px 14px,transparent 15px),radial-gradient(circle at 97% 31%,rgba(255,255,240,1) 0 5px,rgba(255,218,108,.86) 6px 14px,transparent 15px),radial-gradient(circle at 4% 54%,rgba(255,252,225,.98) 0 4px,rgba(255,202,96,.76) 5px 12px,transparent 13px),radial-gradient(circle at 96% 54%,rgba(255,252,225,.98) 0 4px,rgba(255,202,96,.76) 5px 12px,transparent 13px),radial-gradient(ellipse at 3% 31%,rgba(255,226,105,.55) 0 36px,rgba(255,86,174,.36) 37px 108px,transparent 109px),radial-gradient(ellipse at 97% 31%,rgba(255,226,105,.52) 0 36px,rgba(255,86,174,.34) 37px 108px,transparent 109px),repeating-conic-gradient(from 7deg at 3% 31%,transparent 0deg 14deg,rgba(255,232,130,.26) 15deg 18deg,transparent 19deg 42deg),repeating-conic-gradient(from 7deg at 97% 31%,transparent 0deg 14deg,rgba(255,232,130,.24) 15deg 18deg,transparent 19deg 42deg),radial-gradient(ellipse at 3% 31%,rgba(255,238,150,.88) 0 7px,rgba(255,145,88,.66) 8px 22px,rgba(255,88,145,.38) 23px 70px,transparent 71px),radial-gradient(ellipse at 97% 31%,rgba(255,238,150,.86) 0 7px,rgba(255,145,88,.64) 8px 22px,rgba(255,88,145,.36) 23px 70px,transparent 71px),radial-gradient(ellipse at 4% 54%,rgba(255,230,128,.72) 0 5px,rgba(255,128,86,.54) 6px 18px,rgba(255,83,160,.30) 19px 58px,transparent 59px),radial-gradient(ellipse at 96% 54%,rgba(255,230,128,.72) 0 5px,rgba(255,128,86,.54) 6px 18px,rgba(255,83,160,.30) 19px 58px,transparent 59px),radial-gradient(ellipse at 7% 13%,rgba(255,232,132,.76) 0 5px,rgba(255,142,92,.56) 6px 16px,rgba(255,93,124,.28) 17px 54px,transparent 55px),radial-gradient(ellipse at 94% 13%,rgba(255,235,145,.74) 0 5px,rgba(255,150,86,.54) 6px 16px,rgba(255,98,128,.26) 17px 56px,transparent 57px),radial-gradient(ellipse at 10% 77%,rgba(255,230,136,.54) 0 4px,rgba(255,133,91,.38) 5px 13px,rgba(255,95,166,.18) 14px 42px,transparent 43px),radial-gradient(ellipse at 91% 76%,rgba(255,230,136,.52) 0 4px,rgba(255,136,92,.36) 5px 13px,rgba(255,95,166,.17) 14px 42px,transparent 43px),radial-gradient(circle at 50% 99%,rgba(88,240,255,.28),transparent 34%),linear-gradient(164deg,transparent 0 54%,rgba(15,50,72,.58) 54.2% 100%),linear-gradient(24deg,transparent 0 56%,rgba(31,17,55,.70) 56.2% 100%),repeating-linear-gradient(92deg,transparent 0 32px,rgba(78,255,190,.10) 33px 36px,transparent 37px 66px),repeating-linear-gradient(0deg,transparent 0 34px,rgba(255,218,116,.07) 35px 37px,transparent 38px 78px);filter:saturate(1.55) contrast(1.12) drop-shadow(0 0 26px rgba(255,190,95,.34));opacity:.98;animation:authLanternGlow 3.8s ease-in-out infinite}
.authSkyFx{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;mix-blend-mode:screen}
.authSkyFx::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 5% 18%,rgba(255,255,255,.95) 0 1.2px,transparent 2.4px),radial-gradient(circle at 11% 51%,rgba(255,150,214,.88) 0 1.5px,transparent 2.8px),radial-gradient(circle at 16% 72%,rgba(107,233,255,.80) 0 1.1px,transparent 2.5px),radial-gradient(circle at 23% 33%,rgba(255,255,230,.82) 0 1px,transparent 2.3px),radial-gradient(circle at 31% 12%,rgba(255,158,220,.72) 0 1.3px,transparent 2.6px),radial-gradient(circle at 38% 86%,rgba(112,235,255,.70) 0 1px,transparent 2.2px),radial-gradient(circle at 45% 21%,rgba(255,255,255,.82) 0 1.2px,transparent 2.5px),radial-gradient(circle at 52% 55%,rgba(255,195,235,.68) 0 1px,transparent 2.2px),radial-gradient(circle at 60% 14%,rgba(144,240,255,.78) 0 1.1px,transparent 2.3px),radial-gradient(circle at 66% 75%,rgba(255,255,230,.72) 0 1.4px,transparent 2.8px),radial-gradient(circle at 74% 31%,rgba(255,144,214,.76) 0 1px,transparent 2.2px),radial-gradient(circle at 82% 62%,rgba(107,233,255,.78) 0 1.3px,transparent 2.7px),radial-gradient(circle at 89% 24%,rgba(255,255,255,.86) 0 1.2px,transparent 2.5px),radial-gradient(circle at 96% 78%,rgba(255,160,220,.72) 0 1.4px,transparent 2.8px),radial-gradient(circle at 72% 89%,rgba(145,242,255,.62) 0 1px,transparent 2.2px),radial-gradient(circle at 28% 61%,rgba(255,255,255,.62) 0 1px,transparent 2.2px);filter:drop-shadow(0 0 6px rgba(255,255,255,.55));opacity:.86;animation:authStarsTwinkle 4.6s ease-in-out infinite}
.authSkyFx::after{content:"";position:absolute;left:-360px;top:10%;width:420px;height:5px;border-radius:999px;background:linear-gradient(90deg,transparent 0%,rgba(112,235,255,.16) 14%,rgba(255,129,213,.62) 54%,rgba(255,255,255,1) 100%);box-shadow:0 0 22px rgba(107,233,255,.88),0 0 52px rgba(255,97,178,.56),0 0 76px rgba(255,255,255,.20);opacity:0;transform:translate3d(-26vw,0,0) rotate(-18deg);animation:authCometFly 8.8s cubic-bezier(.18,.72,.25,1) infinite;animation-delay:-3.15s}
@keyframes authLanternGlow{0%,100%{opacity:.88;filter:saturate(1.24) contrast(1.04) brightness(.98) drop-shadow(0 0 12px rgba(255,190,95,.18))}50%{opacity:1;filter:saturate(1.55) contrast(1.12) brightness(1.26) drop-shadow(0 0 28px rgba(255,199,105,.36))}}
@keyframes authStarsTwinkle{0%,100%{opacity:.58;filter:drop-shadow(0 0 4px rgba(255,255,255,.35)) brightness(.92)}45%{opacity:1;filter:drop-shadow(0 0 10px rgba(255,255,255,.72)) brightness(1.18)}70%{opacity:.74;filter:drop-shadow(0 0 7px rgba(107,233,255,.54)) brightness(1.02)}}
@keyframes authCometFly{0%,34%{opacity:0;transform:translate3d(-26vw,0,0) rotate(-18deg)}42%{opacity:1}68%{opacity:.96;transform:translate3d(112vw,34vh,0) rotate(-18deg)}80%,100%{opacity:0;transform:translate3d(132vw,42vh,0) rotate(-18deg)}}
.authLoadingOverlay{--auth-loading-progress:0%;position:fixed;inset:0;z-index:9998;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 18%,rgba(255,113,183,.24),transparent 32%),radial-gradient(circle at 20% 75%,rgba(107,233,255,.15),transparent 28%),linear-gradient(180deg,rgba(4,8,18,.92),rgba(5,9,18,.98));opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease;backdrop-filter:blur(14px)}
.authLoadingOverlay.show{opacity:1;visibility:visible;pointer-events:auto}
.authLoadingCard{position:relative;width:min(430px,calc(100vw - 36px));padding:28px 26px 24px;border-radius:28px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(145deg,rgba(17,27,55,.94),rgba(8,14,30,.98));box-shadow:0 34px 86px rgba(0,0,0,.54),inset 0 1px 0 rgba(255,255,255,.06);overflow:hidden;text-align:center}
.authLoadingCard::before{content:"";position:absolute;inset:-2px;height:4px;background:linear-gradient(90deg,#ff7ab8,#ffe082,#6be9ff);opacity:.88}
.authLoadingOrb{width:82px;height:82px;margin:0 auto 15px;border-radius:24px;display:grid;place-items:center;font-size:42px;background:linear-gradient(135deg,rgba(255,97,178,.25),rgba(107,233,255,.17));border:1px solid rgba(255,255,255,.16);box-shadow:0 18px 38px rgba(255,97,178,.16);animation:authLoadingPulse 1.35s ease-in-out infinite}
.authLoadingTitle{font-family:'Zen Dots','Nunito',sans-serif;font-size:clamp(21px,5vw,28px);line-height:1.2;color:#fff}
.authLoadingText{margin-top:9px;color:var(--muted);font-size:14px;line-height:1.45}
.authLoadingProgress{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 8px;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.authLoadingProgress strong{color:#fff;font-size:20px;letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums}
.authLoadingBar{height:10px;margin:8px auto 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);overflow:hidden}
.authLoadingBar span{position:relative;display:block;height:100%;width:var(--auth-loading-progress);min-width:0;border-radius:inherit;background:linear-gradient(90deg,#ff7ab8,#ffe082,#6be9ff);box-shadow:0 0 18px rgba(107,233,255,.22);transition:width .18s ease;overflow:hidden}
.authLoadingBar span::after{content:"";position:absolute;inset:0;width:46px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:authLoadingShine .85s linear infinite}
.authLoadingSteps{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.authLoadingSteps span{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#dce8ff;font-size:11px;font-weight:900;white-space:nowrap}
@keyframes authLoadingPulse{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.04)}}
@keyframes authLoadingShine{0%{transform:translateX(-52px)}100%{transform:translateX(390px)}}
.authCard{position:relative;z-index:1;width:min(1560px,calc(100vw - 24px));height:calc(100dvh - 28px);max-height:calc(100dvh - 28px);display:grid;grid-template-columns:minmax(420px,.9fr) minmax(360px,.75fr) minmax(340px,.62fr);background:rgba(8,15,31,.9);border:1px solid rgba(255,255,255,.1);border-radius:30px;box-shadow:0 28px 70px rgba(0,0,0,.45);overflow:hidden;backdrop-filter:blur(24px)}
.authPanel{position:relative;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:linear-gradient(180deg,rgba(7,14,30,.9),rgba(8,14,28,.78))}
.authHead{padding:30px 30px 20px;border-bottom:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at top right,rgba(255,126,196,.18),transparent 38%),linear-gradient(135deg,rgba(255,97,178,.12),rgba(107,233,255,.08))}
.authEyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#ffd8ea}
.authLogoTitle{margin:18px 0 10px;display:flex;align-items:center;gap:14px;font-family:'Zen Dots','Nunito',sans-serif;font-size:clamp(28px,4vw,54px);line-height:1.1}
.authLogoTitleIcon{display:grid;place-items:center;width:60px;height:60px;border-radius:18px;background:linear-gradient(135deg,rgba(255,113,183,.28),rgba(255,223,237,.12));border:1px solid rgba(255,255,255,.1);box-shadow:0 12px 30px rgba(255,97,178,.18)}
.authIntro{font-size:15px;line-height:1.6;max-width:680px}
.authHighlights{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.authHighlight{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-size:13px}
.authBody{padding:28px 30px 30px;display:grid;gap:16px;min-height:0;overflow:auto;overscroll-behavior:contain}
.authModeTabs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.authModeBtn{min-height:58px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);box-shadow:none;color:#e9f0ff}
.authModeBtn.active{background:linear-gradient(135deg,#4666a4,#ff5ab9);border-color:rgba(255,255,255,.18);box-shadow:0 14px 30px rgba(255,90,185,.18)}
.authMessage{min-height:18px;padding-left:2px;color:#ffd2e6}
.authForm{display:grid;gap:14px;min-height:0}
.authFormLead{font-size:14px;color:var(--muted);line-height:1.6}
.authField{display:grid;gap:8px}
.authField input{background:rgba(5,11,23,.7);border-color:rgba(255,255,255,.08);padding:14px 16px;border-radius:16px}
.authField input:focus{outline:none;border-color:rgba(255,132,191,.72);box-shadow:0 0 0 4px rgba(255,97,178,.12)}
.authHintRow{display:flex;flex-wrap:wrap;gap:10px}
.authMiniStat{padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);font-size:12px;color:var(--muted)}
.authSubmit{width:100%;min-height:56px;font-size:18px;letter-spacing:.03em}
.authConsentList{display:grid;gap:10px}
.authConsentItem{display:flex;gap:12px;align-items:flex-start;padding:13px 14px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.authConsentCopy{display:grid;gap:4px}
.authConsentTitle{font-size:14px;font-weight:800;color:#f7f9ff}
.authConsentText{font-size:12px;color:var(--muted);line-height:1.5}
.authLegalNote{font-size:12px;line-height:1.6;color:#c7d0ea}
.authScene{position:relative;display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden;padding:30px 24px 26px;background:radial-gradient(circle at top,rgba(255,110,185,.18),transparent 28%),linear-gradient(180deg,rgba(18,24,51,.92),rgba(10,14,30,.96));border-left:1px solid rgba(255,255,255,.08);overscroll-behavior:contain}
.authScene::before{content:'';position:absolute;inset:auto -60px 18% auto;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(255,235,245,.2),transparent 70%);filter:blur(18px);pointer-events:none}
.authSceneMain{position:relative;z-index:1;display:flex;flex-direction:column;gap:14px;min-width:0;min-height:0;height:100%;overflow:hidden}
.authOnlineDock{position:relative;z-index:1;align-self:stretch;display:grid;align-content:start;gap:12px;padding:22px 18px;background:linear-gradient(180deg,rgba(7,14,28,.88),rgba(12,20,40,.96));border-left:1px solid rgba(255,255,255,.08);box-shadow:inset 1px 0 0 rgba(126,255,183,.04);max-height:calc(105dvh - 70px);overflow:auto}
.authOnlineDock .authSceneSectionHead{position:sticky;top:0;z-index:2;padding-bottom:10px;background:linear-gradient(180deg,rgba(12,20,40,.98),rgba(12,20,40,.82))}
.authOnlineList{gap:12px}
.authOnlineDock .playerLuxuryCard{background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));border-color:rgba(126,255,183,.16)}
.authSceneTag{display:inline-flex;justify-self:start;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#ffd9eb}
.authSceneTitle{font-family:'Zen Dots','Nunito',sans-serif;font-size:clamp(20px,2vw,30px);line-height:1.45}
.authSceneCopy{font-size:14px;line-height:1.7;color:#d9e0f8}
.authSceneStats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.authStat{padding:14px;border-radius:18px;background:rgba(5,11,24,.56);border:1px solid rgba(255,255,255,.08)}
.authStatValue{display:block;font-size:30px;font-weight:900;color:#fff}
.authStatLabel{display:block;margin-top:6px;font-size:11px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase}
.authSeasonBanner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-radius:18px;background:linear-gradient(135deg,rgba(255,213,106,.12),rgba(255,97,178,.08));border:1px solid rgba(255,213,106,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.authSeasonBanner strong{display:block;font-size:16px;color:#fff}
.authSeasonBanner span{display:block;margin-top:3px;font-size:12px;color:var(--muted);line-height:1.35}
.authSeasonBanner .authSeasonBadge{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:rgba(8,14,28,.46);border:1px solid rgba(255,255,255,.08);font-size:11px;color:#ffe7aa;font-weight:800;white-space:nowrap}
.authSceneSkyline{position:relative;height:82px;display:flex;align-items:flex-end;gap:10px;padding:0 6px 8px;flex:0 0 auto}
.authSceneSkyline span{flex:1;border-radius:16px 16px 0 0;background:linear-gradient(180deg,rgba(107,233,255,.34),rgba(21,36,73,.96));box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.authSceneSkyline span:nth-child(1){height:44%}
.authSceneSkyline span:nth-child(2){height:70%}
.authSceneSkyline span:nth-child(3){height:58%}
.authSceneSkyline span:nth-child(4){height:86%}
.authSceneSkyline span:nth-child(5){height:64%}
.authSceneSkyline span:nth-child(6){height:78%}
.authSceneSkyline span:nth-child(7){height:53%}
.authSceneSkyline span:nth-child(8){height:38%}
.authSceneSkyline::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent)}
.authSceneSection{display:flex;flex-direction:column;gap:10px;min-height:0;flex:1;overflow:hidden}
.authSceneSectionHead{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#f3cadd}
.authSceneBadge{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-size:11px;color:#d9e0f8}
.authSceneList{display:grid;gap:10px}
.authSceneRow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-radius:18px;background:rgba(7,14,28,.58);border:1px solid rgba(255,255,255,.08)}
.authSceneRow.online{background:linear-gradient(135deg,rgba(126,255,183,.08),rgba(255,255,255,.04));box-shadow:0 0 0 1px rgba(126,255,183,.1)}
.authSceneRank{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.07);font-weight:900}
.authSceneMeta{min-width:0}
.authSceneMeta strong,.authSceneMeta span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.authSceneMeta strong{font-size:14px}
.authSceneMeta span{font-size:12px;color:var(--muted)}
.authSceneValue{font-size:12px;text-align:right;color:#d9e0f8}
.authSceneValue strong{display:block;font-size:15px;color:#fff}
.authLeaderboardGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;align-content:start;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 6px 8px 0;scrollbar-gutter:stable}
.authLeaderboardCard{display:grid;gap:10px;padding:14px;border-radius:20px;background:linear-gradient(180deg,rgba(7,14,28,.72),rgba(15,23,44,.92));border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 34px rgba(0,0,0,.22);min-height:156px;align-content:start}
.authLeaderboardCard.top1{box-shadow:0 0 0 1px rgba(255,209,102,.22),0 18px 34px rgba(0,0,0,.22);background:linear-gradient(180deg,rgba(42,29,10,.8),rgba(15,23,44,.94))}
.authLeaderboardTop{display:flex;align-items:center;justify-content:space-between;gap:8px}
.authLeaderboardRank{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;border-radius:14px;background:rgba(255,255,255,.08);font-weight:900}
.authLeaderboardMoney{font-size:12px;color:#d9e0f8;text-align:right}
.authLeaderboardMoney strong{display:block;font-size:16px;color:#fff}
.authLeaderboardHero{display:grid;gap:4px}
.authLeaderboardHero strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.authLeaderboardHero span{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.authLeaderboardStats{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.authLeaderboardPill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);font-size:11px;color:#d9e0f8}

.authSceneTag,.authSceneTitle,.authSceneCopy,.authSceneStats,.authSeasonBanner,.authSceneSkyline{flex:0 0 auto}
.authLeaderboardGrid::-webkit-scrollbar{width:8px}
.authLeaderboardGrid::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:999px}
.authLeaderboardGrid::-webkit-scrollbar-track{background:rgba(255,255,255,.04);border-radius:999px}


.authEmptyState{padding:14px;border-radius:16px;border:1px dashed rgba(255,255,255,.16);background:rgba(255,255,255,.03);font-size:13px;color:var(--muted)}
.buyBatchBtn{font-size:12px;padding:9px 10px;box-shadow:none}
.stableBuyControls{display:grid;grid-template-columns:auto minmax(96px,1fr) auto;gap:8px;align-items:center;width:100%}
.stableBuyQtyInput{min-width:0;height:38px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.07);color:var(--text);padding:0 10px;font-weight:900;outline:none}
.stableBuyQtyInput:focus{border-color:rgba(255,100,190,.55);box-shadow:0 0 0 3px rgba(255,100,190,.12)}
.stableBuyControls button{white-space:nowrap}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.toastWrap{position:fixed;right:12px;bottom:12px;z-index:4;display:grid;gap:8px;max-width:320px}
.toast{background:rgba(10,18,34,.96);border:1px solid var(--line);border-left:4px solid var(--cyan);border-radius:14px;padding:10px 12px;box-shadow:var(--shadow)}
.modalBack{position:fixed;inset:0;background:rgba(4,8,18,.6);display:none;align-items:center;justify-content:center;z-index:5;padding:12px}
.modal{width:min(888px,100%);background:rgba(10,18,34,.98);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);overflow:hidden}
.modal .panelBody{max-height:min(70vh,560px);overflow:auto}
.seedGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.seedButton{background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:16px;padding:12px;text-align:left;box-shadow:none}
.seedSectionHeader{grid-column:1/-1;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding:8px 4px 2px;color:#fff}
.seedSectionHeader strong{display:block;font-size:13px;font-weight:1000;letter-spacing:.02em}
.seedSectionHeader span{display:block;margin-top:3px;font-size:11px;line-height:1.35;color:var(--muted)}
.seedSectionHeader em{font-style:normal;font-size:11px;font-weight:900;color:var(--muted);white-space:nowrap}
.seedSectionHeader.special strong{color:#ffd76a}
.specialSeedButton{border-color:rgba(255,215,106,.24);background:linear-gradient(135deg,rgba(255,215,106,.10),rgba(255,255,255,.045))}
.seedShopHint{margin-top:8px;padding:7px 9px;border-radius:10px;background:rgba(255,215,106,.10);border:1px solid rgba(255,215,106,.18);font-size:11px;line-height:1.35;color:#ffe6a0}
.seedEmptySpecialHint,.seedNoResults{grid-column:1/-1}
.seedEmptySpecialHint{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:12px;border-radius:16px;border:1px solid rgba(255,215,106,.22);background:linear-gradient(135deg,rgba(255,215,106,.12),rgba(99,230,255,.05));color:#ffe9ad}
.seedEmptySpecialHint strong{display:block;font-size:13px;font-weight:1000;color:#fff}
.seedEmptySpecialHint span{display:block;margin-top:4px;font-size:12px;line-height:1.35;color:#ffe9ad}
.seedEmptySpecialHint .seedHpShopBtn{white-space:nowrap;flex:0 0 auto}
.footerInfo{font-size:12px;color:var(--muted);text-align:center;padding:4px 0}
.pageTabs{display:flex;gap:6px;flex-wrap:wrap;align-items:center;overflow:visible}
.pageTabs .pageBtn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;overflow:visible}
.pageTabs .pageBtn .notificationBadge{position:absolute;top:-7px;right:-7px;margin-left:0;z-index:6;pointer-events:none;box-shadow:0 8px 18px rgba(255,97,178,.24),0 0 0 2px rgba(10,16,34,.88)}
.pageTabs .pageBtn .notificationBadge.hidden{display:none!important}
.chatBox{display:grid;grid-template-rows:1fr auto;gap:10px;min-height:420px}
.chatList{display:grid;gap:8px;align-content:start;overflow:auto;max-height:420px;padding-right:4px}
.chatMsg{background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:10px}
.chatMeta{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted);margin-bottom:4px}
.chatForm{display:grid;grid-template-columns:1fr auto auto;gap:10px}
.chatForm.hasPmTarget{grid-template-columns:minmax(155px,220px) 1fr auto auto}
.chatTargetSelect{width:100%;min-width:0;background:rgba(255,255,255,.06);border:1px solid var(--line);color:var(--text);border-radius:14px;padding:0 12px;font-weight:800}
.chatTargetSelect option{background:#111827;color:#fff}
.pmBadge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:rgba(130,255,244,.10);border:1px solid rgba(130,255,244,.22);color:#bffcff;font-size:11px;font-weight:900}
.chatMsg.pm{border-color:rgba(130,255,244,.32);box-shadow:0 0 0 1px rgba(130,255,244,.10),0 14px 26px rgba(0,0,0,.18);background:linear-gradient(180deg,rgba(130,255,244,.08),rgba(255,255,255,.03))}
.pmReplyBtn{padding:5px 9px;border-radius:999px;font-size:11px;box-shadow:none;background:rgba(130,255,244,.10);border:1px solid rgba(130,255,244,.22);color:#dcfffb}
.chatComposer{position:relative;display:grid;gap:10px}
.emojiPanel{position:absolute;right:0;bottom:calc(100% + 12px);z-index:25;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;padding:12px;border-radius:18px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg,rgba(16,22,44,.96),rgba(10,15,31,.98));box-shadow:0 22px 44px rgba(0,0,0,.30),0 0 0 1px rgba(130,255,244,.08);max-height:220px;overflow:auto;width:min(520px,calc(100vw - 64px))}
.emojiPanel::after{content:'';position:absolute;right:76px;top:100%;border-width:10px 10px 0 10px;border-style:solid;border-color:rgba(14,20,39,.98) transparent transparent transparent;filter:drop-shadow(0 2px 2px rgba(0,0,0,.18))}
.emojiBtn{display:grid;place-items:center;min-height:40px;padding:0;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.05);font-size:20px;cursor:pointer;transition:transform .15s ease, border-color .15s ease, background .15s ease}
.emojiBtn:hover{transform:translateY(-1px);border-color:rgba(130,255,244,.35);background:rgba(255,255,255,.09)}
.avatarEditRow{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.avatarPickerGrid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;margin-top:10px;padding:10px;border-radius:18px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg,rgba(16,22,44,.72),rgba(10,15,31,.86));max-height:260px;overflow:auto}
.avatarPickBtn{display:grid;place-items:center;min-height:42px;padding:0;border-radius:13px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.05);font-size:22px;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease}
.avatarPickBtn:hover{transform:translateY(-1px);border-color:rgba(130,255,244,.35);background:rgba(255,255,255,.09)}
.avatarPickBtn.selected{border-color:rgba(255,154,214,.75);background:linear-gradient(135deg,rgba(255,154,214,.22),rgba(107,233,255,.14));box-shadow:0 0 0 1px rgba(255,154,214,.22),0 10px 22px rgba(0,0,0,.2)}
.flagEmojiImg{width:1.35em;height:1.35em;min-width:1.35em;display:inline-block;vertical-align:-.22em;object-fit:contain;border-radius:.18em;box-shadow:0 2px 7px rgba(0,0,0,.28);filter:drop-shadow(0 2px 4px rgba(0,0,0,.18))}
.cardTitle .flagEmojiImg{width:1.55em;height:1.55em;min-width:1.55em;margin-right:4px;vertical-align:-.32em}.chatFlag .flagEmojiImg{width:20px;height:20px;min-width:20px;margin-right:3px;vertical-align:middle}.flagEmojiImg.profileSummaryFlag{width:22px;height:22px;min-width:22px;margin-right:4px;vertical-align:-5px}.flagPickerGrid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;margin-top:10px;padding:10px;border-radius:18px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg,rgba(16,22,44,.72),rgba(10,15,31,.86));max-height:220px;overflow:auto}.flagPickBtn{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:7px;min-height:40px;padding:6px 8px;border-radius:13px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.05);font-size:12px;font-weight:850;color:var(--text);cursor:pointer;box-shadow:none;text-align:left;transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease}.flagPickBtn:hover{transform:translateY(-1px);border-color:rgba(130,255,244,.35);background:rgba(255,255,255,.09)}.flagPickBtn.selected{border-color:rgba(255,154,214,.75);background:linear-gradient(135deg,rgba(255,154,214,.22),rgba(107,233,255,.14));box-shadow:0 0 0 1px rgba(255,154,214,.22),0 10px 22px rgba(0,0,0,.2)}.flagPickBtn .flagEmojiImg{width:24px;height:24px;min-width:24px}.flagPickBtn .flagNone{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:rgba(255,255,255,.08);font-size:14px;color:var(--muted)}@media (max-width:760px){.flagPickerGrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.tile.premiumTile.dried{border-color:rgba(255,196,110,.55)!important;background:linear-gradient(135deg,rgba(98,62,30,.75),rgba(36,25,20,.96))!important;box-shadow:inset 0 0 0 1px rgba(255,196,110,.14),0 12px 28px rgba(0,0,0,.25)!important}
.tile.premiumTile.dried .tileIcon{filter:saturate(.7) sepia(.25);opacity:.92}.tile.premiumTile.dried .tileTimer,.tile.premiumTile.dried .tileState{color:#ffd08a!important}.chatFlag{line-height:1;display:inline-flex;align-items:center;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}
.emojiSectionTitle{grid-column:1/-1;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:6px 0 0;padding-top:6px;border-top:1px solid rgba(255,255,255,.08)}
.emojiImageBtn{display:grid;place-items:center;min-height:54px;padding:4px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}
.emojiImageBtn:hover{transform:translateY(-1px);border-color:rgba(255,154,214,.45);background:rgba(255,255,255,.09)}
.emojiImageBtn img{width:38px;height:38px;object-fit:contain;display:block;filter:drop-shadow(0 4px 8px rgba(0,0,0,.18))}
.inlineEmoji{width:24px;height:24px;vertical-align:middle;object-fit:contain;display:inline-block;margin:0 2px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.18))}
.leaderList,.logList,.cropInfoList{display:grid;gap:10px;overflow:auto;padding-right:4px}\n.leaderList{max-height:320px}\n.logList{max-height:320px}\n.cropInfoList{max-height:70dvh}\n.marketGrid{display:grid;gap:10px}
.luxuryPanel{position:relative;overflow:hidden}
.luxuryPanel::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(255,118,236,.12),transparent 32%),radial-gradient(circle at bottom left,rgba(82,225,255,.1),transparent 34%);pointer-events:none}
.themePageGrid,.chatLuxuryGrid,.playersPageGrid,.logsPageGrid{display:grid;gap:16px}
.themeHeroBox{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 18px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.03));border-radius:22px;box-shadow:0 20px 40px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08);margin-bottom:16px}
.themeHeroLabel{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:800}
.themeCurrentName{font-size:26px;font-weight:900;line-height:1.1;margin-top:6px}
.themeSelectStatus{margin-top:10px;font-size:13px;color:var(--muted)}
.themeGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:12px}
#themeScroll{max-height:72dvh}
.themeCard{position:relative;border-radius:20px;padding:12px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));cursor:pointer;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.themeCard:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(0,0,0,.22)}
.themeCard.selected{border-color:rgba(130,255,244,.65);box-shadow:0 0 0 1px rgba(130,255,244,.28),0 18px 36px rgba(0,0,0,.24)}
.themeCard.active{border-color:rgba(255,210,120,.75);box-shadow:0 0 0 1px rgba(255,210,120,.26),0 18px 36px rgba(0,0,0,.24)}
.themeCard.locked{opacity:.68;filter:saturate(.75);cursor:not-allowed}
.themeVisual{height:92px;border-radius:16px;margin-bottom:10px;border:1px solid rgba(255,255,255,.12);position:relative;overflow:hidden}
.themeVisual::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.16),transparent 35%)}
.themeVisual::after{content:"";position:absolute;left:16px;right:16px;bottom:16px;height:22px;border-radius:999px;background:linear-gradient(90deg,rgba(255,255,255,.18),rgba(255,255,255,.04));box-shadow:0 -34px 0 -20px rgba(255,255,255,.08), 70px -18px 0 -14px rgba(255,255,255,.06), -60px -22px 0 -16px rgba(255,255,255,.06)}
.themeVisual-sakura{background:radial-gradient(circle at top,rgba(255,185,219,.55),transparent 36%),linear-gradient(180deg,#4b1c4f,#19132d 70%,#121a1a)}
.themeVisual-tokyo{background:radial-gradient(circle at top,rgba(255,93,184,.52),transparent 36%),linear-gradient(180deg,#40166a,#101a36 72%,#08111e)}
.themeVisual-zen{background:radial-gradient(circle at top,rgba(127,227,199,.5),transparent 36%),linear-gradient(180deg,#25534c,#0d211f 72%,#07100f)}
.themeVisual-moonlit{background:radial-gradient(circle at top,rgba(144,155,255,.55),transparent 36%),linear-gradient(180deg,#262f73,#131939 72%,#0b101a)}
.themeVisual-shogun{background:radial-gradient(circle at top,rgba(255,120,102,.5),transparent 36%),linear-gradient(180deg,#5e241a,#211013 72%,#0e090b)}
.themeVisual-imperial{background:radial-gradient(circle at top,rgba(255,203,125,.55),transparent 36%),linear-gradient(180deg,#71431d,#29180f 72%,#120d0b)}
.themeVisual-aurora{background:radial-gradient(circle at top,rgba(111,255,242,.5),transparent 36%),linear-gradient(180deg,#264384,#101c43 72%,#090d18)}
.themeVisual-celestial{background:radial-gradient(circle at top,rgba(255,146,236,.55),transparent 36%),linear-gradient(180deg,#4a2e81,#16235b 72%,#08101d)}
.themeVisual-jadeDynasty{background:radial-gradient(circle at top,rgba(118,255,195,.52),transparent 36%),linear-gradient(180deg,#1f5e4c,#0c241f 72%,#07100f)}
.themeVisual-eclipseHarbor{background:radial-gradient(circle at top,rgba(165,128,255,.52),transparent 36%),linear-gradient(180deg,#2d2567,#11162d 72%,#080b14)}
.themeVisual-lotusEmpire{background:radial-gradient(circle at top,rgba(255,214,124,.5),transparent 36%),linear-gradient(180deg,#6b4e1e,#23170e 72%,#0f0a09)}
.themeVisual-stormTemple{background:radial-gradient(circle at top,rgba(102,188,255,.52),transparent 36%),linear-gradient(180deg,#214d76,#0b1a2a 72%,#060b10)}
.themeVisual-phoenixSkyline{background:radial-gradient(circle at top,rgba(255,132,84,.54),transparent 36%),linear-gradient(180deg,#6e2515,#23120c 72%,#0c0808)}
.themeVisual-dragonSanctum{background:radial-gradient(circle at top,rgba(102,255,224,.54),transparent 36%),linear-gradient(180deg,#254b71,#11163e 72%,#060912)}
.themeVisual-mistGarden{background:radial-gradient(circle at top,rgba(187,239,255,.48),transparent 36%),linear-gradient(180deg,#315f74,#152633 72%,#0a0e14)}
.themeVisual-neonCanal{background:radial-gradient(circle at top,rgba(107,255,242,.5),transparent 36%),linear-gradient(180deg,#22506e,#111f33 72%,#080d14)}
.themeVisual-obsidianPagoda{background:radial-gradient(circle at top,rgba(255,205,130,.45),transparent 36%),linear-gradient(180deg,#3c342e,#131214 72%,#080708)}
.themeVisual-silverBamboo{background:radial-gradient(circle at top,rgba(206,236,255,.5),transparent 36%),linear-gradient(180deg,#4d6770,#18232a 72%,#0a0f12)}
.themeVisual-oracleGarden{background:radial-gradient(circle at top,rgba(200,139,255,.5),transparent 36%),linear-gradient(180deg,#3c2e74,#131836 72%,#080b13)}
.themeVisual-nebulaCourtyard{background:radial-gradient(circle at top,rgba(255,156,229,.52),transparent 36%),linear-gradient(180deg,#492c6d,#171a44 72%,#090b14)}
.themeVisual-rubyLotus{background:radial-gradient(circle at top,rgba(255,117,156,.52),transparent 36%),linear-gradient(180deg,#6a1f3c,#231019 72%,#0a0608)}
.themeVisual-frostHalo{background:radial-gradient(circle at top,rgba(172,232,255,.55),transparent 36%),linear-gradient(180deg,#345d7f,#162338 72%,#081018)}
.themeVisual-empressCircuit{background:radial-gradient(circle at top,rgba(255,191,122,.52),transparent 36%),linear-gradient(180deg,#6d3c24,#24140e 72%,#0b0808)}
.themeVisual-astralTemple{background:radial-gradient(circle at top,rgba(189,150,255,.52),transparent 36%),linear-gradient(180deg,#483282,#181d4b 72%,#090b14)}
.themeVisual-prismCrown{background:radial-gradient(circle at top,rgba(155,255,239,.52),transparent 36%),linear-gradient(180deg,#2d5677,#111b3c 72%,#080b14)}
.themeMetaRow{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px}
.themeChip{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.04em;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10)}
.themeSectionTitle{grid-column:1/-1;font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:4px 0 0}
.themeCountChip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.06);font-size:12px;font-weight:800}
.luxSectionLabel{font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.guildPageGrid{display:grid;gap:16px}
.guildScrollArea{max-height:70dvh}
.guildCreateWrap{display:grid;gap:10px;margin-bottom:14px}
.guildCreateRow{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.guildMiniText{color:var(--muted);line-height:1.55}
.guildHeroCard{display:grid;gap:14px;padding:18px;border-radius:24px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.03));box-shadow:0 18px 36px rgba(0,0,0,.22)}
.guildHeroTop{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.guildHeroName{font-size:28px;font-weight:900;line-height:1.1}
.guildHeroActions{justify-content:flex-end}
.guildQuestPanel{display:grid;gap:10px;padding:14px 16px;border-radius:20px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,rgba(255,105,186,.14),rgba(77,217,255,.10))}
.guildQuestTitle{font-size:18px;font-weight:900}
.guildQuestReward{display:flex;flex-wrap:wrap;gap:8px}
.guildRewardChip,.guildStatChip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.06);font-size:12px}
.guildWeeklyPanel{display:grid;gap:10px;padding:14px 16px;border-radius:20px;border:1px solid rgba(255,215,106,.18);background:linear-gradient(135deg,rgba(255,215,106,.13),rgba(107,233,255,.08))}
.guildWeeklyBottom{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:13px}
.guildProjectsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
.guildProjectCard{display:grid;gap:10px;border:1px solid rgba(255,255,255,.11);border-radius:18px;padding:14px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025))}
.guildProjectCard.complete{border-color:rgba(126,255,183,.26);background:linear-gradient(180deg,rgba(126,255,183,.10),rgba(255,255,255,.025))}
.guildProjectTop{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.guildProjectTitle{font-weight:900;font-size:16px}
.guildProjectBonus{display:inline-flex;width:max-content;max-width:100%;padding:6px 10px;border-radius:999px;background:rgba(107,233,255,.10);border:1px solid rgba(107,233,255,.18);font-size:12px;font-weight:900;color:#e9fbff}
.guildProjectActions{display:flex;gap:8px;flex-wrap:wrap}
.guildProjectActions button{font-size:12px;padding:7px 10px}
.guildStatsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.guildStatCard{padding:14px;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05)}
.guildStatValue{display:block;font-size:24px;font-weight:900;margin-top:6px}
.guildMembersGrid,.guildPublicGrid{display:grid;gap:12px}
.guildMembersGrid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.guildMembersHeader{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:4px 0 12px}
.guildMemberPager{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.guildMemberPager button{min-width:110px}
.guildMembersPageText{min-width:74px;justify-content:center}
.guildPublicCard,.guildMemberCard{border-radius:20px;border:1px solid rgba(255,255,255,.1);padding:14px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));box-shadow:0 14px 28px rgba(0,0,0,.18)}
.guildMemberCard{min-height:132px}
.guildMemberTop,.guildPublicTop{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.guildRoleBadge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);font-size:11px;font-weight:800;letter-spacing:.05em}
.guildMemberMeta,.guildPublicMeta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.guildPublicAction{margin-top:12px;display:flex;justify-content:flex-end}
.guildSubGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:14px 0}
.guildChatList{display:grid;gap:8px;max-height:260px;min-height:180px;padding-right:4px}
.guildMsg{border-radius:16px;border:1px solid rgba(255,255,255,.09);padding:10px 12px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03))}
.guildMsg.me{border-color:rgba(130,255,244,.28)}
.guildMemberActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.guildMemberActions button{padding:7px 10px;font-size:12px}
.questBadgeRow{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.mutationGlow{box-shadow:0 0 0 1px rgba(255,215,110,.18),0 12px 24px rgba(0,0,0,.18)}
.mutationInfoGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;width:100%}
.mutationInfoCard{border-radius:16px;border:1px solid rgba(255,255,255,.10);padding:11px 12px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025));box-shadow:0 12px 24px rgba(0,0,0,.14)}
.mutationInfoCard.owned{border-color:rgba(255,215,110,.24);box-shadow:0 0 0 1px rgba(255,215,110,.08),0 14px 28px rgba(0,0,0,.18)}
.mutationInfoTop{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:7px}
.mutationInfoName{font-weight:950;color:#fff}
.mutationInfoCount{white-space:nowrap;font-weight:950;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);font-size:12px}
.mutationInfoDesc{font-size:12px;color:var(--muted);line-height:1.45}
.mutationInfoEffect{margin-top:8px;font-size:12px;color:#ffe8ad;line-height:1.45}
.collectionSafetyNote{margin-top:10px;padding:10px 12px;border-radius:16px;border:1px solid rgba(107,233,255,.18);background:rgba(107,233,255,.07);color:#d9f7ff;font-size:12px;line-height:1.5}
/* Season & Hall layout fix: 50/50 columns with independent scroll areas */
.seasonPageGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.seasonPageGrid>.panel{min-width:0;align-self:start}
#seasonScroll,#hallScroll{max-height:calc(100dvh - 190px);overflow:auto;overscroll-behavior:contain;padding-right:8px}
#hallScroll .leaderList{min-width:0}
#hallScroll .playerLuxuryCard,#hallScroll .card,#hallScroll .leaderCard{min-width:0}
@media (max-width:1100px){.seasonPageGrid{grid-template-columns:1fr}#seasonScroll,#hallScroll{max-height:62dvh}}
@media (max-width:900px){.guildHeroTop{flex-direction:column}.guildHeroActions{justify-content:flex-start}.guildCreateRow{align-items:stretch}.guildCreateRow input,.guildCreateRow button{width:100%;max-width:none!important}.seasonPageGrid{grid-template-columns:1fr}}
.chatDistrictBody{display:grid;gap:14px}
.districtBanner{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 18px;border-radius:22px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(135deg,rgba(92,28,94,.36),rgba(25,68,116,.34));box-shadow:0 18px 35px rgba(0,0,0,.22)}
.districtBannerTitle{font-size:22px;font-weight:900;margin-bottom:6px}
.districtBannerBadge{padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.10);font-size:12px;font-weight:900;letter-spacing:.12em}
.luxuryChatBox{min-height:520px}
.luxuryChatForm input{background:rgba(11,14,28,.9);border-color:rgba(130,255,244,.18)}
.chatMsg{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.09);border-radius:18px;padding:13px 15px;box-shadow:0 12px 24px rgba(0,0,0,.16)}
.chatMsg.me{border-color:rgba(130,255,244,.48);background:linear-gradient(135deg,rgba(70,197,255,.18),rgba(98,255,222,.08));box-shadow:0 0 0 1px rgba(130,255,244,.18),0 16px 30px rgba(0,0,0,.20),inset 0 0 22px rgba(130,255,244,.035)}
.chatMsg.other{border-color:rgba(255,255,255,.11);background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.025))}
.chatMsg.system{border-color:rgba(255,215,106,.26);background:linear-gradient(135deg,rgba(255,215,106,.12),rgba(255,255,255,.025))}
/* Chat status badge je nově přímo u jména, aby čas zprávy nebyl odstrčený doprava. */
.notificationBadge{min-width:22px;text-align:center}
.chatMeta{padding-right:0}
.chatMetaMain{display:flex;align-items:center;gap:11px;font-size:13px;min-width:0}
.chatAvatarBubble{width:40px;height:40px;flex:0 0 40px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);font-size:21px;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.chatIdentity{display:grid;gap:2px;min-width:0}
.chatNameRow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.chatName{font-size:16px;font-weight:1000;color:#f6f8ff;line-height:1.1;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chatTime{font-size:12px;color:#aeb9d5;font-weight:800;white-space:nowrap}
.chatTitle{font-size:12px;color:#b9c4dd;font-weight:800;line-height:1.2;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chatAuthorBadge{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);font-size:10px;font-weight:1000;letter-spacing:.06em;color:#ffe8b7;text-transform:uppercase}
.chatMsg.me .chatAuthorBadge{color:#bffcff;border-color:rgba(130,255,244,.22);background:rgba(130,255,244,.10)}
.chatText{line-height:1.6;font-size:16px;color:#f8fbff;word-break:break-word;cursor:text;-webkit-user-select:text;user-select:text}
.chatText *{-webkit-user-select:text;user-select:text}
.chatMsg.me .chatText{font-weight:700}
.chatActions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:10px;-webkit-user-select:none;user-select:none}
.chatEditedBadge{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:900;color:#ffd9ef;background:rgba(255,97,178,.10);border:1px solid rgba(255,97,178,.18)}
.chatEditBtn{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:1000;letter-spacing:.02em;box-shadow:none;background:rgba(255,214,102,.08);border:1px solid rgba(255,214,102,.18);color:#ffe9aa;cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease,color .14s ease}
.chatEditBtn:hover{transform:translateY(-1px);border-color:rgba(255,214,102,.42);background:rgba(255,214,102,.14);color:#fff6cc}
.chatEditModalText{width:100%;min-height:130px;resize:vertical;background:rgba(6,12,26,.74);border:1px solid rgba(255,255,255,.14);border-radius:16px;color:#fff;padding:12px 14px;font:inherit;line-height:1.45;outline:none;-webkit-user-select:text;user-select:text}
.chatEditModalText:focus{border-color:rgba(130,255,244,.48);box-shadow:0 0 0 3px rgba(130,255,244,.10)}
.chatEditCounter{font-size:12px;color:var(--muted);margin-top:7px;text-align:right}
.chatCopyBtn{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:1000;letter-spacing:.02em;box-shadow:none;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);color:#dce7ff;cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease,color .14s ease}
.chatCopyBtn:hover{transform:translateY(-1px);border-color:rgba(130,255,244,.34);background:rgba(130,255,244,.10);color:#f8ffff}
.chatCopyBtn.copied{border-color:rgba(80,255,170,.42);background:rgba(80,255,170,.12);color:#baffda}
@media (max-width:700px){.chatMeta{padding-right:0}.chatName{max-width:180px}.chatTitle{max-width:220px}.chatTime{font-size:11px}}
.typingIndicator{display:flex;align-items:center;gap:10px;margin:4px 0 2px;padding:10px 12px;border:1px solid rgba(130,255,244,.16);background:rgba(130,255,244,.07);border-radius:16px;color:var(--muted);font-size:13px}
.typingIndicator strong{color:var(--text)}
.typingDots{display:inline-flex;gap:3px;align-items:center}
.typingDots span{width:5px;height:5px;border-radius:999px;background:currentColor;opacity:.35;animation:typingPulse 1s infinite ease-in-out}
.typingDots span:nth-child(2){animation-delay:.15s}.typingDots span:nth-child(3){animation-delay:.3s}
@keyframes typingPulse{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}
.playerLuxuryCard{border-radius:18px;border:1px solid rgba(255,255,255,.1);padding:14px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));box-shadow:0 14px 28px rgba(0,0,0,.18)}
.playerLuxuryCard .cardTitle{font-size:16px}
.playerStatsRow{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.playerStatPill{padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.06);font-size:12px}
.adminCopyVsBtn{padding:4px 8px!important;font-size:11px!important;border-radius:999px!important;margin-left:6px!important;line-height:1!important;min-height:0!important}.playerStatPill .adminCopyVsBtn{vertical-align:middle}
.playersPageGrid{min-height:0;height:100%}
.playersPageGrid>.panel{min-height:0}
.playersSplitBody{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(340px,1.2fr);gap:14px;overflow:hidden;min-height:0;height:calc(100dvh - 230px);padding:12px}
.playersColumnPanel{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.10);border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.025));box-shadow:0 14px 28px rgba(0,0,0,.14);padding:12px}
.playersColumnHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;flex:0 0 auto}
.playerColumnBadge{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);font-size:12px;font-weight:900;color:#e9f0ff}
.playersColumnList{max-height:none!important;min-height:0;flex:1;overflow:auto;padding-right:6px;align-content:start}
.playersColumnList .playerLuxuryCard{min-width:0}
.logList{max-height:none}
.luxuryLogCard{border-radius:18px;border:1px solid rgba(255,255,255,.1);padding:14px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));box-shadow:0 14px 28px rgba(0,0,0,.18)}
.logTimeChip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);font-size:12px;color:var(--muted);margin-bottom:10px}
@media (max-width:900px){.themeHeroBox,.districtBanner{flex-direction:column;align-items:flex-start}.luxuryChatBox{min-height:460px}.emojiPanel{grid-template-columns:repeat(6,minmax(0,1fr))}.avatarPickerGrid{grid-template-columns:repeat(6,minmax(0,1fr))}.chatForm,.chatForm.hasPmTarget{grid-template-columns:1fr auto auto}.chatTargetSelect{grid-column:1/-1;min-height:42px}.playersSplitBody{grid-template-columns:1fr;height:auto;overflow:visible}.playersColumnPanel{min-height:320px}.playersColumnList{max-height:420px!important;flex:none}}
@media (max-width:900px){#profilePage.active{overflow:hidden}#profilePage .profilePageGrid{display:block;height:calc(100dvh - 118px);overflow:auto;min-height:0;padding-right:2px;padding-bottom:34px}#profilePage .profilePageGrid>.panel{height:auto;max-height:none;margin-bottom:12px}#profilePage .panelBody.scrollArea{max-height:none!important;overflow:visible;padding-bottom:26px}#profileScroll{padding-bottom:50px}}
@media (max-width:900px){.marketHeroBox{align-items:flex-start;flex-direction:column}.marketPickRow,.marketSectionsGrid,.marketSelectedPreview{grid-template-columns:1fr}.marketSelectedValue{justify-content:flex-start}.marketMainBtn{width:100%}}
.marketGrid{display:grid;gap:10px}
.marketHeroBox{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:16px 18px;border-radius:24px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(135deg,rgba(255,84,190,.16),rgba(83,223,255,.10));box-shadow:0 18px 36px rgba(0,0,0,.18)}
.marketHeroTitle{font-size:20px;font-weight:950;margin-top:4px;color:#f7f1ff}.marketHeroText{color:var(--muted);font-size:13px;line-height:1.55;margin-top:4px;max-width:720px}.marketStatsBox{white-space:nowrap;padding:10px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);font-size:12px;font-weight:900;color:#eaf2ff}
.marketCreatePanel{padding:14px;border-radius:22px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));box-shadow:0 18px 34px rgba(0,0,0,.18);margin-bottom:14px}.marketRequestPanel{background:linear-gradient(180deg,rgba(107,233,255,.08),rgba(255,255,255,.025));border-color:rgba(107,233,255,.14)}.marketFormTitle{font-size:12px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:#f4d9ff;margin:0 0 10px}.marketPickRow{display:grid;grid-template-columns:minmax(280px,1fr) 120px 150px auto;gap:10px;align-items:end}.marketField{display:grid;gap:6px;min-width:0}.marketField span{font-size:11px;text-transform:uppercase;letter-spacing:.10em;color:#c9b8d9;font-weight:900}.marketField select,.marketField input{width:100%;min-height:48px;border-radius:14px}.marketSearchInput{width:100%;min-height:42px;margin:0 0 10px;border-radius:14px;background:rgba(7,11,24,.36);border:1px solid rgba(255,255,255,.10)}.marketSectionSearch{margin:-2px 0 10px}.marketMainBtn{min-height:48px;border-radius:16px;box-shadow:0 10px 24px rgba(255,84,190,.18)}.marketListingCard.request{border-color:rgba(107,233,255,.18);background:linear-gradient(180deg,rgba(107,233,255,.08),rgba(255,255,255,.025))}
.marketSelectedPreview{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:12px;padding:12px 14px;border-radius:18px;border:1px solid rgba(255,255,255,.09);background:rgba(7,11,24,.38)}.marketSelectedTitle{font-weight:950;font-size:15px}.marketSelectedMeta{color:var(--muted);font-size:12px;margin-top:3px}.marketSelectedValue{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.marketChip{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10);font-size:12px;font-weight:800;color:#edf4ff}
.marketSectionsGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}.marketSectionCard{min-width:0;align-self:start;border:1px solid rgba(255,255,255,.10);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));padding:12px;box-shadow:0 16px 32px rgba(0,0,0,.14)}.marketSectionCard .marketGrid{max-height:56dvh;overflow:auto;padding-right:4px}.marketSectionHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;font-size:13px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:#ead7ef}.marketSectionHead small{letter-spacing:0;text-transform:none;color:var(--muted);font-weight:800}
.marketSubSectionTitle{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 0 8px;padding:8px 10px;border-radius:13px;border:1px solid rgba(255,255,255,.09);background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.025));font-size:12px;font-weight:950;letter-spacing:.04em;color:#f4d9ff}.marketSubSectionTitle span:last-child{color:var(--muted);font-size:11px;font-weight:900;letter-spacing:0}
.marketListingCard{border-radius:18px;border:1px solid rgba(255,255,255,.10);padding:13px 14px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.03));box-shadow:0 12px 26px rgba(0,0,0,.16)}.marketListingCard.mine{border-color:rgba(255,210,84,.22);background:linear-gradient(180deg,rgba(255,210,84,.08),rgba(255,255,255,.025))}.marketListingTop{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.marketListingName{font-size:16px;font-weight:950}.marketListingSeller{font-size:12px;color:var(--muted);margin-top:3px}.marketListingStats{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.marketListingActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.marketListingActions button{padding:8px 11px;font-size:12px}.marketBadge{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.075);border:1px solid var(--line);font-size:12px;font-weight:900;white-space:nowrap}.mutationLockedHint{margin-top:10px;padding:10px 12px;border-radius:16px;border:1px solid rgba(255,215,110,.18);background:rgba(255,215,110,.07);color:#f2e7b8;font-size:12px;line-height:1.5}
.animalGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.onlineDot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#52ff9e;box-shadow:0 0 14px rgba(82,255,158,.8)}
.presenceDot{display:inline-block;width:9px;height:9px;border-radius:50%;vertical-align:middle;box-shadow:0 0 12px currentColor;background:currentColor}
.presenceDot.online,.presenceChip.online{color:#52ff9e}
.presenceDot.inactive,.presenceChip.inactive{color:#ffd76a}
.presenceDot.offline,.presenceChip.offline{color:#8b98b8}
.presenceChip{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.055);font-size:12px;font-weight:900;white-space:nowrap}
.presenceChip .presenceDot{width:7px;height:7px}
.playerLuxuryCard.presence-online{border-color:rgba(82,255,158,.20);box-shadow:0 16px 30px rgba(0,0,0,.18),0 0 22px rgba(82,255,158,.055)}
.playerLuxuryCard.presence-inactive{border-color:rgba(255,215,106,.18);opacity:.94}
.playerLuxuryCard.presence-offline{border-color:rgba(139,152,184,.12);opacity:.72;filter:saturate(.82)}
.tileCenter{position:absolute;left:8px;right:8px;top:20px;bottom:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.tileState{display:inline-block;font-size:10px;color:#f6f7fb;text-shadow:0 1px 1px rgba(0,0,0,.45);background:rgba(8,12,24,.62);padding:3px 7px;border-radius:999px;max-width:100%;white-space:nowrap}
.tileTimer{position:absolute;right:8px;top:28px;z-index:4;display:inline-flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:900;line-height:1;color:#dff7ff;background:rgba(8,12,24,.78);border:1px solid rgba(107,233,255,.25);box-shadow:0 0 10px rgba(107,233,255,.08);padding:3px 6px;border-radius:999px;letter-spacing:.15px;white-space:nowrap;font-variant-numeric:tabular-nums;pointer-events:none}
.visitModalCard{width:min(1120px,96vw);max-height:min(90dvh,980px);overflow:hidden;border-radius:30px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(10,16,34,.97),rgba(5,11,24,.98));box-shadow:0 34px 90px rgba(0,0,0,.48),0 0 0 1px rgba(255,255,255,.04) inset}
.visitModalBody{display:grid;gap:16px;padding:18px}
.visitHeroShell{position:relative;overflow:hidden;border-radius:28px;padding:20px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(135deg,rgba(255,91,194,.18),rgba(78,134,255,.12) 48%,rgba(59,236,255,.14));box-shadow:0 24px 50px rgba(0,0,0,.20)}
.visitHeroShell::before{content:"";position:absolute;inset:-25% auto auto -10%;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 62%);pointer-events:none}.visitHeroShell::after{content:"";position:absolute;right:-70px;bottom:-70px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(107,233,255,.14),transparent 60%);pointer-events:none}
.visitHeroTop{position:relative;z-index:1;display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap}.visitHeroMain{display:flex;gap:16px;align-items:center;min-width:0}.visitHeroAvatar{width:88px;height:88px;border-radius:24px;display:grid;place-items:center;font-size:42px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.05));box-shadow:0 14px 34px rgba(0,0,0,.22)}
.visitEyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(8,12,24,.26);font-size:11px;font-weight:1000;letter-spacing:.12em;text-transform:uppercase;color:#f3d6ff;margin-bottom:8px}.visitHeroName{font-size:34px;font-weight:1000;line-height:1.02;color:#fff}.visitHeroSub{margin-top:6px;color:#e7ecff;font-size:14px;font-weight:800}.visitHeroAccount{margin-top:6px;font-size:13px;color:#c6d2eb}
.visitHeroBadges{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start;justify-content:flex-end}.visitHeroBadge{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(8,12,24,.34);font-size:12px;font-weight:900;color:#f5f8ff;box-shadow:0 10px 22px rgba(0,0,0,.16)}
.visitStatStrip{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.visitStatCard{padding:14px 16px;border-radius:22px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.03));box-shadow:0 14px 26px rgba(0,0,0,.15)}.visitStatLabel{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#d7c4eb;font-weight:1000}.visitStatValue{margin-top:6px;font-size:24px;font-weight:1000;color:#fff}.visitStatHint{margin-top:4px;font-size:12px;color:#b6c5e4}
.visitFarmSection{border-radius:26px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));padding:16px;box-shadow:0 20px 42px rgba(0,0,0,.16)}
.visitFarmSectionHead{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap;margin-bottom:14px}.visitFarmSectionTitle{font-size:22px;font-weight:1000;color:#fff}.visitFarmSectionText{margin-top:6px;font-size:13px;line-height:1.55;color:#b9c7e1;max-width:760px}.visitFarmLegend{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.visitLegendChip{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.05);font-size:12px;font-weight:900;color:#edf4ff}.visitLegendDot{width:9px;height:9px;border-radius:999px}.visitLegendDot.ready{background:#7bffb4;box-shadow:0 0 14px rgba(123,255,180,.48)}.visitLegendDot.growing{background:#74d8ff;box-shadow:0 0 14px rgba(116,216,255,.45)}.visitLegendDot.empty{background:#ffb7c7;box-shadow:0 0 14px rgba(255,183,199,.42)}.visitLegendDot.locked{background:#f9d56e;box-shadow:0 0 14px rgba(249,213,110,.42)}
.visitFarmGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.visitTile{position:relative;min-height:160px;border-radius:24px;border:1px solid rgba(255,255,255,.10);padding:16px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));display:flex;flex-direction:column;justify-content:space-between;gap:14px;overflow:hidden;box-shadow:0 16px 34px rgba(0,0,0,.18);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.visitTile:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.16);box-shadow:0 20px 40px rgba(0,0,0,.22)}.visitTile::before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:100%;background:radial-gradient(circle at top left,rgba(255,255,255,.10),transparent 55%);pointer-events:none}.visitTile.ready{border-color:rgba(123,255,180,.28);background:linear-gradient(180deg,rgba(123,255,180,.12),rgba(255,255,255,.03))}.visitTile.growing{border-color:rgba(116,216,255,.24);background:linear-gradient(180deg,rgba(116,216,255,.10),rgba(255,255,255,.025))}.visitTile.empty{border-color:rgba(255,184,205,.16);background:linear-gradient(180deg,rgba(255,184,205,.10),rgba(255,255,255,.02))}.visitTile.locked{border-color:rgba(249,213,110,.20);background:linear-gradient(180deg,rgba(249,213,110,.10),rgba(255,255,255,.02))}.visitTileTop{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;position:relative;z-index:1}.visitTileIcon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;font-size:28px;border:1px solid rgba(255,255,255,.11);background:rgba(8,12,24,.22);box-shadow:0 10px 20px rgba(0,0,0,.16)}.visitTileBadge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.10);background:rgba(8,12,24,.26);font-size:11px;font-weight:1000;letter-spacing:.04em;color:#eef4ff;white-space:nowrap}.visitTileBody{position:relative;z-index:1}.visitTileName{font-size:16px;font-weight:1000;color:#fff;line-height:1.15}.visitTileMeta{margin-top:6px;font-size:12px;line-height:1.5;color:#bfd0ea}.visitTileFooter{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:10px}.visitTileChip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.10);background:rgba(8,12,24,.24);font-size:11px;font-weight:900;color:#f0f6ff}.visitTileIndex{font-size:12px;font-weight:1000;color:#9fb5d7}
@media (max-width:1100px){.visitFarmGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.visitStatStrip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.visitModalCard{width:min(96vw,96vw);max-height:92dvh;border-radius:24px}.visitModalBody{padding:14px}.visitHeroName{font-size:26px}.visitHeroMain{align-items:flex-start}.visitHeroAvatar{width:74px;height:74px;font-size:34px;border-radius:20px}.visitHeroBadges,.visitFarmLegend{justify-content:flex-start}.visitStatStrip{grid-template-columns:1fr}.visitFarmGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.visitTile{min-height:148px;padding:14px}}
@media (max-width:520px){.visitFarmGrid{grid-template-columns:1fr}.visitTile{min-height:132px}.visitTileIcon{width:48px;height:48px;font-size:24px}.visitFarmSectionTitle{font-size:20px}}
.profileDecorScene{position:relative;min-height:320px;border-radius:22px;overflow:hidden;margin-top:12px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(34,54,96,.55),rgba(10,18,34,.92) 48%,rgba(14,34,24,.9) 100%)}
.profileDecorSky{position:absolute;inset:0;background:radial-gradient(circle at 20% 18%,rgba(255,160,220,.22),transparent 18%),radial-gradient(circle at 78% 16%,rgba(107,233,255,.16),transparent 16%)}
.profileDecorGround{position:absolute;left:0;right:0;bottom:0;height:30%;background:linear-gradient(180deg,rgba(60,96,72,.15),rgba(31,74,54,.92));border-top:1px solid rgba(255,255,255,.08)}
.profileDecorPath{position:absolute;left:9%;right:9%;bottom:8%;height:14%;border-radius:999px;background:linear-gradient(180deg,rgba(210,198,170,.14),rgba(186,162,124,.28));transform:perspective(500px) rotateX(60deg)}
.profileDecorItems{position:absolute;left:4%;right:4%;top:14%;bottom:11%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 12px;align-content:end;align-items:end;justify-items:center;padding:0 8px 10px}
.profileDecorItem{position:relative;display:grid;place-items:center;text-align:center;text-shadow:0 3px 10px rgba(0,0,0,.45);filter:drop-shadow(0 8px 18px rgba(0,0,0,.28));min-width:0;width:100%}
.profileDecorItem .icon{font-size:36px;line-height:1;margin-bottom:6px}
.profileDecorItem .count{margin-top:0;font-size:10px;padding:4px 8px;border-radius:999px;background:rgba(8,12,24,.72);border:1px solid rgba(255,255,255,.12);white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}
.rarityBadge{display:inline-flex;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--line);font-size:11px;font-weight:800}
.feedBadge{display:inline-flex;padding:4px 8px;border-radius:999px;background:rgba(126,255,183,.08);border:1px solid rgba(126,255,183,.2);font-size:11px}
.profileDecorEmpty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:var(--muted);padding:24px}
.notificationBadge{display:inline-flex;min-width:18px;height:18px;border-radius:999px;background:var(--pink);align-items:center;justify-content:center;padding:0 6px;font-size:11px;font-weight:800;margin-left:6px}.notificationBadge.pm{background:linear-gradient(135deg,#38d6ff,#ff6bd6);box-shadow:0 0 14px rgba(255,107,214,.22)}
.serverEventBanner{position:relative;z-index:5;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;min-height:32px;margin:-2px 0 -2px;padding:5px 12px;border-radius:16px;border:1px solid rgba(255,215,106,.22);background:linear-gradient(135deg,rgba(255,202,88,.14),rgba(255,97,178,.10),rgba(107,233,255,.08));box-shadow:0 10px 24px rgba(0,0,0,.18),0 0 24px rgba(255,203,93,.06);overflow:hidden}
.serverEventBanner::before{content:"";position:absolute;inset:-100% auto auto -12%;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.13),transparent 70%);pointer-events:none}
.serverEventMain,.serverEventBonuses,.serverEventTime{position:relative;z-index:1}
.serverEventMain{display:flex;align-items:center;gap:8px;min-width:0;line-height:1.05}
.serverEventMain strong{font-size:13px;white-space:nowrap}
.serverEventMain span:last-child{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#serverEventIcon{font-size:16px;line-height:1}
.serverEventBonuses{font-size:11px;font-weight:900;color:#ffe9a6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.serverEventTime{justify-self:end;font-size:12px;font-weight:900;font-variant-numeric:tabular-nums;padding:4px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(8,12,24,.42);white-space:nowrap}
@media(max-height:900px) and (min-width:761px){.serverEventBanner{min-height:28px;padding:4px 11px}.serverEventMain span:last-child{display:none}.serverEventBonuses{font-size:10.5px}.serverEventTime{font-size:11px;padding:3px 8px}}
@media(max-width:760px){.serverEventBanner{grid-template-columns:1fr;margin:0;padding:7px 10px}.serverEventTime{justify-self:start}}
@media (min-width:1400px){
    .farmGrid{grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(114px,1fr)}
    .farmPanel .actions button,.pageTabs .pageBtn{padding:7px 10px;font-size:12px;border-radius:12px}
}
@media (max-height:920px) and (min-width:981px){
    .authWrap{padding:10px;align-items:start}
    .authCard{width:min(1360px,100%);grid-template-columns:minmax(390px,.9fr) minmax(330px,.76fr) minmax(250px,.54fr)}
    .authHead{padding:20px 22px 14px}
    .authBody{padding:18px 22px 20px;gap:12px}
    .authScene{padding:22px 22px 20px;gap:14px}
    .authLogoTitle{margin:12px 0 8px;font-size:clamp(24px,3vw,40px)}
    .authLogoTitleIcon{width:75px;height:50px;border-radius:16px}
    .authIntro{font-size:13px;line-height:1.45}
    .authHighlights{gap:8px;margin-top:12px}
    .authHighlight{padding:8px 11px;font-size:12px}
    .authModeBtn{min-height:50px}
    .authForm{gap:10px}
    #registerForm .authConsentList{grid-template-columns:repeat(2,minmax(0,1fr))}
    #registerForm .authLegalNote{font-size:10.5px}
    .authFormLead{font-size:13px;line-height:1.45}
    .authField{gap:6px}
    .authField input{padding:11px 14px;border-radius:14px}
    .authMiniStat{padding:8px 10px}
    .authConsentList{gap:8px}
    .authConsentItem{padding:10px 12px;border-radius:14px}
    .authConsentTitle{font-size:13px}
    .authConsentText,.authLegalNote{font-size:11px;line-height:1.45}
    .authSubmit{min-height:48px;font-size:16px}
    .authSceneTitle{font-size:clamp(18px,1.7vw,26px);line-height:1.3}
    .authSceneCopy{font-size:13px;line-height:1.5}
    .authLeaderboardGrid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));max-height:360px}
    .authSceneStats{gap:8px}
    .authStat{padding:12px}
    .authStatValue{font-size:24px}
    .authSceneSkyline{height:88px;padding-bottom:8px}
    .authSceneSection{gap:8px}
    .authSceneRow{padding:10px 12px;border-radius:16px}
}
@media (max-height:820px) and (min-width:981px){
    .authWrap{padding:6px;align-items:start}
    .authHead{padding:16px 18px 12px}
    .authBody{padding:14px 18px 16px;gap:10px}
    .authScene{padding:18px 18px 16px;gap:12px}
    .authEyebrow{padding:6px 10px;font-size:11px}
    .authLogoTitle{margin:8px 0 6px;font-size:clamp(22px,2.6vw,34px)}
    .authLogoTitleIcon{width:44px;height:44px}
    .authIntro{font-size:12px;line-height:1.35}
    .authHighlights{margin-top:10px}
    .authHighlight{padding:7px 10px;font-size:11px}
    .authModeBtn{min-height:46px;border-radius:15px}
    .authMessage{min-height:14px}
    .authForm{gap:8px}
    #registerForm .authConsentList{grid-template-columns:repeat(2,minmax(0,1fr))}
    #registerForm .authLegalNote{font-size:10px}
    .authFormLead{font-size:12px;line-height:1.35}
    .authField input{padding:10px 12px}
    .authConsentItem{padding:8px 10px}
    .authConsentText,.authLegalNote{font-size:10px;line-height:1.35}
    .authSubmit{min-height:44px;font-size:15px}
    .authSceneTitle{font-size:18px}
    .authSceneCopy{display:none}
    .authLeaderboardGrid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
    .authStat{padding:10px}
    .authStatValue{font-size:22px}
    .authStatLabel{font-size:10px}
    .authSceneSkyline{height:72px}
    .authSceneSectionHead{font-size:11px}
    .authSceneRow{padding:8px 10px;font-size:13px}
}
@media (min-width:1181px){
    .farmPanel>.panelBody{display:flex;flex-direction:column;gap:4px;overflow:hidden}
}
@media (max-width:1180px){
    html,body{overflow:auto}
    .app{height:auto;min-height:100dvh}
    .main{grid-template-columns:1fr}
    .bottomPanels{grid-template-columns:1fr}
}
@media (max-width:1380px){
    .farmGrid{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:minmax(104px,1fr)}
}
@media (max-width:980px){
    .authCard{grid-template-columns:1fr;max-height:none;overflow:visible}
    .authScene{border-left:none;border-top:1px solid rgba(255,255,255,.08)}
    .authOnlineDock{border-left:none;border-top:1px solid rgba(255,255,255,.08);max-height:none}
}
@media (max-width:760px){
    .topbar{grid-template-columns:1fr}
    .pills{justify-content:flex-start}
    .moneyOnlineGroup,.topbarStatsGroup{width:100%;justify-content:flex-start;flex-wrap:wrap}
    .farmGrid{grid-template-columns:repeat(3,minmax(0,1fr));height:auto;grid-auto-rows:minmax(92px,auto)}
    .row2,.statGrid,.seedGrid,.marketForm,.profilePageGrid,.socialPageGrid,.stablePageGrid,.visitFarmGrid{grid-template-columns:1fr}
    .profileDecorScene{min-height:280px}
    .profileDecorItems{grid-template-columns:repeat(2,minmax(0,1fr));top:12%;bottom:12%}
    .authWrap{padding:14px}
    .authHead,.authBody,.authScene{padding-left:18px;padding-right:18px}
    .authModeTabs,.authSceneStats,#registerForm .authConsentList{grid-template-columns:1fr}
    .authLogoTitle{font-size:30px;align-items:flex-start}
    .authLogoTitleIcon{width:52px;height:52px}
}


/* Daily wheel of fortune */
.wheelPageGrid{display:grid;grid-template-columns:minmax(420px,1.1fr) minmax(320px,.9fr);gap:16px;align-items:start}
.wheelHero{display:flex;flex-direction:column;gap:14px}
.wheelStatusRow{display:flex;flex-wrap:wrap;gap:10px}
.wheelStatusBadge{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.12);box-shadow:0 12px 26px rgba(0,0,0,.18);font-weight:700}
.wheelStatusBadge.ready{background:linear-gradient(135deg,rgba(64,220,150,.22),rgba(64,220,150,.08));border-color:rgba(64,220,150,.36)}
.wheelStatusBadge.locked{background:linear-gradient(135deg,rgba(255,193,7,.18),rgba(255,193,7,.06));border-color:rgba(255,193,7,.30)}
.wheelArena{position:relative;display:grid;place-items:center;min-height:470px;padding:18px;border-radius:30px;background:radial-gradient(circle at 50% 20%, rgba(255,255,255,.10), rgba(255,255,255,.03) 36%, rgba(7,13,28,.92) 70%);border:1px solid rgba(255,255,255,.10);overflow:hidden}
.wheelArena::before,.wheelArena::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.wheelArena::before{inset:auto auto -130px -100px;width:260px;height:260px;background:radial-gradient(circle,rgba(255,105,180,.16),transparent 68%)}
.wheelArena::after{inset:-120px -80px auto auto;width:240px;height:240px;background:radial-gradient(circle,rgba(66,205,255,.14),transparent 68%)}
.fortuneWheelWrap{position:relative;width:min(82vw,430px);aspect-ratio:1/1;display:grid;place-items:center}
.fortuneWheel{position:relative;width:100%;height:100%;border-radius:50%;border:10px solid rgba(255,255,255,.15);overflow:hidden;box-shadow:0 35px 60px rgba(0,0,0,.34),0 0 0 10px rgba(255,255,255,.04),0 0 55px rgba(255,174,74,.14);transition:transform 5.2s cubic-bezier(.14,.84,.18,1);background:conic-gradient(from -90deg,#ff7aa8 0deg 30deg,#9b6dff 30deg 60deg,#56d3ff 60deg 90deg,#4de4b7 90deg 120deg,#ffd36e 120deg 150deg,#ff975e 150deg 180deg,#ff7aa8 180deg 210deg,#9b6dff 210deg 240deg,#56d3ff 240deg 270deg,#4de4b7 270deg 300deg,#ffd36e 300deg 330deg,#ff975e 330deg 360deg)}
.fortuneWheel.spinning{box-shadow:0 42px 80px rgba(0,0,0,.44),0 0 0 10px rgba(255,255,255,.05),0 0 85px rgba(255,215,105,.22)}
.fortuneWheel::before{content:"";position:absolute;inset:18px;border-radius:50%;border:2px dashed rgba(255,255,255,.22)}
.fortuneWheel::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 70px rgba(0,0,0,.18)}
.fortuneWheelLabels{position:absolute;inset:0;pointer-events:none}
.fortuneWheelLabel{position:absolute;left:50%;top:50%;width:44px;height:44px;display:grid;place-items:center;text-align:center;color:#fff;font-size:26px;font-weight:900;line-height:1;text-shadow:0 2px 10px rgba(0,0,0,.42)}
.fortuneWheelLabel .icon{font-size:26px;line-height:1;display:block;filter:drop-shadow(0 2px 6px rgba(0,0,0,.32))}
.fortuneWheelLabel .name{display:none}
.fortuneWheelCenter{position:absolute;inset:50%;transform:translate(-50%,-50%);width:122px;height:122px;border-radius:50%;display:grid;place-items:center;text-align:center;background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.96), rgba(255,225,152,.96) 38%, rgba(255,164,84,.96) 100%);border:8px solid rgba(255,255,255,.22);box-shadow:0 14px 28px rgba(0,0,0,.30),0 0 32px rgba(255,196,95,.26);z-index:4}
.wheelCenterText{color:#3b2210;font-weight:900;letter-spacing:.08em;font-size:14px;line-height:1.05;text-transform:uppercase}
.wheelPointer{position:absolute;top:-2px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:20px solid transparent;border-right:20px solid transparent;border-top:40px solid #ffe082;filter:drop-shadow(0 10px 12px rgba(0,0,0,.40));z-index:5}
.wheelPointer::after{content:"";position:absolute;left:-10px;top:-44px;width:20px;height:20px;border-radius:50%;background:radial-gradient(circle,#fff9dd,#ffb74d);box-shadow:0 0 18px rgba(255,214,102,.75)}
.wheelActionRow{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center}
.wheelResultBox{padding:15px 16px;border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.10);color:rgba(255,255,255,.96);box-shadow:0 16px 30px rgba(0,0,0,.18)}
.wheelResultBox.ready{background:linear-gradient(145deg,rgba(64,220,150,.14),rgba(64,220,150,.05));border-color:rgba(64,220,150,.24)}
.wheelLegendGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.wheelRewardCard,.wheelHistoryItem{padding:14px;border-radius:18px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));box-shadow:0 14px 28px rgba(0,0,0,.14)}
.wheelRewardCard .cardTitle,.wheelHistoryItem .cardTitle{display:flex;align-items:center;gap:8px}
.wheelRewardMeta{margin-top:6px;font-size:12px;color:rgba(255,255,255,.72)}
.wheelHistoryList{display:grid;gap:10px}
.wheelMiniNote{font-size:12px;color:rgba(255,255,255,.66)}
.wheelSpinButton{min-width:220px;font-size:16px;padding:14px 18px;border-radius:16px;box-shadow:0 16px 34px rgba(255,178,78,.18)}
.wheelActionRow .wheelSpinButton{flex:1 1 150px;min-width:150px;max-width:230px}
.wheelSpinButton:disabled{opacity:.75;cursor:not-allowed;box-shadow:none}
@media (max-width:1100px){.wheelPageGrid{grid-template-columns:1fr}.wheelArena{min-height:400px}.fortuneWheelWrap{width:min(92vw,390px)}}



/* Farm viewport compact fix: keeps all active field rows visible on desktop */
@media (min-width:1181px){
    #farmPage{overflow:hidden}
    .farmPanel{height:calc(100dvh - 104px);max-height:calc(100dvh - 104px)}
    .farmPanel>.panelHead{padding:8px 12px;min-height:auto}
    .farmPanel>.panelHead h2{font-size:19px}
    .farmPanel>.panelBody{padding:6px 10px;display:flex;flex-direction:column;gap:4px;overflow:hidden}
    .farmTop{margin-bottom:2px;gap:4px}
    .farmWorldBar{margin:3px 0 5px;padding:6px;border-radius:14px}
    .farmWorldBtn{padding:6px 9px;font-size:11px;border-radius:12px}
    .farmGrid{grid-auto-rows:minmax(74px,1fr)!important;gap:5px;align-content:stretch}
    .tile{padding:4px 5px 20px;border-radius:11px}
    .tileHeader{font-size:9px}
    .tileIcon{font-size:18px;margin:-1px 0 0}
    .tileName{font-size:10px;line-height:1.08}
    .growBar{left:7px;right:7px;bottom:17px;height:4px}
    .tileFoot{left:7px;right:7px;bottom:4px;font-size:8.8px}
    .tag{padding:4px 7px;font-size:9.3px}
}
@media (min-width:1400px) and (max-height:900px){
    .farmGrid{grid-auto-rows:minmax(70px,1fr)!important}
    .tileIcon{font-size:17px}.tileName{font-size:9.6px}.tileFoot{font-size:8.4px}
}
@media (min-width:1600px) and (max-height:820px){
    .farmPanel{height:calc(100dvh - 96px);max-height:calc(100dvh - 96px)}
    .farmGrid{grid-auto-rows:minmax(66px,1fr)!important;gap:4px}
    .farmPanel>.panelBody{padding:5px 9px}
    .tile{padding:3px 5px 18px}
    .tileIcon{font-size:16px}.tileName{font-size:9.3px}.tileFoot{font-size:8px}
    .growBar{bottom:15px}
}

/* Daily wheel V2 effects */
.wheelRewardCard.rarity-common{border-color:rgba(255,255,255,.12)}
.wheelRewardCard.rarity-uncommon{border-color:rgba(91,255,181,.36);box-shadow:0 14px 30px rgba(64,220,150,.10)}
.wheelRewardCard.rarity-rare{border-color:rgba(92,200,255,.42);box-shadow:0 14px 30px rgba(86,211,255,.12)}
.wheelRewardCard.rarity-epic{border-color:rgba(197,120,255,.46);box-shadow:0 14px 30px rgba(177,98,255,.14)}
.wheelRewardCard.rarity-legendary{border-color:rgba(255,214,102,.58);box-shadow:0 16px 36px rgba(255,196,95,.20),0 0 22px rgba(255,214,102,.12)}
.wheelRewardMeta.rarityText{font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.wheelRewardMeta.rarity-uncommon{color:#8dffc6}.wheelRewardMeta.rarity-rare{color:#82dcff}.wheelRewardMeta.rarity-epic{color:#d5a3ff}.wheelRewardMeta.rarity-legendary{color:#ffe18a}
.wheelResultBox.rarity-common{border-color:rgba(255,255,255,.14)}
.wheelResultBox.rarity-uncommon{border-color:rgba(91,255,181,.42);box-shadow:0 18px 34px rgba(64,220,150,.14)}
.wheelResultBox.rarity-rare{border-color:rgba(92,200,255,.45);box-shadow:0 18px 34px rgba(86,211,255,.16)}
.wheelResultBox.rarity-epic{border-color:rgba(197,120,255,.52);box-shadow:0 18px 34px rgba(177,98,255,.20)}
.wheelResultBox.rarity-legendary{border-color:rgba(255,214,102,.70);box-shadow:0 20px 42px rgba(255,196,95,.24),0 0 32px rgba(255,214,102,.16)}
.fortuneWheel.rarity-uncommon{box-shadow:0 38px 72px rgba(0,0,0,.40),0 0 60px rgba(91,255,181,.24)}
.fortuneWheel.rarity-rare{box-shadow:0 38px 72px rgba(0,0,0,.40),0 0 70px rgba(92,200,255,.28)}
.fortuneWheel.rarity-epic{box-shadow:0 38px 78px rgba(0,0,0,.44),0 0 85px rgba(197,120,255,.34)}
.fortuneWheel.rarity-legendary{box-shadow:0 42px 86px rgba(0,0,0,.50),0 0 105px rgba(255,214,102,.46),0 0 24px rgba(255,255,255,.20) inset}
.fortuneWheel.jackpotPulse{animation:wheelJackpotPulse 1.35s ease-in-out 3}
@keyframes wheelJackpotPulse{0%,100%{transform:scale(1) rotate(var(--wheel-rot,0deg))}50%{transform:scale(1.035) rotate(var(--wheel-rot,0deg))}}
/* Výkonový režim je trvale zapnutý, ale kolo štěstí musí mít vlastní plynulou animaci. */
body.performanceMode .fortuneWheel{transition:transform 5.2s cubic-bezier(.14,.84,.18,1)!important;will-change:transform}
body.performanceMode .fortuneWheel.spinning{transition:transform 5.2s cubic-bezier(.14,.84,.18,1)!important}
body.performanceMode .fortuneWheel.jackpotPulse{animation:wheelJackpotPulse 1.35s ease-in-out 3!important}
body.performanceMode .wheelWinModal,body.performanceMode .wheelFlashLayer{transition:opacity .22s ease,transform .22s ease!important}
.wheelFlashLayer{position:fixed;inset:0;pointer-events:none;z-index:9997;opacity:0;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.95),rgba(255,214,102,.55) 18%,rgba(197,120,255,.22) 44%,transparent 72%)}
.wheelFlashLayer.show{animation:wheelFlash .78s ease-out forwards}
@keyframes wheelFlash{0%{opacity:0;transform:scale(.96)}18%{opacity:.95}100%{opacity:0;transform:scale(1.08)}}
.wheelWinModal{position:fixed;inset:0;z-index:9998;display:none;align-items:center;justify-content:center;padding:22px;background:radial-gradient(circle at 50% 35%,rgba(255,214,102,.18),rgba(7,10,24,.90) 50%,rgba(2,4,10,.96) 100%);backdrop-filter:blur(10px)}
.wheelWinModal.show{display:flex;animation:wheelModalIn .25s ease-out}
@keyframes wheelModalIn{from{opacity:0}to{opacity:1}}
.wheelWinCard{width:min(620px,100%);position:relative;overflow:hidden;border-radius:34px;border:1px solid rgba(255,255,255,.18);background:linear-gradient(145deg,rgba(14,22,44,.96),rgba(8,12,26,.98));box-shadow:0 30px 90px rgba(0,0,0,.55),0 0 60px rgba(255,214,102,.12);padding:28px;text-align:center}
.wheelWinCard::before{content:"";position:absolute;inset:-45%;background:conic-gradient(from 180deg,transparent,rgba(255,214,102,.18),rgba(197,120,255,.16),rgba(92,200,255,.16),transparent);animation:wheelModalSpin 5s linear infinite;opacity:.75}
@keyframes wheelModalSpin{to{transform:rotate(360deg)}}
.wheelWinInner{position:relative;z-index:1;display:grid;gap:14px;justify-items:center}
.wheelWinIcon{font-size:76px;filter:drop-shadow(0 10px 28px rgba(0,0,0,.40));animation:wheelIconPop .68s cubic-bezier(.2,1.35,.3,1)}
@keyframes wheelIconPop{0%{transform:scale(.4) rotate(-12deg);opacity:0}70%{transform:scale(1.14) rotate(5deg);opacity:1}100%{transform:scale(1) rotate(0)}}
.wheelWinTitle{font-size:clamp(28px,4vw,48px);font-weight:1000;line-height:1.05;text-transform:uppercase;letter-spacing:.02em;margin:0;background:linear-gradient(90deg,#fff,#ffe18a,#ff9de5,#8deaff);-webkit-background-clip:text;background-clip:text;color:transparent}
.wheelWinText{font-size:17px;color:rgba(255,255,255,.88);line-height:1.55;max-width:520px}
.wheelWinRarity{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.15);font-weight:1000;text-transform:uppercase;letter-spacing:.08em;background:rgba(255,255,255,.07)}
.wheelWinActions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:6px}
.wheelWinCard.rarity-uncommon{box-shadow:0 30px 90px rgba(0,0,0,.55),0 0 70px rgba(91,255,181,.16)}
.wheelWinCard.rarity-rare{box-shadow:0 30px 90px rgba(0,0,0,.55),0 0 76px rgba(92,200,255,.20)}
.wheelWinCard.rarity-epic{box-shadow:0 30px 90px rgba(0,0,0,.55),0 0 88px rgba(197,120,255,.24)}
.wheelWinCard.rarity-legendary{box-shadow:0 34px 100px rgba(0,0,0,.58),0 0 110px rgba(255,214,102,.32)}



/* V3 readability fix: farm fields + daily wheel bottom visibility */
#wheelPage.active{
    overflow:auto;
    padding-bottom:34px;
}
#wheelPage .wheelPageGrid{
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
    min-width:0;
    align-items:start;
}
#wheelPage .wheelPageGrid>.panel{
    min-width:0;
}
#wheelPage .panelBody{
    min-height:0;
}
#wheelPage .wheelArena{
    min-height:410px;
    padding:14px;
}
#wheelPage .fortuneWheelWrap{
    width:min(72vw,405px);
}
#wheelPage .wheelHero{
    gap:12px;
}
#wheelPage .wheelResultBox{
    margin-top:2px;
    line-height:1.35;
    overflow:visible;
}
#wheelPage .wheelActionRow{
    padding-bottom:2px;
}
#wheelPage .wheelMiniNote{
    display:block;
    margin-top:0;
    padding:10px 12px;
    border-radius:14px;
    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.08);
    line-height:1.35;
}
#wheelPage .wheelRewardLegend{
    grid-template-columns:repeat(auto-fit,minmax(138px,1fr));
}

@media (min-width:1181px){
    .farmPanel>.panelBody{
        gap:5px!important;
    }
    .farmGrid{
        grid-auto-rows:minmax(84px,1fr)!important;
        gap:6px!important;
    }
    .tile{
        padding:5px 6px 24px!important;
        border-radius:12px!important;
    }
    .tileHeader{
        font-size:9.8px!important;
        line-height:1.05!important;
    }
    .tileCenter{
        top:14px!important;
        bottom:25px!important;
        gap:4px!important;
        justify-content:center!important;
    }
    .tileIcon{
        font-size:19px!important;
        margin:0!important;
        line-height:1!important;
    }
    .tileName{
        font-size:10.8px!important;
        line-height:1.12!important;
        min-height:auto!important;
        text-shadow:0 1px 2px rgba(0,0,0,.55)!important;
    }
    .tileState{
        font-size:9.5px!important;
        line-height:1.05!important;
        padding:2px 7px!important;
        max-width:100%!important;
    }
    .tileTimer{
        top:29px!important;
        right:7px!important;
        font-size:9.2px!important;
        padding:3px 6px!important;
    }
    .growBar{
        bottom:18px!important;
        height:4px!important;
        left:8px!important;
        right:8px!important;
    }
    .tileFoot{
        bottom:5px!important;
        left:6px!important;
        right:6px!important;
        font-size:9.4px!important;
        line-height:1.05!important;
        white-space:nowrap!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
    }
}
@media (min-width:1400px) and (max-height:900px){
    .farmGrid{grid-auto-rows:minmax(80px,1fr)!important;gap:5px!important}
    .tileCenter{top:12px!important;bottom:23px!important;gap:3px!important}
    .tileIcon{font-size:18px!important}
    .tileName{font-size:10.3px!important;line-height:1.1!important}
    .tileState{font-size:9px!important;padding:2px 6px!important}
    .tileFoot{font-size:8.9px!important;bottom:5px!important}
    .growBar{bottom:17px!important}
}
@media (min-width:1600px) and (max-height:820px){
    .farmGrid{grid-auto-rows:minmax(76px,1fr)!important;gap:5px!important}
    .tileCenter{top:10px!important;bottom:22px!important;gap:3px!important}
    .tileIcon{font-size:17px!important}
    .tileName{font-size:10px!important;line-height:1.08!important}
    .tileState{font-size:8.8px!important;padding:2px 6px!important}
    .tileFoot{font-size:8.7px!important;bottom:5px!important}
    .growBar{bottom:16px!important}
}
@media (max-width:1300px){
    #wheelPage .wheelPageGrid{grid-template-columns:1fr}
    #wheelPage .wheelArena{min-height:380px}
    #wheelPage .fortuneWheelWrap{width:min(88vw,380px)}
}



/* ==========================================================
   Sakura Farm Legends — Neon Bloom complete visual layer
   ========================================================== */
body.neonBloom{background:#030712;color:var(--text);isolation:isolate}
body.neonBloom::before{content:"";position:fixed;inset:-20%;z-index:0;pointer-events:none;background:radial-gradient(circle at 16% 12%,rgba(255,95,180,.22),transparent 28%),radial-gradient(circle at 82% 18%,rgba(99,230,255,.18),transparent 27%),radial-gradient(circle at 50% 104%,rgba(255,205,115,.12),transparent 34%),linear-gradient(135deg,rgba(8,11,29,.92),rgba(4,8,18,.98));animation:nbSkyBreath 18s ease-in-out infinite}
body.neonBloom::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,transparent 0,#000 18%,#000 76%,transparent 100%);animation:nbGridDrift 26s linear infinite}
.neonBloomFxLayer{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.neonBloomFxLayer .nbLight{position:absolute;border-radius:999px;filter:blur(18px);opacity:.18;mix-blend-mode:screen;animation:nbFloatGlow 12s ease-in-out infinite alternate}
.neonBloomFxLayer .nbLight.a{width:360px;height:360px;left:-110px;top:10%;background:#ff61b2}
.neonBloomFxLayer .nbLight.b{width:320px;height:320px;right:-90px;top:20%;background:#63e6ff;animation-delay:-4s}
.neonBloomFxLayer .nbLight.c{width:300px;height:300px;left:45%;bottom:-120px;background:#ffd56a;animation-delay:-8s}
.nbPetal{position:absolute;top:-8vh;left:var(--x);width:var(--s);height:calc(var(--s) * .7);border-radius:100% 0 100% 0;background:linear-gradient(135deg,rgba(255,173,218,.92),rgba(255,104,179,.35));filter:drop-shadow(0 0 7px rgba(255,124,200,.35));opacity:var(--o);animation:nbPetalFall var(--d) linear infinite;animation-delay:var(--delay);transform:rotate(var(--r))}
.app{position:relative;z-index:2}
body.neonBloom .topbar{overflow:hidden;background:linear-gradient(135deg,rgba(255,97,178,.22),rgba(99,230,255,.15),rgba(255,213,106,.08));border-color:rgba(255,255,255,.16);box-shadow:0 18px 46px rgba(0,0,0,.32),0 0 36px rgba(255,97,178,.08),inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(18px)}
body.neonBloom .topbar::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.12) 42%,transparent 68%);transform:translateX(-120%);animation:nbSweep 7s ease-in-out infinite;pointer-events:none}
body.neonBloom .brand h1{background:linear-gradient(90deg,#fff,#ffd6f0,#8ef5ff,#ffe89b);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 24px rgba(255,97,178,.18)}
body.neonBloom .pill,body.neonBloom .tag,body.neonBloom .wheelStatusBadge{background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.035));border-color:rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 18px rgba(0,0,0,.16)}
body.neonBloom button{position:relative;overflow:hidden;transform:translateZ(0);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,filter .16s ease}
body.neonBloom button:hover{transform:translateY(-1px);filter:saturate(1.08);box-shadow:0 12px 28px rgba(0,0,0,.24),0 0 22px rgba(99,230,255,.08)}
body.neonBloom button:active{transform:translateY(1px) scale(.99)}
body.neonBloom .pageBtn.active{background: linear-gradient(135deg, rgb(217 47 134 / 46%), rgb(106 231 255 / 51%));border-color:rgba(255,255,255,.24);box-shadow:0 12px 26px rgba(0,0,0,.24),0 0 26px rgba(255,97,178,.10)}
body.neonBloom .panel,body.neonBloom .card,body.neonBloom .authCard{position:relative;background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.028));border-color:rgba(255,255,255,.13);box-shadow:0 20px 48px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.055);backdrop-filter:blur(18px)}
body.neonBloom .panel::before,body.neonBloom .card::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 10% 0%,rgba(255,255,255,.12),transparent 34%),radial-gradient(circle at 96% 8%,rgba(99,230,255,.08),transparent 30%);opacity:.55;pointer-events:none}
body.neonBloom .panelHead{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.018));border-bottom-color:rgba(255,255,255,.12)}
body.neonBloom .panelHead h2,body.neonBloom .panelHead h3{letter-spacing:.01em;text-shadow:0 0 18px rgba(255,255,255,.10)}
body.neonBloom .pagePane.active{animation:nbPageIn .24s ease both}
body.neonBloom .shopGrid>.card,body.neonBloom .inventoryGrid>.card,body.neonBloom .leaderList>.card,body.neonBloom .questList>.card{animation:nbCardRise .24s ease both}
body.neonBloom .farmPanel{box-shadow:0 22px 55px rgba(0,0,0,.34),0 0 34px rgba(255,97,178,.06)}
body.neonBloom .farmGrid{grid-auto-rows:minmax(clamp(86px,10.8dvh,116px),1fr)!important;gap:7px!important;align-content:stretch}
body.neonBloom .tile{border-radius:15px!important;padding:6px 7px 25px!important;border-color:rgba(255,255,255,.14)!important;background:linear-gradient(180deg,rgba(46,32,57,.68),rgba(25,22,39,.86))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 10px 22px rgba(0,0,0,.18);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,filter .16s ease}
body.neonBloom .tile::before{content:"";position:absolute;inset:-25% -20%;background:radial-gradient(circle at 50% 0,rgba(255,255,255,.13),transparent 38%),radial-gradient(circle at 20% 90%,rgba(126,255,183,.09),transparent 34%);opacity:.75;pointer-events:none}
body.neonBloom .tile:hover{transform:translateY(-3px) scale(1.012);border-color:rgba(255,213,106,.32)!important;box-shadow:0 16px 30px rgba(0,0,0,.26),0 0 30px rgba(255,213,106,.08),inset 0 1px 0 rgba(255,255,255,.07)}
body.neonBloom .tile.ready{animation:nbReadyPulse 1.75s ease-in-out infinite;box-shadow:0 0 0 1px rgba(126,255,183,.35),0 0 24px rgba(126,255,183,.12),0 14px 28px rgba(0,0,0,.24)!important}
body.neonBloom .tile.wet{box-shadow:inset 0 0 0 1px rgba(99,230,255,.30),inset 0 0 22px rgba(99,230,255,.10),0 10px 24px rgba(0,0,0,.18)!important}
body.neonBloom .tileCenter{top:17px!important;bottom:29px!important;gap:3px!important;z-index:2}
body.neonBloom .tileIcon{font-size:20px!important;line-height:1!important;filter:drop-shadow(0 5px 8px rgba(0,0,0,.36)) drop-shadow(0 0 10px rgba(255,255,255,.08))}
body.neonBloom .tileName{font-size:10.8px!important;line-height:1.12!important;max-width:100%;display:-webkit-box;line-clamp:2;
-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 2px 6px rgba(0,0,0,.50)}
body.neonBloom .tileState{font-size:9px!important;padding:2px 6px!important;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:rgba(5,8,18,.68);border:1px solid rgba(255,255,255,.08)}
body.neonBloom .tileTimer{top:25px!important;font-size:9px!important;background:rgba(5,8,18,.72);border-color:rgba(99,230,255,.24)}
body.neonBloom .tileFoot{bottom:5px!important;font-size:8.8px!important;left:6px!important;right:6px!important}
body.neonBloom .growBar{bottom:22px!important;height:5px!important;background:rgba(255,255,255,.10);box-shadow:0 0 10px rgba(0,0,0,.18) inset}
body.neonBloom .growBar span{background:linear-gradient(90deg,#ff61b2,#63e6ff,#7effb7);box-shadow:0 0 16px rgba(99,230,255,.22)}
body.neonBloom .chatMsg,body.neonBloom .guildMsg,body.neonBloom .marketCard{animation:nbCardRise .20s ease both}
body.neonBloom .profileHeroFrame{animation:nbProfileAura 5s ease-in-out infinite}
.nbFloatText{position:fixed;z-index:9999;left:50%;top:50%;transform:translate(-50%,-50%);font-weight:1000;letter-spacing:.02em;color:#fff;padding:8px 12px;border-radius:999px;background:rgba(5,8,18,.68);border:1px solid rgba(255,255,255,.16);box-shadow:0 12px 28px rgba(0,0,0,.28),0 0 26px rgba(255,97,178,.16);pointer-events:none;animation:nbFloatText 1.1s ease forwards;text-shadow:0 0 12px rgba(255,255,255,.24)}
.nbMilestoneOverlay{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:radial-gradient(circle at center,rgba(255,97,178,.24),rgba(4,8,18,.72) 52%,rgba(4,8,18,.88));opacity:0;pointer-events:none;transition:opacity .22s ease;backdrop-filter:blur(6px)}
.nbMilestoneOverlay.show{opacity:1;pointer-events:auto}.nbMilestoneCard{position:relative;width:min(92vw,520px);padding:32px;border-radius:34px;text-align:center;background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.055));border:1px solid rgba(255,255,255,.22);box-shadow:0 30px 80px rgba(0,0,0,.45),0 0 70px rgba(255,213,106,.18);animation:nbModalPop .38s cubic-bezier(.16,1.22,.38,1)}.nbMilestoneIcon{font-size:76px;filter:drop-shadow(0 0 18px rgba(255,213,106,.35));animation:nbIconBounce 1.1s ease-in-out infinite}.nbMilestoneTitle{font-size:clamp(28px,5vw,54px);font-family:'Zen Dots','Nunito',sans-serif;margin:10px 0;background:linear-gradient(90deg,#fff,#ffe89b,#ff8bd4,#8ef5ff);-webkit-background-clip:text;background-clip:text;color:transparent}.nbMilestoneText{font-size:17px;color:rgba(255,255,255,.86)}
body.neonPulse .topbar,body.neonPulse .panel{box-shadow:0 22px 58px rgba(0,0,0,.36),0 0 44px rgba(255,97,178,.15),0 0 30px rgba(99,230,255,.08)}
@keyframes nbSkyBreath{0%,100%{transform:scale(1) rotate(0deg);filter:saturate(1)}50%{transform:scale(1.04) rotate(1deg);filter:saturate(1.2)}}
@keyframes nbGridDrift{to{background-position:64px 64px,64px 64px}}
@keyframes nbFloatGlow{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(30px,-20px,0) scale(1.14)}}
@keyframes nbPetalFall{0%{transform:translate3d(0,-10vh,0) rotate(var(--r));opacity:0}8%{opacity:var(--o)}100%{transform:translate3d(var(--dx),112vh,0) rotate(calc(var(--r) + 420deg));opacity:0}}
@keyframes nbSweep{0%,46%{transform:translateX(-130%)}65%,100%{transform:translateX(130%)}}
@keyframes nbPageIn{from{opacity:0;transform:translateY(10px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes nbCardRise{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes nbReadyPulse{0%,100%{filter:saturate(1)}50%{filter:saturate(1.18) brightness(1.04)}}
@keyframes nbProfileAura{0%,100%{filter:saturate(1)}50%{filter:saturate(1.12)}}
@keyframes nbFloatText{0%{opacity:0;transform:translate(-50%,-20%) scale(.86)}18%{opacity:1}100%{opacity:0;transform:translate(-50%,-120%) scale(1.06)}}
@keyframes nbModalPop{from{opacity:0;transform:translateY(18px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes nbIconBounce{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}
@media (max-height:820px){body.neonBloom .farmGrid{grid-auto-rows:minmax(clamp(78px,10.3dvh,96px),1fr)!important}body.neonBloom .tile{padding:5px 6px 23px!important}body.neonBloom .tileCenter{top:14px!important;bottom:27px!important}body.neonBloom .tileIcon{font-size:18px!important}body.neonBloom .tileName{font-size:10px!important}.wheelPageGrid{max-height:calc(100dvh - 158px);overflow:auto;padding-right:3px}}
@media (max-width:900px){body.neonBloom .farmGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:minmax(94px,auto)!important}.neonBloomFxLayer .nbLight{opacity:.10}}
body.performanceMode.neonBloom::before,body.performanceMode.neonBloom::after,body.performanceMode .neonBloomFxLayer{display:none!important}
body.performanceMode .nbMilestoneOverlay,body.performanceMode .nbFloatText{display:none!important}


body.neonBloom .tile.nbTileFx{animation:nbTilePop .58s ease both!important}@keyframes nbTilePop{0%{transform:scale(1)}45%{transform:scale(1.045);filter:brightness(1.15)}100%{transform:scale(1)}}

/* =========================================================
   Sakura Farm Legends - Premium Tokyo Edition redesign
   Visual-only layer: keeps saves, chat, wheel and gameplay logic intact.
   ========================================================= */
:root{
    --tokyoNight:#050915;
    --tokyoPanel:rgba(11,18,36,.88);
    --tokyoPanel2:rgba(16,26,51,.78);
    --tokyoLine:rgba(255,255,255,.16);
    --tokyoPink:#ff67bd;
    --tokyoCyan:#6feaff;
    --tokyoMint:#7dffbb;
    --tokyoGold:#ffe08a;
    --tokyoViolet:#9f7cff;
}
body.neonBloom .pageContent,
body.performanceMode.neonBloom .pageContent{
    position:relative;
    border-radius:28px;
    background:
        radial-gradient(circle at 12% 0%,rgba(255,103,189,.13),transparent 30%),
        radial-gradient(circle at 88% 10%,rgba(111,234,255,.12),transparent 28%),
        linear-gradient(135deg,rgba(6,11,25,.96),rgba(10,15,34,.92) 48%,rgba(6,9,21,.97))!important;
    border:1px solid rgba(255,255,255,.08);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 24px 70px rgba(0,0,0,.26)!important;
    overflow:hidden;
}
body.neonBloom .pageContent::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
        radial-gradient(circle at 50% 0%,rgba(255,255,255,.10),transparent 42%);
    background-size:54px 54px,54px 54px,100% 100%;
    opacity:.55;
}
body.performanceMode.neonBloom .pageContent::before{opacity:.30}
body.neonBloom #farmPage.active,
body.neonBloom #stablePage.active,
body.neonBloom #inventoryPage.active{
    position:relative;
    padding:10px;
}
body.neonBloom #farmPage .farmPanel,
body.neonBloom #stablePage .panel,
body.neonBloom #inventoryPage .panel,
body.performanceMode.neonBloom #farmPage .farmPanel,
body.performanceMode.neonBloom #stablePage .panel,
body.performanceMode.neonBloom #inventoryPage .panel{
    position:relative;
    border-radius:30px!important;
    border:1px solid rgba(255,255,255,.15)!important;
    background:
        linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.035) 42%,rgba(255,255,255,.055)),
        radial-gradient(circle at 18% 0%,rgba(255,103,189,.16),transparent 34%),
        radial-gradient(circle at 88% 10%,rgba(111,234,255,.13),transparent 32%),
        rgba(8,14,30,.84)!important;
    box-shadow:0 22px 58px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.035),inset 0 1px 0 rgba(255,255,255,.08)!important;
    overflow:hidden;
}
body.neonBloom #farmPage .farmPanel::after,
body.neonBloom #stablePage .panel::after,
body.neonBloom #inventoryPage .panel::after{
    content:"";
    position:absolute;
    inset:-1px;
    border-radius:inherit;
    pointer-events:none;
    background:linear-gradient(120deg,rgba(255,103,189,.32),transparent 23%,transparent 69%,rgba(111,234,255,.24));
    mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    padding:1px;
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    opacity:.85;
}
body.neonBloom #farmPage .panelHead,
body.neonBloom #stablePage .panelHead,
body.neonBloom #inventoryPage .panelHead{
    min-height:62px;
    padding:14px 16px!important;
    border-bottom:1px solid rgba(255,255,255,.13)!important;
    background:
        linear-gradient(90deg,rgba(255,103,189,.13),rgba(111,234,255,.09) 48%,rgba(255,224,138,.06)),
        rgba(255,255,255,.035)!important;
}
body.neonBloom #farmPage .panelHead h2,
body.neonBloom #stablePage .panelHead h2,
body.neonBloom #inventoryPage .panelHead h2{
    display:flex;
    align-items:center;
    gap:9px;
    font-size:clamp(19px,1.65vw,27px)!important;
    letter-spacing:.01em;
    background:linear-gradient(90deg,#fff,#ffd7ef,#8ef5ff,#ffe79e);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    text-shadow:none!important;
}
body.neonBloom #farmPage .panelHead .actions,
body.neonBloom #stablePage .panelHead .actions,
body.neonBloom #inventoryPage .panelHead .actions{
    align-items:center;
}
body.neonBloom #farmPage .panelBody,
body.neonBloom #stablePage .panelBody,
body.neonBloom #inventoryPage .panelBody{
    position:relative;
    z-index:1;
}
body.neonBloom #farmPage .farmTop{
    align-items:center;
    gap:12px;
    padding:10px 10px 12px;
    margin:0 0 10px;
    border-radius:22px;
    background:
        linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.03)),
        radial-gradient(circle at 10% 20%,rgba(255,103,189,.09),transparent 36%);
    border:1px solid rgba(255,255,255,.10);
}
body.neonBloom #farmPage .tags{gap:7px}
body.neonBloom #farmPage .tag,
body.neonBloom #farmPage .farmWorldSummary,
body.neonBloom #stablePage .small,
body.neonBloom #inventoryPage .small{
    color:rgba(232,238,255,.84)!important;
}
body.neonBloom #farmPage .tag{
    padding:8px 11px;
    border-radius:999px;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.10);
}
body.neonBloom #farmPage .farmWorldBar{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    padding:0 0 10px;
}
body.neonBloom #farmPage .farmWorldTabs{
    padding:2px 2px 8px;
    gap:10px;
}
body.neonBloom #farmPage .farmWorldBtn{
    min-height:48px;
    padding:10px 14px!important;
    border-radius:18px!important;
    background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.035))!important;
    border:1px solid rgba(255,255,255,.12)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
    color:#f8fbff!important;
}
body.neonBloom #farmPage .farmWorldBtn.active{
    background: linear-gradient(135deg, rgb(255 40 161 / 58%), rgb(28 222 255 / 35%), rgba(255, 224, 138, .10)) !important;
    border-color:rgba(255,255,255,.23)!important;
    box-shadow:0 12px 28px rgba(0,0,0,.20),0 0 28px rgba(255,103,189,.10)!important;
}
body.neonBloom #farmPage .farmWorldBtn .muted{font-size:11px;color:rgba(232,238,255,.72)!important;margin-left:6px}
body.neonBloom #farmPage .farmWorldSummary{
    max-width:420px;
    padding:9px 12px;
    border-radius:16px;
    background:rgba(4,9,22,.48);
    border:1px solid rgba(111,234,255,.14);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
    overflow:hidden;
    text-overflow:ellipsis;
}
body.neonBloom #farmPage .farmGrid,
body.performanceMode.neonBloom #farmPage .farmGrid{
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    grid-auto-rows:minmax(clamp(94px,10.6dvh,128px),1fr)!important;
    gap:9px!important;
    padding:3px;
}
body.neonBloom #farmPage .tile,
body.performanceMode.neonBloom #farmPage .tile{
    border-radius:20px!important;
    padding:8px 8px 28px!important;
    border:1px solid rgba(255,255,255,.16)!important;
    background:
        radial-gradient(circle at 50% 0%,rgba(255,255,255,.18),transparent 28%),
        radial-gradient(circle at 20% 100%,rgba(125,255,187,.14),transparent 36%),
        linear-gradient(180deg,rgba(52,40,73,.82),rgba(24,28,47,.92))!important;
    box-shadow:0 12px 26px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.08)!important;
}
body.neonBloom #farmPage .tile::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(140deg,rgba(255,255,255,.10),transparent 32%),
        radial-gradient(circle at 80% 20%,rgba(111,234,255,.10),transparent 24%);
    opacity:.82;
    pointer-events:none;
}
body.neonBloom #farmPage .tile::after{
    content:"";
    position:absolute;
    left:10px;
    right:10px;
    bottom:9px;
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);
    pointer-events:none;
}
body.neonBloom #farmPage .tile.locked{
    opacity:.72;
    filter:saturate(.75) grayscale(.22);
    background:
        linear-gradient(180deg,rgba(54,55,74,.62),rgba(21,25,40,.90))!important;
}
body.neonBloom #farmPage .tile.ready{
    border-color:rgba(125,255,187,.58)!important;
    background:
        radial-gradient(circle at 50% 0%,rgba(125,255,187,.26),transparent 34%),
        radial-gradient(circle at 80% 18%,rgba(255,224,138,.18),transparent 30%),
        linear-gradient(180deg,rgba(36,70,62,.84),rgba(15,42,40,.94))!important;
    box-shadow:0 16px 34px rgba(0,0,0,.30),0 0 0 1px rgba(125,255,187,.24),0 0 26px rgba(125,255,187,.14)!important;
}
body.neonBloom #farmPage .tile.wet:not(.ready){
    border-color:rgba(111,234,255,.34)!important;
    box-shadow:0 14px 28px rgba(0,0,0,.25),inset 0 0 0 1px rgba(111,234,255,.18),inset 0 0 30px rgba(111,234,255,.10)!important;
}
body.neonBloom #farmPage .tileHeader{
    position:relative;
    z-index:3;
    color:rgba(255,247,214,.92)!important;
    font-weight:900;
    text-shadow:0 2px 8px rgba(0,0,0,.42);
}
body.neonBloom #farmPage .tileCenter{
    top:19px!important;
    bottom:33px!important;
    gap:4px!important;
}
body.neonBloom #farmPage .tileIcon{
    font-size:clamp(23px,2.2vw,32px)!important;
    filter:drop-shadow(0 8px 12px rgba(0,0,0,.45)) drop-shadow(0 0 14px rgba(255,255,255,.12))!important;
}
body.neonBloom #farmPage .tileName{
    font-size:11.5px!important;
    font-weight:1000!important;
    color:#fff!important;
    letter-spacing:.01em;
    text-shadow:0 2px 10px rgba(0,0,0,.55)!important;
}
body.neonBloom #farmPage .tileState{
    padding:3px 7px!important;
    border-radius:999px!important;
    background:rgba(5,10,24,.76)!important;
    border:1px solid rgba(255,255,255,.12)!important;
    color:rgba(246,250,255,.95)!important;
    font-weight:900;
}
body.neonBloom #farmPage .tileTimer{
    top:28px!important;
    right:9px!important;
    border-color:rgba(111,234,255,.32)!important;
    background:rgba(5,11,24,.80)!important;
    color:#e8fbff!important;
}
body.neonBloom #farmPage .growBar{
    left:10px!important;
    right:10px!important;
    bottom:24px!important;
    height:6px!important;
    border-radius:999px;
    background:rgba(255,255,255,.12)!important;
    box-shadow:inset 0 1px 3px rgba(0,0,0,.45)!important;
}
body.neonBloom #farmPage .growBar span{
    background:linear-gradient(90deg,var(--tokyoPink),var(--tokyoCyan),var(--tokyoMint))!important;
    box-shadow:0 0 16px rgba(111,234,255,.32)!important;
}
body.neonBloom #farmPage .tileFoot{
    left:9px!important;
    right:9px!important;
    bottom:6px!important;
}
body.neonBloom #farmPage button,
body.neonBloom #stablePage button,
body.neonBloom #inventoryPage button,
body.neonBloom .seedButton{
    border-radius:15px!important;
    border:1px solid rgba(255,255,255,.12)!important;
}
body.neonBloom #farmPage button.gold,
body.neonBloom #stablePage button.gold,
body.neonBloom #inventoryPage button.gold{
    background:linear-gradient(135deg,#ffe08a,#ffb86b)!important;
    color:#2d1b09!important;
    font-weight:1000!important;
}
body.neonBloom #farmPage button.green,
body.neonBloom #stablePage button.green,
body.neonBloom #inventoryPage button.green{
    background:linear-gradient(135deg,#31d58b,#8dffc3)!important;
    color:#052313!important;
    font-weight:1000!important;
}
body.neonBloom #farmPage button.secondary,
body.neonBloom #stablePage button.secondary,
body.neonBloom #inventoryPage button.secondary{
    background:linear-gradient(135deg,rgba(111,234,255,.26),rgba(255,255,255,.07))!important;
}
body.neonBloom #stablePage .stablePageGrid{
    grid-template-columns:minmax(520px,1.18fr) minmax(360px,.82fr)!important;
    gap:14px!important;
    min-height:0;
}
body.neonBloom #stablePage .performanceToolbar{
    display:grid;
    grid-template-columns:minmax(180px,1fr) minmax(180px,260px) auto;
    gap:10px;
    align-items:center;
    padding:12px;
    margin:0 0 12px!important;
    border-radius:22px;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.10);
}
body.neonBloom #stablePage .input,
body.neonBloom #stablePage select,
body.neonBloom #seedSearch,
body.neonBloom #seedFilter{
    min-height:44px;
    border-radius:16px!important;
    background:rgba(5,10,24,.64)!important;
    border:1px solid rgba(255,255,255,.13)!important;
    color:#fff!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;
}
body.neonBloom #stablePage select option,
body.neonBloom #seedFilter option{background:#0c1428;color:#fff}
body.neonBloom #stablePage .animalGrid,
body.performanceMode.neonBloom #stablePage .animalGrid{
    grid-template-columns:repeat(auto-fit,minmax(270px,1fr))!important;
    gap:12px!important;
    align-items:start!important;
}
body.neonBloom #stablePage #animalGrid>.card,
body.performanceMode.neonBloom #stablePage #animalGrid>.card{
    min-height:0!important;
    padding:14px!important;
    border-radius:24px!important;
    border:1px solid rgba(255,255,255,.14)!important;
    background:
        radial-gradient(circle at 12% 0%,rgba(255,103,189,.15),transparent 34%),
        radial-gradient(circle at 96% 10%,rgba(111,234,255,.13),transparent 30%),
        linear-gradient(160deg,rgba(255,255,255,.085),rgba(255,255,255,.030) 45%,rgba(255,255,255,.052)),
        rgba(8,14,30,.86)!important;
    box-shadow:0 14px 36px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.07)!important;
}
body.neonBloom #stablePage #animalGrid>.card.animalCardFed,
body.performanceMode.neonBloom #stablePage #animalGrid>.card.animalCardFed{
    border-color:rgba(255,215,130,.74)!important;
    background:
        radial-gradient(circle at 12% 0%,rgba(255,212,111,.28),transparent 36%),
        radial-gradient(circle at 96% 10%,rgba(111,234,255,.17),transparent 30%),
        linear-gradient(160deg,rgba(255,255,255,.11),rgba(255,255,255,.035) 45%,rgba(255,222,150,.08)),
        rgba(8,14,30,.90)!important;
    box-shadow:0 0 0 1px rgba(255,215,130,.36),0 18px 42px rgba(255,178,88,.18),0 16px 38px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.10)!important;
}
body.neonBloom #stablePage #animalGrid>.card.animalCardFed::after{
    display:none!important;
}
body.neonBloom #stablePage #animalGrid>.card.animalCardFed .stableFedCountdown,
body.neonBloom #stablePage #animalGrid>.card.animalCardFed .feedBadge:last-child{
    background:linear-gradient(135deg,rgba(255,218,128,.24),rgba(255,105,176,.16))!important;
    border-color:rgba(255,218,128,.42)!important;
    color:#fff6d8!important;
}
body.neonBloom #stablePage #animalGrid>.card::before{
    background:linear-gradient(120deg,rgba(255,255,255,.12),transparent 42%,rgba(111,234,255,.08))!important;
    opacity:.75!important;
}
body.neonBloom #stablePage #animalGrid .cardHead{
    align-items:center!important;
    padding-bottom:8px;
    margin-bottom:8px;
    border-bottom:1px solid rgba(255,255,255,.10);
}
body.neonBloom #stablePage #animalGrid .cardTitle{
    font-size:16px!important;
    font-weight:1000!important;
    color:#fff!important;
}
body.neonBloom #stablePage #animalGrid .muted{
    color:rgba(218,228,255,.70)!important;
	font-size:12px;
}
body.neonBloom #stablePage #animalGrid .qtyInline,
body.neonBloom #inventoryPage .qtyInline{
    padding:7px 10px;
    border-radius:999px;
    background:linear-gradient(135deg,rgba(255,224,138,.18),rgba(255,255,255,.05));
    border:1px solid rgba(255,224,138,.22);
    color:#fff8d9;
    font-weight:1000;
}
body.neonBloom #stablePage .rarityBadge,
body.neonBloom #stablePage .feedBadge{
    padding:6px 9px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.07)!important;
    border:1px solid rgba(255,255,255,.12)!important;
    font-weight:900;
    color:#eef7ff!important;
}
body.neonBloom #stablePage .animalProgressRow{
    gap:9px!important;
    padding:8px;
    border-radius:15px;
    background:rgba(5,10,24,.38);
    border:1px solid rgba(255,255,255,.08);
}
body.neonBloom #stablePage .animalProgressRow .progress{
    height:8px!important;
    flex-basis:70%!important;
    background:rgba(255,255,255,.12)!important;
}
body.neonBloom #stablePage .animalProgressRow .progress span{
    background:linear-gradient(90deg,var(--tokyoGold),var(--tokyoPink),var(--tokyoCyan))!important;
}
body.neonBloom #stablePage .animalProgressTime{
    font-size:11px!important;
    color:#dff9ff!important;
    font-weight:900;
}
body.neonBloom #stablePage #animalGrid .actions{
    gap:8px!important;
}
body.neonBloom #stablePage #animalGrid .actions button{
    padding:10px 12px!important;
    font-size:12px!important;
    min-height:38px;
}
body.neonBloom #stablePage #animalProductGrid,
body.neonBloom #inventoryPage .inventoryGrid{
    grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
    gap:12px!important;
}
body.neonBloom #stablePage #animalProductGrid>.card,
body.neonBloom #inventoryPage .inventoryGrid>.card{
    border-radius:23px!important;
    padding:14px!important;
    background:
        radial-gradient(circle at 18% 0%,rgba(255,224,138,.14),transparent 32%),
        linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.03)),
        rgba(8,14,30,.84)!important;
    border:1px solid rgba(255,255,255,.14)!important;
    box-shadow:0 14px 32px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.06)!important;
}
body.neonBloom #stablePage #animalProductGrid .small.muted,
body.neonBloom #inventoryPage .small.muted{
    padding:14px;
    border-radius:18px;
    background:rgba(255,255,255,.045);
    border:1px dashed rgba(255,255,255,.14);
}
body.neonBloom .seedGrid{
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
    gap:12px!important;
}
body.neonBloom .seedButton,
body.performanceMode.neonBloom .seedButton{
    min-height:112px;
    padding:14px!important;
    background:
        radial-gradient(circle at 0% 0%,rgba(125,255,187,.13),transparent 34%),
        linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.032)),
        rgba(8,14,30,.82)!important;
    border:1px solid rgba(255,255,255,.14)!important;
    box-shadow:0 12px 28px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.06)!important;
}
body.neonBloom .seedButton.selected,
body.neonBloom .seedButton.active{
    border-color:rgba(125,255,187,.42)!important;
    box-shadow:0 0 0 1px rgba(125,255,187,.20),0 14px 30px rgba(0,0,0,.24),0 0 25px rgba(125,255,187,.10)!important;
}
body.performanceMode.neonBloom #farmPage .farmPanel,
body.performanceMode.neonBloom #stablePage .panel,
body.performanceMode.neonBloom #inventoryPage .panel,
body.performanceMode.neonBloom #farmPage .tile,
body.performanceMode.neonBloom #stablePage #animalGrid>.card,
body.performanceMode.neonBloom #stablePage #animalProductGrid>.card,
body.performanceMode.neonBloom #inventoryPage .inventoryGrid>.card,
body.performanceMode.neonBloom .seedButton{
    backdrop-filter:none!important;
    transition:none!important;
}
@media (max-width:1150px){
    body.neonBloom #farmPage .farmGrid{grid-template-columns:repeat(5,minmax(0,1fr))!important;grid-auto-rows:minmax(104px,auto)!important}
    body.neonBloom #stablePage .stablePageGrid{grid-template-columns:1fr!important}
}
@media (max-width:760px){
    body.neonBloom #farmPage.active,body.neonBloom #stablePage.active,body.neonBloom #inventoryPage.active{padding:6px}
    body.neonBloom #farmPage .farmWorldBar{grid-template-columns:1fr}
    body.neonBloom #farmPage .farmWorldSummary{max-width:none}
    body.neonBloom #farmPage .farmGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;grid-auto-rows:minmax(98px,auto)!important}
    body.neonBloom #stablePage .performanceToolbar{grid-template-columns:1fr!important}
    body.neonBloom #stablePage .animalGrid{grid-template-columns:1fr!important}
}
@media (max-height:820px) and (min-width:900px){
    body.neonBloom #farmPage .farmGrid{grid-auto-rows:minmax(84px,1fr)!important;gap:7px!important}
    body.neonBloom #farmPage .tileIcon{font-size:21px!important}
    body.neonBloom #farmPage .tileName{font-size:10px!important}
    body.neonBloom #farmPage .tileCenter{top:16px!important;bottom:31px!important}
}


/* =========================================================
   Farm readability HOTFIX
   Fixes cropped farm tiles after Premium Tokyo redesign.
   Keeps the premium look, but makes every field readable and prevents bottom cut-off.
   ========================================================= */
body.neonBloom #farmPage.active,
body.performanceMode.neonBloom #farmPage.active{
    overflow:hidden!important;
}
body.neonBloom #farmPage .farmPanel,
body.performanceMode.neonBloom #farmPage .farmPanel{
    height:calc(100dvh - 92px)!important;
    max-height:calc(100dvh - 92px)!important;
    min-height:0!important;
}
body.neonBloom #farmPage .farmPanel>.panelHead,
body.performanceMode.neonBloom #farmPage .farmPanel>.panelHead{
    min-height:52px!important;
    padding:9px 14px!important;
}
body.neonBloom #farmPage .farmPanel>.panelHead h2,
body.performanceMode.neonBloom #farmPage .farmPanel>.panelHead h2{
    font-size:22px!important;
    line-height:1.1!important;
}
body.neonBloom #farmPage .farmPanel>.panelBody,
body.performanceMode.neonBloom #farmPage .farmPanel>.panelBody{
    display:flex!important;
    flex-direction:column!important;
    gap:7px!important;
    min-height:0!important;
    overflow:hidden!important;
    padding:8px 12px 10px!important;
}
body.neonBloom #farmPage .farmTop,
body.performanceMode.neonBloom #farmPage .farmTop{
    flex:0 0 auto!important;
    margin:0!important;
    padding:8px 10px!important;
    min-height:42px!important;
}
body.neonBloom #farmPage .farmTop .tag,
body.performanceMode.neonBloom #farmPage .farmTop .tag{
    font-size:10px!important;
    line-height:1!important;
    padding:7px 10px!important;
}
body.neonBloom #farmPage .farmWorldBar,
body.performanceMode.neonBloom #farmPage .farmWorldBar{
    flex:0 0 auto!important;
    margin:0!important;
    padding:7px 8px!important;
    gap:9px!important;
    min-height:54px!important;
}
body.neonBloom #farmPage .farmWorldTabs,
body.performanceMode.neonBloom #farmPage .farmWorldTabs{
    padding-bottom:2px!important;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.22) transparent;
}
body.neonBloom #farmPage .farmWorldTabs::-webkit-scrollbar,
body.performanceMode.neonBloom #farmPage .farmWorldTabs::-webkit-scrollbar{height:5px}
body.neonBloom #farmPage .farmWorldTabs::-webkit-scrollbar-thumb,
body.performanceMode.neonBloom #farmPage .farmWorldTabs::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22);border-radius:99px}
body.neonBloom #farmPage .farmWorldBtn,
body.performanceMode.neonBloom #farmPage .farmWorldBtn{
    min-height:42px!important;
    padding:8px 12px!important;
    border-radius:16px!important;
    white-space:nowrap!important;
}
body.neonBloom #farmPage .farmWorldSummary,
body.performanceMode.neonBloom #farmPage .farmWorldSummary{
    max-width:690px!important;
    padding:8px 0px!important;
    font-size:11px!important;
    line-height:1.25!important;
    /* white-space: nowrap !important; */
}
body.neonBloom #farmPage .farmGrid,
body.performanceMode.neonBloom #farmPage .farmGrid{
    flex:1 1 auto!important;
    min-height:0!important;
    height:100%!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    grid-auto-rows:minmax(92px,1fr)!important;
    gap:7px!important;
    padding:2px!important;
    align-content:stretch!important;
    overflow:hidden!important;
}
body.neonBloom #farmPage .tile,
body.performanceMode.neonBloom #farmPage .tile{
    position:relative!important;
    display:grid!important;
    grid-template-rows:16px minmax(0,1fr) 19px!important;
    min-height:0!important;
    height:auto!important;
    padding:6px 7px 7px!important;
    border-radius:16px!important;
    overflow:hidden!important;
}
body.neonBloom #farmPage .tileHeader,
body.performanceMode.neonBloom #farmPage .tileHeader{
    grid-row:1!important;
    position:relative!important;
    z-index:4!important;
    font-size:10.5px!important;
    line-height:1!important;
    min-height:14px!important;
}
body.neonBloom #farmPage .tileCenter,
body.performanceMode.neonBloom #farmPage .tileCenter{
    grid-row:2!important;
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    z-index:3!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    padding:1px 2px 2px!important;
}
body.neonBloom #farmPage .tileIcon,
body.performanceMode.neonBloom #farmPage .tileIcon{
    font-size:25px!important;
    line-height:1!important;
    margin:0!important;
    min-height:25px!important;
}
body.neonBloom #farmPage .tileName,
body.performanceMode.neonBloom #farmPage .tileName{
    display:block!important;
    width:100%!important;
    min-height:13px!important;
    max-height:28px!important;
    font-size:11px!important;
    line-height:1.12!important;
    font-weight:1000!important;
    color:#fff!important;
    text-align:center!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    text-shadow:0 2px 8px rgba(0,0,0,.65)!important;
}
body.neonBloom #farmPage .tileState,
body.performanceMode.neonBloom #farmPage .tileState{
    max-width:100%!important;
    font-size:9.3px!important;
    line-height:1.1!important;
    padding:2px 6px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
body.neonBloom #farmPage .tileFoot,
body.performanceMode.neonBloom #farmPage .tileFoot{
    grid-row:3!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    z-index:4!important;
    display:block!important;
    min-height:17px!important;
    max-height:19px!important;
    width:100%!important;
    font-size:9px!important;
    line-height:1.05!important;
    overflow:hidden!important;
    text-align:center!important;
}
body.neonBloom #farmPage .tileFoot .tileState,
body.performanceMode.neonBloom #farmPage .tileFoot .tileState{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    font-size:8.8px!important;
    padding:3px 6px!important;
}
body.neonBloom #farmPage .tileTimer,
body.performanceMode.neonBloom #farmPage .tileTimer{
    top:23px!important;
    right:7px!important;
    z-index:5!important;
    max-width:58px!important;
    font-size:8.7px!important;
    padding:2px 5px!important;
}
body.neonBloom #farmPage .growBar,
body.performanceMode.neonBloom #farmPage .growBar{
    left:9px!important;
    right:9px!important;
    bottom:24px!important;
    height:4px!important;
    z-index:4!important;
}
@media (min-width:1500px) and (max-height:860px){
    body.neonBloom #farmPage .farmPanel,
    body.performanceMode.neonBloom #farmPage .farmPanel{height:calc(100dvh - 86px)!important;max-height:calc(100dvh - 86px)!important}
    body.neonBloom #farmPage .farmPanel>.panelHead,
    body.performanceMode.neonBloom #farmPage .farmPanel>.panelHead{min-height:46px!important;padding:7px 13px!important}
    body.neonBloom #farmPage .farmPanel>.panelHead h2,
    body.performanceMode.neonBloom #farmPage .farmPanel>.panelHead h2{font-size:20px!important}
    body.neonBloom #farmPage .farmTop,
    body.performanceMode.neonBloom #farmPage .farmTop{padding:6px 9px!important;min-height:36px!important}
    body.neonBloom #farmPage .farmWorldBar,
    body.performanceMode.neonBloom #farmPage .farmWorldBar{min-height:48px!important;padding:6px 7px!important}
    body.neonBloom #farmPage .farmWorldBtn,
    body.performanceMode.neonBloom #farmPage .farmWorldBtn{min-height:38px!important;padding:7px 10px!important}
    body.neonBloom #farmPage .farmGrid,
    body.performanceMode.neonBloom #farmPage .farmGrid{grid-auto-rows:minmax(88px,1fr)!important;gap:6px!important}
    body.neonBloom #farmPage .tileIcon,
    body.performanceMode.neonBloom #farmPage .tileIcon{font-size:23px!important;min-height:23px!important}
    body.neonBloom #farmPage .tileName,
    body.performanceMode.neonBloom #farmPage .tileName{font-size:10.6px!important}
    body.neonBloom #farmPage .tileFoot .tileState,
    body.performanceMode.neonBloom #farmPage .tileFoot .tileState{font-size:8.4px!important}
}
@media (max-width:1150px){
    body.neonBloom #farmPage .farmPanel,
    body.performanceMode.neonBloom #farmPage .farmPanel{height:auto!important;max-height:none!important}
    body.neonBloom #farmPage .farmPanel>.panelBody,
    body.performanceMode.neonBloom #farmPage .farmPanel>.panelBody{overflow:visible!important}
    body.neonBloom #farmPage .farmGrid,
    body.performanceMode.neonBloom #farmPage .farmGrid{height:auto!important;overflow:visible!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;grid-auto-rows:minmax(100px,auto)!important}
}
@media (max-width:760px){
    body.neonBloom #farmPage .farmGrid,
    body.performanceMode.neonBloom #farmPage .farmGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:minmax(100px,auto)!important}
}



/* Farm tile spacing fix: oddělení status textu od progress baru */
body.neonBloom #farmPage .tile,
body.performanceMode.neonBloom #farmPage .tile{
    grid-template-rows:16px minmax(0,1fr) 23px!important;
    padding:6px 7px 8px!important;
}
body.neonBloom #farmPage .tileCenter,
body.performanceMode.neonBloom #farmPage .tileCenter{
    padding-bottom:8px!important;
}
body.neonBloom #farmPage .growBar,
body.performanceMode.neonBloom #farmPage .growBar{
    left:10px!important;
    right:10px!important;
    bottom:33px!important;
    height:5px!important;
    z-index:3!important;
}
body.neonBloom #farmPage .tileFoot,
body.performanceMode.neonBloom #farmPage .tileFoot{
    grid-row:3!important;
    position:relative!important;
    z-index:5!important;
    min-height:21px!important;
    max-height:23px!important;
    align-self:end!important;
    padding-top:3px!important;
    overflow:visible!important;
}
body.neonBloom #farmPage .tileFoot .tileState,
body.performanceMode.neonBloom #farmPage .tileFoot .tileState{
    display:block!important;
    min-height:16px!important;
    line-height:1.12!important;
    padding:3px 6px!important;
    background:rgba(5,10,24,.84)!important;
    border:1px solid rgba(255,255,255,.12)!important;
    box-shadow:0 3px 8px rgba(0,0,0,.20)!important;
}
@media (min-width:1500px) and (max-height:860px){
    body.neonBloom #farmPage .growBar,
    body.performanceMode.neonBloom #farmPage .growBar{bottom:31px!important;height:5px!important}
    body.neonBloom #farmPage .tile,
    body.performanceMode.neonBloom #farmPage .tile{grid-template-rows:15px minmax(0,1fr) 22px!important}
    body.neonBloom #farmPage .tileCenter,
    body.performanceMode.neonBloom #farmPage .tileCenter{padding-bottom:7px!important}
}



/* Quest layout fix: Main 50% | Daily 25% | Weekly 25% + wider progress bars */
#questsPage .questsPageGrid{
    grid-template-columns:minmax(420px,2fr) minmax(240px,1fr) minmax(240px,1fr)!important;
    align-items:start!important;
    gap:12px!important;
}
#questsPage .questsPageGrid>section:nth-child(1){grid-column:auto!important;min-width:0!important}
#questsPage .questsPageGrid>section:nth-child(2){grid-column:auto!important;min-width:0!important}
#questsPage .questsPageGrid>section:nth-child(3){grid-column:auto!important;min-width:0!important}
#questsPage .questList>.card .progress,
#questsPage .questCard .progress,
#questsPage #dailyQuestList .progress,
#questsPage #weeklyQuestList .progress,
#questsPage #questList .progress,
#questsPage #questClaimedList .progress,
#questsPage #questWaitingList .progress{
    width:90%!important;
    max-width:90%!important;
    margin:10px auto 0!important;
}
#questsPage .questList>.card .progress span,
#questsPage .questCard .progress span{
    min-width:0;
}
#questsPage #questScroll,
#questsPage #dailyQuestScroll,
#questsPage #weeklyQuestScroll{
    max-height:calc(100dvh - 205px)!important;
}
#questsPage .panelHead h2{white-space:nowrap}
#questsPage .questBadgeRow{gap:6px!important}
#questsPage .questBadgeRow .playerStatPill{font-size:11px!important;padding:6px 8px!important}
@media (max-width:1250px){
    #questsPage .questsPageGrid{grid-template-columns:1fr 1fr!important}
    #questsPage .questsPageGrid>section:first-child{grid-column:1 / -1!important}
}
@media (max-width:780px){
    #questsPage .questsPageGrid{grid-template-columns:1fr!important}
    #questsPage .questList>.card .progress,
    #questsPage .questCard .progress{width:94%!important;max-width:94%!important}
}


/* free-tile text visibility fix */
body.neonBloom #farmPage .tile,
body.performanceMode.neonBloom #farmPage .tile{
    grid-template-rows:16px minmax(0,1fr) minmax(24px,auto)!important;
    padding-bottom:8px!important;
}
body.neonBloom #farmPage .tileFoot,
body.performanceMode.neonBloom #farmPage .tileFoot{
    min-height:24px!important;
    max-height:none!important;
    overflow:visible!important;
    padding-top:2px!important;
}
body.neonBloom #farmPage .tileFoot .tileState,
body.performanceMode.neonBloom #farmPage .tileFoot .tileState{
    line-height:1.06!important;
    font-size:8.4px!important;
    padding:2px 6px!important;
}
body.neonBloom #farmPage .tileFoot .tileStateFree,
body.performanceMode.neonBloom #farmPage .tileFoot .tileStateFree{
    white-space:normal!important;
    text-overflow:clip!important;
    overflow:hidden!important;
    display:-webkit-box!important;
    line-clamp:2!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
}
@media (min-width:1500px) and (max-height:860px){
    body.neonBloom #farmPage .tile,
    body.performanceMode.neonBloom #farmPage .tile{grid-template-rows:15px minmax(0,1fr) minmax(24px,auto)!important}
}


/* premium info / guide redesign */
.infoPanelShell{position:relative;overflow:hidden}
.infoPanelShell::before{content:"";position:absolute;inset:-80px auto auto -80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,120,210,.18),transparent 68%);pointer-events:none;filter:blur(6px)}
.infoPanelShell::after{content:"";position:absolute;right:-70px;top:-50px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(90,240,214,.15),transparent 70%);pointer-events:none;filter:blur(10px)}
.infoPanelHead{align-items:center;justify-content:space-between;gap:14px}
.infoHeadBadge{padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.04));font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#ffe8ad;box-shadow:0 8px 24px rgba(0,0,0,.16)}
.infoScrollArea{position:relative}
.infoHub{display:grid;gap:16px}
.infoHero{position:relative;overflow:hidden;border-radius:28px;padding:22px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.04) 38%,rgba(110,245,210,.08) 100%);box-shadow:0 18px 40px rgba(0,0,0,.18)}
.infoHero::before{content:"";position:absolute;inset:auto auto -50px -30px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,180,120,.18),transparent 65%);pointer-events:none}
.infoHero::after{content:"";position:absolute;inset:-40px -20px auto auto;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(255,120,200,.18),transparent 66%);pointer-events:none}
.infoHeroTop{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:14px}
.infoHeroKicker{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(15,17,38,.46);border:1px solid rgba(255,255,255,.12);font-size:12px;font-weight:900;color:#ffe7b0;letter-spacing:.05em;text-transform:uppercase}
.infoHeroTitle{margin:10px 0 8px;font-size:32px;line-height:1.02;font-weight:1000;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.18)}
.infoHeroText{max-width:850px;font-size:14px;line-height:1.75;color:#e7ebff}
.infoHeroStats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:16px;position:relative;z-index:1}
.infoStat{padding:12px 14px;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(8,13,34,.52),rgba(8,13,34,.26));box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.infoStatLabel{font-size:11px;color:#b9c3e8;text-transform:uppercase;letter-spacing:.08em;font-weight:900;margin-bottom:5px}
.infoStatValue{font-size:16px;color:#fff;font-weight:950}
.infoQuickGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.infoQuickCard{border-radius:18px;padding:14px;border:1px solid rgba(255,255,255,.11);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));box-shadow:0 12px 24px rgba(0,0,0,.14)}
.infoQuickTitle{font-size:13px;font-weight:900;color:#fff;margin-bottom:8px}
.infoQuickText{font-size:12px;line-height:1.6;color:#ced6f3}
.infoSection{display:grid;gap:12px}
.infoSectionHead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px;padding:4px 2px}
.infoSectionTitle{font-size:22px;font-weight:1000;color:#fff;letter-spacing:.01em}
.infoSectionSub{font-size:13px;color:#b7c3e8;line-height:1.55;max-width:820px}
.infoSectionGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.infoCard{position:relative;overflow:hidden;border-radius:24px;padding:18px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.028));box-shadow:0 16px 28px rgba(0,0,0,.16)}
.infoCard::before{content:"";position:absolute;inset:auto -30px -50px auto;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(94,250,220,.08),transparent 68%);pointer-events:none}
.infoCardTop{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px;position:relative;z-index:1}
.infoCardTitle{font-size:18px;font-weight:950;color:#fff;line-height:1.2}
.infoCardBody{font-size:13px;line-height:1.72;color:#d8def7;position:relative;z-index:1}
.infoTipList{display:grid;gap:8px;margin-top:12px;position:relative;z-index:1}
.infoTip{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:16px;background:rgba(6,12,32,.36);border:1px solid rgba(255,255,255,.08);font-size:12px;line-height:1.55;color:#edf1ff}
.infoTip b{color:#ffe7ad}
.infoBadge{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);font-size:11px;font-weight:950;color:#bff8e8;text-transform:uppercase;letter-spacing:.06em}
@media (max-width:1100px){
  .infoQuickGrid,.infoSectionGrid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .infoHeroTitle{font-size:26px}
  .infoQuickGrid,.infoSectionGrid,.infoHeroStats{grid-template-columns:1fr}
  .infoHeadBadge{width:100%;justify-content:center;text-align:center}
}


/* workshop + restaurant premium redesign */
.luxFeaturePanel{position:relative;overflow:hidden}
.luxFeaturePanel::before{content:"";position:absolute;left:-80px;top:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,112,198,.16),transparent 68%);pointer-events:none;filter:blur(10px)}
.luxFeaturePanel::after{content:"";position:absolute;right:-90px;top:-40px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(100,244,223,.14),transparent 70%);pointer-events:none;filter:blur(12px)}
.luxFeatureHead{justify-content:space-between;align-items:center;gap:14px}
.luxFeatureBadge{padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.05));font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#ffe7af;box-shadow:0 10px 22px rgba(0,0,0,.16)}
.luxModuleSummary{margin-bottom:14px}
.luxModuleHero{position:relative;overflow:hidden;border-radius:26px;padding:20px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.04) 36%,rgba(103,244,223,.07) 100%);box-shadow:0 16px 36px rgba(0,0,0,.18)}
.luxModuleHero::before{content:"";position:absolute;inset:auto auto -60px -20px;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,rgba(255,186,125,.16),transparent 68%);pointer-events:none}
.luxModuleTop{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.luxModuleKicker{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(10,16,37,.46);border:1px solid rgba(255,255,255,.10);font-size:12px;font-weight:900;color:#ffe5a8;letter-spacing:.06em;text-transform:uppercase}
.luxModuleTitle{margin:10px 0 7px;font-size:30px;line-height:1.04;font-weight:1000;color:#fff}
.luxModuleText{max-width:860px;font-size:14px;line-height:1.72;color:#e7ecff}
.luxStatGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px;margin-top:16px;position:relative;z-index:1}
.luxStatCard{padding:12px 14px;border-radius:18px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg,rgba(7,13,34,.50),rgba(7,13,34,.22));box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.luxStatLabel{font-size:11px;color:#b9c3e8;text-transform:uppercase;letter-spacing:.08em;font-weight:900;margin-bottom:5px}
.luxStatValue{font-size:16px;color:#fff;font-weight:950}
.luxCardGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.luxCard{position:relative;overflow:hidden;border-radius:24px;padding:18px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.03));box-shadow:0 16px 30px rgba(0,0,0,.16)}
.luxCard::before{content:"";position:absolute;inset:auto -20px -40px auto;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(96,248,228,.08),transparent 70%);pointer-events:none}
.luxCard.premiumReady{border-color:rgba(255,211,110,.20);background:linear-gradient(135deg,rgba(255,211,110,.10),rgba(255,111,182,.06))}
.luxCardTop{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;position:relative;z-index:1}
.luxCardTitle{font-size:20px;font-weight:1000;color:#fff;line-height:1.15}
.luxCardSub{font-size:12px;color:#bfd0f5;line-height:1.55;margin-top:5px}
.luxCardBadge{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);font-size:11px;font-weight:950;color:#c9fff0;text-transform:uppercase;letter-spacing:.06em}
.luxMiniStats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0;position:relative;z-index:1}
.luxMiniStat{padding:10px 11px;border-radius:16px;background:rgba(7,13,34,.38);border:1px solid rgba(255,255,255,.08)}
.luxMiniStatLabel{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#aebbe1;font-weight:900;margin-bottom:4px}
.luxMiniStatValue{font-size:13px;color:#fff;font-weight:850;line-height:1.45}
.luxChipRow{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;position:relative;z-index:1}
.luxChip{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);font-size:12px;color:#edf2ff}
.luxInfoLine{position:relative;z-index:1;margin:12px 0;padding:12px 14px;border-radius:16px;background:rgba(7,13,34,.34);border:1px solid rgba(255,255,255,.08);font-size:12px;line-height:1.7;color:#e5ebff}
.luxInfoLine strong{color:#ffe7ad}
.luxProgressWrap{margin:12px 0 14px;position:relative;z-index:1}
.luxProgressLabel{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#dce4ff;margin-bottom:7px;font-weight:800}
.luxProgress{height:12px;border-radius:999px;overflow:hidden;background:rgba(5,11,28,.72);border:1px solid rgba(255,255,255,.09);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.luxProgress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--pink),var(--cyan));border-radius:999px;box-shadow:0 0 18px rgba(107,233,255,.22)}
.luxActionRow{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;position:relative;z-index:1;margin-top:12px}
.luxActionNote{font-size:12px;color:#b9c6ea;line-height:1.55}
.luxActionNote strong{color:#fff}
.workshopPanelPremium .luxModuleHero{background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.04) 34%,rgba(137,241,255,.09) 100%)}
.restaurantPanelPremium .luxModuleHero{background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.04) 34%,rgba(255,170,110,.10) 100%)}
@media (max-width:980px){.luxCardGrid{grid-template-columns:1fr}}
@media (max-width:760px){.luxModuleTitle{font-size:26px}.luxFeatureBadge{width:100%;text-align:center;justify-content:center}.luxMiniStats{grid-template-columns:1fr}.luxStatGrid{grid-template-columns:1fr}}


/* ===== Premium redesign: shop / decor / themes / profile / crops ===== */
.premiumShopPanel,.premiumDecorPanel,.premiumCropsPanel,#themesPage .luxuryPanel,#playersPage .luxuryPanel,#profilePage .panel{
    position:relative;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.11);
    box-shadow:0 22px 54px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.05);
}
.premiumShopPanel::before,.premiumDecorPanel::before,.premiumCropsPanel::before,#themesPage .luxuryPanel::before,#playersPage .luxuryPanel::before,#profilePage .panel::before{
    content:"";
    position:absolute;
    inset:-20% auto auto -10%;
    width:260px;
    height:260px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(255,255,255,.12), transparent 68%);
    pointer-events:none;
    filter:blur(4px);
}
.premiumShopPanel::after,.premiumDecorPanel::after,.premiumCropsPanel::after,#themesPage .luxuryPanel::after,#playersPage .luxuryPanel::after,#profilePage .panel::after{
    content:"";
    position:absolute;
    inset:auto -70px -90px auto;
    width:220px;
    height:220px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(255,125,214,.10), transparent 70%);
    pointer-events:none;
}
.premiumShopGrid,.premiumDecorGrid,.premiumCropGrid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:stretch}
.luxMetricGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:14px}
.luxMetric{
    border-radius:18px;
    padding:14px 14px 12px;
    border:1px solid rgba(255,255,255,.12);
    background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.03));
    box-shadow:0 16px 30px rgba(0,0,0,.18);
}
.luxMetric .label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.luxMetric .value{font-size:20px;font-weight:800;line-height:1.1}
.luxMetric .sub{margin-top:6px;font-size:12px;color:var(--muted)}
.luxInfoPills{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.luxInfoPills .pill,.luxInfoPills .playerStatPill{
    border-radius:999px;
    padding:8px 12px;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.10);
    font-size:12px;
    color:var(--text);
}
.luxCard{
    position:relative;
    min-height:100%;
    display:flex;
    flex-direction:column;
    gap:12px;
    padding:16px;
    border-radius:24px;
    border:1px solid rgba(255,255,255,.12);
    background:linear-gradient(180deg,rgba(255,255,255,.095),rgba(255,255,255,.03));
    box-shadow:0 20px 38px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.05);
    overflow:hidden;
}
.luxCard::before{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at top left, rgba(255,255,255,.12), transparent 34%);
    pointer-events:none;
}
.luxCard > *{position:relative;z-index:1}
.luxCardTop{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.luxCardTitle{font-size:18px;font-weight:800;line-height:1.2}
.luxCardSubtitle{margin-top:6px;font-size:13px;color:var(--muted)}
.luxTag{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);font-size:12px;font-weight:700;white-space:nowrap}
.luxTag.success{border-color:rgba(126,255,183,.28);background:rgba(126,255,183,.10)}
.luxTag.warn{border-color:rgba(255,214,107,.28);background:rgba(255,214,107,.10)}
.luxTag.locked{border-color:rgba(255,132,132,.24);background:rgba(255,132,132,.10)}
.luxStatsList{display:grid;gap:8px}
.luxStatRow{display:flex;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);font-size:13px}
.luxStatRow span:last-child{font-weight:700;text-align:right}
.luxCardActions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.luxCardActions button{flex:1 1 150px}
.luxActionNote{font-size:12px;color:var(--muted);margin-top:2px}
.shopLuxuryCard{border-color:rgba(106,220,255,.16)}
.decoLuxuryCard{border-color:rgba(255,165,120,.16)}
.cropLuxuryCard{border-color:rgba(126,255,183,.16)}
.shopLuxuryCard.is-max,.decoLuxuryCard.is-max,.cropLuxuryCard.is-selected{box-shadow:0 0 0 1px rgba(255,220,130,.16),0 22px 42px rgba(0,0,0,.24),0 0 34px rgba(255,182,81,.08)}
#themesPage .themeHeroBox{border-radius:26px;padding:18px 20px;box-shadow:0 22px 42px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.08)}
#themesPage .themeCard{border-radius:24px;padding:14px;box-shadow:0 18px 34px rgba(0,0,0,.22)}
#themesPage .themeVisual{height:116px;border-radius:18px}
#playersPage .playersColumnPanel{border-radius:22px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03));box-shadow:0 18px 34px rgba(0,0,0,.18);padding:12px}
#playersPage .playersColumnHead{padding:6px 4px 12px}
#playersPage .playerLuxuryCard{border-radius:20px;padding:16px;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.04));box-shadow:0 18px 34px rgba(0,0,0,.20)}
#profilePage #profileMainPanel{background:linear-gradient(180deg,rgba(20,29,48,.92),rgba(12,17,31,.94));}
#profilePage #profileQuickPanel{background:linear-gradient(180deg,rgba(19,24,43,.94),rgba(11,15,28,.96));}
#profilePage .panelHead h2{letter-spacing:.01em}
#profilePage .profileHeroFrame{padding:18px 18px 16px;border-radius:28px;box-shadow:0 24px 48px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.06)}
#profilePage .profileHeroFrame .avatar{width:96px;height:96px;font-size:48px;border-radius:28px}
#profilePage .statGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#profilePage .statGrid .stat{
    border-radius:18px;
    padding:14px;
    border:1px solid rgba(255,255,255,.10);
    background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.04));
    box-shadow:0 16px 30px rgba(0,0,0,.16);
}
#profilePage .statGrid .stat strong{display:block;font-size:13px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;color:rgba(255,255,255,.78)}
#profilePage #profileQuickPanel .card,#profilePage #profileMainPanel .prestigeReadyCard{border-radius:22px;box-shadow:0 18px 34px rgba(0,0,0,.18)}
#profilePage .progress{height:14px;border-radius:999px;overflow:hidden}
#profilePage .progress span{border-radius:999px;box-shadow:0 0 18px rgba(120,255,223,.25)}
@media (max-width:900px){
    .premiumShopGrid,.premiumDecorGrid,.premiumCropGrid{grid-template-columns:1fr}
    #profilePage .statGrid{grid-template-columns:1fr}
}



/* ===== Ultra premium pack: farm tiles, expeditions, guild, profile ===== */
body.neonBloom #farmPage .farmWorldBar,
body.neonBloom .farmWorldBar{
    border-radius:26px!important;
    padding:12px!important;
    background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.035)),radial-gradient(circle at 10% 0%,rgba(255,105,210,.16),transparent 36%),radial-gradient(circle at 92% 12%,rgba(107,233,255,.12),transparent 34%)!important;
    border:1px solid rgba(255,255,255,.14)!important;
    box-shadow:0 18px 42px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.08)!important;
}
body.neonBloom .farmWorldBtn{
    border-radius:20px!important;
    padding:12px 16px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.025))!important;
    border:1px solid rgba(255,255,255,.12)!important;
    box-shadow:0 12px 26px rgba(0,0,0,.18)!important;
}
body.neonBloom .farmWorldBtn.active{
    background:linear-gradient(135deg,rgba(255,105,210,.23),rgba(107,233,255,.16))!important;
    border-color:rgba(130,255,244,.36)!important;
    box-shadow:0 0 0 1px rgba(130,255,244,.12),0 18px 36px rgba(0,0,0,.24),0 0 28px rgba(255,105,210,.10)!important;
}
body.neonBloom #farmPage .farmGrid{
    gap:12px!important;
    padding:10px!important;
    border-radius:28px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
    border:1px solid rgba(255,255,255,.08);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
body.neonBloom #farmPage .tile,
body.performanceMode.neonBloom #farmPage .tile{
    min-height:92px!important;
    border-radius:22px!important;
    padding:8px 10px 30px!important;
    background:radial-gradient(circle at 50% 14%,rgba(255,255,255,.11),transparent 28%),linear-gradient(135deg,rgba(46,78,92,.48),rgba(32,24,67,.58) 52%,rgba(8,14,28,.88))!important;
    border:1px solid rgba(255,255,255,.13)!important;
    box-shadow:0 16px 32px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.06)!important;
    transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,filter .16s ease!important;
    isolation:isolate;
}
body.neonBloom #farmPage .tile:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 42%);pointer-events:none;z-index:0}
body.neonBloom #farmPage .tile:after{content:"";position:absolute;left:12%;right:12%;bottom:7px;height:1px;background:linear-gradient(90deg,transparent,rgba(130,255,244,.32),rgba(255,105,210,.22),transparent);pointer-events:none;z-index:1}
body.neonBloom #farmPage .tile:hover{transform:translateY(-3px) scale(1.01)!important;border-color:rgba(130,255,244,.32)!important;box-shadow:0 20px 42px rgba(0,0,0,.34),0 0 28px rgba(107,233,255,.10)!important}
body.neonBloom #farmPage .tile.ready{border-color:rgba(126,255,183,.50)!important;background:radial-gradient(circle at 50% 14%,rgba(126,255,183,.18),transparent 31%),linear-gradient(135deg,rgba(35,100,69,.62),rgba(20,59,55,.70),rgba(8,16,30,.88))!important;box-shadow:0 18px 38px rgba(0,0,0,.30),0 0 30px rgba(126,255,183,.13)!important}
body.neonBloom #farmPage .tile.growing{border-color:rgba(107,233,255,.24)!important}
body.neonBloom #farmPage .tile.empty{background:radial-gradient(circle at 50% 14%,rgba(255,204,130,.13),transparent 30%),linear-gradient(135deg,rgba(64,45,85,.52),rgba(30,40,62,.62),rgba(8,13,26,.88))!important}
body.neonBloom #farmPage .tile.fertilized{box-shadow:0 18px 38px rgba(0,0,0,.30),0 0 24px rgba(126,255,183,.12)!important}
body.neonBloom #farmPage .tile.locked{filter:saturate(.75);opacity:.72;background:linear-gradient(135deg,rgba(76,71,91,.38),rgba(16,18,31,.86))!important}
body.neonBloom #farmPage .tileHeader,body.neonBloom #farmPage .tileTimer,body.neonBloom #farmPage .tileCenter,body.neonBloom #farmPage .growBar,body.neonBloom #farmPage .tileFoot{position:relative;z-index:2}
body.neonBloom #farmPage .tileHeader{font-size:12px!important;color:#fff!important;text-shadow:0 2px 8px rgba(0,0,0,.35)}
body.neonBloom #farmPage .tileIcon{font-size:28px!important;filter:drop-shadow(0 9px 14px rgba(0,0,0,.34)) drop-shadow(0 0 10px rgba(255,255,255,.08))}
body.neonBloom #farmPage .tileName{font-size:12px!important;font-weight:950!important;text-shadow:0 2px 8px rgba(0,0,0,.45)}
body.neonBloom #farmPage .tileTimer{right:10px!important;top:20px!important;border-radius:999px!important;background:rgba(2,8,20,.66)!important;border:1px solid rgba(130,255,244,.16)!important;box-shadow:0 8px 18px rgba(0,0,0,.24)!important}
body.neonBloom #farmPage .growBar{height:7px!important;bottom:24px!important;background:rgba(2,8,20,.78)!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important}
body.neonBloom #farmPage .growBar span{background:linear-gradient(90deg,#ff67c7,#78ffe7,#ffe08a)!important;box-shadow:0 0 16px rgba(120,255,231,.34)!important}
body.neonBloom #farmPage .tileFoot .tileState{font-size:9px!important;font-weight:900!important;background:rgba(2,8,20,.65)!important;border:1px solid rgba(255,255,255,.08)!important;color:#eef7ff!important;box-shadow:0 8px 18px rgba(0,0,0,.18)!important}

.premiumExpeditionPanel,.premiumGuildPanel,.profilePremiumPanel{position:relative;overflow:hidden!important;border-color:rgba(255,255,255,.12)!important;background:linear-gradient(180deg,rgba(20,27,48,.94),rgba(10,14,29,.96))!important;box-shadow:0 24px 58px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.06)!important}
.premiumExpeditionPanel:before,.premiumGuildPanel:before,.profilePremiumPanel:before{content:"";position:absolute;left:-80px;top:-80px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(255,105,210,.16),transparent 68%);filter:blur(8px);pointer-events:none}
.premiumExpeditionPanel:after,.premiumGuildPanel:after,.profilePremiumPanel:after{content:"";position:absolute;right:-70px;top:-50px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(107,233,255,.13),transparent 70%);filter:blur(10px);pointer-events:none}
.premiumExpeditionHero,.guildHeroPremium,.profileMegaHero{position:relative;overflow:hidden;border-radius:30px;padding:22px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.04) 40%,rgba(107,233,255,.08));box-shadow:0 22px 48px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.07);margin-bottom:16px;isolation:isolate}
.premiumExpeditionHero:before,.guildHeroPremium:before,.profileMegaHero:before{content:"";position:absolute;inset:auto -40px -90px auto;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,201,110,.16),transparent 68%);pointer-events:none}
.premiumExpeditionHero h3,.guildHeroPremium h3,.profileMegaTitle{margin:8px 0;font-size:30px;line-height:1.04;font-weight:1000;color:#fff;text-shadow:0 4px 16px rgba(0,0,0,.25)}
.premiumExpeditionHero .small,.guildHeroPremium .small,.profileMegaText{max-width:850px;color:#dfe8ff;line-height:1.65;font-size:13px}
.expeditionLuxuryCard,.expeditionActivePremium{border-radius:24px!important;border:1px solid rgba(255,255,255,.12)!important;background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.03))!important;box-shadow:0 18px 38px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.05)!important;overflow:hidden!important}
.expeditionActivePremium{border-color:rgba(255,214,107,.22)!important;background:linear-gradient(135deg,rgba(255,214,107,.10),rgba(107,233,255,.07),rgba(255,255,255,.035))!important}
.expeditionRewardChips,.expeditionMetaLine,.expeditionRewardLine{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.expeditionRewardChips .playerStatPill,.expeditionMetaLine .playerStatPill,.expeditionRewardLine .playerStatPill{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10);box-shadow:0 8px 18px rgba(0,0,0,.12)}
#expeditionHistoryList .card{border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));border-color:rgba(255,255,255,.10)}

.premiumGuildPanel .guildHeroCard{border-radius:30px!important;padding:22px!important;background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.035) 48%,rgba(255,105,210,.08))!important;border:1px solid rgba(255,255,255,.14)!important;box-shadow:0 24px 48px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.06)!important}
.premiumGuildPanel .guildHeroName{font-size:30px!important;font-weight:1000!important;text-shadow:0 4px 14px rgba(0,0,0,.28)}
.premiumGuildPanel .guildQuestPanel{border-radius:22px!important;padding:16px!important;background:linear-gradient(135deg,rgba(107,233,255,.08),rgba(255,105,210,.06))!important;border:1px solid rgba(255,255,255,.11)!important;box-shadow:0 16px 30px rgba(0,0,0,.18)!important}
.premiumGuildPanel .guildStatsGrid{gap:12px!important}
.premiumGuildPanel .guildStatCard,.premiumGuildPanel .guildMemberCard,.premiumGuildPanel .guildPublicCard,.premiumGuildPanel .guildSubGrid>.card{border-radius:22px!important;background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.03))!important;border:1px solid rgba(255,255,255,.11)!important;box-shadow:0 18px 34px rgba(0,0,0,.20)!important}
.premiumGuildPanel .guildChatList{border-radius:20px!important;background:rgba(3,8,22,.36)!important;border:1px solid rgba(255,255,255,.10)!important;padding:12px!important;min-height:230px!important}
.premiumGuildPanel .guildCreateWrap{border-radius:24px;padding:16px;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.10);box-shadow:0 18px 34px rgba(0,0,0,.18)}

#profilePage .profilePageGrid{grid-template-columns:minmax(360px,440px) minmax(0,1fr)!important;gap:16px!important}
#profilePage #profileMainPanel,#profilePage #profileQuickPanel{border-radius:30px!important;background:linear-gradient(180deg,rgba(20,28,52,.96),rgba(8,12,27,.98))!important}
.profileMegaHero{padding:24px!important;background:radial-gradient(circle at 86% 0%,rgba(107,233,255,.15),transparent 32%),radial-gradient(circle at 10% 12%,rgba(255,105,210,.18),transparent 35%),linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.035))!important}
.profileMegaKicker{display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);font-size:11px;font-weight:1000;letter-spacing:.1em;text-transform:uppercase;color:#ffe4ad}
.profileMegaTitle{font-size:34px!important}
.profileMegaPills{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
#profilePage .profileHeroFrame{border-radius:32px!important;padding:22px!important;background:radial-gradient(circle at 12% 10%,rgba(255,255,255,.12),transparent 32%),linear-gradient(135deg,rgba(255,105,210,.13),rgba(107,233,255,.08),rgba(255,255,255,.035))!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:0 26px 56px rgba(0,0,0,.34),0 0 42px rgba(255,105,210,.10),inset 0 1px 0 rgba(255,255,255,.08)!important}
#profilePage .profileHeroFrame .avatar{width:112px!important;height:112px!important;border-radius:34px!important;font-size:58px!important;background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.05))!important;box-shadow:0 22px 44px rgba(0,0,0,.32),0 0 34px rgba(107,233,255,.12)!important}
#profilePage .profileTop{gap:18px!important;align-items:center!important}
#profilePage #heroNameText{font-size:30px!important;font-weight:1000!important;letter-spacing:.01em;text-shadow:0 4px 14px rgba(0,0,0,.28)}
#profilePage #heroTitleText{font-size:14px!important;color:#ffe7ad!important;font-weight:900!important}
#profilePage .profileRankLine{gap:8px!important;margin-top:18px!important}
#profilePage .profileRankBadge,#profilePage .profileTierBadge,#profilePage .profilePowerText{padding:9px 12px!important;border-radius:999px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 10px 20px rgba(0,0,0,.14)!important}
#profilePage .statGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin-top:14px!important}
#profilePage .statGrid .stat{border-radius:22px!important;padding:16px!important;background:linear-gradient(180deg,rgba(255,255,255,.095),rgba(255,255,255,.035))!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 18px 34px rgba(0,0,0,.20)!important}
#profilePage .statGrid .stat .muted{font-size:18px!important;font-weight:950!important;color:#fff!important}
#profilePage #profileQuickPanel .card{border-radius:24px!important;background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.03))!important;border:1px solid rgba(255,255,255,.11)!important;box-shadow:0 18px 34px rgba(0,0,0,.20)!important}
@media (max-width:980px){#profilePage .profilePageGrid{grid-template-columns:1fr!important}.premiumExpeditionHero h3,.guildHeroPremium h3,.profileMegaTitle{font-size:26px!important}}



/* final farm tile readability fix: crop / progress / status separated */
body.neonBloom #farmPage .farmGrid,
body.performanceMode.neonBloom #farmPage .farmGrid{
    grid-auto-rows:minmax(102px,1fr)!important;
    gap:7px!important;
}
body.neonBloom #farmPage .tile,
body.performanceMode.neonBloom #farmPage .tile{
    display:grid!important;
    grid-template-rows:14px minmax(38px,1fr) 8px 17px 13px!important;
    align-items:stretch!important;
    row-gap:3px!important;
    min-height:102px!important;
    padding:6px 9px 6px!important;
    overflow:hidden!important;
}
body.neonBloom #farmPage .tileHeader,
body.performanceMode.neonBloom #farmPage .tileHeader{
    grid-row:1!important;
    position:relative!important;
    inset:auto!important;
    z-index:5!important;
    min-height:14px!important;
    line-height:1!important;
}
body.neonBloom #farmPage .tileCenter,
body.performanceMode.neonBloom #farmPage .tileCenter{
    grid-row:2!important;
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    z-index:4!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:2px!important;
    min-height:38px!important;
    padding:0 24px 0 24px!important;
    overflow:visible!important;
}
body.neonBloom #farmPage .tileIcon,
body.performanceMode.neonBloom #farmPage .tileIcon{
    display:block!important;
    font-size:29px!important;
    line-height:1!important;
    min-height:29px!important;
    margin:0!important;
    transform:none!important;
}
body.neonBloom #farmPage .tileName,
body.performanceMode.neonBloom #farmPage .tileName{
    display:block!important;
    width:100%!important;
    max-height:14px!important;
    min-height:12px!important;
    font-size:11.2px!important;
    line-height:1.08!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
    text-align:center!important;
}
body.neonBloom #farmPage .growBar,
body.performanceMode.neonBloom #farmPage .growBar{
    grid-row:3!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    z-index:4!important;
    width:100%!important;
    height:7px!important;
    margin:0!important;
    align-self:center!important;
}
body.neonBloom #farmPage .tileFoot,
body.performanceMode.neonBloom #farmPage .tileFoot{
    grid-row:4!important;
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    z-index:5!important;
    width:100%!important;
    height:17px!important;
    min-height:17px!important;
    max-height:17px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    text-align:center!important;
    padding:0!important;
    margin:0!important;
}
body.neonBloom #farmPage .tileFoot .tileState,
body.performanceMode.neonBloom #farmPage .tileFoot .tileState{
    display:block!important;
    width:auto!important;
    max-width:100%!important;
    min-height:14px!important;
    height:14px!important;
    line-height:1.05!important;
    font-size:8.6px!important;
    padding:2px 7px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
body.neonBloom #farmPage .tileTimer,
body.performanceMode.neonBloom #farmPage .tileTimer{
    grid-row:5!important;
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    z-index:5!important;
    justify-self:start!important;
    align-self:end!important;
    max-width:72px!important;
    min-height:13px!important;
    height:13px!important;
    font-size:8.6px!important;
    line-height:1!important;
    padding:2px 6px!important;
    margin:0!important;
}
body.neonBloom #farmPage .tile:after,
body.performanceMode.neonBloom #farmPage .tile:after{
    bottom:3px!important;
}
@media (min-width:1500px) and (max-height:860px){
    body.neonBloom #farmPage .farmGrid,
    body.performanceMode.neonBloom #farmPage .farmGrid{grid-auto-rows:minmax(96px,1fr)!important;gap:6px!important}
    body.neonBloom #farmPage .tile,
    body.performanceMode.neonBloom #farmPage .tile{grid-template-rows:13px minmax(34px,1fr) 7px 16px 12px!important;min-height:96px!important;padding:5px 8px!important;row-gap:3px!important}
    body.neonBloom #farmPage .tileIcon,
    body.performanceMode.neonBloom #farmPage .tileIcon{font-size:26px!important;min-height:26px!important}
    body.neonBloom #farmPage .tileName,
    body.performanceMode.neonBloom #farmPage .tileName{font-size:10.6px!important;max-height:12px!important}
    body.neonBloom #farmPage .tileFoot .tileState,
    body.performanceMode.neonBloom #farmPage .tileFoot .tileState{font-size:8.2px!important;height:13px!important;min-height:13px!important;padding:2px 6px!important}
}



/* multi UI polish: farm tile readability, scroll bottom, guild title, season + hall premium */
body.neonBloom #farmPage .tile,
body.performanceMode.neonBloom #farmPage .tile{
    grid-template-rows:14px minmax(40px,1fr) 8px 17px 15px!important;
    padding-bottom:8px!important;
}
body.neonBloom #farmPage .tileCenter.emptyTileCenter,
body.performanceMode.neonBloom #farmPage .tileCenter.emptyTileCenter{
    justify-content:center!important;
    gap:4px!important;
}
body.neonBloom #farmPage .tile.empty .tileCenter .tileState,
body.performanceMode.neonBloom #farmPage .tile.empty .tileCenter .tileState{
    display:none!important;
}
body.neonBloom #farmPage .tile.empty .tileIcon,
body.performanceMode.neonBloom #farmPage .tile.empty .tileIcon{
    font-size:28px!important;
    opacity:.85!important;
    margin-bottom:0!important;
}
body.neonBloom #farmPage .tile.empty .tileName,
body.performanceMode.neonBloom #farmPage .tile.empty .tileName{
    font-size:12px!important;
    max-height:15px!important;
}
body.neonBloom #farmPage .tileTimer,
body.performanceMode.neonBloom #farmPage .tileTimer{
    align-self:center!important;
    transform:translateY(-3px)!important;
    margin-top:-2px!important;
}
body.neonBloom #farmPage .tileFoot,
body.performanceMode.neonBloom #farmPage .tileFoot{
    overflow:visible!important;
}
body.neonBloom #farmPage .tileFoot .tileState,
body.performanceMode.neonBloom #farmPage .tileFoot .tileState{
    line-height:1.1!important;
}

#workshopScroll,#restaurantScroll{
    padding-bottom:110px!important;
    scroll-padding-bottom:130px!important;
}
#workshopScroll .luxCardGrid,#restaurantScroll .luxCardGrid,
#workshopGrid,#restaurantGrid{
    padding-bottom:120px!important;
}
#workshopGrid .luxCard:last-child,#restaurantGrid .luxCard:last-child{
    margin-bottom:90px!important;
}

#seasonPage .premiumSeasonPanel,#seasonPage .premiumHallPanel{
    position:relative;
    overflow:hidden;
    border-radius:30px!important;
    border:1px solid rgba(255,255,255,.12)!important;
    background:radial-gradient(circle at 12% 0%,rgba(255,105,210,.13),transparent 30%),radial-gradient(circle at 94% 12%,rgba(107,233,255,.12),transparent 28%),linear-gradient(180deg,rgba(20,28,52,.96),rgba(8,12,27,.98))!important;
    box-shadow:0 24px 58px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.06)!important;
}
#seasonPage .premiumSeasonPanel:before,#seasonPage .premiumHallPanel:before{
    content:"";position:absolute;left:-90px;top:-90px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(255,211,110,.15),transparent 68%);filter:blur(8px);pointer-events:none
}
#seasonPage .premiumSeasonHead{
    position:relative;z-index:2;align-items:center;justify-content:space-between;gap:12px;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
    background:linear-gradient(90deg,rgba(255,255,255,.06),rgba(255,255,255,.015))!important;
}
#seasonPage .premiumSeasonHead h2{font-size:24px!important;letter-spacing:.01em;text-shadow:0 4px 16px rgba(0,0,0,.28)}
#seasonPage #seasonScroll,#seasonPage #hallScroll{position:relative;z-index:2;padding-bottom:80px!important;scroll-padding-bottom:100px!important}
#seasonPage #seasonScroll>.card,#seasonPage #hallScroll .playerLuxuryCard,#seasonPage #seasonHistoryList .playerLuxuryCard,#seasonPage #seasonTopList .playerLuxuryCard,#seasonPage #seasonRewardsGrid .card{
    border-radius:24px!important;
    border:1px solid rgba(255,255,255,.12)!important;
    background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.03))!important;
    box-shadow:0 18px 36px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.05)!important;
    overflow:hidden!important;
}
#seasonPage #seasonScroll>.card:first-child{
    background:radial-gradient(circle at 90% 0%,rgba(255,211,110,.16),transparent 34%),linear-gradient(135deg,rgba(255,255,255,.11),rgba(107,233,255,.07),rgba(255,105,210,.06))!important;
}
#seasonPage #seasonRewardsGrid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;gap:12px!important}
#seasonPage .luxSectionLabel{display:inline-flex!important;margin:12px 0 10px!important;padding:8px 12px!important;border-radius:999px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.12)!important;color:#ffe4ad!important;font-weight:1000!important;letter-spacing:.08em!important;text-transform:uppercase!important}
#seasonPage .playerStatPill{background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.10)!important;box-shadow:0 8px 18px rgba(0,0,0,.12)!important}
#seasonPage .progress{height:13px!important;border-radius:999px!important;overflow:hidden!important;background:rgba(3,8,22,.66)!important;border:1px solid rgba(255,255,255,.08)!important}
#seasonPage .progress span{border-radius:999px!important;background:linear-gradient(90deg,#ffd36e,#ff67c7,#78ffe7)!important;box-shadow:0 0 18px rgba(120,255,231,.25)!important}
@media (max-width:1100px){#seasonPage .seasonPageGrid{grid-template-columns:1fr!important}}



/* final farm bottom visible fix: keep all 35 fields visible */
body.neonBloom #farmPage .farmGrid,
body.performanceMode.neonBloom #farmPage .farmGrid{
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    grid-auto-rows:minmax(84px,1fr)!important;
    gap:6px!important;
    padding:6px!important;
    align-content:stretch!important;
    overflow:visible!important;
}
body.neonBloom #farmPage .tile,
body.performanceMode.neonBloom #farmPage .tile{
    min-height:84px!important;
    height:100%!important;
    display:grid!important;
    grid-template-rows:12px minmax(30px,1fr) 6px 14px 12px!important;
    row-gap:2px!important;
    padding:4px 8px 4px!important;
    border-radius:18px!important;
    overflow:hidden!important;
}
body.neonBloom #farmPage .tileHeader,
body.performanceMode.neonBloom #farmPage .tileHeader{
    grid-row:1!important;
    min-height:12px!important;
    height:12px!important;
    font-size:10px!important;
    line-height:1!important;
    position:relative!important;
    inset:auto!important;
}
body.neonBloom #farmPage .tileCenter,
body.performanceMode.neonBloom #farmPage .tileCenter{
    grid-row:2!important;
    position:relative!important;
    inset:auto!important;
    min-height:30px!important;
    padding:0 20px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:1px!important;
    overflow:visible!important;
}
body.neonBloom #farmPage .tileIcon,
body.performanceMode.neonBloom #farmPage .tileIcon{
    font-size:24px!important;
    min-height:24px!important;
    line-height:1!important;
    margin:0!important;
}
body.neonBloom #farmPage .tile.empty .tileIcon,
body.performanceMode.neonBloom #farmPage .tile.empty .tileIcon{
    font-size:25px!important;
    min-height:25px!important;
}
body.neonBloom #farmPage .tileName,
body.performanceMode.neonBloom #farmPage .tileName{
    font-size:10.2px!important;
    line-height:1.05!important;
    max-height:12px!important;
    min-height:11px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
body.neonBloom #farmPage .tile.empty .tileName,
body.performanceMode.neonBloom #farmPage .tile.empty .tileName{
    font-size:10.8px!important;
    max-height:13px!important;
}
body.neonBloom #farmPage .growBar,
body.performanceMode.neonBloom #farmPage .growBar{
    grid-row:3!important;
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:6px!important;
    min-height:6px!important;
    margin:0!important;
    align-self:center!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
}
body.neonBloom #farmPage .tileFoot,
body.performanceMode.neonBloom #farmPage .tileFoot{
    grid-row:4!important;
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:14px!important;
    min-height:14px!important;
    max-height:14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:visible!important;
    padding:0!important;
    margin:0!important;
}
body.neonBloom #farmPage .tileFoot .tileState,
body.performanceMode.neonBloom #farmPage .tileFoot .tileState{
    height:12px!important;
    min-height:12px!important;
    max-height:12px!important;
    line-height:1!important;
    font-size:7.7px!important;
    padding:2px 6px!important;
    max-width:96%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
body.neonBloom #farmPage .tileTimer,
body.performanceMode.neonBloom #farmPage .tileTimer{
    grid-row:5!important;
    position:relative!important;
    inset:auto!important;
    justify-self:start!important;
    align-self:center!important;
    transform:none!important;
    margin:1!important;
    height:12px!important;
    min-height:12px!important;
    max-height:12px!important;
    line-height:1!important;
    font-size:7.8px!important;
    padding:2px 5px!important;
    max-width:64px!important;
}
body.neonBloom #farmPage .tile:after,
body.performanceMode.neonBloom #farmPage .tile:after{
    bottom:2px!important;
    opacity:.45!important;
}
@media (min-width:1500px) and (max-height:860px){
    body.neonBloom #farmPage .farmGrid,
    body.performanceMode.neonBloom #farmPage .farmGrid{grid-auto-rows:minmax(76px,1fr)!important;gap:5px!important;padding:5px!important}
    body.neonBloom #farmPage .tile,
    body.performanceMode.neonBloom #farmPage .tile{min-height:76px!important;grid-template-rows:11px minmax(26px,1fr) 5px 13px 11px!important;row-gap:2px!important;padding:3px 7px!important;border-radius:16px!important}
    body.neonBloom #farmPage .tileIcon,
    body.performanceMode.neonBloom #farmPage .tileIcon{font-size:22px!important;min-height:22px!important}
    body.neonBloom #farmPage .tileName,
    body.performanceMode.neonBloom #farmPage .tileName{font-size:9.6px!important;max-height:11px!important;min-height:10px!important}
    body.neonBloom #farmPage .growBar,
    body.performanceMode.neonBloom #farmPage .growBar{height:5px!important;min-height:5px!important}
    body.neonBloom #farmPage .tileFoot .tileState,
    body.performanceMode.neonBloom #farmPage .tileFoot .tileState{font-size:7.1px!important;height:11px!important;min-height:11px!important;max-height:11px!important;padding:2px 5px!important}
    body.neonBloom #farmPage .tileTimer,
    body.performanceMode.neonBloom #farmPage .tileTimer{font-size:7.2px!important;height:11px!important;min-height:11px!important;max-height:11px!important;padding:2px 5px!important}
}



/* decor bottom visibility tune */
#decorPage{
    padding-bottom:18px!important;
}
#decorPage .panelBody{
    padding-bottom:8px!important;
}
#decorScroll,
#decorPage #decorScroll.scrollArea,
#decorPage .luxModuleScroll{
    max-height:calc(100dvh - 225px)!important;
    padding:0 6px 34px 2px!important;
    scroll-padding-bottom:34px!important;
    box-sizing:border-box!important;
    overflow-y:auto!important;
}
#decorGrid,
#decorPage .premiumDecorGrid{
    padding-bottom:26px!important;
    margin-bottom:0!important;
}
#decorPage .decoLuxuryCard:last-child,
#decorPage .luxCard:last-child{
    margin-bottom:18px!important;
}
@media (max-height:820px){
    #decorScroll,
    #decorPage #decorScroll.scrollArea,
    #decorPage .luxModuleScroll{
        max-height:calc(100dvh - 205px)!important;
        padding-bottom:44px!important;
        scroll-padding-bottom:44px!important;
    }
    #decorGrid,
    #decorPage .premiumDecorGrid{padding-bottom:34px!important;}
    #decorPage .decoLuxuryCard:last-child,
    #decorPage .luxCard:last-child{margin-bottom:22px!important;}
}



/* mobile usability + login first responsive pass */
@media (max-width: 980px){
  html, body{
    width:100%;
    max-width:100%;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-text-size-adjust:100%;
  }
  body{min-height:100svh;}
  .authWrap{
    min-height:100svh!important;
    padding:12px!important;
    display:block!important;
    overflow:auto!important;
  }
  .authCard{
    width:100%!important;
    height:auto!important;
    min-height:auto!important;
    max-height:none!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    border-radius:24px!important;
    overflow:visible!important;
  }
  .authPanel{
    min-height:auto!important;
    overflow:visible!important;
  }
  .authHead{
    padding:18px 18px 14px!important;
  }
  .authBody{
    padding:16px 18px 18px!important;
    overflow:visible!important;
    gap:12px!important;
  }
  .authScene{
    min-height:auto!important;
    height:auto!important;
    overflow:visible!important;
    padding:16px 18px!important;
  }
  .authSceneMain{
    height:auto!important;
    overflow:visible!important;
  }
  .authOnlineDock{
    max-height:none!important;
    overflow:visible!important;
  }
  .app{
    height:auto!important;
    min-height:100svh!important;
    overflow:visible!important;
    padding:8px!important;
  }
  .main{
    display:block!important;
    min-height:auto!important;
    overflow:visible!important;
  }
  .pagePane.active{
    display:block!important;
    min-height:auto!important;
    overflow:visible!important;
  }
  .panel, .card{
    min-height:auto!important;
  }
  .scrollArea{
    max-height:none!important;
  }
}

@media (max-width: 760px){
  :root{
    --radius:18px;
  }
  body{
    font-size:14px;
    touch-action:manipulation;
  }
  button,
  input,
  select,
  textarea{
    font-size:16px!important;
  }
  button,
  .ghost,
  .pageBtn,
  .authModeBtn,
  .authSubmit{
    min-height:44px;
    touch-action:manipulation;
  }

  /* Mobile login/register: login must be reachable immediately */
  .authWrap{
    padding:8px!important;
    background:radial-gradient(circle at 50% 2%,rgba(255,228,170,.18) 0 6%,transparent 18%),radial-gradient(circle at 10% 8%,rgba(255,76,181,.36),transparent 30%),radial-gradient(circle at 88% 4%,rgba(77,225,255,.25),transparent 28%),radial-gradient(circle at 50% 82%,rgba(255,207,91,.13),transparent 30%),linear-gradient(150deg,rgba(55,18,82,.94),rgba(7,13,30,.99) 52%,rgba(3,34,52,.96)),repeating-linear-gradient(90deg,rgba(107,233,255,.09) 0 2px,transparent 2px 58px),repeating-linear-gradient(0deg,transparent 0 54px,rgba(255,104,190,.07) 55px 57px,transparent 58px 110px)!important;
  }
  .authWrap::before,
  .authWrap::after{
    display:none!important;
  }
  .authSkyFx::after{
    width:150px;
    top:12%;
  }
  .authCard{
    border-radius:20px!important;
    border-color:rgba(255,255,255,.12)!important;
    box-shadow:0 18px 44px rgba(0,0,0,.32)!important;
    background:rgba(8,14,28,.96)!important;
  }
  .authHead{
    padding:14px 14px 10px!important;
    border-bottom-color:rgba(255,255,255,.08)!important;
  }
  .authEyebrow{
    padding:6px 10px!important;
    font-size:10px!important;
    letter-spacing:.08em!important;
  }
  .authLogoTitle{
    margin:10px 0 6px!important;
    gap:10px!important;
    font-size:24px!important;
    line-height:1.14!important;
    word-break:break-word;
  }
  .authLogoTitleIcon{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    border-radius:14px!important;
    font-size:24px!important;
  }
  .authIntro{
    font-size:12px!important;
    line-height:1.45!important;
  }
  .authHighlights{
    gap:6px!important;
    margin-top:10px!important;
  }
  .authHighlight{
    padding:7px 9px!important;
    font-size:11px!important;
  }
  .authBody{
    padding:12px 14px 16px!important;
  }
  .authModeTabs{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  .authModeBtn{
    min-height:46px!important;
    border-radius:14px!important;
    padding:8px 10px!important;
  }
  .authMessage{
    min-height:18px!important;
    font-size:12px!important;
  }
  .authForm{
    gap:10px!important;
  }
  .authFormLead{
    font-size:12.5px!important;
    line-height:1.45!important;
  }
  .authHintRow{
    gap:6px!important;
  }
  .authMiniStat{
    padding:7px 9px!important;
    font-size:11px!important;
  }
  .authField{
    gap:5px!important;
  }
  .authField label{
    font-size:12px!important;
  }
  .authField input{
    width:100%!important;
    min-height:48px!important;
    padding:12px 13px!important;
    border-radius:14px!important;
  }
  .authSubmit{
    min-height:50px!important;
    font-size:16px!important;
    border-radius:16px!important;
  }
  .authConsentList{
    gap:8px!important;
  }
  .authConsentItem{
    padding:10px 11px!important;
    border-radius:14px!important;
  }
  .authConsentItem input{
    width:20px!important;
    height:20px!important;
    min-width:20px!important;
  }
  .authConsentTitle{
    font-size:13px!important;
  }
  .authConsentText,
  .authLegalNote{
    font-size:11px!important;
    line-height:1.4!important;
  }
  /* On phones, keep the login/register clean. Lobby/online can be seen after login. */
  .authScene,
  .authOnlineDock{
    display:none!important;
  }

  /* App mobile shell */
  .topbar{
    position:sticky!important;
    top:6px!important;
    z-index:20!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    min-height:auto!important;
    padding:8px 10px!important;
    border-radius:18px!important;
    overflow:visible!important;
  }
  .brand,
  .moneyOnlineGroup,
  .topbarStatsGroup,
  .pills{
    width:100%!important;
    min-width:0!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
  }
  .brand h1,
  .brandTitle,
  .topbar h1{
    font-size:18px!important;
    line-height:1.15!important;
  }
  .pill,
  .topbar .pill,
  .moneyPill,
  .onlinePill{
    font-size:11px!important;
    padding:6px 8px!important;
    min-height:30px!important;
  }
  .pageTabs{
    display:flex!important;
    gap:6px!important;
    flex-wrap:wrap!important;
    overflow:visible!important;
    scrollbar-width:none;
    padding:2px 2px 6px!important;
    margin-inline:-2px!important;
  }
  .pageTabs::-webkit-scrollbar{display:none!important;}
  .pageTabs .pageBtn{
    flex:0 0 auto!important;
    min-height:38px!important;
    padding:7px 10px!important;
    font-size:12px!important;
    border-radius:13px!important;
  }

  .panel{
    border-radius:18px!important;
  }
  .panelHead{
    padding:9px 10px!important;
    gap:8px!important;
    align-items:flex-start!important;
    flex-wrap:wrap!important;
  }
  .panelHead h2,
  .panelHead h3{
    font-size:18px!important;
    line-height:1.18!important;
  }
  .panelBody{
    padding:9px 10px!important;
  }
  .actions,
  .panelHead .actions,
  .performanceToolbar,
  .pagerActions{
    width:100%;
    flex-wrap:wrap!important;
    justify-content:flex-start!important;
    gap:7px!important;
  }
  .actions button,
  .performanceToolbar button,
  .performanceToolbar input,
  .performanceToolbar select{
    min-height:40px!important;
  }
  .row2,
  .stablePageGrid,
  .visitFarmGrid,
  .marketSectionsGrid,
  .profilePageGrid,
  .socialPageGrid,
  .seasonPageGrid,
  .wheelPageGrid,
  .guildPageGrid,
  .playersPageGrid,
  .cropsPageGrid,
  .shopPageGrid,
  .inventoryPageGrid,
  .questsPageGrid{
    display:block!important;
  }
  .row2 > *,
  .stablePageGrid > *,
  .visitFarmGrid > *,
  .marketSectionsGrid > *,
  .profilePageGrid > *,
  .socialPageGrid > *,
  .seasonPageGrid > *,
  .wheelPageGrid > *,
  .guildPageGrid > *,
  .playersPageGrid > *,
  .cropsPageGrid > *,
  .shopPageGrid > *,
  .inventoryPageGrid > *,
  .questsPageGrid > *{
    margin-bottom:10px!important;
  }
  .scrollArea{
    max-height:none!important;
    overflow:visible!important;
    padding-bottom:18px!important;
  }
  .cardGrid,
  .shopGrid,
  .luxCardGrid,
  .inventoryGrid,
  .seedGrid,
  .statGrid,
  .questLayoutGrid,
  .mainQuestLayout,
  .dailyWeeklyGrid{
    grid-template-columns:1fr!important;
  }
  .farmWorldBar,
  .farmWorldTabs,
  .farmSelectorBar{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
  }
  .farmWorldTabs button,
  .farmSelectorBar button{
    flex:0 0 auto!important;
  }
  body.neonBloom #farmPage .farmGrid,
  body.performanceMode.neonBloom #farmPage .farmGrid,
  .farmGrid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:minmax(104px,auto)!important;
    height:auto!important;
    overflow:visible!important;
    gap:7px!important;
    padding-bottom:16px!important;
  }
  body.neonBloom #farmPage .tile,
  body.performanceMode.neonBloom #farmPage .tile,
  .tile{
    min-height:104px!important;
  }

  .modal{padding:10px!important;align-items:flex-start!important;overflow:auto!important;}
  .modal .panel{width:100%!important;max-width:100%!important;margin-top:12px!important;}
  .modal .panelBody{max-height:none!important;overflow:visible!important;}
  .toastWrap{left:8px!important;right:8px!important;bottom:10px!important;max-width:none!important;}
}

@media (max-width: 420px){
  .authLogoTitle{font-size:21px!important;}
  .authHighlights{display:none!important;}
  .authModeTabs{grid-template-columns:1fr!important;}
  body.neonBloom #farmPage .farmGrid,
  body.performanceMode.neonBloom #farmPage .farmGrid,
  .farmGrid{
    grid-template-columns:1fr!important;
    grid-auto-rows:minmax(108px,auto)!important;
  }
  .pageTabs .pageBtn{font-size:11px!important;padding-inline:9px!important;}
  .panelHead h2,.panelHead h3{font-size:17px!important;}
}


/* ===============================
   FULL MOBILE PLAY FIX
   Mobile-first safety override for Sakura Farm Legends.
   Keeps desktop premium UI untouched, improves phone playability.
   =============================== */

html, body {
    max-width: 100%;
}

@media (max-width: 980px) {
    html, body {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
        overscroll-behavior-y: contain;
        -webkit-text-size-adjust: 100%;
        touch-action: manipulation;
    }

    * {
        box-sizing: border-box;
    }

    input,
    select,
    textarea,
    button {
        font-size: 16px !important;
        max-width: 100% !important;
    }

    button,
    .button,
    .ghost,
    .secondary,
    .gold,
    .pageBtn,
    .tabBtn {
        min-height: 42px !important;
        touch-action: manipulation;
    }

    img,
    svg,
    canvas,
    video {
        max-width: 100% !important;
        height: auto !important;
    }

    table {
        display: block;
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .app,
    .game,
    .wrap,
    .container,
    .main,
    .layout,
    .page,
    .pagePane,
    .panel,
    .panelBody,
    .singlePanel,
    .luxuryPanel,
    .shopPageGrid,
    .cropsPageGrid,
    .farmPageGrid,
    .adminPageGrid,
    .playersPageGrid,
    .profilePageGrid,
    .guildPageGrid {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .topbar,
    .appTop,
    .topBar,
    .header,
    .mainHeader,
    .gameHeader {
        position: sticky !important;
        top: 0 !important;
        z-index: 80 !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        padding: 9px 10px !important;
        max-width: 100% !important;
        backdrop-filter: blur(14px);
    }

    nav,
    .nav,
    .pageNav,
    .topNav,
    .mainNav,
    .navBar,
    .menu,
    .tabBar,
    .pageTabs,
    .farmTabs {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        white-space: nowrap !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: thin;
    }

    .pageBtn,
    .nav button,
    .menu button,
    .tabBtn,
    .pageTabs button,
    .farmTabs button {
        flex: 0 0 auto !important;
        min-height: 42px !important;
        padding: 10px 12px !important;
        border-radius: 14px !important;
    }

    .authGrid,
    .loginGrid,
    .landingGrid,
    .homeGrid,
    .dashboardGrid,
    .farmPageGrid,
    .shopPageGrid,
    .cropsPageGrid,
    .marketSectionsGrid,
    .marketEntryGrid,
    .playersGrid,
    .profileGrid,
    .guildGrid,
    .adminGrid,
    .adminPageGrid,
    .questGrid,
    .seasonGrid,
    .hallGrid,
    .cardGrid,
    .luxCardGrid,
    .premiumShopGrid,
    .premiumDecorGrid,
    .premiumCropGrid,
    .infoQuickGrid,
    .infoSectionGrid,
    .luxStatGrid,
    .marketOverviewGrid,
    .profileLayout,
    .twoCols,
    .adminToolGrid,
    .statsGrid,
    .statGrid,
    .inventoryGrid,
    .animalGrid,
    .restaurantGrid,
    .workshopGrid,
    .decorGrid,
    .themeGrid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        min-width: 0 !important;
    }

    #authScreen,
    #loginScreen,
    .authScreen,
    .loginScreen,
    .landingScreen {
        min-height: 100dvh !important;
        padding: 14px !important;
        align-items: start !important;
        justify-content: center !important;
        overflow: auto !important;
    }

    #loginBox,
    #registerBox,
    .authCard,
    .loginCard,
    .registerCard {
        width: 100% !important;
        max-width: 520px !important;
        margin: 0 auto !important;
        padding: 16px !important;
        border-radius: 22px !important;
    }

    .authCard input,
    .loginCard input,
    .registerCard input,
    #loginBox input,
    #registerBox input {
        width: 100% !important;
        min-height: 48px !important;
    }

    .authCard button,
    .loginCard button,
    .registerCard button,
    #loginBox button,
    #registerBox button {
        width: 100% !important;
        min-height: 48px !important;
    }

    .panel {
        border-radius: 20px !important;
        overflow: hidden;
    }

    .panelHead {
        padding: 12px !important;
        gap: 8px !important;
        flex-wrap: wrap !important;
        align-items: flex-start !important;
    }

    .panelHead h2 {
        font-size: 19px !important;
        line-height: 1.18 !important;
    }

    .panelBody {
        padding: 10px !important;
    }

    .scrollArea,
    #farmScroll,
    .farmScroll,
    #shopScroll,
    #decorScroll,
    #marketScroll,
    #workshopScroll,
    #restaurantScroll,
    #profileScroll,
    #guildScroll,
    #questScroll,
    #seasonScroll,
    #logScroll,
    #cropScroll {
        max-height: none !important;
        overflow: auto !important;
        -webkit-overflow-scrolling: touch !important;
        padding-bottom: 14px !important;
    }

    #farmGrid,
    .farmGrid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .tile,
    .farmTile {
        min-height: 96px !important;
        height: auto !important;
        max-width: 100% !important;
        padding: 8px !important;
        border-radius: 16px !important;
        overflow: hidden !important;
    }

    .tileHeader,
    .tileTop {
        font-size: 11px !important;
        line-height: 1 !important;
    }

    .tileCenter,
    .tileBody {
        min-height: 0 !important;
        gap: 3px !important;
    }

    .tileIcon,
    .cropIcon {
        font-size: 26px !important;
        line-height: 1 !important;
    }

    .tileName,
    .cropName {
        font-size: 12px !important;
        line-height: 1.1 !important;
        white-space: normal !important;
    }

    .growBar,
    .tileProgress,
    .progress {
        max-width: 100% !important;
    }

    .tileState,
    .tileStatus,
    .tileFoot {
        font-size: 10px !important;
        line-height: 1.15 !important;
    }

    .tileTimer {
        bottom: 5px !important;
        left: 7px !important;
        font-size: 10px !important;
        line-height: 1 !important;
        padding: 3px 6px !important;
    }

    .farmActions,
    .actions,
    .toolbar,
    .performanceToolbar,
    .pagerActions,
    .marketPickRow,
    .chatComposer,
    .chatInputRow,
    .profileActions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        width: 100% !important;
    }

    .actions button,
    .toolbar button,
    .farmActions button,
    .marketMainBtn,
    .profileActions button,
    .chatComposer button,
    .chatInputRow button {
        width: 100% !important;
    }

    .marketFieldWide {
        grid-column: auto !important;
    }

    .marketSectionCard .marketGrid,
    .leaderList,
    .logList,
    .chatList,
    #chatList {
        max-height: none !important;
        overflow: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    #chatList,
    .chatList {
        max-height: calc(100dvh - 255px) !important;
        min-height: 280px !important;
    }

    .chatMsg,
    .message,
    .chatBubble {
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }

    .chatActions {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
    }

    .chatActions button {
        flex: 1 1 130px !important;
    }

    .themeHeroBox,
    .marketHeroBox,
    .luxModuleHero,
    .infoHero,
    .profileHeroFrame,
    .profileDecorScene {
        padding: 14px !important;
        border-radius: 20px !important;
        min-width: 0 !important;
    }

    .marketHeroTitle,
    .luxModuleTitle,
    .infoHeroTitle,
    .profileHeroTitle {
        font-size: 23px !important;
        line-height: 1.12 !important;
    }

    .marketHeroText,
    .luxModuleText,
    .infoHeroText {
        font-size: 13px !important;
        line-height: 1.55 !important;
    }

    .marketOverviewCard,
    .luxCard,
    .card,
    .shopCard,
    .decoLuxuryCard,
    .cropLuxuryCard,
    .marketListingCard,
    .profileDecorItem {
        border-radius: 18px !important;
        padding: 12px !important;
        min-width: 0 !important;
    }

    .marketListingTop,
    .luxCardTop,
    .cardTop {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }

    .marketListingStats,
    .luxChipRow,
    .luxInfoPills {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 7px !important;
    }

    .marketBadge,
    .marketChip,
    .luxTag,
    .playerStatPill {
        white-space: normal !important;
        line-height: 1.25 !important;
    }

    .modal,
    .dialog,
    .modalCard,
    .popup,
    .wheelModal,
    .chatEditModal,
    .adminModal {
        width: calc(100vw - 24px) !important;
        max-width: calc(100vw - 24px) !important;
        max-height: 88dvh !important;
        overflow: auto !important;
        margin: 12px !important;
        border-radius: 20px !important;
    }

    .modalBackdrop,
    .overlay,
    .dialogBackdrop {
        padding: 10px !important;
        align-items: flex-start !important;
        justify-content: center !important;
        overflow: auto !important;
    }

    .wheelCanvas,
    canvas {
        max-width: 100% !important;
        height: auto !important;
    }

    .toast,
    .toastBox,
    #toast {
        left: 10px !important;
        right: 10px !important;
        bottom: 10px !important;
        width: auto !important;
        max-width: none !important;
        border-radius: 16px !important;
    }

    .hideOnMobile,
    .desktopOnly {
        display: none !important;
    }
}

@media (max-width: 560px) {
    body {
        font-size: 14px !important;
    }

    .panel {
        border-radius: 18px !important;
    }

    .panelHead h2 {
        font-size: 18px !important;
    }

    .panelBody {
        padding: 9px !important;
    }

    #farmGrid,
    .farmGrid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 7px !important;
    }

    .tile,
    .farmTile {
        min-height: 88px !important;
        padding: 7px !important;
    }

    .tileIcon,
    .cropIcon {
        font-size: 23px !important;
    }

    .tileName {
        font-size: 11px !important;
    }

    .tileState,
    .tileStatus,
    .tileFoot {
        font-size: 9.5px !important;
    }

    .marketOverviewGrid,
    .luxMetricGrid,
    .profileDecorItems {
        grid-template-columns: 1fr !important;
    }

    .profileHeroFrame .avatar,
    .avatar {
        max-width: 76px !important;
        max-height: 76px !important;
    }

    .marketHeroTitle,
    .luxModuleTitle,
    .infoHeroTitle,
    .profileHeroTitle {
        font-size: 21px !important;
    }

    .pageBtn {
        min-height: 40px !important;
        padding: 8px 10px !important;
        font-size: 13px !important;
    }
}

@media (max-width: 380px) {
    #farmGrid,
    .farmGrid {
        grid-template-columns: 1fr !important;
    }

    .tile,
    .farmTile {
        min-height: 94px !important;
    }
}

@media (orientation: landscape) and (max-height: 520px) {
    .topbar,
    .appTop,
    .topBar,
    .header,
    .mainHeader {
        padding: 6px 8px !important;
    }

    .pageBtn {
        min-height: 34px !important;
        padding: 7px 10px !important;
    }

    #chatList,
    .chatList {
        max-height: calc(100dvh - 170px) !important;
    }

    .tile,
    .farmTile {
        min-height: 74px !important;
    }
}


/* ===== Theme gallery upgrade + farm skin visual changes ===== */
.themeHeroContent{display:grid;gap:14px;flex:1;min-width:0}
.themeImpactPanel{display:grid;gap:10px;max-width:820px;padding:14px 16px;border-radius:20px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.03));box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.themeImpactTitle{font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.themeTagRow{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.themeTag{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.06);font-size:11px;font-weight:800;letter-spacing:.04em}
.themeImpactList{margin:0;padding-left:18px;display:grid;gap:6px;color:rgba(255,255,255,.88);font-size:13px;line-height:1.45}
.themeChangeText{margin-top:8px;font-size:12px;line-height:1.45;color:rgba(255,255,255,.82)}
.themeCard .themeTagRow{margin-top:10px}
@media (max-width:900px){.themeHeroContent{width:100%}.themeImpactPanel{width:100%}}

body{
  --farmThemePrimary: rgba(255,185,219,.28);
  --farmThemeSecondary: rgba(82,225,255,.16);
  --farmThemeAccent: rgba(255,185,219,.62);
  --farmThemeAccent2: rgba(82,225,255,.62);
  --farmThemeEdge: rgba(255,255,255,.14);
  --farmThemeReadyGlow: rgba(126,255,183,.16);
  --farmThemeEmptyGlow: rgba(255,212,154,.12);
  --farmThemeWetGlow: rgba(107,233,255,.16);
}
body[data-theme="sakura"]{--farmThemePrimary:rgba(255,185,219,.30);--farmThemeSecondary:rgba(112,194,255,.16);--farmThemeAccent:rgba(255,172,220,.72);--farmThemeAccent2:rgba(112,194,255,.62)}
body[data-theme="tokyo"]{--farmThemePrimary:rgba(255,93,184,.34);--farmThemeSecondary:rgba(53,231,255,.20);--farmThemeAccent:rgba(255,113,197,.84);--farmThemeAccent2:rgba(70,233,255,.78)}
body[data-theme="zen"]{--farmThemePrimary:rgba(127,227,199,.26);--farmThemeSecondary:rgba(139,233,255,.14);--farmThemeAccent:rgba(144,235,208,.74);--farmThemeAccent2:rgba(148,239,255,.60)}
body[data-theme="moonlit"]{--farmThemePrimary:rgba(144,155,255,.30);--farmThemeSecondary:rgba(138,197,255,.16);--farmThemeAccent:rgba(159,168,255,.76);--farmThemeAccent2:rgba(138,197,255,.62)}
body[data-theme="shogun"]{--farmThemePrimary:rgba(255,120,102,.28);--farmThemeSecondary:rgba(255,186,122,.14);--farmThemeAccent:rgba(255,132,112,.76);--farmThemeAccent2:rgba(255,196,134,.62)}
body[data-theme="imperial"]{--farmThemePrimary:rgba(255,188,102,.30);--farmThemeSecondary:rgba(255,227,140,.16);--farmThemeAccent:rgba(255,202,122,.80);--farmThemeAccent2:rgba(255,227,140,.68)}
body[data-theme="aurora"]{--farmThemePrimary:rgba(111,255,242,.28);--farmThemeSecondary:rgba(155,123,255,.16);--farmThemeAccent:rgba(127,255,245,.82);--farmThemeAccent2:rgba(175,135,255,.68)}
body[data-theme="celestial"]{--farmThemePrimary:rgba(255,140,243,.30);--farmThemeSecondary:rgba(130,255,244,.16);--farmThemeAccent:rgba(255,156,238,.82);--farmThemeAccent2:rgba(130,255,244,.70)}
body[data-theme="jadeDynasty"]{--farmThemePrimary:rgba(118,255,195,.28);--farmThemeSecondary:rgba(88,220,255,.14);--farmThemeAccent:rgba(138,255,205,.80);--farmThemeAccent2:rgba(102,225,255,.60)}
body[data-theme="eclipseHarbor"]{--farmThemePrimary:rgba(165,128,255,.28);--farmThemeSecondary:rgba(88,168,255,.14);--farmThemeAccent:rgba(176,140,255,.80);--farmThemeAccent2:rgba(100,180,255,.62)}
body[data-theme="lotusEmpire"]{--farmThemePrimary:rgba(255,204,116,.28);--farmThemeSecondary:rgba(255,132,165,.14);--farmThemeAccent:rgba(255,214,132,.82);--farmThemeAccent2:rgba(255,146,180,.60)}
body[data-theme="stormTemple"]{--farmThemePrimary:rgba(102,188,255,.28);--farmThemeSecondary:rgba(155,226,255,.16);--farmThemeAccent:rgba(124,198,255,.78);--farmThemeAccent2:rgba(165,232,255,.64)}
body[data-theme="phoenixSkyline"]{--farmThemePrimary:rgba(255,132,84,.30);--farmThemeSecondary:rgba(255,208,104,.16);--farmThemeAccent:rgba(255,145,94,.82);--farmThemeAccent2:rgba(255,214,120,.66)}
body[data-theme="dragonSanctum"]{--farmThemePrimary:rgba(110,255,228,.28);--farmThemeSecondary:rgba(140,176,255,.16);--farmThemeAccent:rgba(122,255,236,.84);--farmThemeAccent2:rgba(152,188,255,.68)}
body[data-theme="mistGarden"]{--farmThemePrimary:rgba(187,239,255,.24);--farmThemeSecondary:rgba(136,255,236,.12);--farmThemeAccent:rgba(197,243,255,.72);--farmThemeAccent2:rgba(144,255,240,.60)}
body[data-theme="neonCanal"]{--farmThemePrimary:rgba(107,255,242,.24);--farmThemeSecondary:rgba(137,179,255,.14);--farmThemeAccent:rgba(123,255,245,.78);--farmThemeAccent2:rgba(147,188,255,.62)}
body[data-theme="obsidianPagoda"]{--farmThemePrimary:rgba(255,205,130,.20);--farmThemeSecondary:rgba(255,156,103,.12);--farmThemeAccent:rgba(255,210,140,.68);--farmThemeAccent2:rgba(255,170,118,.58)}
body[data-theme="silverBamboo"]{--farmThemePrimary:rgba(206,236,255,.24);--farmThemeSecondary:rgba(156,255,227,.12);--farmThemeAccent:rgba(216,240,255,.74);--farmThemeAccent2:rgba(170,255,232,.58)}
body[data-theme="oracleGarden"]{--farmThemePrimary:rgba(200,139,255,.26);--farmThemeSecondary:rgba(130,193,255,.14);--farmThemeAccent:rgba(210,152,255,.78);--farmThemeAccent2:rgba(140,205,255,.62)}
body[data-theme="nebulaCourtyard"]{--farmThemePrimary:rgba(255,156,229,.26);--farmThemeSecondary:rgba(145,166,255,.14);--farmThemeAccent:rgba(255,168,233,.80);--farmThemeAccent2:rgba(158,178,255,.62)}
body[data-theme="rubyLotus"]{--farmThemePrimary:rgba(255,117,156,.28);--farmThemeSecondary:rgba(255,173,196,.14);--farmThemeAccent:rgba(255,132,168,.80);--farmThemeAccent2:rgba(255,182,205,.58)}
body[data-theme="crimson"]{--farmThemePrimary:rgba(255,94,145,.30);--farmThemeSecondary:rgba(255,178,119,.14);--farmThemeAccent:rgba(255,108,155,.84);--farmThemeAccent2:rgba(255,188,132,.58)}
body[data-theme="frostHalo"]{--farmThemePrimary:rgba(172,232,255,.28);--farmThemeSecondary:rgba(122,188,255,.14);--farmThemeAccent:rgba(182,236,255,.82);--farmThemeAccent2:rgba(134,198,255,.60)}
body[data-theme="void"]{--farmThemePrimary:rgba(132,119,255,.28);--farmThemeSecondary:rgba(59,224,255,.14);--farmThemeAccent:rgba(146,132,255,.82);--farmThemeAccent2:rgba(74,228,255,.60)}
body[data-theme="empressCircuit"]{--farmThemePrimary:rgba(255,191,122,.26);--farmThemeSecondary:rgba(255,141,103,.14);--farmThemeAccent:rgba(255,202,140,.80);--farmThemeAccent2:rgba(255,155,120,.60)}
body[data-theme="solar"]{--farmThemePrimary:rgba(255,187,73,.30);--farmThemeSecondary:rgba(255,119,87,.14);--farmThemeAccent:rgba(255,198,88,.84);--farmThemeAccent2:rgba(255,132,98,.58)}
body[data-theme="astralTemple"]{--farmThemePrimary:rgba(189,150,255,.28);--farmThemeSecondary:rgba(132,154,255,.14);--farmThemeAccent:rgba(199,162,255,.82);--farmThemeAccent2:rgba(142,166,255,.60)}
body[data-theme="mythic"]{--farmThemePrimary:rgba(107,255,210,.24);--farmThemeSecondary:rgba(94,167,255,.14);--farmThemeAccent:rgba(119,255,220,.80);--farmThemeAccent2:rgba(106,177,255,.60)}
body[data-theme="prismCrown"]{--farmThemePrimary:rgba(155,255,239,.26);--farmThemeSecondary:rgba(196,150,255,.16);--farmThemeAccent:rgba(167,255,242,.80);--farmThemeAccent2:rgba(205,164,255,.66)}
body[data-theme="transcendent"]{--farmThemePrimary:rgba(255,130,236,.30);--farmThemeSecondary:rgba(122,255,240,.16);--farmThemeAccent:rgba(255,142,239,.86);--farmThemeAccent2:rgba(136,255,242,.72)}

body[data-theme] #farmPage .tile{
  position:relative;
  overflow:hidden;
  border-color:var(--farmThemeEdge)!important;
  background:
    radial-gradient(circle at 50% 0, var(--farmThemePrimary), transparent 38%),
    radial-gradient(circle at 14% 100%, var(--farmThemeSecondary), transparent 40%),
    linear-gradient(145deg, rgba(26,34,58,.84), rgba(9,14,27,.94))!important;
  box-shadow:0 16px 32px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.05)!important;
}
body[data-theme] #farmPage .tile::before{
  content:"";position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 42%),radial-gradient(circle at 50% 0,var(--farmThemePrimary),transparent 46%);
  pointer-events:none;z-index:0;opacity:.95;
}
body[data-theme] #farmPage .tile::after{
  content:"";position:absolute;left:12%;right:12%;bottom:8px;height:2px;border-radius:999px;
  background:linear-gradient(90deg,transparent,var(--farmThemeAccent),var(--farmThemeAccent2),transparent);
  pointer-events:none;z-index:1;opacity:.85;
}
body[data-theme] #farmPage .tile:hover{transform:translateY(-3px) scale(1.01)!important;border-color:rgba(255,255,255,.24)!important;box-shadow:0 22px 40px rgba(0,0,0,.30),0 0 30px color-mix(in srgb, var(--farmThemeAccent) 22%, transparent)!important}
body[data-theme] #farmPage .tile > *{position:relative;z-index:2}
body[data-theme] #farmPage .tile.empty{
  background:
    radial-gradient(circle at 50% 0, var(--farmThemeEmptyGlow), transparent 34%),
    radial-gradient(circle at 80% 16%, var(--farmThemePrimary), transparent 28%),
    linear-gradient(145deg, rgba(48,40,57,.74), rgba(12,16,30,.94))!important;
}
body[data-theme] #farmPage .tile.ready{
  background:
    radial-gradient(circle at 50% 12%, var(--farmThemeReadyGlow), transparent 32%),
    radial-gradient(circle at 14% 100%, var(--farmThemeSecondary), transparent 40%),
    linear-gradient(145deg, rgba(25,76,62,.66), rgba(10,17,31,.94))!important;
  box-shadow:0 20px 38px rgba(0,0,0,.28),0 0 28px rgba(126,255,183,.12)!important;
}
body[data-theme] #farmPage .tile.growing{border-color:rgba(255,255,255,.16)!important}
body[data-theme] #farmPage .tile.wet:not(.ready){box-shadow:inset 0 0 0 1px rgba(107,233,255,.28), inset 0 0 24px var(--farmThemeWetGlow), 0 16px 32px rgba(0,0,0,.24)!important}
body[data-theme] #farmPage .tile.fertilized{box-shadow:0 18px 36px rgba(0,0,0,.26),0 0 24px color-mix(in srgb, var(--farmThemeAccent2) 20%, transparent)!important}
body[data-theme] #farmPage .tile.locked{background:linear-gradient(145deg,rgba(52,54,73,.55),rgba(13,15,25,.94))!important;opacity:.74;filter:saturate(.76)}
body[data-theme] #farmPage .growBar{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.06)}
body[data-theme] #farmPage .growBar span{background:linear-gradient(90deg,var(--farmThemeAccent),var(--farmThemeAccent2))!important;box-shadow:0 0 18px color-mix(in srgb, var(--farmThemeAccent) 26%, transparent)}
body[data-theme] #farmPage .tileState{background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.10);backdrop-filter:blur(8px)}
body[data-theme] #farmPage .tileStateFree{border-color:rgba(255,255,255,.14)!important}
body[data-theme] #farmPage .tileIcon{filter:drop-shadow(0 4px 10px rgba(0,0,0,.28))}


/* ===== Brutal farm page background + themed farm buttons/top panel ===== */
body[data-theme] #farmPage.active{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-radius:30px;
  background:
    radial-gradient(circle at 8% 12%, var(--farmThemePrimary), transparent 24%),
    radial-gradient(circle at 90% 18%, var(--farmThemeSecondary), transparent 26%),
    radial-gradient(circle at 50% 120%, rgba(255,255,255,.04), transparent 30%),
    linear-gradient(180deg, rgba(8,14,28,.92), rgba(5,8,18,.96));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 28px 70px rgba(0,0,0,.28);
}
body[data-theme] #farmPage.active::before{
  content:"";
  position:absolute;
  inset:-10% -8% auto -8%;
  height:52%;
  background:
    radial-gradient(circle at 18% 26%, var(--farmThemePrimary), transparent 20%),
    radial-gradient(circle at 82% 14%, var(--farmThemeSecondary), transparent 22%),
    linear-gradient(180deg, rgba(255,255,255,.03), transparent 72%);
  filter:blur(18px);
  opacity:.95;
  pointer-events:none;
  z-index:0;
}
body[data-theme] #farmPage.active::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(115deg, transparent 0%, rgba(255,255,255,.03) 22%, transparent 40%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.02) 0 1px, transparent 1px 74px),
    repeating-linear-gradient(180deg, rgba(255,255,255,.015) 0 1px, transparent 1px 74px);
  mask:linear-gradient(180deg, rgba(0,0,0,.58), transparent 88%);
  pointer-events:none;
  z-index:0;
}
body[data-theme] #farmPage.active > *{position:relative;z-index:1}
body[data-theme] #farmPage .farmPanel{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at top center, rgba(255,255,255,.055), transparent 36%),
    radial-gradient(circle at 15% 0, var(--farmThemePrimary), transparent 26%),
    radial-gradient(circle at 88% 10%, var(--farmThemeSecondary), transparent 24%),
    linear-gradient(145deg, rgba(17,23,43,.86), rgba(8,12,24,.94));
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 26px 58px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.06), inset 0 0 0 1px rgba(255,255,255,.02)!important;
}
body[data-theme] #farmPage .farmPanel::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.06), transparent 28%, transparent 66%, rgba(255,255,255,.02) 100%);
  pointer-events:none;
  z-index:0;
}
body[data-theme] #farmPage .farmPanel > .panelHead,
body[data-theme] #farmPage .farmPanel > .panelBody,
body[data-theme] #farmPage .farmPanel > .panelHead > *,
body[data-theme] #farmPage .farmPanel > .panelBody > *{position:relative;z-index:1}
body[data-theme] #farmPage .farmPanel>.panelHead{
  background:
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.025)),
    linear-gradient(90deg, var(--farmThemePrimary), transparent 55%, var(--farmThemeSecondary));
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.03);
}
body[data-theme] #farmPage .farmPanel>.panelHead h2{
  text-shadow:0 8px 18px rgba(0,0,0,.32);
  letter-spacing:.01em;
}
body[data-theme] #farmPage .farmPanel>.panelBody{
  background:linear-gradient(180deg, rgba(255,255,255,.02), transparent 10%, rgba(255,255,255,.015) 100%);
}
body[data-theme] #farmPage .farmTop,
body[data-theme] #farmPage .farmWorldBar{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 0% 0%, var(--farmThemePrimary), transparent 24%),
    radial-gradient(circle at 100% 0%, var(--farmThemeSecondary), transparent 24%),
    linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 14px 28px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.06)!important;
  backdrop-filter:blur(14px);
}
body[data-theme] #farmPage .farmTop::before,
body[data-theme] #farmPage .farmWorldBar::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.08), transparent 36%);
  pointer-events:none;
}
body[data-theme] #farmPage .tag,
body[data-theme] #farmPage .farmWorldSummary{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.10)!important;
  color:#eef6ff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
body[data-theme] #farmPage .farmWorldBtn{
  position:relative;
  overflow:hidden;
  border:2px solid rgba(255,255,255,.12)!important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.025)),
    linear-gradient(135deg, var(--farmThemePrimary), transparent 70%);
  color:#f2f7ff!important;
  box-shadow:0 12px 22px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.05)!important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
body[data-theme] #farmPage .farmWorldBtn::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.08), transparent 45%);
  pointer-events:none;
}
body[data-theme] #farmPage .farmWorldBtn:hover{
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.20)!important;
  box-shadow:0 16px 28px rgba(0,0,0,.22), 0 0 20px rgba(255,255,255,.04)!important;
}
body[data-theme] #farmPage .farmWorldBtn.active{
  background:
    linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.03)),
    linear-gradient(135deg, var(--farmThemePrimary), var(--farmThemeSecondary));
  border-color: rgb(169 131 255 / 76%) !important;
  box-shadow:0 18px 32px rgba(0,0,0,.24), 0 0 28px rgba(255,255,255,.06)!important;
}
body[data-theme] #farmPage .farmWorldBtn.locked{
  opacity:.58;
  filter:saturate(.72) grayscale(.08);
}
body[data-theme] #farmPage button:not(.farmWorldBtn){
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12)!important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.025)),
    linear-gradient(135deg, var(--farmThemePrimary), transparent 78%);
  color:#f5f8ff!important;
  box-shadow:0 14px 26px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.06)!important;
}
body[data-theme] #farmPage button:not(.farmWorldBtn)::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.09), transparent 48%);
  pointer-events:none;
}
body[data-theme] #farmPage button:not(.farmWorldBtn):hover{
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.20)!important;
  box-shadow:0 18px 32px rgba(0,0,0,.24)!important;
}
body[data-theme] #farmPage button.gold,
body[data-theme] #farmPage button.green,
body[data-theme] #farmPage button.secondary{
  background:
    linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.03)),
    linear-gradient(135deg, var(--farmThemePrimary), var(--farmThemeSecondary))!important;
}
body[data-theme] #farmPage .panelHead .actions button,
body[data-theme] #farmPage .farmTop button{
  min-height:40px;
  border-radius:14px;
}
body[data-theme] #farmPage .farmWorldSummary{
  padding:10px 12px;
  border-radius:16px;
}
@media (max-width:900px){
  body[data-theme] #farmPage.active{border-radius:22px}
  body[data-theme] #farmPage .farmTop,
  body[data-theme] #farmPage .farmWorldBar{backdrop-filter:blur(10px)}
  body[data-theme] #farmPage .panelHead .actions button,
  body[data-theme] #farmPage .farmTop button{min-height:36px}
}


/* ===== Tokyo Chat total redesign ===== */
.chatRocketGrid{display:grid;gap:16px;min-height:0}
.tokyoChatPanel{overflow:hidden}
.tokyoChatHead{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.tokyoHeadPills{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.tokyoHeadPill{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border-radius:999px;background:linear-gradient(135deg,rgba(255,97,178,.16),rgba(107,233,255,.12));border:1px solid rgba(255,255,255,.12);color:#f7fbff;font-size:12px;font-weight:900;letter-spacing:.04em;box-shadow:0 10px 22px rgba(0,0,0,.14)}
.tokyoHeadPillSoft{background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.03));color:#d6e3ff}
.tokyoChatBody{display:grid;gap:16px;background:radial-gradient(circle at top right,rgba(95,208,255,.08),transparent 28%),radial-gradient(circle at top left,rgba(255,118,236,.10),transparent 30%),linear-gradient(180deg,rgba(255,255,255,.02),transparent 18%,rgba(255,255,255,.015) 100%)}
.tokyoChatHero{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.9fr);gap:16px;padding:18px;border-radius:28px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(135deg,rgba(95,35,105,.42),rgba(16,41,92,.44));box-shadow:0 26px 48px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.06);overflow:hidden}
.tokyoChatHero::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 30%),repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,transparent 1px 86px);pointer-events:none}
.tokyoChatHeroMain,.tokyoHeroStats{position:relative;z-index:1}
.tokyoHeroEyebrow{font-size:11px;font-weight:1000;letter-spacing:.22em;color:#d9def7;text-transform:uppercase}
.tokyoHeroTitle{font-size:32px;font-weight:1000;line-height:1.05;margin-top:10px;text-shadow:0 10px 24px rgba(0,0,0,.24)}
.tokyoHeroText{max-width:760px;margin-top:10px;font-size:14px;line-height:1.65;color:#dce5fb}
.tokyoHeroTags{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
.tokyoHeroTag{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);font-size:12px;font-weight:900;color:#eef6ff;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.tokyoHeroStats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-content:stretch}
.tokyoHeroStatCard{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:16px 14px;border-radius:22px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(6,12,26,.42),rgba(8,15,31,.74));box-shadow:0 18px 30px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.05);min-height:132px}
.tokyoHeroStatLabel{font-size:11px;font-weight:900;letter-spacing:.12em;color:#a9b6d8;text-transform:uppercase}
.tokyoHeroStatCard strong{font-size:32px;line-height:1;color:#fff;text-shadow:0 10px 22px rgba(0,0,0,.26)}
.tokyoHeroStatSub{font-size:12px;color:#cfd8ef}
.tokyoChatStage{display:grid;gap:16px}
.tokyoChatFeed{display:grid;gap:0;border:1px solid rgba(255,255,255,.12);border-radius:26px;background:linear-gradient(180deg,rgba(5,10,20,.86),rgba(8,13,25,.96));box-shadow:0 28px 54px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.04);overflow:hidden}
.tokyoChatFeedBar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.02))}
.tokyoFeedTitleWrap{display:flex;align-items:flex-start;gap:12px;min-width:0}
.tokyoGlowDot{width:12px;height:12px;border-radius:999px;background:linear-gradient(135deg,#67e9ff,#ff72d8);box-shadow:0 0 0 4px rgba(103,233,255,.10),0 0 18px rgba(255,114,216,.34);margin-top:7px;flex:0 0 auto}
.tokyoFeedTitle{font-size:18px;font-weight:1000;color:#fff;line-height:1.15}
.tokyoFeedSubtitle{font-size:12px;color:#adbcda;line-height:1.45;margin-top:4px}
.tokyoFeedBadges{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.tokyoFeedBadge{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#edf5ff;font-size:12px;font-weight:900;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.tokyoFeedBadgeSoft{background:rgba(255,255,255,.04);color:#cbd8f5}
.tokyoChatList{position:relative;display:grid;gap:12px;align-content:start;min-height:460px;max-height:calc(100dvh - 410px);padding:18px;background:radial-gradient(circle at top left,rgba(255,96,178,.08),transparent 24%),radial-gradient(circle at top right,rgba(107,233,255,.07),transparent 26%),linear-gradient(180deg,rgba(255,255,255,.012),transparent 15%);scrollbar-gutter:stable both-edges}
.tokyoChatList::before{content:"";position:absolute;left:31px;top:0;bottom:0;width:1px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,0));pointer-events:none}
.tokyoChatEmpty{display:grid;justify-items:center;gap:10px;padding:36px 20px;border-radius:24px;border:1px dashed rgba(255,255,255,.16);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));color:#d8e4fd;text-align:center}
.tokyoChatEmpty strong{font-size:18px;color:#fff}
.tokyoChatEmpty span{font-size:13px;color:#b9c6e2;max-width:460px;line-height:1.55}
.tokyoChatEmptyIcon{display:grid;place-items:center;width:62px;height:62px;border-radius:20px;background:linear-gradient(135deg,rgba(255,97,178,.18),rgba(107,233,255,.12));border:1px solid rgba(255,255,255,.12);font-size:28px;box-shadow:0 18px 32px rgba(0,0,0,.18)}
.chatMsg{position:relative;max-width:min(100%,1160px);padding:16px 16px 14px 16px;border-radius:24px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.025));box-shadow:0 18px 34px rgba(0,0,0,.18);overflow:hidden}
.chatMsg::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:4px;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.03))}
.chatMsg.me{margin-left:auto;border-radius:26px 26px 12px 26px;border-color:rgba(107,233,255,.34);background:linear-gradient(135deg,rgba(68,179,255,.17),rgba(60,255,214,.09),rgba(255,255,255,.03));box-shadow:0 0 0 1px rgba(107,233,255,.12),0 22px 40px rgba(0,0,0,.20)}
.chatMsg.me::before{background:linear-gradient(180deg,rgba(107,233,255,.82),rgba(120,255,232,.28))}
.chatMsg.other{margin-right:auto;border-radius:26px 26px 26px 12px}
.chatMsg.other::before{background:linear-gradient(180deg,rgba(255,150,222,.78),rgba(255,150,222,.18))}
.chatMsg.system{margin-right:auto;border-radius:26px 26px 26px 12px;border-color:rgba(255,216,109,.30);background:linear-gradient(135deg,rgba(255,216,109,.16),rgba(255,255,255,.03));box-shadow:0 20px 40px rgba(0,0,0,.18)}
.chatMsg.system::before{background:linear-gradient(180deg,rgba(255,216,109,.86),rgba(255,216,109,.22))}
.chatMsg.pm{box-shadow:0 0 0 1px rgba(130,255,244,.10),0 18px 36px rgba(0,0,0,.18)}
.chatMeta{margin-bottom:6px}
.chatMetaMain{align-items:flex-start;gap:12px}
.chatAvatarBubble{width:46px;height:46px;flex:0 0 46px;border-radius:17px;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.12);font-size:23px;box-shadow:0 14px 24px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.05)}
.chatIdentity{gap:4px}
.chatNameRow{gap:9px}
.chatName{font-size:17px;max-width:340px}
.chatAuthorBadge{padding:4px 8px;font-size:10px;letter-spacing:.08em}
.chatTitle{max-width:500px}
.chatText{margin-top:12px!important;font-size:16px;line-height:1.72;color:#f6fbff}
.chatActions{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.07);gap:9px;justify-content:flex-end;flex-wrap:wrap}
.pmBadge{padding:5px 10px;background:rgba(130,255,244,.10);border-color:rgba(130,255,244,.24);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.chatEditBtn,.chatCopyBtn,.pmReplyBtn{min-height:34px;padding:6px 11px;border-radius:999px;box-shadow:0 10px 18px rgba(0,0,0,.10)}
.typingIndicator{margin:2px 0 0 0;padding:12px 14px;border-radius:18px;background:linear-gradient(135deg,rgba(130,255,244,.10),rgba(255,255,255,.04));border:1px solid rgba(130,255,244,.16);box-shadow:0 12px 24px rgba(0,0,0,.12)}
.tokyoComposerShell{display:grid;gap:12px;padding:16px;border-radius:24px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(14,19,36,.88),rgba(8,13,26,.95));box-shadow:0 22px 40px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.05)}
.tokyoComposerTop{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.tokyoComposerLabel{display:grid;gap:6px}
.tokyoComposerTitle{font-size:18px;font-weight:1000;color:#fff}
.tokyoComposerHint{font-size:13px;color:#b6c4e1;line-height:1.5}
.tokyoComposerMeta{display:flex;flex-wrap:wrap;gap:8px}
.tokyoChatComposer{gap:12px}
.tokyoChatForm{display:grid;grid-template-columns:minmax(180px,240px) 1fr auto auto;gap:10px}
.tokyoTargetSelect{min-height:52px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));border-color:rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
#chatInput{min-height:52px;border-radius:18px;padding:0 16px;font-size:15px;background:linear-gradient(180deg,rgba(6,10,22,.92),rgba(4,8,18,.98));border:1px solid rgba(107,233,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 10px 20px rgba(0,0,0,.10);color:#fff}
#chatInput::placeholder{color:#8f9db9}
#chatInput:focus{border-color:rgba(107,233,255,.44);box-shadow:0 0 0 4px rgba(107,233,255,.10),inset 0 1px 0 rgba(255,255,255,.04)}
.tokyoEmojiBtn,.tokyoSendBtn{min-height:52px;padding:0 16px;border-radius:18px;font-weight:1000;letter-spacing:.01em}
.tokyoEmojiBtn{background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.12);box-shadow:0 14px 24px rgba(0,0,0,.12)}
.tokyoSendBtn{background:linear-gradient(135deg,rgba(255,98,179,.92),rgba(255,129,213,.84));border:1px solid rgba(255,175,224,.32);color:#fff;box-shadow:0 18px 34px rgba(255,97,178,.20),inset 0 1px 0 rgba(255,255,255,.16)}
.tokyoSendBtn:hover{transform:translateY(-1px);box-shadow:0 22px 38px rgba(255,97,178,.26),inset 0 1px 0 rgba(255,255,255,.18)}
#chatPage.pmMode .tokyoChatHero{background:linear-gradient(135deg,rgba(23,79,96,.42),rgba(24,43,90,.44))}
#chatPage.pmMode .tokyoHeadPill:first-child,#chatPage.pmMode .tokyoFeedBadge:first-child{background:linear-gradient(135deg,rgba(107,233,255,.18),rgba(130,255,244,.10));border-color:rgba(107,233,255,.24)}
@media (max-width:1180px){.tokyoChatHero{grid-template-columns:1fr}.tokyoHeroStats{grid-template-columns:repeat(3,minmax(0,1fr))}.tokyoChatList{max-height:calc(100dvh - 450px)}}
@media (max-width:900px){.tokyoChatHead{align-items:flex-start}.tokyoChatHero{padding:16px;border-radius:22px}.tokyoHeroTitle{font-size:26px}.tokyoHeroStats{grid-template-columns:1fr}.tokyoHeroStatCard{min-height:100px}.tokyoChatFeedBar,.tokyoComposerTop{padding-left:14px;padding-right:14px}.tokyoChatList{padding:14px;max-height:58dvh}.tokyoChatList::before{left:24px}.chatMsg.me,.chatMsg.other,.chatMsg.system{margin-left:0;margin-right:0;max-width:100%}.chatName{max-width:220px}.tokyoChatForm,.chatForm.hasPmTarget.tokyoChatForm{grid-template-columns:1fr auto auto}.tokyoTargetSelect{grid-column:1/-1}.tokyoEmojiBtn,.tokyoSendBtn,#chatInput,.tokyoTargetSelect{min-height:48px}}
@media (max-width:620px){.tokyoHeadPills,.tokyoFeedBadges,.tokyoComposerMeta,.tokyoHeroTags{width:100%}.tokyoFeedBadges,.tokyoComposerMeta{justify-content:flex-start}.tokyoHeroTitle{font-size:23px}.tokyoChatFeedBar,.tokyoComposerShell{padding:12px}.tokyoChatList{padding:12px}.chatAvatarBubble{width:40px;height:40px;flex-basis:40px;font-size:20px}.chatText{font-size:15px}.chatActions{justify-content:flex-start}}


/* ===== Tokyo Chat hotfix: zprávy už se nesmršťují do úzkých proužků ===== */
.tokyoChatList{
  align-items:start!important;
  grid-auto-rows:auto!important;
}
.tokyoChatList .chatMsg{
  width:min(980px, calc(100% - 18px))!important;
  max-width:980px!important;
  min-width:min(520px, calc(100% - 18px))!important;
  min-height:94px!important;
  height:auto!important;
  max-height:none!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  display:block!important;
  align-self:start!important;
  justify-self:start!important;
  margin:0!important;
  padding:16px 18px 14px!important;
}
.tokyoChatList .chatMsg.me{
  justify-self:end!important;
  margin:0!important;
}
.tokyoChatList .chatMsg.other,
.tokyoChatList .chatMsg.system{
  justify-self:start!important;
  margin:0!important;
}
.tokyoChatList .chatMeta,
.tokyoChatList .chatMetaMain,
.tokyoChatList .chatIdentity,
.tokyoChatList .chatNameRow,
.tokyoChatList .chatTitle,
.tokyoChatList .chatText,
.tokyoChatList .chatActions{
  position:relative!important;
  z-index:2!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  visibility:visible!important;
  opacity:1!important;
}
.tokyoChatList .chatText{
  display:block!important;
  margin-top:12px!important;
  white-space:pre-wrap!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  color:#f6fbff!important;
}
.tokyoChatList .chatActions{
  display:flex!important;
  flex-wrap:wrap!important;
}
.tokyoChatList .chatMsg::before{
  z-index:1!important;
}
@media (max-width:900px){
  .tokyoChatList .chatMsg{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:86px!important;
  }
}


/* ===== Tokyo Chat hotfix v2: normální bubliny + composer vždy vidět ===== */
.tokyoChatStage{
  grid-template-rows:minmax(0,1fr) auto!important;
  align-items:start!important;
  min-height:0!important;
}
.tokyoChatFeed{
  min-height:0!important;
}
.tokyoChatList{
  min-height:320px!important;
  max-height:clamp(340px,52dvh,620px)!important;
  overflow:auto!important;
  align-content:start!important;
}
.tokyoChatList .chatMsg{
  width:fit-content!important;
  max-width:min(780px,68%)!important;
  min-width:320px!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:16px 18px 14px!important;
}
.tokyoChatList .chatMsg.me{
  justify-self:end!important;
  align-self:start!important;
}
.tokyoChatList .chatMsg.other,
.tokyoChatList .chatMsg.system{
  justify-self:start!important;
  align-self:start!important;
}
.tokyoChatList .chatMetaMain{
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
}
.tokyoChatList .chatIdentity{
  display:grid!important;
  gap:4px!important;
}
.tokyoChatList .chatNameRow{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:8px!important;
}
.tokyoChatList .chatText{
  display:block!important;
  width:100%!important;
  margin-top:12px!important;
  line-height:1.65!important;
}
.tokyoChatList .chatActions{
  justify-content:flex-end!important;
}
.tokyoComposerShell{
  position:sticky!important;
  bottom:0!important;
  z-index:20!important;
  margin-top:4px!important;
}
.tokyoComposerShell,
.tokyoChatFeedBar{
  backdrop-filter:blur(14px)!important;
}
#chatInput,
#sendChatBtn,
#chatEmojiBtn,
#chatTargetSelect{
  position:relative!important;
  z-index:2!important;
}
@media (max-width:900px){
  .tokyoChatList{
    max-height:56dvh!important;
  }
  .tokyoChatList .chatMsg{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .tokyoChatList .chatActions{
    justify-content:flex-start!important;
  }
  .tokyoComposerShell{
    bottom:8px!important;
  }
}


/* ===== Tokyo Chat final overlap hotfix ===== */
#chatPage .tokyoChatStage{
  display:flex !important;
  flex-direction:column !important;
  gap:16px !important;
  min-height:0 !important;
}
#chatPage .tokyoChatFeed{
  display:flex !important;
  flex-direction:column !important;
  min-height:0 !important;
  overflow:hidden !important;
}
#chatPage .tokyoChatFeedBar{
  flex:0 0 auto !important;
}
#chatPage .tokyoChatList{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:14px !important;
  min-height:360px !important;
  max-height:56dvh !important;
  padding:16px !important;
  overflow:auto !important;
  overflow-x:hidden !important;
  position:relative !important;
}
#chatPage .tokyoChatList::before{
  left:34px !important;
}
#chatPage .tokyoChatList > .chatMsg,
#chatPage .tokyoChatList > .typingIndicator,
#chatPage .tokyoChatList > .tokyoChatEmpty{
  flex:0 0 auto !important;
}
#chatPage .tokyoChatList > .chatMsg{
  display:block !important;
  position:relative !important;
  width:100% !important;
  max-width:760px !important;
  min-width:0 !important;
  height:auto !important;
  min-height:unset !important;
  margin:0 !important;
  padding:16px 18px 14px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  align-self:flex-start !important;
}
#chatPage .tokyoChatList > .chatMsg.me{
  align-self:flex-end !important;
}
#chatPage .tokyoChatList > .chatMsg.other,
#chatPage .tokyoChatList > .chatMsg.system{
  align-self:flex-start !important;
}
#chatPage .tokyoChatList .chatMeta,
#chatPage .tokyoChatList .chatMetaMain,
#chatPage .tokyoChatList .chatIdentity,
#chatPage .tokyoChatList .chatNameRow,
#chatPage .tokyoChatList .chatTitle,
#chatPage .tokyoChatList .chatText,
#chatPage .tokyoChatList .chatActions{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:auto !important;
  min-height:unset !important;
  max-height:none !important;
  overflow:visible !important;
  white-space:normal !important;
  box-sizing:border-box !important;
}
#chatPage .tokyoChatList .chatMetaMain{
  display:flex !important;
  align-items:flex-start !important;
  gap:12px !important;
}
#chatPage .tokyoChatList .chatIdentity{
  display:grid !important;
  gap:4px !important;
}
#chatPage .tokyoChatList .chatNameRow{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:8px !important;
}
#chatPage .tokyoChatList .chatText{
  margin-top:12px !important;
  line-height:1.65 !important;
  white-space:pre-wrap !important;
  overflow-wrap:anywhere !important;
}
#chatPage .tokyoChatList .chatActions{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:8px !important;
  flex-wrap:wrap !important;
  margin-top:12px !important;
}
#chatPage .tokyoComposerShell{
  position:relative !important;
  bottom:auto !important;
  inset:auto !important;
  z-index:5 !important;
  margin-top:0 !important;
}
#chatPage .tokyoChatComposer,
#chatPage .tokyoChatForm{
  position:relative !important;
  z-index:6 !important;
}
#chatPage #chatInput,
#chatPage #chatEmojiBtn,
#chatPage #sendChatBtn,
#chatPage #chatTargetSelect{
  pointer-events:auto !important;
}

.updateCardNewest .updateCardInner{
    border-color:rgba(255,154,215,.24);
    box-shadow:0 18px 42px rgba(0,0,0,.26), 0 0 26px rgba(255,137,207,.10), inset 0 1px 0 rgba(255,255,255,.07);
}
.updateCardNewest .updateDot{
    transform:scale(1.08);
    box-shadow:0 10px 22px rgba(0,0,0,.22), 0 0 24px rgba(255,154,215,.24);
}

@media (max-width: 900px){
  #chatPage .tokyoChatList{
    max-height:58dvh !important;
    padding:14px !important;
  }
  #chatPage .tokyoChatList > .chatMsg{
    max-width:100% !important;
    width:100% !important;
  }
  #chatPage .tokyoChatList .chatActions{
    justify-content:flex-start !important;
  }
}


/* ===== Tokyo Chat CLEAN FINAL: praktický full-width layout bez překrývání ===== */
#chatPage,
#chatPage *{
  box-sizing:border-box;
}
#chatPage .chatRocketGrid,
#chatPage .tokyoChatPanel,
#chatPage .tokyoChatBody,
#chatPage .tokyoChatStage{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
}
#chatPage .tokyoChatBody{
  display:grid !important;
  gap:12px !important;
  padding:12px !important;
}
#chatPage .tokyoChatHero{
  display:none !important;
}
#chatPage .tokyoChatStage{
  display:grid !important;
  grid-template-rows:minmax(0,1fr) auto !important;
  gap:12px !important;
  height:calc(100dvh - 220px) !important;
  min-height:560px !important;
  max-height:none !important;
  overflow:hidden !important;
}
#chatPage .tokyoChatFeed{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  min-height:0 !important;
  height:100% !important;
  display:grid !important;
  grid-template-rows:auto minmax(0,1fr) !important;
  overflow:hidden !important;
  border-radius:22px !important;
}
#chatPage .tokyoChatFeedBar{
  width:100% !important;
  min-width:0 !important;
  flex:0 0 auto !important;
  padding:14px 16px !important;
}
#chatPage .tokyoFeedTitle{
  font-size:20px !important;
}
#chatPage .tokyoFeedSubtitle{
  font-size:12px !important;
}
#chatPage .tokyoChatList{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  min-height:0 !important;
  height:100% !important;
  max-height:none !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:12px !important;
  padding:14px 16px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  position:relative !important;
  scrollbar-gutter:stable !important;
}
#chatPage .tokyoChatList::before{
  display:none !important;
}
#chatPage .tokyoChatList > .chatMsg,
#chatPage .tokyoChatList > .typingIndicator,
#chatPage .tokyoChatList > .tokyoChatEmpty{
  position:relative !important;
  flex:0 0 auto !important;
  float:none !important;
  clear:both !important;
}
#chatPage .tokyoChatList > .chatMsg{
  display:block !important;
  width:auto !important;
  min-width:280px !important;
  max-width:min(860px,72%) !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 !important;
  padding:14px 16px !important;
  overflow:hidden !important;
  transform:none !important;
}
#chatPage .tokyoChatList > .chatMsg.other,
#chatPage .tokyoChatList > .chatMsg.system{
  align-self:flex-start !important;
  margin-right:auto !important;
  margin-left:0 !important;
}
#chatPage .tokyoChatList > .chatMsg.me{
  align-self:flex-end !important;
  margin-left:auto !important;
  margin-right:0 !important;
}
#chatPage .tokyoChatList .chatMeta,
#chatPage .tokyoChatList .chatMetaMain,
#chatPage .tokyoChatList .chatIdentity,
#chatPage .tokyoChatList .chatNameRow,
#chatPage .tokyoChatList .chatTitle,
#chatPage .tokyoChatList .chatText,
#chatPage .tokyoChatList .chatActions{
  min-width:0 !important;
  max-width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
  position:relative !important;
  z-index:2 !important;
  opacity:1 !important;
  visibility:visible !important;
}
#chatPage .tokyoChatList .chatMeta{
  display:block !important;
  margin:0 0 8px 0 !important;
}
#chatPage .tokyoChatList .chatMetaMain{
  display:grid !important;
  grid-template-columns:46px minmax(0,1fr) !important;
  gap:12px !important;
  align-items:start !important;
}
#chatPage .tokyoChatList .chatAvatarBubble{
  grid-column:1 !important;
  grid-row:1 !important;
}
#chatPage .tokyoChatList .chatIdentity{
  grid-column:2 !important;
  display:grid !important;
  gap:4px !important;
}
#chatPage .tokyoChatList .chatNameRow{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:8px !important;
}
#chatPage .tokyoChatList .chatName{
  max-width:260px !important;
}
#chatPage .tokyoChatList .chatTitle{
  max-width:100% !important;
}
#chatPage .tokyoChatList .pmBadge{
  margin:4px 0 8px 0 !important;
}
#chatPage .tokyoChatList .chatText{
  display:block !important;
  width:100% !important;
  margin-top:10px !important;
  line-height:1.6 !important;
  white-space:pre-wrap !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}
#chatPage .tokyoChatList .chatActions{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin-top:12px !important;
}
#chatPage .tokyoComposerShell{
  position:relative !important;
  inset:auto !important;
  bottom:auto !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  z-index:10 !important;
  margin:0 !important;
  padding:12px 14px !important;
  border-radius:22px !important;
}
#chatPage .tokyoComposerTop{
  width:100% !important;
}
#chatPage .tokyoChatComposer{
  width:100% !important;
}
#chatPage .tokyoChatForm,
#chatPage .chatForm.hasPmTarget.tokyoChatForm{
  width:100% !important;
  display:grid !important;
  grid-template-columns:minmax(190px,260px) minmax(260px,1fr) auto auto !important;
  gap:10px !important;
  align-items:center !important;
}
#chatPage #chatTargetSelect,
#chatPage #chatInput,
#chatPage #chatEmojiBtn,
#chatPage #sendChatBtn{
  width:100% !important;
  min-width:0 !important;
  min-height:48px !important;
  pointer-events:auto !important;
  position:relative !important;
  z-index:12 !important;
}
#chatPage #chatEmojiBtn,
#chatPage #sendChatBtn{
  width:auto !important;
  white-space:nowrap !important;
  padding-left:18px !important;
  padding-right:18px !important;
}
#chatPage #chatInput{
  display:block !important;
}
@media (max-width:900px){
  #chatPage .tokyoChatStage{
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
  }
  #chatPage .tokyoChatFeed{
    height:auto !important;
  }
  #chatPage .tokyoChatList{
    height:auto !important;
    min-height:360px !important;
    max-height:58dvh !important;
  }
  #chatPage .tokyoChatList > .chatMsg{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  #chatPage .tokyoChatForm,
  #chatPage .chatForm.hasPmTarget.tokyoChatForm{
    grid-template-columns:1fr !important;
  }
  #chatPage #chatEmojiBtn,
  #chatPage #sendChatBtn{
    width:100% !important;
  }
  #chatPage .tokyoChatList .chatActions{
    justify-content:flex-start !important;
  }
}


/* ===== Tokyo Chat target visibility upgrade ===== */
#chatPage .tokyoCurrentTargetLine{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:6px;
  font-size:13px;
  color:#b8c7e3;
  line-height:1.45;
}
#chatPage .tokyoCurrentTargetLine strong{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  color:#f4f8ff;
  font-weight:900;
}
#chatPage .tokyoChatForm,
#chatPage .chatForm.hasPmTarget.tokyoChatForm{
  grid-template-columns:minmax(280px,360px) minmax(240px,1fr) auto auto !important;
}
#chatPage #chatTargetSelect{
  min-width:280px !important;
  text-overflow:ellipsis;
  overflow:hidden;
  white-space:nowrap;
}
#chatPage .tokyoComposerHint{
  max-width:100%;
}
@media (max-width:900px){
  #chatPage .tokyoCurrentTargetLine{font-size:12px}
  #chatPage .tokyoChatForm,
  #chatPage .chatForm.hasPmTarget.tokyoChatForm{grid-template-columns:1fr !important;}
  #chatPage #chatTargetSelect{min-width:0 !important;}
}


/* ===== Chat retention/history/admin tools ===== */
.tokyoHistoryBtn{
  cursor:pointer;
  font:inherit;
  border:none;
}
.tokyoHistoryBtn:hover{
  transform:translateY(-1px);
  border-color:rgba(130,255,244,.32)!important;
  background:rgba(130,255,244,.10)!important;
}
.chatHistoryModalBox{
  width:min(920px,96vw);
}
.chatHistoryList{
  display:grid;
  gap:10px;
  max-height:min(68dvh,680px);
  overflow:auto;
  padding-right:6px;
}
.chatHistoryMsg{
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
  border-radius:18px;
  padding:12px 14px;
  box-shadow:0 12px 24px rgba(0,0,0,.14);
}
.chatHistoryMeta{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  color:#b7c5e3;
  font-size:12px;
  margin-bottom:8px;
}
.chatHistoryMeta strong{
  color:#f8fbff;
}
.chatHistoryText{
  color:#f7fbff;
  line-height:1.55;
  overflow-wrap:anywhere;
}


/* ===== PM oddělené od global chatu ===== */
#chatPage .pmInboxList{
  display:grid;
  gap:10px;
  padding:12px 14px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
}
#chatPage .pmInboxHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:#b9c8e8;
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
#chatPage .pmInboxButtons{
  display:flex;
  gap:10px;
  overflow:auto;
  padding-bottom:2px;
  scrollbar-width:thin;
}
#chatPage .pmInboxBtn{
  flex:0 0 min(320px,86vw);
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  min-height:62px;
  padding:9px 11px;
  border-radius:18px;
  border:1px solid rgba(130,255,244,.14);
  background:linear-gradient(135deg,rgba(130,255,244,.09),rgba(255,255,255,.035));
  color:#f4f8ff;
  box-shadow:0 14px 26px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.05);
  cursor:pointer;
}
#chatPage .pmInboxBtn:hover{
  transform:translateY(-1px);
  border-color:rgba(130,255,244,.32);
  background:linear-gradient(135deg,rgba(130,255,244,.14),rgba(255,255,255,.05));
}
#chatPage .pmInboxBtn.active{
  border-color:rgba(255,105,210,.42);
  background:linear-gradient(135deg,rgba(255,105,210,.16),rgba(130,255,244,.10));
}
#chatPage .pmInboxAvatar{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.08);
  font-size:21px;
}
#chatPage .pmInboxText{
  display:grid;
  gap:4px;
  min-width:0;
  text-align:left;
}
#chatPage .pmInboxText strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13px;
}
#chatPage .pmInboxText small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#aebddc;
  font-size:11px;
}
#chatPage .pmInboxMeta{
  display:grid;
  justify-items:end;
  gap:4px;
  color:#c6d5f2;
  font-size:11px;
  white-space:nowrap;
}
#chatPage .pmInboxMeta em{
  min-width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  font-style:normal;
  font-weight:900;
}
#chatPage .pmInboxEmpty{
  padding:10px 12px;
  border-radius:16px;
  border:1px dashed rgba(255,255,255,.12);
  color:#aebddc;
  font-size:12px;
  background:rgba(255,255,255,.025);
}


/* ===== PM layout final fix: full width, compact PM inbox, žádné useknutí ===== */
#chatPage .tokyoChatStage{
  display:grid !important;
  grid-template-rows:minmax(0,1fr) auto !important;
  gap:12px !important;
  width:100% !important;
  min-width:0 !important;
  height:calc(100dvh - 225px) !important;
  min-height:560px !important;
  overflow:hidden !important;
}
#chatPage .tokyoChatFeed{
  display:grid !important;
  grid-template-rows:auto auto minmax(0,1fr) !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  overflow:hidden !important;
  border-radius:22px !important;
}
#chatPage .tokyoChatFeedBar{
  min-width:0 !important;
  padding:14px 16px !important;
}
#chatPage .pmInboxList{
  min-height:0 !important;
  max-height:124px !important;
  overflow:hidden !important;
  padding:10px 14px !important;
}
#chatPage .pmInboxButtons{
  display:flex !important;
  gap:10px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding-bottom:4px !important;
}
#chatPage .pmInboxBtn{
  flex:0 0 300px !important;
  max-width:300px !important;
}
#chatPage .tokyoChatList{
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:auto !important;
  overflow-x:hidden !important;
  padding:16px !important;
}
#chatPage .tokyoChatList > .chatMsg{
  width:auto !important;
  max-width:min(860px,72%) !important;
  min-width:min(360px,100%) !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 !important;
  padding:15px 17px !important;
  box-sizing:border-box !important;
  transform:none !important;
}
#chatPage .tokyoChatList > .chatMsg.me{
  align-self:flex-end !important;
  margin-left:auto !important;
  margin-right:0 !important;
}
#chatPage .tokyoChatList > .chatMsg.other,
#chatPage .tokyoChatList > .chatMsg.system{
  align-self:flex-start !important;
  margin-left:0 !important;
  margin-right:auto !important;
}
#chatPage .tokyoChatList .chatMeta,
#chatPage .tokyoChatList .chatMetaMain,
#chatPage .tokyoChatList .chatIdentity,
#chatPage .tokyoChatList .chatNameRow,
#chatPage .tokyoChatList .chatTitle,
#chatPage .tokyoChatList .chatText,
#chatPage .tokyoChatList .chatActions{
  max-width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
}
#chatPage .tokyoChatList .chatText{
  white-space:pre-wrap !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}
#chatPage .tokyoComposerShell{
  width:100% !important;
  min-width:0 !important;
  position:relative !important;
  bottom:auto !important;
  inset:auto !important;
  z-index:8 !important;
  margin:0 !important;
}
#chatPage .tokyoChatForm,
#chatPage .chatForm.hasPmTarget.tokyoChatForm{
  display:grid !important;
  grid-template-columns:minmax(260px,340px) minmax(260px,1fr) auto auto !important;
  gap:10px !important;
  align-items:center !important;
  width:100% !important;
}
#chatPage #chatTargetSelect,
#chatPage #chatInput{
  min-width:0 !important;
  width:100% !important;
}
#chatPage #chatEmojiBtn,
#chatPage #sendChatBtn{
  width:auto !important;
  white-space:nowrap !important;
}
@media (max-width:900px){
  #chatPage .tokyoChatStage{
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
  }
  #chatPage .tokyoChatFeed{
    height:auto !important;
  }
  #chatPage .pmInboxList{
    max-height:160px !important;
  }
  #chatPage .tokyoChatList{
    min-height:360px !important;
    max-height:58dvh !important;
  }
  #chatPage .tokyoChatList > .chatMsg{
    max-width:100% !important;
    width:100% !important;
    min-width:0 !important;
  }
  #chatPage .tokyoChatForm,
  #chatPage .chatForm.hasPmTarget.tokyoChatForm{
    grid-template-columns:1fr !important;
  }
  #chatPage #chatEmojiBtn,
  #chatPage #sendChatBtn{
    width:100% !important;
  }
}


/* ===== Chat/PM final readable layout ===== */
#chatPage .tokyoChatStage{
  height:calc(100dvh - 210px) !important;
  min-height:580px !important;
}
#chatPage .pmInboxList{
  max-height:92px !important;
  min-height:82px !important;
  padding:8px 14px !important;
}
#chatPage .pmInboxHead{
  margin-bottom:5px !important;
}
#chatPage .pmInboxBtn{
  min-height:52px !important;
  flex:0 0 280px !important;
  max-width:280px !important;
  padding:7px 10px !important;
}
#chatPage .pmInboxAvatar{
  width:36px !important;
  height:36px !important;
  border-radius:12px !important;
}
#chatPage .tokyoChatList{
  padding:14px 16px !important;
  gap:12px !important;
}
#chatPage .tokyoChatList > .chatMsg{
  max-width:min(820px,70%) !important;
  min-width:min(340px,100%) !important;
}
#chatPage .tokyoChatList .pmBadge{
  display:inline-flex !important;
  width:auto !important;
  max-width:100% !important;
  margin-top:4px !important;
  margin-bottom:4px !important;
}
#chatPage .tokyoChatList > .chatMsg:not(.me) .pmBadge{
  background:rgba(255,255,255,.07) !important;
  border-color:rgba(255,255,255,.14) !important;
}
#chatPage .tokyoComposerShell{
  padding:12px 14px !important;
}
@media (max-width:900px){
  #chatPage .tokyoChatStage{
    height:auto !important;
    min-height:0 !important;
  }
  #chatPage .pmInboxList{
    max-height:150px !important;
  }
  #chatPage .tokyoChatList > .chatMsg{
    max-width:100% !important;
    width:100% !important;
    min-width:0 !important;
  }
}


/* ===== PM context panel + layout repair ===== */
#chatPage .tokyoChatFeed{
  grid-template-rows:auto auto auto minmax(0,1fr) !important;
}
#chatPage .pmContextList{
  border-bottom:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.014));
  padding:8px 14px 10px;
}
#chatPage .pmContextList.hidden{
  display:none !important;
}
#chatPage .pmContextHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:#c7d6f5;
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-bottom:7px;
}
#chatPage .pmContextHead small{
  color:#8fa0bf;
  text-transform:none;
  letter-spacing:0;
  font-weight:800;
}
#chatPage .pmContextRows{
  display:flex;
  gap:9px;
  overflow-x:auto;
  overflow-y:hidden;
  padding-bottom:2px;
}
#chatPage .pmContextMsg{
  flex:0 0 min(360px,86vw);
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:9px;
  align-items:start;
  padding:9px 10px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.045);
}
#chatPage .pmContextMsg > span{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
}
#chatPage .pmContextMsg strong{
  display:flex;
  justify-content:space-between;
  gap:8px;
  color:#f5f8ff;
  font-size:12px;
  line-height:1.25;
}
#chatPage .pmContextMsg strong em{
  color:#aebddc;
  font-style:normal;
  white-space:nowrap;
}
#chatPage .pmContextMsg p{
  margin:4px 0 0;
  color:#dce7ff;
  font-size:12px;
  line-height:1.35;
  overflow-wrap:anywhere;
}
#chatPage .tokyoChatList > .chatMsg{
  max-width:min(780px,68%) !important;
}
#chatPage .tokyoChatList > .chatMsg.other{
  border-color:rgba(255,150,222,.20) !important;
}
@media (max-width:900px){
  #chatPage .pmContextHead{
    flex-direction:column;
    align-items:flex-start;
  }
  #chatPage .tokyoChatList > .chatMsg{
    max-width:100% !important;
  }
}


/* ===== FINAL chat separation/layout fix ===== */
#chatPage .pmContextList{
  display:none !important;
}
#chatPage .tokyoChatPanel,
#chatPage .tokyoChatHead,
#chatPage .tokyoChatBody,
#chatPage .tokyoChatStage,
#chatPage .tokyoChatFeed{
  max-width:100% !important;
  min-width:0 !important;
}
#chatPage .tokyoChatPanel{
  overflow:visible !important;
}
#chatPage .tokyoChatHead{
  min-height:70px !important;
  padding:16px 18px !important;
  overflow:visible !important;
  align-items:center !important;
}
#chatPage .tokyoHeadPills{
  position:relative !important;
  z-index:30 !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  flex-wrap:wrap !important;
}
#chatPage .tokyoHeadPill{
  min-height:38px !important;
  padding:9px 14px !important;
  line-height:1 !important;
  overflow:visible !important;
}
#chatPage .tokyoChatFeed{
  grid-template-rows:auto auto minmax(0,1fr) !important;
}
#chatPage .tokyoChatList{
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
  width:100% !important;
  min-width:0 !important;
  height:100% !important;
  min-height:0 !important;
  overflow:auto !important;
  overflow-x:hidden !important;
}
#chatPage .tokyoChatList > .chatMsg{
  position:relative !important;
  flex:0 0 auto !important;
  height:auto !important;
  max-height:none !important;
  overflow:hidden !important;
  transform:none !important;
}
/* Global: cizí vlevo, moje vpravo */
#chatPage:not(.pmMode) .tokyoChatList > .chatMsg.other,
#chatPage:not(.pmMode) .tokyoChatList > .chatMsg.system{
  align-self:flex-start !important;
  margin-left:0 !important;
  margin-right:auto !important;
  max-width:min(860px,72%) !important;
}
#chatPage:not(.pmMode) .tokyoChatList > .chatMsg.me{
  align-self:flex-end !important;
  margin-left:auto !important;
  margin-right:0 !important;
  max-width:min(860px,72%) !important;
}
/* PM: zprávy jdou normálně pod sebe, nic neujíždí doprava mimo obraz */
#chatPage.pmMode .tokyoChatList > .chatMsg{
  align-self:stretch !important;
  width:100% !important;
  max-width:min(980px,100%) !important;
  min-width:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
#chatPage.pmMode .tokyoChatList > .chatMsg.me{
  border-color:rgba(107,233,255,.34) !important;
}
#chatPage.pmMode .tokyoChatList > .chatMsg.other{
  border-color:rgba(255,150,222,.28) !important;
}
#chatPage .tokyoChatList .chatText{
  white-space:pre-wrap !important;
  overflow-wrap:anywhere !important;
}
#chatPage .pmInboxList{
  max-height:105px !important;
  overflow:hidden !important;
}
#chatPage .pmInboxButtons{
  overflow-x:auto !important;
  overflow-y:hidden !important;
}
@media (max-width:900px){
  #chatPage .tokyoChatHead{
    min-height:auto !important;
    padding:14px !important;
  }
  #chatPage .tokyoHeadPills{
    width:100% !important;
  }
  #chatPage:not(.pmMode) .tokyoChatList > .chatMsg,
  #chatPage.pmMode .tokyoChatList > .chatMsg{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
}


/* ===== Absolute final PM/global separation fix ===== */
#chatPage .pmContextList{display:none!important}
#chatPage .tokyoChatList{display:flex!important;flex-direction:column!important;gap:12px!important;overflow:auto!important;overflow-x:hidden!important}
#chatPage .tokyoChatList > .chatMsg{position:relative!important;flex:0 0 auto!important;height:auto!important;max-height:none!important;transform:none!important}
#chatPage:not(.pmMode) .tokyoChatList > .chatMsg.pm{display:none!important}
#chatPage.pmMode .tokyoChatList > .chatMsg:not(.pm){display:none!important}
#chatPage.pmMode .tokyoChatList > .chatMsg.pm{
  display:block!important;
  width:100%!important;
  max-width:min(980px,100%)!important;
  min-width:0!important;
  align-self:stretch!important;
  margin-left:0!important;
  margin-right:0!important;
}
#chatPage:not(.pmMode) .tokyoChatList > .chatMsg:not(.pm).me{
  align-self:flex-end!important;
  max-width:min(860px,72%)!important;
  margin-left:auto!important;
  margin-right:0!important;
}
#chatPage:not(.pmMode) .tokyoChatList > .chatMsg:not(.pm).other,
#chatPage:not(.pmMode) .tokyoChatList > .chatMsg:not(.pm).system{
  align-self:flex-start!important;
  max-width:min(860px,72%)!important;
  margin-left:0!important;
  margin-right:auto!important;
}
#chatPage .tokyoChatHead{overflow:visible!important;min-height:68px!important}
#chatPage .tokyoHeadPills{display:flex!important;visibility:visible!important;opacity:1!important;z-index:50!important}
#chatPage .tokyoHeadPill{display:inline-flex!important;visibility:visible!important;opacity:1!important}
@media(max-width:900px){
  #chatPage.pmMode .tokyoChatList > .chatMsg.pm,
  #chatPage:not(.pmMode) .tokyoChatList > .chatMsg:not(.pm){
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
}


/* ===== PM/global final server+client safety ===== */
#chatPage:not(.pmMode) .tokyoChatList > .chatMsg.pm{display:none!important}
#chatPage.pmMode .tokyoChatList > .chatMsg:not(.pm){display:none!important}
#chatPage.pmMode .tokyoChatList > .chatMsg.pm{
  display:block!important;
  width:100%!important;
  max-width:min(980px,100%)!important;
  min-width:0!important;
  align-self:stretch!important;
  margin-left:0!important;
  margin-right:0!important;
}


/* ===== FINAL: čistý Global + PM jen mezi 2 hráči ===== */
#chatPage .pmContextList{display:none!important}
#chatPage:not(.pmMode) .tokyoChatList > .chatMsg.pm{display:none!important}
#chatPage.pmMode .tokyoChatList > .chatMsg:not(.pm){display:none!important}
#chatPage.pmMode .tokyoChatList > .chatMsg.pm{
  display:block!important;
  width:100%!important;
  max-width:min(980px,100%)!important;
  min-width:0!important;
  align-self:stretch!important;
  margin-left:0!important;
  margin-right:0!important;
}
#chatPage:not(.pmMode) .tokyoChatList > .chatMsg:not(.pm) .pmBadge{
  display:none!important;
}
#chatPage:not(.pmMode) .tokyoChatList > .chatMsg:not(.pm).me{
  align-self:flex-end!important;
  max-width:min(860px,72%)!important;
  margin-left:auto!important;
  margin-right:0!important;
}
#chatPage:not(.pmMode) .tokyoChatList > .chatMsg:not(.pm).other,
#chatPage:not(.pmMode) .tokyoChatList > .chatMsg:not(.pm).system{
  align-self:flex-start!important;
  max-width:min(860px,72%)!important;
  margin-left:0!important;
  margin-right:auto!important;
}


/* ===== Move player conversation out of Global into PM thread ===== */
#chatPage:not(.pmMode) .tokyoChatList > .chatMsg.pm,
#chatPage:not(.pmMode) .tokyoChatList > .chatMsg .pmBadge{
  display:none!important;
}
#chatPage.pmMode .tokyoChatList > .chatMsg.pm{
  display:block!important;
  width:100%!important;
  max-width:min(980px,100%)!important;
  min-width:0!important;
  align-self:stretch!important;
  margin-left:0!important;
  margin-right:0!important;
}


/* ===== Composer visibility fix: psací okno nesmí být useknuté ===== */
#chatPage.pagePane.active{
  overflow:visible !important;
  padding-bottom:14px !important;
}
#chatPage .tokyoChatPanel,
#chatPage .tokyoChatBody{
  overflow:visible !important;
}
#chatPage .tokyoChatBody{
  padding-bottom:14px !important;
}
#chatPage .tokyoChatStage{
  display:grid !important;
  grid-template-rows:minmax(160px,1fr) auto !important;
  gap:12px !important;
  height:calc(100dvh - 170px) !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
}
#chatPage .tokyoChatFeed{
  min-height:0 !important;
  height:100% !important;
  overflow:hidden !important;
}
#chatPage .tokyoChatList{
  min-height:0 !important;
  height:100% !important;
  max-height:none !important;
  overflow:auto !important;
}
#chatPage .tokyoComposerShell{
  position:relative !important;
  inset:auto !important;
  bottom:auto !important;
  z-index:80 !important;
  min-height:154px !important;
  height:auto !important;
  overflow:visible !important;
  padding:12px 14px 16px !important;
  margin:0 !important;
  flex:0 0 auto !important;
}
#chatPage .tokyoComposerTop{
  min-height:42px !important;
  margin-bottom:8px !important;
}
#chatPage .tokyoChatForm,
#chatPage .chatForm.hasPmTarget.tokyoChatForm{
  min-height:52px !important;
  align-items:center !important;
  overflow:visible !important;
}
#chatPage #chatTargetSelect,
#chatPage #chatInput,
#chatPage #chatEmojiBtn,
#chatPage #sendChatBtn{
  min-height:52px !important;
  height:52px !important;
  line-height:1.2 !important;
  display:flex !important;
  align-items:center !important;
}
#chatPage #chatInput{
  display:block !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}
@media (max-height:760px){
  #chatPage .tokyoChatStage{
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
  }
  #chatPage .tokyoChatList{
    min-height:220px !important;
    max-height:42dvh !important;
  }
  #chatPage .tokyoComposerShell{
    min-height:148px !important;
  }
}
@media (max-width:900px){
  #chatPage .tokyoChatStage{
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
  }
  #chatPage .tokyoChatList{
    min-height:300px !important;
    max-height:52dvh !important;
  }
  #chatPage .tokyoComposerShell{
    min-height:auto !important;
    padding-bottom:18px !important;
  }
  #chatPage #chatTargetSelect,
  #chatPage #chatInput,
  #chatPage #chatEmojiBtn,
  #chatPage #sendChatBtn{
    width:100% !important;
  }
}


/* ===== Composer final fix: input + odeslat musí být vždy vidět ===== */
#chatPage.pagePane.active{
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
}
#chatPage .chatRocketGrid{
  height:100% !important;
  min-height:0 !important;
  display:grid !important;
}
#chatPage .tokyoChatPanel{
  height:100% !important;
  min-height:0 !important;
  display:grid !important;
  grid-template-rows:auto minmax(0,1fr) !important;
  overflow:hidden !important;
}
#chatPage .tokyoChatBody{
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
  display:grid !important;
  grid-template-rows:minmax(0,1fr) auto !important;
  gap:10px !important;
  padding:10px 12px 12px !important;
}
#chatPage .tokyoChatStage{
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  display:grid !important;
  grid-template-rows:minmax(0,1fr) auto !important;
  gap:10px !important;
  overflow:hidden !important;
}
#chatPage .tokyoChatFeed{
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
  display:grid !important;
  grid-template-rows:auto auto minmax(0,1fr) !important;
}
#chatPage .tokyoChatList{
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:auto !important;
  overflow-x:hidden !important;
}
#chatPage .tokyoComposerShell{
  position:relative !important;
  inset:auto !important;
  bottom:auto !important;
  z-index:100 !important;
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  flex:0 0 auto !important;
  padding:10px 12px 12px !important;
  margin:0 !important;
  border-radius:20px !important;
}
#chatPage .tokyoComposerTop{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:start !important;
  gap:10px !important;
  min-height:0 !important;
  margin:0 0 8px 0 !important;
}
#chatPage .tokyoComposerTitle{
  font-size:18px !important;
  line-height:1.15 !important;
}
#chatPage .tokyoComposerHint{
  font-size:12px !important;
  line-height:1.25 !important;
  margin-top:2px !important;
}
#chatPage .tokyoCurrentTargetLine{
  margin-top:5px !important;
  line-height:1.2 !important;
}
#chatPage .tokyoChatComposer{
  width:100% !important;
  min-height:52px !important;
  overflow:visible !important;
}
#chatPage .tokyoChatForm,
#chatPage .chatForm.hasPmTarget.tokyoChatForm{
  width:100% !important;
  display:grid !important;
  grid-template-columns:minmax(230px,340px) minmax(240px,1fr) auto auto !important;
  gap:10px !important;
  align-items:center !important;
  min-height:52px !important;
  overflow:visible !important;
}
#chatPage #chatTargetSelect,
#chatPage #chatInput,
#chatPage #chatEmojiBtn,
#chatPage #sendChatBtn{
  height:52px !important;
  min-height:52px !important;
  max-height:52px !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
  position:relative !important;
  z-index:120 !important;
}
#chatPage #chatInput{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  padding:0 16px !important;
  line-height:52px !important;
}
#chatPage #chatEmojiBtn,
#chatPage #sendChatBtn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  white-space:nowrap !important;
  width:auto !important;
  padding:0 18px !important;
}
@media (max-height:760px){
  #chatPage .tokyoChatBody{
    padding:8px 10px 10px !important;
    gap:8px !important;
  }
  #chatPage .tokyoChatStage{
    gap:8px !important;
  }
  #chatPage .tokyoComposerShell{
    padding:8px 10px 10px !important;
  }
  #chatPage .tokyoComposerTitle{
    font-size:16px !important;
  }
  #chatPage .tokyoComposerHint,
  #chatPage .tokyoCurrentTargetLine{
    font-size:11px !important;
  }
}
@media (max-width:900px){
  #chatPage.pagePane.active{
    overflow:auto !important;
  }
  #chatPage .tokyoChatPanel,
  #chatPage .tokyoChatBody,
  #chatPage .tokyoChatStage{
    height:auto !important;
    overflow:visible !important;
  }
  #chatPage .tokyoChatList{
    min-height:300px !important;
    max-height:52dvh !important;
  }
  #chatPage .tokyoComposerTop{
    grid-template-columns:1fr !important;
  }
  #chatPage .tokyoChatForm,
  #chatPage .chatForm.hasPmTarget.tokyoChatForm{
    grid-template-columns:1fr !important;
  }
  #chatPage #chatEmojiBtn,
  #chatPage #sendChatBtn{
    width:100% !important;
  }
}


/* ===== PM inbox preview fix: čas patří poslední zprávě, ne automaticky hráči ===== */
#chatPage .pmInboxMeta{
  display:grid !important;
  justify-items:end !important;
  align-content:center !important;
  gap:3px !important;
}
#chatPage .pmInboxMeta b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  max-width:72px;
  padding:3px 7px;
  border-radius:999px;
  background:rgba(255,255,255,.075);
  border:1px solid rgba(255,255,255,.10);
  color:#f5f8ff;
  font-size:10px;
  font-weight:900;
  line-height:1;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#chatPage .pmInboxMeta span{
  color:#c6d5f2;
  font-size:11px;
  line-height:1;
}
#chatPage .pmInboxText small{
  color:#b9c8e8 !important;
}


/* ===== PM inbox readability + no redundant PM badges in messages ===== */
#chatPage .tokyoChatList .pmBadge{
  display:none !important;
}
#chatPage .pmInboxList{
  max-height:132px !important;
  min-height:96px !important;
  overflow:hidden !important;
}
#chatPage .pmInboxButtons{
  align-items:stretch !important;
  gap:12px !important;
}
#chatPage .pmInboxBtn{
  flex:0 0 360px !important;
  max-width:360px !important;
  min-height:72px !important;
  padding:10px 12px !important;
  grid-template-columns:44px minmax(0,1fr) 56px !important;
  gap:12px !important;
  align-items:center !important;
}
#chatPage .pmInboxAvatar{
  width:44px !important;
  height:44px !important;
  border-radius:14px !important;
  font-size:22px !important;
}
#chatPage .pmInboxText{
  display:grid !important;
  gap:6px !important;
  min-width:0 !important;
  align-content:center !important;
}
#chatPage .pmInboxText strong{
  display:block !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  font-size:14px !important;
  line-height:1.15 !important;
  color:#ffffff !important;
}
#chatPage .pmInboxText small{
  display:block !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  font-size:12px !important;
  line-height:1.25 !important;
  color:#d6e3ff !important;
}
#chatPage .pmInboxText small b{
  color:#ffffff !important;
  font-weight:900 !important;
}
#chatPage .pmInboxMeta{
  display:grid !important;
  justify-items:end !important;
  align-content:center !important;
  gap:6px !important;
  min-width:52px !important;
}
#chatPage .pmInboxMeta b{
  display:none !important;
}
#chatPage .pmInboxMeta span{
  display:block !important;
  color:#dce8ff !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}
#chatPage .pmInboxMeta em{
  min-width:28px !important;
  height:28px !important;
  padding:0 8px !important;
  font-size:12px !important;
  font-weight:1000 !important;
}
@media (max-width: 760px){
  #chatPage .pmInboxBtn{
    flex-basis:300px !important;
    max-width:300px !important;
    grid-template-columns:40px minmax(0,1fr) 48px !important;
  }
  #chatPage .pmInboxAvatar{
    width:40px !important;
    height:40px !important;
  }
}


/* ===== PM chronological thread fix ===== */
#chatPage.pmMode .tokyoChatList > .chatMsg.movedPublic{
  border-style:solid !important;
  opacity:1 !important;
}
#chatPage.pmMode .tokyoChatList > .chatMsg.movedPublic .pmBadge{
  display:none !important;
}


/* ===== STRICT chat separation: Global nikdy do PM, PM nikdy do Globalu ===== */
#chatPage:not(.pmMode) .tokyoChatList > .chatMsg.pm{
  display:none !important;
}
#chatPage.pmMode .tokyoChatList > .chatMsg:not(.pm){
  display:none !important;
}
#chatPage:not(.pmMode) .tokyoChatList > .chatMsg:not(.pm) .pmBadge{
  display:none !important;
}
#chatPage.pmMode .tokyoChatList > .chatMsg.pm{
  display:block !important;
  width:100% !important;
  max-width:min(980px,100%) !important;
  min-width:0 !important;
  align-self:stretch !important;
  margin-left:0 !important;
  margin-right:0 !important;
}


/* ===== Fix: starší zprávy od PM hráče nejsou v Globalu, moje global zprávy zůstávají v Globalu ===== */
#chatPage:not(.pmMode) .tokyoChatList > .chatMsg.pm{
  display:none !important;
}
#chatPage.pmMode .tokyoChatList > .chatMsg:not(.pm){
  display:none !important;
}
#chatPage.pmMode .tokyoChatList > .chatMsg.pm{
  display:block !important;
  width:100% !important;
  max-width:min(980px,100%) !important;
  min-width:0 !important;
  align-self:stretch !important;
  margin-left:0 !important;
  margin-right:0 !important;
}


/* ===== Remove composer online badge ===== */
#chatPage #chatOnlineBadgeMini{
  display:none !important;
}


/* ===== Sakura Shop 2.0: pets, lucky envelopes, card packs ===== */
.specialShopBlock{
  grid-column:1/-1;
  display:grid;
  gap:16px;
  margin-top:10px;
  padding:16px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.13);
  background:
    radial-gradient(circle at top left,rgba(255,105,210,.13),transparent 32%),
    radial-gradient(circle at top right,rgba(107,233,255,.11),transparent 32%),
    linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));
  box-shadow:0 28px 60px rgba(0,0,0,.23), inset 0 1px 0 rgba(255,255,255,.05);
}
.specialShopHero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:16px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.11);
  background:linear-gradient(135deg,rgba(255,97,178,.12),rgba(59,183,255,.08));
}
.specialShopSectionTitle{
  font-size:15px;
  font-weight:1000;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#eaf2ff;
  margin-top:4px;
}
.specialShopGrid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:12px;
}
.specialShopCard{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:13px;
  align-items:start;
  min-height:150px;
  padding:14px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  box-shadow:0 18px 38px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.05);
  overflow:hidden;
}
.specialShopCard.owned,.cardOwned{
  border-color:rgba(107,233,255,.28);
  background:linear-gradient(135deg,rgba(107,233,255,.10),rgba(255,105,210,.06));
}
.specialIcon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:19px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
  font-size:30px;
  box-shadow:0 12px 24px rgba(0,0,0,.18);
}
.specialName{
  font-size:17px;
  font-weight:1000;
  color:#fff;
}
.specialDesc{
  margin-top:6px;
  color:#bcc9e5;
  font-size:12px;
  line-height:1.5;
}
.luxStatsList.compact{
  gap:4px;
  margin-top:10px;
}
.luxStatsList.compact .luxStatRow{
  padding:6px 8px;
  font-size:12px;
}
.specialActions{
  margin-top:10px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.specialActions button{
  min-height:38px;
  border-radius:14px;
}
.rarityEpic{border-color:rgba(178,116,255,.34)}
.rarityLegendary{border-color:rgba(255,199,91,.42)}
.rarityCelestial{border-color:rgba(107,233,255,.48);box-shadow:0 0 0 1px rgba(107,233,255,.12),0 18px 38px rgba(0,0,0,.2)}
.specialEmpty{
  padding:14px;
  border-radius:18px;
  border:1px dashed rgba(255,255,255,.14);
  color:#b9c8e8;
  background:rgba(255,255,255,.035);
}
.specialShopHistory{
  display:grid;
  gap:8px;
}
.specialHistoryRow{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.045);
}
.specialHistoryRow strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#eef5ff;
  font-size:12px;
}
.specialHistoryRow em{
  color:#aebddc;
  font-style:normal;
  font-size:12px;
}
@media (max-width:780px){
  .specialShopHero{display:grid}
  .specialShopGrid{grid-template-columns:1fr}
  .specialShopCard{grid-template-columns:48px minmax(0,1fr)}
  .specialIcon{width:48px;height:48px;font-size:24px}
}


/* ===== Player status: last online from server ===== */
.playerCardRight{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
  min-width:max-content;
  color:#dce6ff;
  font-weight:1000;
}
.playerRankChip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  min-height:30px;
  padding:5px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.055);
  color:#f5f8ff;
  font-weight:1000;
}
.lastOnlineChip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:30px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.11);
  background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(107,233,255,.055));
  color:#cfe0ff;
  font-size:12px;
  font-weight:950;
  white-space:nowrap;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.playerLuxuryCard.presence-online .lastOnlineChip{
  border-color:rgba(91,255,154,.18);
  background:linear-gradient(135deg,rgba(91,255,154,.10),rgba(255,255,255,.045));
  color:#dfffea;
}
.playerLuxuryCard.presence-inactive .lastOnlineChip{
  border-color:rgba(255,216,116,.18);
  background:linear-gradient(135deg,rgba(255,216,116,.10),rgba(255,255,255,.045));
  color:#fff1c8;
}
.playerLuxuryCard.presence-offline .lastOnlineChip{
  border-color:rgba(160,174,204,.13);
  color:#aebbd4;
}
@media (max-width:760px){
  .playerCardRight{
    justify-content:flex-start;
    width:100%;
    min-width:0;
  }
  .lastOnlineChip{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}


/* ===== Last active visible + aligned player cards ===== */
.playerLuxuryCard.presence-online .lastOnlineChip,
.playerLuxuryCard.presence-inactive .lastOnlineChip{
  display:inline-flex !important;
}
.playerLuxuryCard .cardHead{align-items:flex-start!important;gap:12px!important;}
.playerLuxuryCard .cardHead>div:first-child{min-width:0!important;}
.playerCardRight{flex:0 0 auto!important;align-self:flex-start!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:wrap!important;max-width:min(52%,520px)!important;}
.playerCardRight .presenceChip,.playerCardRight .lastOnlineChip,.playerCardRight .playerRankChip{flex:0 0 auto!important;}
.playerStatsRow .presenceChip{align-self:center!important;}
@media (max-width:900px){.playerCardRight{max-width:100%!important;width:100%!important;justify-content:flex-start!important;}}


/* ===== Stav hráčů: širší karta + bez spodního horizontálního scrollu ===== */
.authOnlineDock{min-width:0;overflow-x:hidden}
.authOnlineDock .authOnlineList,.authOnlineDock .playerLuxuryCard{min-width:0}
.authOnlineDock .playerLuxuryCard .cardHead{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.authOnlineDock .playerLuxuryCard .cardHead>div:first-child{min-width:0}
.authOnlineDock .playerCardRight{width:100%;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:nowrap}
.authOnlineDock .lastOnlineChip{flex:1 1 auto;min-width:0;max-width:100%;font-size:11px;padding:6px 9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.authOnlineDock .playerRankChip{flex:0 0 auto}
@media (max-width:1100px){.authCard{grid-template-columns:minmax(380px,.95fr) minmax(320px,.75fr) minmax(320px,.7fr)}}
@media (max-width:760px){.authOnlineDock .playerCardRight{flex-wrap:wrap;justify-content:flex-start}.authOnlineDock .lastOnlineChip{white-space:normal;overflow:visible;text-overflow:clip}}


/* ===== Chat typing indicator: global + PM ===== */
.typingIndicator.pmTypingIndicator{
  border-color:rgba(255,105,210,.22)!important;
  background:linear-gradient(135deg,rgba(255,105,210,.11),rgba(130,255,244,.06))!important;
  color:#ffd9ef!important;
}
.typingIndicator.pmTypingIndicator strong{
  color:#ffffff!important;
}


/* ===== Level-scaled daily/weekly rewards ===== */
#questsPage .questBadgeRow .playerStatPill{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 8px 18px rgba(255,183,96,.07);
}


/* ===== Chat composer: Enter send, Ctrl+Enter new line ===== */
#chatPage #chatInput{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  min-height:52px !important;
  height:52px !important;
  max-height:118px !important;
  padding:13px 16px !important;
  line-height:1.35 !important;
  resize:none !important;
  overflow-y:auto !important;
  white-space:pre-wrap !important;
  font-family:inherit !important;
  align-items:initial !important;
}
#chatPage #chatInput::-webkit-scrollbar{
  width:8px;
}
#chatPage #chatInput::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:rgba(255,255,255,.20);
}


/* ===== Remove top typing pill; typing stays inside chat feed only ===== */
#chatTopTypingBadge{
  display:none !important;
}


/* ===== Chat input performance + 500 znaků ===== */
#chatPage #chatInput{
  max-height:128px !important;
  will-change:height !important;
  contain:layout paint !important;
}
#chatPage .tokyoComposerShell,
#chatPage .tokyoChatComposer,
#chatPage .luxuryChatForm{
  contain:layout paint !important;
}
#chatCharCount::after{
  content:"";
}


/* ===== Chat composer anti-lag lock ===== */
body.chatComposerBusy .neonBloomFxLayer,
body.chatComposerBusy .nbPetal,
body.chatComposerBusy .nbLight,
body.chatComposerBusy .profileHeroFrame,
body.chatComposerBusy .tile.ready,
body.chatComposerBusy .typingDots span{
  animation-play-state:paused !important;
}
body.chatComposerBusy .neonBloomFxLayer{
  opacity:.35 !important;
}
body.chatComposerBusy.neonBloom .topbar::before,
body.chatComposerBusy.neonBloom .chatMsg,
body.chatComposerBusy.neonBloom .guildMsg,
body.chatComposerBusy.neonBloom .marketCard,
body.chatComposerBusy.neonBloom .pagePane.active,
body.chatComposerBusy.neonBloom .shopGrid>.card,
body.chatComposerBusy.neonBloom .inventoryGrid>.card,
body.chatComposerBusy.neonBloom .leaderList>.card,
body.chatComposerBusy.neonBloom .questList>.card{
  animation:none !important;
}
body.chatComposerBusy *{
  scroll-behavior:auto !important;
}
#chatPage #chatInput{
  contain:strict !important;
  transform:translateZ(0);
  backface-visibility:hidden;
}


/* ===== Ultra light chat input mode ===== */
body.chatComposerBusy #fxCanvas{
  opacity:.82 !important;
  pointer-events:none !important;
}
body.chatComposerBusy #chatPage #chatInput{
  isolation:isolate !important;
  contain:layout paint style !important;
  will-change:auto !important;
}
body.chatComposerBusy #chatPage .tokyoChatList,
body.chatComposerBusy #chatPage .tokyoChatFeed,
body.chatComposerBusy #chatPage .tokyoChatStage{
  contain:layout paint !important;
}


/* ===== Topbar Radio Kiss player ===== */
.radioKissPill{
  display:inline-flex;
  align-items:center;
  flex-wrap:wrap;
  align-content:center;
  gap:6px 8px;
  min-width:min(330px, 100%);
  min-height:54px;
  padding:7px 12px !important;
  border-color:rgba(255,105,210,.22) !important;
  background:
    radial-gradient(circle at 10% 50%,rgba(255,105,210,.18),transparent 46%),
    linear-gradient(135deg,rgba(255,255,255,.075),rgba(107,233,255,.045)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 10px 24px rgba(0,0,0,.14);
}
.radioKissToggle{
  width:30px;
  height:30px;
  min-width:30px;
  padding:0 !important;
  border-radius:999px !important;
  display:inline-grid;
  place-items:center;
  font-size:13px;
  line-height:1;
  background:linear-gradient(135deg,rgba(255,105,210,.78),rgba(107,233,255,.46)) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  color:#fff !important;
  box-shadow:0 0 18px rgba(255,105,210,.18);
}
.radioKissPill[data-radio-state="playing"] .radioKissToggle{
  background:linear-gradient(135deg,rgba(91,255,154,.78),rgba(107,233,255,.54)) !important;
  box-shadow:0 0 20px rgba(91,255,154,.22);
}
.radioKissPill[data-radio-state="loading"] .radioKissToggle{
  animation:radioPulse 1s ease-in-out infinite;
}
.radioKissTitle{
  font-weight:1000;
  letter-spacing:.01em;
  color:#fff;
}
.radioKissVolume{
  width:82px;
  height:6px;
  padding:0 !important;
  border:0 !important;
  border-radius:999px;
  accent-color:#ff6bd6;
  background:transparent;
  cursor:pointer;
}
.radioKissVolumeText{
  min-width:34px;
  text-align:right;
  font-size:11px;
  color:#d7e4ff;
  font-weight:900;
}
.radioKissNowPlaying{
  flex:1 0 100%;
  min-width:0;
  padding-left:38px;
  margin-top:-2px;
  font-size:11px;
  line-height:1.18;
  color:#ffe8fb;
  font-weight:900;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  text-shadow:0 2px 10px rgba(255,105,210,.20);
}
.radioKissNowPlaying.isLoading{opacity:.68}
.radioKissNowPlaying.isError{color:#ffd08a}
.radioKissNowPlaying{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:5px;
  flex:1 1 170px;
  width:auto;
  min-width:120px;
  max-width:245px;
  height:26px;
  padding:0 2px!important;
  overflow:visible!important;
  cursor:help;
  font-size:12px;
  font-weight:950;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.radioKissNowPlayingIcon{flex:0 0 auto;line-height:1}
.radioKissNowPlayingTrack{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.radioKissNowPlaying::after{
  content:attr(data-tooltip);
  position:absolute;
  left:50%;
  top:calc(100% + 10px);
  transform:translateX(-50%) translateY(-4px);
  width:max-content;
  max-width:310px;
  padding:9px 11px;
  border-radius:13px;
  border:1px solid rgba(255,255,255,.16);
  background:linear-gradient(135deg,rgba(21,28,52,.98),rgba(42,26,58,.98));
  color:#fff;
  font-size:11px;
  font-weight:900;
  line-height:1.35;
  letter-spacing:.01em;
  white-space:pre-line;
  text-align:left;
  box-shadow:0 16px 34px rgba(0,0,0,.34),0 0 22px rgba(255,105,210,.14);
  opacity:0;
  pointer-events:none;
  transition:opacity .16s ease,transform .16s ease;
  z-index:9999;
}
.radioKissNowPlaying:hover::after,
.radioKissNowPlaying:focus-visible::after{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}
@keyframes radioPulse{
  0%,100%{transform:scale(1);filter:brightness(1)}
  50%{transform:scale(1.08);filter:brightness(1.18)}
}
@media (max-width:980px){
  .radioKissTitle{display:none}
  .radioKissVolume{width:70px}
}
@media (max-width:620px){
  .radioKissPill{
    flex:1 1 100%;
    justify-content:flex-start;
  }
  .radioKissTitle{display:inline}
  .radioKissVolume{flex:1;min-width:110px}
}


/* ===== Chat: WhatsApp style reply/comment ===== */
#chatPage .chatReplyPreview{
  display:grid;
  gap:6px;
  margin:0 0 10px;
  padding:10px 12px;
  border-radius:18px;
  border:1px solid rgba(130,255,244,.18);
  background:linear-gradient(135deg,rgba(130,255,244,.095),rgba(255,105,210,.075));
  box-shadow:inset 4px 0 0 rgba(130,255,244,.55),0 12px 28px rgba(0,0,0,.12);
}
#chatPage .chatReplyPreview.hidden{
  display:none!important;
}
#chatPage .chatReplyPreviewLine{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:#dceaff;
  font-size:12px;
  font-weight:900;
}
#chatPage .chatReplyPreviewLine strong{
  color:#fff;
}
#chatPage .chatReplyClear{
  width:30px;
  height:30px;
  min-width:30px;
  padding:0!important;
  border-radius:999px!important;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  color:#fff!important;
}
#chatPage .chatReplyPreviewText{
  color:#b9c8e4;
  font-size:13px;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#chatPage .chatReplyQuote{
  display:grid!important;
  width:100%;
  gap:4px;
  margin:10px 0 8px;
  padding:9px 11px!important;
  text-align:left;
  border-radius:14px!important;
  border:1px solid rgba(130,255,244,.16)!important;
  background:rgba(255,255,255,.045)!important;
  box-shadow:inset 3px 0 0 rgba(130,255,244,.45)!important;
  color:#dceaff!important;
}
#chatPage .chatReplyQuote:hover{
  border-color:rgba(130,255,244,.28)!important;
  background:rgba(130,255,244,.07)!important;
}
#chatPage .chatReplyQuoteAuthor{
  font-size:12px;
  font-weight:1000;
  color:#fff;
}
#chatPage .chatReplyQuoteText{
  font-size:12px;
  line-height:1.35;
  color:#aebed9;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#chatPage .chatReplyBtn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  padding:6px 11px!important;
  border-radius:999px!important;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.02em;
  background:linear-gradient(135deg,rgba(130,255,244,.13),rgba(255,255,255,.055))!important;
  border:1px solid rgba(130,255,244,.22)!important;
  color:#eaffff!important;
}
#chatPage .chatMsgHighlight{
  outline:2px solid rgba(130,255,244,.65);
  box-shadow:0 0 0 6px rgba(130,255,244,.10),0 18px 50px rgba(0,0,0,.22)!important;
}
@media (max-width:760px){
  #chatPage .chatReplyPreviewText,
  #chatPage .chatReplyQuoteText{
    white-space:normal;
    display:-webkit-box;
    line-clamp:2;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
  }
}


/* ===== Chat: delete own message via top-right X ===== */
#chatPage .chatMsg{
  position:relative!important;
}
#chatPage .chatDeleteXBtn{
  position:absolute!important;
  top:10px!important;
  right:10px!important;
  z-index:5!important;
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  min-height:28px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:999px!important;
  border:1px solid rgba(255,120,150,.24)!important;
  background:rgba(255,75,115,.10)!important;
  color:#ffd2dc!important;
  font-size:19px!important;
  line-height:1!important;
  font-weight:1000!important;
  cursor:pointer!important;
  box-shadow:0 10px 18px rgba(0,0,0,.16)!important;
  opacity:.72;
  transition:opacity .14s ease,transform .14s ease,background .14s ease,border-color .14s ease,color .14s ease;
}
#chatPage .chatDeleteXBtn:hover{
  opacity:1;
  transform:translateY(-1px) scale(1.04);
  background:rgba(255,75,115,.20)!important;
  border-color:rgba(255,120,150,.48)!important;
  color:#fff!important;
}
#chatPage .chatMsg.me .chatMeta{
  padding-right:34px!important;
}
@media (max-width:760px){
  #chatPage .chatDeleteXBtn{
    top:8px!important;
    right:8px!important;
    width:30px!important;
    height:30px!important;
  }
}


/* ===== Emoji panel fix: otevře se vždy nad chatem, neřeže ho contain/overflow ===== */
#chatPage #chatEmojiPanel.emojiPanelOpen{
  position:fixed !important;
  z-index:2147483000 !important;
  display:grid !important;
  grid-template-columns:repeat(10,minmax(0,1fr)) !important;
  gap:8px !important;
  padding:12px !important;
  border-radius:20px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  background:linear-gradient(180deg,rgba(16,22,44,.985),rgba(7,12,28,.99)) !important;
  box-shadow:0 28px 70px rgba(0,0,0,.52),0 0 0 1px rgba(130,255,244,.10) !important;
  overflow:auto !important;
  pointer-events:auto !important;
  transform:translateZ(0);
}
#chatPage #chatEmojiPanel.emojiPanelOpen.hidden{
  display:none !important;
}
#chatPage #chatEmojiPanel.emojiPanelOpen::after{
  display:none !important;
}
#chatPage #chatEmojiPanel.emojiPanelOpen .emojiSectionTitle{
  grid-column:1/-1;
}
#chatPage #chatEmojiPanel.emojiPanelOpen .emojiBtn,
#chatPage #chatEmojiPanel.emojiPanelOpen .emojiImageBtn{
  min-width:0 !important;
  width:auto !important;
}
#chatPage .tokyoComposerShell,
#chatPage .tokyoChatComposer,
#chatPage .luxuryChatForm{
  overflow:visible !important;
}
body.chatComposerBusy #chatPage #chatEmojiPanel.emojiPanelOpen{
  contain:none !important;
}
@media (max-width:760px){
  #chatPage #chatEmojiPanel.emojiPanelOpen{
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  }
}


/* ===== Emoji portal hard fix ===== */
body > #chatEmojiPanel{
  position:fixed !important;
  z-index:2147483640 !important;
}
body > #chatEmojiPanel.hidden{
  display:none !important;
}
body > #chatEmojiPanel.emojiPanelOpen{
  display:grid !important;
  grid-template-columns:repeat(10,minmax(0,1fr)) !important;
  gap:8px !important;
  padding:12px !important;
  border-radius:20px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  background:linear-gradient(180deg,rgba(16,22,44,.99),rgba(6,11,26,.995)) !important;
  box-shadow:0 32px 80px rgba(0,0,0,.58),0 0 0 1px rgba(130,255,244,.12) !important;
  overflow:auto !important;
  pointer-events:auto !important;
  contain:none !important;
  transform:none !important;
}
body > #chatEmojiPanel.emojiPanelOpen .emojiSectionTitle{
  grid-column:1/-1;
}
body > #chatEmojiPanel.emojiPanelOpen .emojiBtn,
body > #chatEmojiPanel.emojiPanelOpen .emojiImageBtn{
  min-width:0 !important;
  width:auto !important;
}
body > #chatEmojiPanel::after{
  display:none !important;
}
@media (max-width:760px){
  body > #chatEmojiPanel.emojiPanelOpen{
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  }
}


/* ===== PM read receipts: zobrazeno jen v soukromých zprávách ===== */
#chatPage .pmSeenReceipt{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:6px;
  margin-top:8px;
  color:#9fffe0;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.02em;
  opacity:.88;
  user-select:none;
}
#chatPage .chatMsg:not(.pm) .pmSeenReceipt{
  display:none!important;
}
#chatPage .chatMsg:not(.me) .pmSeenReceipt{
  display:none!important;
}
#chatPage.pmMode .chatMsg.me.pm .pmSeenReceipt{
  display:flex!important;
}


/* ===== Chat: vlastní zpráva nesmí mít tlačítko Reagovat ===== */
#chatPage .chatMsg.me .chatReplyBtn{
  display:none !important;
}


/* ===== PM read receipts robust fix ===== */
#chatPage .pmSeenReceipt.seen{
  color:#9fffe0!important;
}
#chatPage .pmSeenReceipt.sent{
  color:#b8c5df!important;
  opacity:.68!important;
}
#chatPage:not(.pmMode) .pmSeenReceipt{
  display:none!important;
}


/* ===== Chat history: player search filter ===== */
.chatHistorySearchBar{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 12px;
  padding:10px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(135deg,rgba(130,255,244,.07),rgba(255,105,210,.055));
}
.chatHistorySearchBox{
  flex:1 1 auto;
  min-width:180px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(0,0,0,.18);
}
.chatHistorySearchBox input{
  width:100%;
  min-width:0;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:#fff!important;
  font-weight:800;
  padding:0!important;
}
.chatHistorySearchBox input::placeholder{
  color:rgba(220,232,255,.55);
}
.chatHistorySearchClear{
  min-height:36px!important;
  padding:7px 12px!important;
  border-radius:999px!important;
}
.chatHistorySearchCount{
  flex:0 0 auto;
  padding:7px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:1000;
  color:#bffcff;
  background:rgba(130,255,244,.09);
  border:1px solid rgba(130,255,244,.18);
}
.chatHistoryUserName{
  color:#9fb0d0;
  font-size:11px;
  font-weight:900;
}
@media (max-width:760px){
  .chatHistorySearchBar{
    flex-wrap:wrap;
  }
  .chatHistorySearchBox{
    flex:1 1 100%;
  }
  .chatHistorySearchCount{
    margin-left:auto;
  }
}


/* ===== PM seen history fallback ===== */
#chatPage .pmSeenReceipt.seen{
  color:#9fffe0!important;
}
#chatPage .pmSeenReceipt.sent{
  color:#b8c5df!important;
}


/* ===== PM chat: horní PM panel nesmí překrýt / useknout zprávy ===== */
#chatPage .tokyoChatFeed{
  display:grid !important;
  grid-template-rows:auto auto minmax(0,1fr) !important;
  overflow:hidden !important;
}
#chatPage .pmInboxList{
  position:relative !important;
  z-index:1 !important;
  flex:0 0 auto !important;
  min-height:0 !important;
  max-height:86px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  background:linear-gradient(180deg,rgba(9,15,31,.86),rgba(9,15,31,.52)) !important;
}
#chatPage .pmInboxList:empty{
  display:none !important;
}
#chatPage .pmInboxHead{
  min-height:24px !important;
  padding:4px 12px 0 !important;
}
#chatPage .pmInboxButtons{
  display:flex !important;
  flex-wrap:nowrap !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding:6px 10px 10px !important;
  gap:10px !important;
}
#chatPage .pmInboxBtn{
  min-height:48px !important;
  max-height:54px !important;
  flex:0 0 280px !important;
  max-width:280px !important;
  padding:7px 10px !important;
  grid-template-columns:36px minmax(0,1fr) 38px !important;
}
#chatPage .pmInboxAvatar{
  width:36px !important;
  height:36px !important;
  border-radius:12px !important;
  font-size:18px !important;
}
#chatPage .pmInboxText{
  gap:2px !important;
}
#chatPage .pmInboxText strong{
  font-size:12px !important;
}
#chatPage .pmInboxText small{
  font-size:10px !important;
  line-height:1.15 !important;
}
#chatPage .pmInboxMeta{
  font-size:10px !important;
}
#chatPage .tokyoChatList{
  position:relative !important;
  z-index:2 !important;
  scroll-padding-top:18px !important;
  padding-top:18px !important;
  min-height:0 !important;
}
#chatPage.pmMode .tokyoChatList > .chatMsg.pm{
  overflow:visible !important;
  contain:none !important;
}
#chatPage.pmMode .tokyoChatList > .chatMsg.me.pm{
  scroll-margin-top:18px !important;
}
#chatPage.pmMode .chatText{
  display:block !important;
  white-space:pre-wrap !important;
  overflow:visible !important;
}
@media (max-width:760px){
  #chatPage .pmInboxList{
    max-height:78px !important;
  }
  #chatPage .pmInboxBtn{
    flex-basis:245px !important;
    max-width:245px !important;
  }
}


/* ===== PM inbox final: karta za textem „Soukromé zprávy“, nic není useknuté ===== */
#chatPage .pmInboxList{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  align-items:center !important;
  gap:12px !important;
  min-height:78px !important;
  height:auto !important;
  max-height:none !important;
  padding:10px 12px !important;
  overflow:hidden !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  background:linear-gradient(180deg,rgba(9,15,31,.88),rgba(9,15,31,.54)) !important;
}
#chatPage .pmInboxList:empty{
  display:none !important;
}
#chatPage .pmInboxHead{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:4px !important;
  min-width:168px !important;
  max-width:180px !important;
  min-height:56px !important;
  padding:0 !important;
  margin:0 !important;
  white-space:nowrap !important;
}
#chatPage .pmInboxHead span:first-child{
  font-size:12px !important;
  line-height:1.1 !important;
  letter-spacing:.08em !important;
}
#chatPage .pmInboxHead span:last-child{
  font-size:10px !important;
  line-height:1.1 !important;
  opacity:.78 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
#chatPage .pmInboxButtons{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:10px !important;
  min-width:0 !important;
  width:100% !important;
  height:auto !important;
  min-height:58px !important;
  max-height:none !important;
  padding:0 2px 2px 0 !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  scrollbar-gutter:stable !important;
}
#chatPage .pmInboxBtn{
  min-height:56px !important;
  height:56px !important;
  max-height:56px !important;
  flex:0 0 300px !important;
  max-width:300px !important;
  padding:8px 10px !important;
  grid-template-columns:38px minmax(0,1fr) 42px !important;
  align-items:center !important;
  overflow:hidden !important;
}
#chatPage .pmInboxAvatar{
  width:38px !important;
  height:38px !important;
  border-radius:13px !important;
  font-size:19px !important;
}
#chatPage .pmInboxText{
  min-width:0 !important;
  gap:3px !important;
}
#chatPage .pmInboxText strong{
  font-size:12px !important;
  line-height:1.1 !important;
}
#chatPage .pmInboxText small{
  font-size:10px !important;
  line-height:1.15 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
#chatPage .pmInboxMeta{
  align-self:center !important;
  justify-self:end !important;
  font-size:10px !important;
}
@media (max-width:760px){
  #chatPage .pmInboxList{
    grid-template-columns:1fr !important;
    gap:8px !important;
    min-height:0 !important;
    padding:9px 10px !important;
  }
  #chatPage .pmInboxHead{
    max-width:none !important;
    min-height:0 !important;
  }
  #chatPage .pmInboxButtons{
    min-height:56px !important;
  }
  #chatPage .pmInboxBtn{
    flex-basis:260px !important;
    max-width:260px !important;
  }
}


/* ===== Premium Feed Hub: brutalnější záložka krmiva ===== */
.premiumFeedPanel{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 0%,rgba(255,215,106,.12),transparent 30%),
    radial-gradient(circle at 88% 12%,rgba(107,233,255,.14),transparent 34%),
    linear-gradient(180deg,rgba(14,22,42,.92),rgba(6,10,24,.96)) !important;
}
.premiumFeedPanel::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.26;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(180deg,#000,transparent 85%);
}
.premiumFeedHead{
  position:relative;
  z-index:1;
}
.feedHeroBox{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(280px,.85fr) minmax(420px,1.15fr);
  gap:16px;
  align-items:stretch;
  margin-bottom:16px;
  padding:18px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.13);
  background:
    radial-gradient(circle at 5% 15%,rgba(255,215,106,.18),transparent 33%),
    radial-gradient(circle at 92% 15%,rgba(107,233,255,.15),transparent 34%),
    linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.028));
  box-shadow:0 24px 52px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.06);
  overflow:hidden;
}
.feedHeroBox::after{
  content:"";
  position:absolute;
  inset:auto -12% -72% auto;
  width:360px;
  height:360px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(255,105,210,.18),transparent 70%);
  filter:blur(8px);
  pointer-events:none;
}
.feedHeroMain{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}
.feedHeroEyebrow{
  color:#ffe3a0;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:1000;
  margin-bottom:8px;
}
.feedHeroTitle{
  font-size:clamp(24px,2.5vw,42px);
  line-height:1.02;
  font-weight:1000;
  color:#fff;
  text-shadow:0 0 24px rgba(107,233,255,.12);
}
.feedHeroText{
  margin-top:10px;
  color:#c5d2eb;
  line-height:1.55;
  max-width:760px;
  font-weight:700;
}
.feedSummaryGrid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  min-width:0;
}
.feedSummaryCard{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:86px;
  padding:13px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.11);
  background:rgba(5,10,24,.48);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.feedSummaryCard.primary{
  border-color:rgba(255,215,106,.25);
  background:linear-gradient(135deg,rgba(255,215,106,.12),rgba(255,255,255,.035));
}
.feedSummaryCard.good{
  border-color:rgba(105,255,176,.23);
  background:linear-gradient(135deg,rgba(105,255,176,.10),rgba(255,255,255,.035));
}
.feedSummaryCard.warn{
  border-color:rgba(255,154,96,.26);
  background:linear-gradient(135deg,rgba(255,154,96,.12),rgba(255,255,255,.035));
}
.feedSummaryIcon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  flex:0 0 42px;
  border-radius:16px;
  background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.10);
  font-size:22px;
}
.feedSummaryCard strong{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  color:#fff;
  font-size:20px;
  line-height:1.15;
  font-weight:1000;
}
.feedSummaryCard strong span{
  display:inline-flex;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.08);
  font-size:13px;
}
.feedSummaryCard span{
  display:block;
  margin-top:3px;
  color:#aebddb;
  font-size:12px;
  line-height:1.35;
  font-weight:800;
}
.feedScrollArea{
  position:relative;
  z-index:1;
  padding-right:6px;
}
.premiumFeedGrid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
  gap:14px;
}
.feedAnimalCard{
  position:relative;
  overflow:hidden;
  display:grid;
  gap:12px;
  min-height:248px;
  padding:15px;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 0% 0%,rgba(255,255,255,.09),transparent 34%),
    linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  box-shadow:0 20px 42px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.05);
}
.feedAnimalCard::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg,rgba(255,215,106,.75),rgba(255,105,210,.18));
  opacity:.7;
}
.feedAnimalCard.fed{
  border-color:rgba(105,255,176,.26);
  background:
    radial-gradient(circle at 0% 0%,rgba(105,255,176,.12),transparent 34%),
    linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
}
.feedAnimalCard.ready{
  border-color:rgba(107,233,255,.25);
}
.feedAnimalCard.missing{
  border-color:rgba(255,154,96,.21);
}
.feedAnimalCard.locked{
  opacity:.52;
  filter:saturate(.72);
}
.feedCardGlow{
  position:absolute;
  inset:auto -24% -58% auto;
  width:260px;
  height:260px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(107,233,255,.14),transparent 70%);
  pointer-events:none;
}
.feedAnimalTop{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
}
.feedAnimalAvatar{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.04));
  box-shadow:0 12px 26px rgba(0,0,0,.18);
  font-size:28px;
}
.feedAnimalName{
  color:#fff;
  font-size:18px;
  font-weight:1000;
  line-height:1.05;
}
.feedAnimalSub{
  margin-top:4px;
  color:#aebddb;
  font-size:12px;
  font-weight:800;
}
.feedStatusPill{
  justify-self:end;
  max-width:190px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:#d8e6ff;
  font-size:11px;
  font-weight:1000;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.feedStatusPill.fed{
  color:#b9ffd4;
  border-color:rgba(105,255,176,.24);
  background:rgba(105,255,176,.10);
}
.feedStatusPill.ready{
  color:#bffcff;
  border-color:rgba(107,233,255,.26);
  background:rgba(107,233,255,.10);
}
.feedStatusPill.missing{
  color:#ffd4aa;
  border-color:rgba(255,154,96,.24);
  background:rgba(255,154,96,.10);
}
.feedProgressWrap{
  position:relative;
  z-index:1;
  display:grid;
  gap:7px;
}
.feedProgressMeta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:#aebddb;
  font-size:12px;
  font-weight:900;
}
.feedProgressMeta strong{
  color:#fff;
  font-variant-numeric:tabular-nums;
}
.feedProgress{
  height:9px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.08);
}
.feedProgress span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#7fffd4,#ffd86b,#ff69d2);
  box-shadow:0 0 20px rgba(127,255,212,.18);
}
.feedProgressWrap.idle .feedProgress span{
  opacity:.3;
}
.feedRecipeTitle{
  position:relative;
  z-index:1;
  color:#ffe3a0;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:1000;
}
.feedIngredients{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.feedIngredient{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  padding:7px 9px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.11);
  background:rgba(255,255,255,.055);
  color:#eaf2ff;
  font-size:12px;
  font-weight:900;
}
.feedIngredient b{
  max-width:120px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.feedIngredient em{
  color:#aebddb;
  font-style:normal;
  font-variant-numeric:tabular-nums;
}
.feedIngredient.ok{
  border-color:rgba(105,255,176,.20);
  background:rgba(105,255,176,.08);
}
.feedIngredient.missing{
  border-color:rgba(255,154,96,.26);
  background:rgba(255,154,96,.10);
}
.feedIngredient.missing em{
  color:#ffd4aa;
}
.feedMissingLine{
  position:relative;
  z-index:1;
  color:#ffd4aa;
  font-size:12px;
  line-height:1.45;
  font-weight:850;
}
.feedMissingLine.good{
  color:#b9ffd4;
}
.feedAnimalFooter{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:auto;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.08);
}
.feedFooterHint{
  color:#9fb0ce;
  font-size:12px;
  line-height:1.35;
  font-weight:750;
}
.feedActionBtn{
  min-width:132px;
  min-height:40px;
  border-radius:999px!important;
  white-space:nowrap;
}
.feedEmptyState{
  grid-column:1/-1;
  min-height:280px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:10px;
  padding:24px;
  border-radius:28px;
  border:1px dashed rgba(255,255,255,.18);
  background:rgba(255,255,255,.035);
  color:#dce8ff;
  text-align:center;
}
.feedEmptyIcon{
  font-size:48px;
  filter:drop-shadow(0 0 18px rgba(107,233,255,.18));
}
.feedEmptyState strong{
  color:#fff;
  font-size:22px;
}
.feedEmptyState span{
  color:#aebddb;
  max-width:580px;
}
@media (max-width:980px){
  .feedHeroBox{
    grid-template-columns:1fr;
  }
  .feedSummaryGrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:620px){
  .premiumFeedGrid{
    grid-template-columns:1fr;
  }
  .feedSummaryGrid{
    grid-template-columns:1fr;
  }
  .feedAnimalTop{
    grid-template-columns:44px minmax(0,1fr);
  }
  .feedAnimalAvatar{
    width:44px;
    height:44px;
    border-radius:15px;
    font-size:23px;
  }
  .feedStatusPill{
    grid-column:1/-1;
    justify-self:start;
    max-width:100%;
  }
  .feedAnimalFooter{
    align-items:stretch;
    flex-direction:column;
  }
  .feedActionBtn{
    width:100%;
  }
}


/* ===== Feed Hub: řazení jako ve stáji ===== */
.feedControlBar{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}
.feedControlLabel{
  color:#ffe3a0;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:1000;
}
.feedFilterSelect{
  min-height:42px;
  min-width:220px;
  border-radius:16px!important;
  padding:8px 12px!important;
  color:#fff!important;
  background:rgba(5,10,24,.66)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 12px 26px rgba(0,0,0,.12)!important;
  font-weight:900;
}
.feedFilterSelect option{
  background:#0c1428;
  color:#fff;
}
.feedAnimalCard.unowned{
  border-color:rgba(255,215,106,.20);
  background:
    radial-gradient(circle at 0% 0%,rgba(255,215,106,.10),transparent 34%),
    linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.022));
}
.feedStatusPill.unowned{
  color:#ffe3a0;
  border-color:rgba(255,215,106,.24);
  background:rgba(255,215,106,.10);
}
.feedAnimalCard.locked .feedIngredients,
.feedAnimalCard.locked .feedProgressWrap,
.feedAnimalCard.locked .feedMissingLine{
  opacity:.68;
}


/* ===== Feed Hub fix: karty se nesmí usekávat + výrazný posuvník ===== */
#feedPage .panelBody{
  overflow:hidden !important;
}
#feedPage .feedScrollArea{
  max-height:calc(100vh - 360px) !important;
  min-height:360px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding:0 14px 30px 0 !important;
  scrollbar-gutter:stable both-edges !important;
}
#feedPage .premiumFeedGrid{
  align-items:stretch !important;
  padding-bottom:34px !important;
}
#feedPage .feedAnimalCard{
  min-height:0 !important;
  height:auto !important;
  overflow:visible !important;
  align-content:start !important;
  padding:14px !important;
}
#feedPage .feedAnimalCard,
#feedPage .feedAnimalCard *{
  box-sizing:border-box;
}
#feedPage .feedAnimalFooter{
  margin-top:8px !important;
  min-height:46px !important;
}
#feedPage .feedActionBtn{
  min-height:38px !important;
  padding:8px 14px !important;
}
#feedPage .feedIngredients{
  max-height:none !important;
  overflow:visible !important;
}
#feedPage .feedIngredient{
  min-height:32px !important;
  padding:6px 8px !important;
}
#feedPage .feedAnimalTop{
  align-items:start !important;
}
#feedPage .feedStatusPill{
  margin-top:2px !important;
}

/* výrazný scrollbar jen pro feed, aby bylo vidět, kde zrovna jsi */
#feedPage .feedScrollArea::-webkit-scrollbar{
  width:14px;
}
#feedPage .feedScrollArea::-webkit-scrollbar-track{
  background:rgba(255,255,255,.06);
  border-radius:999px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
#feedPage .feedScrollArea::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:linear-gradient(180deg,#7fffd4,#ffd86b,#ff69d2);
  border:3px solid rgba(9,15,31,.92);
  box-shadow:0 0 18px rgba(127,255,212,.22);
}
#feedPage .feedScrollArea::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,#b9ffe7,#ffe59a,#ff93e1);
}
#feedPage .feedScrollArea{
  scrollbar-color:#ff69d2 rgba(255,255,255,.08);
  scrollbar-width:thin;
}

/* menší obrazovky: feed nesmí zmizet pod spodkem okna */
@media (max-height:820px){
  #feedPage .feedHeroBox{
    padding:14px !important;
    margin-bottom:12px !important;
  }
  #feedPage .feedHeroTitle{
    font-size:clamp(21px,2vw,32px) !important;
  }
  #feedPage .feedHeroText{
    line-height:1.35 !important;
    margin-top:7px !important;
  }
  #feedPage .feedSummaryCard{
    min-height:70px !important;
    padding:10px !important;
  }
  #feedPage .feedScrollArea{
    max-height:calc(100vh - 300px) !important;
    min-height:300px !important;
  }
}
@media (max-width:980px){
  #feedPage .feedScrollArea{
    max-height:none !important;
    min-height:0 !important;
    overflow:visible !important;
    padding-right:0 !important;
  }
}


/* ===== Feed Hub final fix: celý scroll sedí, karty nejsou useknuté, ukazatel je pořád vidět ===== */
#feedPage.active{
  height:calc(100dvh - 132px) !important;
  min-height:0 !important;
  overflow:hidden !important;
}
#feedPage .premiumFeedPanel{
  height:100% !important;
  min-height:0 !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}
#feedPage .premiumFeedPanel > .panelHead{
  flex:0 0 auto !important;
}
#feedPage .premiumFeedPanel > .panelBody{
  flex:1 1 auto !important;
  min-height:0 !important;
  display:grid !important;
  grid-template-rows:auto minmax(0,1fr) !important;
  overflow:hidden !important;
  padding-bottom:0 !important;
}
#feedPage .feedHeroBox{
  flex:0 0 auto !important;
  margin-bottom:10px !important;
  padding:13px 15px !important;
  grid-template-columns:minmax(260px,.82fr) minmax(390px,1.18fr) !important;
}
#feedPage .feedHeroEyebrow{
  margin-bottom:5px !important;
}
#feedPage .feedHeroTitle{
  font-size:clamp(22px,2vw,34px) !important;
}
#feedPage .feedHeroText{
  margin-top:7px !important;
  line-height:1.34 !important;
}
#feedPage .feedControlBar{
  margin-top:10px !important;
}
#feedPage .feedSummaryGrid{
  align-content:stretch !important;
}
#feedPage .feedSummaryCard{
  min-height:64px !important;
  padding:9px 10px !important;
  gap:9px !important;
}
#feedPage .feedSummaryIcon{
  width:36px !important;
  height:36px !important;
  flex-basis:36px !important;
  border-radius:13px !important;
  font-size:19px !important;
}
#feedPage .feedSummaryCard strong{
  font-size:16px !important;
}
#feedPage .feedSummaryCard span{
  font-size:11px !important;
}
#feedPage .feedScrollArea{
  height:auto !important;
  max-height:none !important;
  min-height:0 !important;
  overflow-y:scroll !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain !important;
  padding:0 26px 150px 0 !important;
  margin-right:-8px !important;
  scrollbar-gutter:stable both-edges !important;
  scroll-padding-bottom:150px !important;
}
#feedPage .premiumFeedGrid{
  align-items:start !important;
  padding-bottom:150px !important;
  gap:14px !important;
}
#feedPage .feedAnimalCard{
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  padding:13px !important;
}
#feedPage .feedAnimalCard::before,
#feedPage .feedCardGlow{
  pointer-events:none !important;
}
#feedPage .feedAnimalTop{
  display:grid !important;
  grid-template-columns:48px minmax(0,1fr) auto !important;
  gap:10px !important;
  align-items:start !important;
}
#feedPage .feedAnimalAvatar{
  width:48px !important;
  height:48px !important;
  border-radius:16px !important;
  font-size:25px !important;
}
#feedPage .feedAnimalName{
  font-size:17px !important;
}
#feedPage .feedAnimalSub{
  font-size:11px !important;
  line-height:1.25 !important;
}
#feedPage .feedStatusPill{
  max-width:170px !important;
  padding:7px 9px !important;
  font-size:10px !important;
}
#feedPage .feedProgressWrap{
  gap:5px !important;
}
#feedPage .feedProgress{
  height:8px !important;
}
#feedPage .feedRecipeTitle{
  margin-top:2px !important;
}
#feedPage .feedIngredients{
  gap:7px !important;
  overflow:visible !important;
}
#feedPage .feedIngredient{
  min-height:30px !important;
  padding:6px 8px !important;
  font-size:11px !important;
}
#feedPage .feedIngredient b{
  max-width:112px !important;
}
#feedPage .feedMissingLine{
  font-size:11px !important;
  line-height:1.3 !important;
}
#feedPage .feedAnimalFooter{
  margin-top:auto !important;
  padding-top:8px !important;
  min-height:42px !important;
  overflow:visible !important;
}
#feedPage .feedFooterHint{
  font-size:11px !important;
}
#feedPage .feedActionBtn{
  min-height:36px !important;
  min-width:126px !important;
  padding:7px 12px !important;
}

/* Native scrollbar je pořád barevný, ale vedle je ještě vlastní ukazatel. */
#feedPage .feedScrollArea::-webkit-scrollbar{
  width:18px !important;
}
#feedPage .feedScrollArea::-webkit-scrollbar-track{
  background:rgba(255,255,255,.075) !important;
  border-radius:999px !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10) !important;
}
#feedPage .feedScrollArea::-webkit-scrollbar-thumb{
  border-radius:999px !important;
  background:linear-gradient(180deg,#7fffd4 0%,#ffd86b 52%,#ff69d2 100%) !important;
  border:3px solid rgba(9,15,31,.96) !important;
  min-height:56px !important;
  box-shadow:0 0 20px rgba(127,255,212,.26) !important;
}

/* Vlastní ukazatel pozice - nezmizí ani když prohlížeč schová scrollbar. */
.feedScrollTracker{
  position:fixed !important;
  right:10px !important;
  top:148px !important;
  bottom:70px !important;
  width:24px !important;
  z-index:7000 !important;
  display:none !important;
  align-items:center !important;
  flex-direction:column !important;
  gap:7px !important;
  pointer-events:none !important;
}
#feedPage.active .feedScrollTracker.active{
  display:flex !important;
}
.feedScrollTrack{
  position:relative !important;
  width:12px !important;
  flex:1 1 auto !important;
  min-height:160px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.10) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.18),0 0 22px rgba(107,233,255,.10) !important;
  overflow:hidden !important;
}
#feedScrollThumb{
  position:absolute !important;
  left:2px !important;
  right:2px !important;
  top:0;
  height:22%;
  border-radius:999px !important;
  background:linear-gradient(180deg,#7fffd4,#ffd86b,#ff69d2) !important;
  box-shadow:0 0 18px rgba(255,105,210,.35),0 0 24px rgba(127,255,212,.22) !important;
}
.feedScrollPct{
  min-width:38px !important;
  padding:4px 6px !important;
  border-radius:999px !important;
  text-align:center !important;
  color:#fff !important;
  font-size:10px !important;
  font-weight:1000 !important;
  background:rgba(6,11,25,.88) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 12px 24px rgba(0,0,0,.24) !important;
}

@media (max-height:820px){
  #feedPage.active{
    height:calc(100dvh - 112px) !important;
  }
  #feedPage .premiumFeedPanel > .panelBody{
    grid-template-rows:auto minmax(0,1fr) !important;
  }
  #feedPage .feedHeroBox{
    padding:10px 12px !important;
    margin-bottom:8px !important;
  }
  #feedPage .feedSummaryGrid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
  #feedPage .feedSummaryCard{
    min-height:54px !important;
  }
  #feedPage .feedSummaryIcon{
    width:31px !important;
    height:31px !important;
    flex-basis:31px !important;
    font-size:16px !important;
  }
}
@media (max-width:980px){
  #feedPage.active{
    height:auto !important;
    overflow:visible !important;
  }
  #feedPage .premiumFeedPanel,
  #feedPage .premiumFeedPanel > .panelBody{
    height:auto !important;
    overflow:visible !important;
    display:block !important;
  }
  #feedPage .feedHeroBox{
    grid-template-columns:1fr !important;
  }
  #feedPage .feedScrollArea{
    overflow:visible !important;
    padding-right:0 !important;
    margin-right:0 !important;
  }
  #feedPage.active .feedScrollTracker.active{
    display:none !important;
  }
}


/* ===== Feed Hub: jen jeden posuvník =====
   Předtím byl native scrollbar + vlastní procentní tracker, proto to vypadalo jako dva posuvníky.
   Teď zůstává jen klasický vnitřní scrollbar feedu. */
#feedPage .feedScrollTracker,
#feedPage.active .feedScrollTracker,
#feedPage.active .feedScrollTracker.active{
  display:none !important;
}
#feedPage .feedScrollArea{
  overflow-y:scroll !important;
  overflow-x:hidden !important;
  padding-right:14px !important;
  margin-right:0 !important;
  scrollbar-gutter:stable !important;
}
#feedPage .premiumFeedGrid{
  padding-right:0 !important;
}



/* ===== Chat anti-jump fix ===== */
#chatPage .tokyoChatList{
  overflow-anchor:none !important;
}
#chatPage .typingIndicator{
  scroll-margin-bottom:18px;
}


/* ===== PM read receipts: per-message time, no history overwrite ===== */
#chatPage .pmSeenReceipt.seen{
  font-variant-numeric:tabular-nums;
}






/* ===== Chat: Reagovat se ukládá pod původní zprávu, nevytváří novou bublinu ===== */
#chatPage .chatInlineComments{
  display:grid;
  gap:8px;
  margin-top:12px;
  padding:10px;
  border-radius:18px;
  border:1px solid rgba(130,255,244,.14);
  background:linear-gradient(135deg,rgba(130,255,244,.055),rgba(255,255,255,.025));
}
#chatPage .chatInlineCommentsHead{
  color:#bffcff;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
}
#chatPage .chatInlineComment{
  display:grid;
  gap:5px;
  padding:8px 10px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.045);
}
#chatPage .chatInlineComment.mine{
  border-color:rgba(255,216,107,.16);
  background:rgba(255,216,107,.065);
}
#chatPage .chatInlineCommentMeta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  color:#dceaff;
  font-size:11px;
  font-weight:900;
}
#chatPage .chatInlineCommentMeta em{
  color:#8fa1c5;
  font-style:normal;
  font-variant-numeric:tabular-nums;
}
#chatPage .chatCommentText{
  color:#f6fbff;
  font-size:13px;
  line-height:1.45;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
#chatPage .chatCommentImage{
  display:inline-grid;
  width:max-content;
  max-width:100%;
  margin-top:4px;
}
#chatPage .chatCommentImage img{
  max-width:100px!important;
  max-height:100px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  border-radius:12px;
  border:1px solid rgba(130,255,244,.20);
  background:rgba(0,0,0,.18);
}

#chatPage .chatInlineCommentTools{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  margin-top:2px;
}
#chatPage .chatInlineCommentReplyBtn{
  border:1px solid rgba(130,255,244,.18);
  background:rgba(130,255,244,.07);
  color:#bffcff;
  border-radius:999px;
  padding:4px 8px;
  font-size:10px;
  font-weight:1000;
  cursor:pointer;
}
#chatPage .chatInlineCommentReplyBtn:hover{
  border-color:rgba(130,255,244,.42);
  background:rgba(130,255,244,.13);
  transform:translateY(-1px);
}
#chatPage .chatInlineNestedReplies{
  display:grid;
  gap:6px;
  margin-top:8px;
  margin-left:16px;
  padding-left:10px;
  border-left:2px solid rgba(130,255,244,.20);
}
#chatPage .chatInlineNestedReply{
  display:grid;
  gap:4px;
  padding:7px 9px;
  border-radius:13px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.14);
}
#chatPage .chatInlineNestedReply.mine{
  border-color:rgba(255,216,107,.16);
  background:rgba(255,216,107,.055);
}


/* ===== Questy: oprava useknuté historie + sjednocený scroll ===== */
body:has(#questsPage.pagePane.active){
  overflow:hidden !important;
}
.main:has(#questsPage.pagePane.active),
.pageContent:has(#questsPage.pagePane.active){
  overflow:hidden !important;
  min-height:0 !important;
}
#questsPage.pagePane.active{
  height:calc(100dvh - 128px) !important;
  min-height:0 !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}
#questsPage .questsPageGrid{
  flex:1 1 auto !important;
  min-height:0 !important;
  height:100% !important;
  overflow:hidden !important;
  align-items:stretch !important;
  grid-template-columns:minmax(420px,2fr) minmax(240px,1fr) minmax(240px,1fr) !important;
}
#questsPage .questsPageGrid > section.panel{
  min-height:0 !important;
  height:100% !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}
#questsPage .questsPageGrid > section.panel > .panelHead{
  flex:0 0 auto !important;
}
#questsPage #questScroll,
#questsPage #dailyQuestScroll,
#questsPage #weeklyQuestScroll{
  flex:1 1 auto !important;
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding:12px 14px 110px 14px !important;
  scrollbar-gutter:stable !important;
  overscroll-behavior:contain !important;
}
#questsPage #questScroll{
  padding-bottom:140px !important;
}
#questsPage .questWaitingBox,
#questsPage .questClaimedBox{
  overflow:visible !important;
  max-height:none !important;
}
#questsPage .questHistoryList,
#questsPage .questWaitingList{
  max-height:none !important;
  height:auto !important;
  overflow:visible !important;
  padding-right:0 !important;
  padding-bottom:18px !important;
}
#questsPage .questHistoryList .card,
#questsPage .questWaitingList .card,
#questsPage #questList .card{
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}
#questsPage .questList{
  align-content:start !important;
}
#questsPage .questLiveHeader{
  position:sticky !important;
  top:0 !important;
  z-index:4 !important;
  backdrop-filter:blur(14px) !important;
}

/* Výraznější a stabilní scrollbar jen v panelech questů */
#questsPage #questScroll::-webkit-scrollbar,
#questsPage #dailyQuestScroll::-webkit-scrollbar,
#questsPage #weeklyQuestScroll::-webkit-scrollbar{
  width:14px;
}
#questsPage #questScroll::-webkit-scrollbar-track,
#questsPage #dailyQuestScroll::-webkit-scrollbar-track,
#questsPage #weeklyQuestScroll::-webkit-scrollbar-track{
  background:rgba(255,255,255,.07);
  border-radius:999px;
}
#questsPage #questScroll::-webkit-scrollbar-thumb,
#questsPage #dailyQuestScroll::-webkit-scrollbar-thumb,
#questsPage #weeklyQuestScroll::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:linear-gradient(180deg,#ffe28a,#ff69d2);
  border:3px solid rgba(8,12,26,.94);
  min-height:52px;
}

/* Menší výšky: pořád musí být vidět spodek historie */
@media (max-height:820px){
  #questsPage.pagePane.active{
    height:calc(100dvh - 104px) !important;
  }
  #questsPage #questScroll,
  #questsPage #dailyQuestScroll,
  #questsPage #weeklyQuestScroll{
    padding-bottom:130px !important;
  }
}

/* Mobil/tablet: necháme normální stránkový scroll, ať se to nerozbije */
@media (max-width:780px){
  body:has(#questsPage.pagePane.active){
    overflow:auto !important;
  }
  .main:has(#questsPage.pagePane.active),
  .pageContent:has(#questsPage.pagePane.active),
  #questsPage.pagePane.active{
    height:auto !important;
    overflow:visible !important;
  }
  #questsPage .questsPageGrid{
    height:auto !important;
    overflow:visible !important;
    grid-template-columns:1fr !important;
  }
  #questsPage .questsPageGrid > section.panel{
    height:auto !important;
    overflow:visible !important;
  }
  #questsPage #questScroll,
  #questsPage #dailyQuestScroll,
  #questsPage #weeklyQuestScroll{
    max-height:none !important;
    overflow:visible !important;
    padding-bottom:24px !important;
  }
}


/* ===== Restaurace: oprava useknutých objednávek + správný scroll ===== */
body:has(#restaurantPage.pagePane.active){
  overflow:hidden !important;
}
.main:has(#restaurantPage.pagePane.active),
.pageContent:has(#restaurantPage.pagePane.active){
  overflow:hidden !important;
  min-height:0 !important;
}
#restaurantPage.pagePane.active{
  height:calc(100dvh - 128px) !important;
  min-height:0 !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}
#restaurantPage .restaurantPanelPremium{
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}
#restaurantPage .restaurantPanelPremium > .panelHead{
  flex:0 0 auto !important;
}
#restaurantPage .restaurantPanelPremium > .panelBody{
  flex:1 1 auto !important;
  min-height:0 !important;
  height:auto !important;
  display:grid !important;
  grid-template-rows:auto minmax(0,1fr) !important;
  overflow:hidden !important;
  padding-bottom:0 !important;
}
#restaurantPage #restaurantSummary{
  min-height:0 !important;
  overflow:visible !important;
}
#restaurantPage #restaurantScroll,
#restaurantPage #restaurantScroll.scrollArea,
#restaurantPage .luxModuleScroll#restaurantScroll{
  height:auto !important;
  max-height:none !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding:12px 16px 170px 12px !important;
  margin-right:-4px !important;
  scrollbar-gutter:stable !important;
  scroll-padding-bottom:170px !important;
  overscroll-behavior:contain !important;
}
#restaurantPage #restaurantGrid,
#restaurantPage #restaurantGrid.luxCardGrid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(320px,1fr)) !important;
  align-items:start !important;
  gap:14px !important;
  padding-bottom:170px !important;
  margin-bottom:0 !important;
}
#restaurantPage #restaurantGrid .luxCard{
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  display:flex !important;
  flex-direction:column !important;
}
#restaurantPage #restaurantGrid .luxCard:last-child{
  margin-bottom:80px !important;
}
#restaurantPage .luxActionRow{
  margin-top:auto !important;
  padding-top:12px !important;
  overflow:visible !important;
}
#restaurantPage .luxActionRow button{
  flex:0 0 auto !important;
  min-width:142px !important;
}

/* výrazný stabilní scrollbar restaurace */
#restaurantPage #restaurantScroll::-webkit-scrollbar{
  width:14px;
}
#restaurantPage #restaurantScroll::-webkit-scrollbar-track{
  background:rgba(255,255,255,.07);
  border-radius:999px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
#restaurantPage #restaurantScroll::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:linear-gradient(180deg,#ffcf86,#ff69d2);
  border:3px solid rgba(8,12,26,.94);
  min-height:52px;
  box-shadow:0 0 18px rgba(255,150,120,.18);
}

/* Menší výška monitoru: zmenšíme hero summary, ať zůstane víc místa pro objednávky */
@media (max-height:820px){
  #restaurantPage.pagePane.active{
    height:calc(100dvh - 104px) !important;
  }
  #restaurantPage .luxModuleHero{
    padding:12px 14px !important;
    margin-bottom:10px !important;
  }
  #restaurantPage .luxModuleTitle{
    font-size:clamp(20px,2vw,30px) !important;
  }
  #restaurantPage .luxModuleText{
    line-height:1.35 !important;
  }
  #restaurantPage .luxStatGrid{
    gap:8px !important;
  }
  #restaurantPage .luxStatCard{
    min-height:58px !important;
    padding:9px 10px !important;
  }
  #restaurantPage #restaurantScroll,
  #restaurantPage #restaurantScroll.scrollArea{
    padding-bottom:180px !important;
    scroll-padding-bottom:180px !important;
  }
}

/* Tablet/mobil: necháme normální stránkový scroll */
@media (max-width:980px){
  body:has(#restaurantPage.pagePane.active){
    overflow:auto !important;
  }
  .main:has(#restaurantPage.pagePane.active),
  .pageContent:has(#restaurantPage.pagePane.active),
  #restaurantPage.pagePane.active,
  #restaurantPage .restaurantPanelPremium,
  #restaurantPage .restaurantPanelPremium > .panelBody{
    height:auto !important;
    overflow:visible !important;
    display:block !important;
  }
  #restaurantPage #restaurantScroll,
  #restaurantPage #restaurantScroll.scrollArea{
    max-height:none !important;
    overflow:visible !important;
    padding:12px 0 24px 0 !important;
    margin-right:0 !important;
  }
  #restaurantPage #restaurantGrid,
  #restaurantPage #restaurantGrid.luxCardGrid{
    grid-template-columns:1fr !important;
    padding-bottom:24px !important;
  }
}


/* ===== Dekorace + Sezóna: oprava useknutých karet a sjednocený scroll ===== */

/* ---------- DEKORACE ---------- */
body:has(#decorPage.pagePane.active){
  overflow:hidden !important;
}
.main:has(#decorPage.pagePane.active),
.pageContent:has(#decorPage.pagePane.active){
  overflow:hidden !important;
  min-height:0 !important;
}
#decorPage.pagePane.active{
  height:calc(100dvh - 128px) !important;
  min-height:0 !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}
#decorPage .premiumDecorPanel{
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}
#decorPage .premiumDecorPanel > .panelHead{
  flex:0 0 auto !important;
}
#decorPage .premiumDecorPanel > .panelBody{
  flex:1 1 auto !important;
  min-height:0 !important;
  height:auto !important;
  display:grid !important;
  grid-template-rows:auto minmax(0,1fr) !important;
  overflow:hidden !important;
  padding-bottom:0 !important;
}
#decorPage #decorSummary{
  min-height:0 !important;
  overflow:visible !important;
}
#decorPage #decorScroll,
#decorPage #decorScroll.scrollArea,
#decorPage .luxModuleScroll#decorScroll{
  height:auto !important;
  max-height:none !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding:12px 16px 170px 12px !important;
  margin-right:-4px !important;
  scrollbar-gutter:stable !important;
  scroll-padding-bottom:170px !important;
  overscroll-behavior:contain !important;
}
#decorPage #decorGrid,
#decorPage #decorGrid.luxCardGrid,
#decorPage .premiumDecorGrid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(270px,1fr)) !important;
  align-items:start !important;
  gap:14px !important;
  padding-bottom:170px !important;
  margin-bottom:0 !important;
}
#decorPage #decorGrid .luxCard,
#decorPage #decorGrid .decoLuxuryCard{
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  display:flex !important;
  flex-direction:column !important;
}
#decorPage #decorGrid .luxCard:last-child,
#decorPage #decorGrid .decoLuxuryCard:last-child{
  margin-bottom:80px !important;
}
#decorPage #decorScroll::-webkit-scrollbar{
  width:14px;
}
#decorPage #decorScroll::-webkit-scrollbar-track{
  background:rgba(255,255,255,.07);
  border-radius:999px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
#decorPage #decorScroll::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:linear-gradient(180deg,#ffb6ea,#7ee8ff);
  border:3px solid rgba(8,12,26,.94);
  min-height:52px;
  box-shadow:0 0 18px rgba(255,105,210,.18);
}

/* ---------- SEZÓNA + SÍŇ SLÁVY ---------- */
body:has(#seasonPage.pagePane.active){
  overflow:hidden !important;
}
.main:has(#seasonPage.pagePane.active),
.pageContent:has(#seasonPage.pagePane.active){
  overflow:hidden !important;
  min-height:0 !important;
}
#seasonPage.pagePane.active{
  height:calc(100dvh - 128px) !important;
  min-height:0 !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}
#seasonPage .seasonPageGrid{
  flex:1 1 auto !important;
  min-height:0 !important;
  height:100% !important;
  overflow:hidden !important;
  align-items:stretch !important;
  grid-template-columns:minmax(440px,1.1fr) minmax(360px,.9fr) !important;
}
#seasonPage .seasonPageGrid > .panel{
  min-height:0 !important;
  height:100% !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  align-self:stretch !important;
}
#seasonPage .seasonPageGrid > .panel > .panelHead{
  flex:0 0 auto !important;
}
#seasonPage #seasonScroll,
#seasonPage #hallScroll,
#seasonPage #seasonScroll.scrollArea,
#seasonPage #hallScroll.scrollArea{
  flex:1 1 auto !important;
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding:12px 16px 170px 12px !important;
  scrollbar-gutter:stable !important;
  scroll-padding-bottom:170px !important;
  overscroll-behavior:contain !important;
}
#seasonPage #seasonScroll > .card,
#seasonPage #hallScroll > .card,
#seasonPage #seasonRewardsGrid .card,
#seasonPage #seasonHistoryList .playerLuxuryCard,
#seasonPage #hallLegendsList .playerLuxuryCard,
#seasonPage #hallPrestigeList .playerLuxuryCard,
#seasonPage #hallRichList .playerLuxuryCard,
#seasonPage #hallScroll .leaderCard,
#seasonPage #hallScroll .card{
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}
#seasonPage #seasonRewardsGrid,
#seasonPage #seasonTopList,
#seasonPage #seasonHistoryList,
#seasonPage #hallLegendsList,
#seasonPage #hallPrestigeList,
#seasonPage #hallRichList{
  padding-bottom:24px !important;
  min-height:0 !important;
  overflow:visible !important;
}
#seasonPage #seasonScroll > *:last-child,
#seasonPage #hallScroll > *:last-child{
  margin-bottom:90px !important;
}
#seasonPage #seasonScroll::-webkit-scrollbar,
#seasonPage #hallScroll::-webkit-scrollbar{
  width:14px;
}
#seasonPage #seasonScroll::-webkit-scrollbar-track,
#seasonPage #hallScroll::-webkit-scrollbar-track{
  background:rgba(255,255,255,.07);
  border-radius:999px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
#seasonPage #seasonScroll::-webkit-scrollbar-thumb,
#seasonPage #hallScroll::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:linear-gradient(180deg,#ffe28a,#ff69d2);
  border:3px solid rgba(8,12,26,.94);
  min-height:52px;
  box-shadow:0 0 18px rgba(255,211,110,.18);
}

/* Menší výška monitoru: summary/hero části se stáhnou, scroll pořád sedí */
@media (max-height:820px){
  #decorPage.pagePane.active,
  #seasonPage.pagePane.active{
    height:calc(100dvh - 104px) !important;
  }
  #decorPage .luxModuleHero,
  #seasonPage #seasonScroll > .card:first-child{
    padding:12px 14px !important;
    margin-bottom:10px !important;
  }
  #decorPage .luxModuleTitle,
  #seasonPage .cardTitle{
    font-size:clamp(18px,2vw,28px) !important;
  }
  #decorPage #decorScroll,
  #seasonPage #seasonScroll,
  #seasonPage #hallScroll{
    padding-bottom:185px !important;
    scroll-padding-bottom:185px !important;
  }
}

/* Tablet/mobil: klasický stránkový scroll, aby se nic nehádalo */
@media (max-width:980px){
  body:has(#decorPage.pagePane.active),
  body:has(#seasonPage.pagePane.active){
    overflow:auto !important;
  }

  .main:has(#decorPage.pagePane.active),
  .pageContent:has(#decorPage.pagePane.active),
  #decorPage.pagePane.active,
  #decorPage .premiumDecorPanel,
  #decorPage .premiumDecorPanel > .panelBody,
  .main:has(#seasonPage.pagePane.active),
  .pageContent:has(#seasonPage.pagePane.active),
  #seasonPage.pagePane.active,
  #seasonPage .seasonPageGrid,
  #seasonPage .seasonPageGrid > .panel{
    height:auto !important;
    overflow:visible !important;
    display:block !important;
  }

  #decorPage #decorScroll,
  #decorPage #decorScroll.scrollArea,
  #seasonPage #seasonScroll,
  #seasonPage #hallScroll,
  #seasonPage #seasonScroll.scrollArea,
  #seasonPage #hallScroll.scrollArea{
    max-height:none !important;
    overflow:visible !important;
    padding:12px 0 24px 0 !important;
    margin-right:0 !important;
  }

  #decorPage #decorGrid,
  #decorPage #decorGrid.luxCardGrid,
  #decorPage .premiumDecorGrid,
  #seasonPage .seasonPageGrid{
    grid-template-columns:1fr !important;
    padding-bottom:24px !important;
  }
}


/* ===== Dekorace: karty celé viditelné bez dojíždění kvůli tlačítku ===== */

/* Hero v dekoracích byl moc vysoký a bral místo kartám. */
#decorPage #decorSummary .themeHeroBox,
#decorPage #decorSummary .premiumHeroBox{
  padding:9px 12px !important;
  margin:0 0 8px 0 !important;
  min-height:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
}
#decorPage #decorSummary .marketHeroTitle{
  font-size:18px !important;
  line-height:1.15 !important;
  margin:0 !important;
}
#decorPage #decorSummary .marketHeroText{
  display:none !important;
}
#decorPage #decorSummary .luxMetricGrid{
  display:none !important;
}
#decorPage #decorSummary .luxInfoPills{
  margin-top:7px !important;
  gap:6px !important;
}
#decorPage #decorSummary .playerStatPill{
  padding:6px 9px !important;
  font-size:11px !important;
}

/* Scroll dekorací má víc reálného místa pro první řadu karet. */
#decorPage #decorScroll,
#decorPage #decorScroll.scrollArea,
#decorPage .luxModuleScroll#decorScroll{
  padding:8px 14px 120px 8px !important;
  scroll-padding-bottom:120px !important;
}

/* Karta dekorace je kompaktní, ale pořád luxusní. */
#decorPage #decorGrid,
#decorPage #decorGrid.luxCardGrid,
#decorPage .premiumDecorGrid{
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr)) !important;
  gap:12px !important;
  padding-bottom:130px !important;
  align-items:start !important;
}
#decorPage .decoLuxuryCard,
#decorPage #decorGrid .decoLuxuryCard,
#decorPage #decorGrid .luxCard{
  padding:12px !important;
  border-radius:22px !important;
  gap:8px !important;
  min-height:0 !important;
  height:auto !important;
  overflow:visible !important;
}
#decorPage .decoLuxuryCard .luxCardTop{
  gap:8px !important;
  align-items:flex-start !important;
}
#decorPage .decoLuxuryCard .luxTag{
  padding:6px 9px !important;
  font-size:10px !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
}
#decorPage .decoLuxuryCard .luxCardTitle{
  margin-top:7px !important;
  font-size:17px !important;
  line-height:1.12 !important;
}
#decorPage .decoLuxuryCard .luxCardSubtitle{
  margin-top:4px !important;
  font-size:12px !important;
  line-height:1.25 !important;
  display:-webkit-box !important;
  line-clamp:2 !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}
#decorPage .decoLuxuryCard .luxStatsList{
  gap:6px !important;
  margin-top:4px !important;
}
#decorPage .decoLuxuryCard .luxStatRow{
  padding:7px 9px !important;
  border-radius:12px !important;
  font-size:12px !important;
  line-height:1.2 !important;
}

/* Tyhle 2 řádky byly duplicitní:
   odemčení je nahoře v badge a cena je přímo na tlačítku. */
#decorPage .decoLuxuryCard .luxStatsList .luxStatRow:nth-child(3),
#decorPage .decoLuxuryCard .luxStatsList .luxStatRow:nth-child(4){
  display:none !important;
}

#decorPage .decoLuxuryCard .luxActionNote{
  margin-top:2px !important;
  font-size:11px !important;
  line-height:1.28 !important;
  min-height:28px !important;
  display:-webkit-box !important;
  line-clamp:2 !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}
#decorPage .decoLuxuryCard .luxCardActions{
  margin-top:6px !important;
}
#decorPage .decoLuxuryCard .luxCardActions button{
  min-height:36px !important;
  padding:8px 12px !important;
  border-radius:15px !important;
  font-size:13px !important;
}

/* Na menší výšce ještě víc stáhneme kartu, aby tlačítko bylo vidět. */
@media (max-height:820px){
  #decorPage #decorSummary .themeHeroBox,
  #decorPage #decorSummary .premiumHeroBox{
    padding:7px 10px !important;
    margin-bottom:6px !important;
  }
  #decorPage #decorSummary .luxInfoPills{
    display:none !important;
  }
  #decorPage #decorScroll,
  #decorPage #decorScroll.scrollArea{
    padding-top:6px !important;
    padding-bottom:120px !important;
  }
  #decorPage .decoLuxuryCard{
    padding:10px !important;
    gap:6px !important;
  }
  #decorPage .decoLuxuryCard .luxCardSubtitle{
    line-clamp:1 !important;
    -webkit-line-clamp:1 !important;
  }
  #decorPage .decoLuxuryCard .luxActionNote{
    min-height:0 !important;
    line-clamp:1 !important;
    -webkit-line-clamp:1 !important;
  }
}


/* ===== Dílna + Sklad: sjednocený scroll, celé karty a viditelná tlačítka ===== */

/* ---------- SKLAD ---------- */
body:has(#inventoryPage.pagePane.active){
  overflow:hidden !important;
}
.main:has(#inventoryPage.pagePane.active),
.pageContent:has(#inventoryPage.pagePane.active){
  overflow:hidden !important;
  min-height:0 !important;
}
#inventoryPage.pagePane.active{
  height:calc(100dvh - 128px) !important;
  min-height:0 !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}
#inventoryPage .inventoryPageGrid{
  flex:1 1 auto !important;
  min-height:0 !important;
  height:100% !important;
  overflow:hidden !important;
}
#inventoryPage .inventoryPageGrid > .panel{
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}
#inventoryPage .inventoryPageGrid > .panel > .panelHead{
  flex:0 0 auto !important;
}
#inventoryPage #inventoryScroll,
#inventoryPage #inventoryScroll.scrollArea{
  flex:1 1 auto !important;
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding:12px 16px 170px 12px !important;
  scrollbar-gutter:stable !important;
  scroll-padding-bottom:170px !important;
  overscroll-behavior:contain !important;
}
#inventoryPage .inventoryGrid,
#inventoryPage #inventoryCropGrid,
#inventoryPage #inventoryProductGrid,
#inventoryPage #inventoryMutationGrid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important;
  align-items:start !important;
  gap:12px !important;
  min-height:0 !important;
  overflow:visible !important;
}
#inventoryPage #inventoryMutationGrid{
  padding-bottom:150px !important;
}
#inventoryPage .sectionTitle{
  position:sticky !important;
  top:0 !important;
  z-index:3 !important;
  margin:8px 0 10px !important;
  padding:8px 10px !important;
  border-radius:14px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:linear-gradient(135deg,rgba(15,22,42,.96),rgba(25,35,63,.92)) !important;
  backdrop-filter:blur(14px) !important;
}
#inventoryPage .inventoryGrid .card{
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  border-radius:20px !important;
  padding:12px !important;
}
#inventoryPage .inventoryGrid .cardHead{
  gap:8px !important;
  align-items:flex-start !important;
}
#inventoryPage .inventoryGrid .cardTitle{
  font-size:16px !important;
  line-height:1.18 !important;
}
#inventoryPage .inventoryGrid .muted{
  font-size:12px !important;
  line-height:1.25 !important;
}
#inventoryPage .inventoryGrid .qtyInline{
  padding:7px 9px !important;
  border-radius:12px !important;
  font-size:12px !important;
  white-space:nowrap !important;
}
#inventoryPage .inventoryGrid .actions{
  display:grid !important;
  grid-template-columns:minmax(90px,120px) minmax(0,1fr) !important;
  gap:8px !important;
  align-items:center !important;
  margin-top:9px !important;
}
#inventoryPage .inventoryGrid .sellQtyInput{
  max-width:none !important;
  min-height:38px !important;
  padding:8px 10px !important;
}
#inventoryPage .inventoryGrid .sellOneBtn{
  min-height:38px !important;
  padding:8px 10px !important;
}
#inventoryPage .mutationLockedHint{
  margin-top:8px !important;
  font-size:11px !important;
  line-height:1.35 !important;
}
#inventoryPage .fertilizerLabGrid{
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr)) !important;
}
#inventoryPage .fertilizerRecipeCard .fertilizerEffectLine,
#inventoryPage .fertilizerSummaryCard .fertilizerEffectLine{
  margin-top:9px !important;
  padding:8px 10px !important;
  border:1px solid rgba(99,232,167,.22) !important;
  background:rgba(13,38,32,.42) !important;
  border-radius:8px !important;
  color:#dfffee !important;
  font-size:12px !important;
  line-height:1.35 !important;
}
#inventoryPage .fertilizerRecipeActions{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:8px !important;
  margin-top:10px !important;
}
#inventoryPage .lockedRecipe{
  opacity:.72 !important;
}
.farmFertilizerSelect{
  min-height:40px;
  max-width:240px;
  padding:8px 10px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(8,14,26,.88);
  color:#f7fbff;
  font-weight:800;
}
@media (max-width:760px){
  .farmFertilizerSelect{
    width:100%;
    max-width:none;
  }
}

/* ---------- DÍLNA ---------- */
body:has(#workshopPage.pagePane.active){
  overflow:hidden !important;
}
.main:has(#workshopPage.pagePane.active),
.pageContent:has(#workshopPage.pagePane.active){
  overflow:hidden !important;
  min-height:0 !important;
}
#workshopPage.pagePane.active{
  height:calc(100dvh - 128px) !important;
  min-height:0 !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}
#workshopPage .workshopPanelPremium{
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}
#workshopPage .workshopPanelPremium > .panelHead{
  flex:0 0 auto !important;
}
#workshopPage .workshopPanelPremium > .panelBody{
  flex:1 1 auto !important;
  min-height:0 !important;
  height:auto !important;
  display:grid !important;
  grid-template-rows:auto minmax(0,1fr) !important;
  overflow:hidden !important;
  padding-bottom:0 !important;
}
#workshopPage #workshopSummary{
  min-height:0 !important;
  overflow:visible !important;
}
#workshopPage #workshopSummary .luxModuleHero{
  padding:9px 12px !important;
  margin:0 0 8px 0 !important;
  min-height:0 !important;
}
#workshopPage #workshopSummary .luxModuleTop{
  gap:10px !important;
}
#workshopPage #workshopSummary .luxModuleTitle{
  font-size:18px !important;
  line-height:1.15 !important;
  margin:0 !important;
}
#workshopPage #workshopSummary .luxModuleText{
  display:none !important;
}
#workshopPage #workshopSummary .luxStatGrid{
  margin-top:8px !important;
  gap:8px !important;
}
#workshopPage #workshopSummary .luxStatCard{
  min-height:54px !important;
  padding:8px 10px !important;
}
#workshopPage #workshopSummary .luxStatValue{
  font-size:17px !important;
}
#workshopPage #workshopScroll,
#workshopPage #workshopScroll.scrollArea,
#workshopPage .luxModuleScroll#workshopScroll{
  height:auto !important;
  max-height:none !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding:8px 16px 170px 8px !important;
  margin-right:-4px !important;
  scrollbar-gutter:stable !important;
  scroll-padding-bottom:170px !important;
  overscroll-behavior:contain !important;
}
#workshopPage #workshopGrid,
#workshopPage #workshopGrid.luxCardGrid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr)) !important;
  align-items:start !important;
  gap:12px !important;
  padding-bottom:170px !important;
  margin-bottom:0 !important;
}
#workshopPage #workshopGrid .luxCard{
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  display:flex !important;
  flex-direction:column !important;
  border-radius:22px !important;
  padding:12px !important;
  gap:8px !important;
}
#workshopPage #workshopGrid .luxCard:last-child{
  margin-bottom:80px !important;
}
#workshopPage .luxCardTop{
  gap:8px !important;
  align-items:flex-start !important;
}
#workshopPage .luxCardTitle{
  font-size:17px !important;
  line-height:1.15 !important;
}
#workshopPage .luxCardSub{
  margin-top:4px !important;
  font-size:12px !important;
  line-height:1.28 !important;
  display:-webkit-box !important;
  line-clamp:2 !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}
#workshopPage .luxCardBadge{
  padding:6px 9px !important;
  font-size:10px !important;
  white-space:nowrap !important;
}
#workshopPage .luxMiniStats{
  gap:8px !important;
}
#workshopPage .luxMiniStat{
  min-height:48px !important;
  padding:8px 10px !important;
}
#workshopPage .luxMiniStatValue{
  font-size:13px !important;
}
#workshopPage .luxInfoLine{
  padding:8px 10px !important;
  border-radius:13px !important;
  font-size:11px !important;
  line-height:1.35 !important;
  display:-webkit-box !important;
  line-clamp:2 !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}
#workshopPage .luxChipRow{
  gap:6px !important;
}
#workshopPage .luxChip{
  padding:6px 8px !important;
  font-size:11px !important;
  line-height:1.2 !important;
}
#workshopPage .luxActionRow{
  margin-top:auto !important;
  padding-top:8px !important;
  overflow:visible !important;
}
#workshopPage .luxActionNote{
  font-size:11px !important;
  line-height:1.3 !important;
  display:-webkit-box !important;
  line-clamp:2 !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}
#workshopPage .luxActionRow button{
  flex:0 0 auto !important;
  min-width:126px !important;
  min-height:38px !important;
  padding:8px 12px !important;
}

/* Scrollbar pro sklad a dílnu */
#inventoryPage #inventoryScroll::-webkit-scrollbar,
#workshopPage #workshopScroll::-webkit-scrollbar{
  width:14px;
}
#inventoryPage #inventoryScroll::-webkit-scrollbar-track,
#workshopPage #workshopScroll::-webkit-scrollbar-track{
  background:rgba(255,255,255,.07);
  border-radius:999px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
#inventoryPage #inventoryScroll::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:linear-gradient(180deg,#7fffd4,#ff69d2);
  border:3px solid rgba(8,12,26,.94);
  min-height:52px;
  box-shadow:0 0 18px rgba(127,255,212,.18);
}
#workshopPage #workshopScroll::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:linear-gradient(180deg,#ffd86b,#7ee8ff);
  border:3px solid rgba(8,12,26,.94);
  min-height:52px;
  box-shadow:0 0 18px rgba(255,216,107,.18);
}

/* Menší výška monitoru: stáhnout horní summary a karty */
@media (max-height:820px){
  #inventoryPage.pagePane.active,
  #workshopPage.pagePane.active,
  #manufactoryPage.pagePane.active{
    height:calc(100dvh - 104px) !important;
  }
  #workshopPage #workshopSummary .luxInfoPills,
  #workshopPage #workshopSummary .luxModuleText{
    display:none !important;
  }
  #workshopPage #workshopSummary .luxStatGrid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
  #workshopPage #workshopSummary .luxStatCard{
    min-height:48px !important;
    padding:7px 8px !important;
  }
  #workshopPage #workshopGrid .luxCard{
    padding:10px !important;
    gap:6px !important;
  }
  #workshopPage .luxCardSub,
  #workshopPage .luxInfoLine,
  #workshopPage .luxActionNote,
  #manufactoryPage .luxCardSub,
  #manufactoryPage .luxInfoLine,
  #manufactoryPage .luxActionNote{
    line-clamp:1 !important;
    -webkit-line-clamp:1 !important;
  }
}

/* Mobil/tablet: normální stránkový scroll */
@media (max-width:980px){
  body:has(#inventoryPage.pagePane.active),
  body:has(#workshopPage.pagePane.active),
  body:has(#manufactoryPage.pagePane.active){
    overflow:auto !important;
  }

  .main:has(#inventoryPage.pagePane.active),
  .pageContent:has(#inventoryPage.pagePane.active),
  #inventoryPage.pagePane.active,
  #inventoryPage .inventoryPageGrid,
  #inventoryPage .inventoryPageGrid > .panel,
  .main:has(#workshopPage.pagePane.active),
  .pageContent:has(#workshopPage.pagePane.active),
  #workshopPage.pagePane.active,
  #workshopPage .workshopPanelPremium,
  #workshopPage .workshopPanelPremium > .panelBody,
  .main:has(#manufactoryPage.pagePane.active),
  .pageContent:has(#manufactoryPage.pagePane.active),
  #manufactoryPage.pagePane.active,
  #manufactoryPage .manufactoryPanelPremium,
  #manufactoryPage .manufactoryPanelPremium > .panelBody{
    height:auto !important;
    overflow:visible !important;
    display:block !important;
  }

  #inventoryPage #inventoryScroll,
  #inventoryPage #inventoryScroll.scrollArea,
  #workshopPage #workshopScroll,
  #workshopPage #workshopScroll.scrollArea,
  #manufactoryPage #manufactoryScroll,
  #manufactoryPage #manufactoryScroll.scrollArea{
    max-height:none !important;
    overflow:visible !important;
    padding:12px 0 24px 0 !important;
    margin-right:0 !important;
  }

  #inventoryPage .inventoryGrid,
  #workshopPage #workshopGrid,
  #workshopPage #workshopGrid.luxCardGrid,
  #manufactoryPage #manufactoryOrdersGrid,
  #manufactoryPage #manufactoryOrdersGrid.luxCardGrid{
    grid-template-columns:1fr !important;
    padding-bottom:24px !important;
  }

  #inventoryPage .sectionTitle{
    position:relative !important;
    top:auto !important;
  }
}


/* ===== Sklad: nadpisy Plodiny / Produkty / Mutace nesmí překrývat položky ===== */
/* Předtím byly sectionTitle ve skladu sticky, takže při scrollu lezly přes karty.
   Teď zůstanou normálně ve svém místě v obsahu a scrollují spolu se sekcí. */
#inventoryPage #inventoryScroll .sectionTitle,
#inventoryPage .sectionTitle{
  position:relative !important;
  top:auto !important;
  z-index:1 !important;
  margin:14px 0 10px !important;
  transform:none !important;
  backdrop-filter:none !important;
}
#inventoryPage #inventoryScroll .sectionTitle:first-child{
  margin-top:0 !important;
}
#inventoryPage #inventoryCropGrid,
#inventoryPage #inventoryProductGrid,
#inventoryPage #inventoryMutationGrid{
  padding-top:0 !important;
  margin-top:0 !important;
}
#inventoryPage #inventoryProductGrid,
#inventoryPage #inventoryMutationGrid{
  margin-bottom:16px !important;
}


/* ===== TOKYO MARKET BOARD — premium redesign ===== */
#marketPage .panel.singlePanel{
  border-radius:30px !important;
  border:1px solid rgba(135,214,255,.16) !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(255,119,204,.10), transparent 28%),
    radial-gradient(circle at 92% 10%, rgba(95,223,255,.10), transparent 24%),
    linear-gradient(180deg, rgba(14,20,42,.96), rgba(7,13,28,.98)) !important;
  box-shadow:
    0 24px 70px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.05),
    0 0 0 1px rgba(255,255,255,.015) !important;
  overflow:hidden !important;
}
#marketPage .panelHead{
  position:sticky !important;
  top:0 !important;
  z-index:5 !important;
  padding:16px 18px !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  background:
    linear-gradient(90deg, rgba(255,124,197,.10), rgba(89,224,255,.09)),
    rgba(10,16,32,.86) !important;
  backdrop-filter:blur(16px) !important;
}
#marketPage .panelHead h2{
  font-size:34px !important;
  font-weight:1000 !important;
  letter-spacing:-.03em !important;
  margin:0 !important;
  text-shadow:0 4px 18px rgba(0,0,0,.24) !important;
}
#marketPage .panelHead .small{
  color:#c0d0ed !important;
  font-size:13px !important;
}
#marketPage #marketScroll{
  padding:18px 18px 140px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:16px !important;
  scrollbar-gutter:stable !important;
}
#marketPage #marketScroll::-webkit-scrollbar{width:14px}
#marketPage #marketScroll::-webkit-scrollbar-track{
  background:rgba(255,255,255,.06);
  border-radius:999px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
#marketPage #marketScroll::-webkit-scrollbar-thumb{
  border-radius:999px;
  border:3px solid rgba(7,12,24,.94);
  background:linear-gradient(180deg,#ff85d8,#78efff);
  box-shadow:0 0 18px rgba(120,239,255,.18);
}

/* Hero */
#marketPage .marketHeroBox{
  position:relative !important;
  overflow:hidden !important;
  align-items:center !important;
  gap:18px !important;
  padding:22px 20px !important;
  border-radius:28px !important;
  border:1px solid rgba(132,219,255,.18) !important;
  background:
    radial-gradient(circle at 15% 18%, rgba(255,127,190,.18), transparent 34%),
    radial-gradient(circle at 85% 10%, rgba(116,230,255,.16), transparent 30%),
    linear-gradient(100deg, rgba(59,28,74,.92), rgba(27,34,78,.92) 54%, rgba(27,62,86,.92) 100%) !important;
  box-shadow:
    0 24px 48px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.06) !important;
}
#marketPage .marketHeroBox::before{
  content:"";
  position:absolute;
  inset:auto -40px -50px auto;
  width:230px;
  height:230px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,208,110,.16), transparent 68%);
  pointer-events:none;
}
#marketPage .marketHeroTitle{
  font-size:42px !important;
  font-weight:1000 !important;
  line-height:1.02 !important;
  letter-spacing:-.04em !important;
  margin-top:8px !important;
  color:#f8fbff !important;
}
#marketPage .marketHeroText{
  margin-top:10px !important;
  max-width:950px !important;
  color:#d4def2 !important;
  font-size:15px !important;
  line-height:1.55 !important;
}
#marketPage .marketStatsBox{
  margin-left:auto !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:58px !important;
  padding:14px 18px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.05)) !important;
  color:#edf7ff !important;
  font-weight:1000 !important;
  font-size:14px !important;
  box-shadow:0 16px 34px rgba(0,0,0,.18) !important;
  white-space:nowrap !important;
}

/* 2-column main board */
#marketPage .marketSectionsGrid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:16px !important;
  align-items:start !important;
}
#marketPage .marketCreatePanel,
#marketPage .marketSectionCard{
  position:relative !important;
  overflow:hidden !important;
  border-radius:26px !important;
  border:1px solid rgba(139,215,255,.14) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015)),
    linear-gradient(135deg, rgba(20,29,56,.96), rgba(8,13,28,.98)) !important;
  box-shadow:
    0 18px 44px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.05) !important;
}
#marketPage .marketCreatePanel::before,
#marketPage .marketSectionCard::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:3px;
  background:linear-gradient(90deg,#ff8dd9,#80f3ff 60%,#ffd983);
  opacity:.75;
}
#marketPage .marketCreatePanel{
  padding:18px !important;
}
#marketPage .marketSectionCard{
  padding:16px !important;
}
#marketPage .marketSubSectionTitle{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:10px !important;
  margin-bottom:14px !important;
  padding-bottom:12px !important;
  border-bottom:1px solid rgba(255,255,255,.07) !important;
}
#marketPage .marketSubSectionTitle .luxSectionLabel{
  font-size:18px !important;
  font-weight:1000 !important;
  letter-spacing:.07em !important;
  color:#f2f6ff !important;
}
#marketPage .marketSubSectionTitle .small,
#marketPage .marketListingsCountText,
#marketPage .myListingsCountText{
  color:#aebfdd !important;
  font-size:12px !important;
}

/* Form blocks */
#marketPage .marketGrid{
  gap:12px !important;
}
#marketPage .marketField{
  min-width:0 !important;
}
#marketPage .marketField span,
#marketPage label > span{
  display:block !important;
  margin-bottom:8px !important;
  color:#d8e6ff !important;
  font-size:12px !important;
  font-weight:1000 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}
#marketPage input[type="text"],
#marketPage input[type="number"],
#marketPage select{
  min-height:50px !important;
  border-radius:18px !important;
  border:1px solid rgba(136,215,255,.18) !important;
  background:linear-gradient(180deg, rgba(34,45,72,.92), rgba(18,24,42,.96)) !important;
  color:#f7fbff !important;
  font-weight:800 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 8px 18px rgba(0,0,0,.14) !important;
}
#marketPage input[type="text"]::placeholder{color:#93a6c8 !important}
#marketPage input:focus,
#marketPage select:focus{
  border-color:rgba(120,239,255,.42) !important;
  box-shadow:0 0 0 4px rgba(120,239,255,.09), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
#marketPage .marketSelectedPreview{
  gap:14px !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  padding:14px 16px !important;
  margin-top:12px !important;
  border-radius:22px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  background:linear-gradient(90deg, rgba(255,255,255,.035), rgba(255,255,255,.018)) !important;
}
#marketPage .marketSelectedMeta{
  min-width:0 !important;
}
#marketPage .marketSelectedName{
  font-size:28px !important;
  font-weight:1000 !important;
  line-height:1.05 !important;
  letter-spacing:-.03em !important;
  color:#ffffff !important;
}
#marketPage .marketSelectedMeta .small{
  margin-top:6px !important;
  color:#b2c4e6 !important;
}
#marketPage .marketSelectedValue{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-end !important;
  gap:8px !important;
}
#marketPage .marketChip{
  min-height:38px !important;
  padding:9px 13px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03)) !important;
  color:#edf6ff !important;
  font-size:12px !important;
  font-weight:900 !important;
  box-shadow:0 10px 24px rgba(0,0,0,.14) !important;
}
#marketPage .marketMainBtn,
#marketPage .marketCreatePanel button.primary,
#marketPage .marketCreatePanel button.secondary,
#marketPage .marketCreatePanel button.gold{
  min-height:52px !important;
  border-radius:18px !important;
  padding:0 20px !important;
  font-size:16px !important;
  font-weight:1000 !important;
  letter-spacing:-.01em !important;
  box-shadow:0 14px 28px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
#marketPage .marketCreatePanel button.primary,
#marketPage .marketMainBtn{
  background:linear-gradient(135deg,#ff8acb,#ff66be 45%,#ff8f8f) !important;
  color:#fff !important;
}
#marketPage .marketCreatePanel button.secondary{
  background:linear-gradient(135deg,#7096ff,#4f79ff) !important;
  color:#fff !important;
}
#marketPage .marketCreatePanel button.gold{
  background:linear-gradient(135deg,#ffd86f,#ffb653) !important;
  color:#43260c !important;
}
#marketPage .marketCreatePanel button:hover,
#marketPage .marketSectionCard button:hover{
  transform:translateY(-1px) !important;
}

/* Listing areas */
#marketPage .marketListingGrid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px !important;
}
#marketPage .marketListingCard{
  position:relative !important;
  overflow:hidden !important;
  border-radius:24px !important;
  border:1px solid rgba(135,216,255,.14) !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(255,129,194,.09), transparent 24%),
    linear-gradient(135deg, rgba(20,29,54,.98), rgba(8,13,27,.98)) !important;
  box-shadow:
    0 16px 36px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.05) !important;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}
#marketPage .marketListingCard:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(130,240,255,.28) !important;
  box-shadow:0 22px 40px rgba(0,0,0,.18), 0 0 0 1px rgba(130,240,255,.08) !important;
}
#marketPage .marketListingCard.mine{
  border-color:rgba(255,213,110,.26) !important;
  box-shadow:0 22px 42px rgba(0,0,0,.18), 0 0 0 1px rgba(255,213,110,.05) !important;
}
#marketPage .marketListingCard.request{
  border-color:rgba(122,167,255,.24) !important;
}
#marketPage .marketListingTop{
  gap:12px !important;
  padding:16px 16px 12px !important;
  align-items:flex-start !important;
  border-bottom:1px solid rgba(255,255,255,.07) !important;
}
#marketPage .marketListingMain{
  min-width:0 !important;
}
#marketPage .marketListingTitle{
  font-size:24px !important;
  font-weight:1000 !important;
  line-height:1.05 !important;
  letter-spacing:-.025em !important;
  color:#fff !important;
}
#marketPage .marketListingSubtitle,
#marketPage .marketListingOwner,
#marketPage .marketListingMeta{
  color:#b7c8e6 !important;
  font-size:13px !important;
  line-height:1.45 !important;
}
#marketPage .marketListingStats{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  padding:14px 16px 0 !important;
}
#marketPage .marketListingActions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  padding:14px 16px 16px !important;
}
#marketPage .marketListingActions button{
  min-height:40px !important;
  border-radius:14px !important;
  font-weight:900 !important;
}
#marketPage .marketListingActions .ghost{
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03)) !important;
  border:1px solid rgba(255,255,255,.08) !important;
}
#marketPage .marketListingActions .gold{
  background:linear-gradient(135deg,#ffd86f,#ffb95c) !important;
  color:#4b2d0d !important;
}
#marketPage .marketListingActions .secondary{
  background:linear-gradient(135deg,#7be7ff,#59c9ff) !important;
  color:#08223c !important;
}
#marketPage .marketEmptyState,
#marketPage .emptyState{
  padding:22px 18px !important;
  border-radius:20px !important;
  border:1px dashed rgba(255,255,255,.12) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015)) !important;
  color:#b4c4df !important;
  text-align:center !important;
  font-size:14px !important;
}
#marketPage .marketSearchWrap{
  position:sticky !important;
  top:8px !important;
  z-index:3 !important;
  padding:10px 0 6px !important;
  background:linear-gradient(180deg, rgba(8,13,27,.96), rgba(8,13,27,.62) 70%, transparent) !important;
  backdrop-filter:blur(12px) !important;
}

/* Mobile */
@media (max-width:1200px){
  #marketPage .marketSectionsGrid{
    grid-template-columns:1fr !important;
  }
}
@media (max-width:900px){
  #marketPage .panelHead{
    position:relative !important;
  }
  #marketPage .marketHeroBox{
    padding:18px 16px !important;
  }
  #marketPage .marketHeroTitle{
    font-size:30px !important;
  }
  #marketPage .marketStatsBox{
    width:100% !important;
    margin-left:0 !important;
  }
  #marketPage .marketSelectedPreview{
    grid-template-columns:1fr !important;
  }
  #marketPage .marketSelectedValue{
    justify-content:flex-start !important;
  }
}


/* ===== MARKET FIX: žádné useknutí + čistý premium layout ===== */
body:has(#marketPage.pagePane.active){
  overflow:hidden !important;
}
.main:has(#marketPage.pagePane.active),
.pageContent:has(#marketPage.pagePane.active){
  overflow:hidden !important;
  min-height:0 !important;
}
#marketPage.pagePane.active{
  height:calc(100dvh - 128px) !important;
  min-height:0 !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}
#marketPage .shopPageGrid{
  flex:1 1 auto !important;
  min-height:0 !important;
  height:100% !important;
  overflow:hidden !important;
}
#marketPage .shopPageGrid > .panel,
#marketPage .panel.singlePanel{
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}
#marketPage .panelHead{
  position:relative !important;
  top:auto !important;
  flex:0 0 auto !important;
  z-index:4 !important;
  padding:14px 18px !important;
}
#marketPage .panelHead h2{
  font-size:clamp(24px,2.2vw,34px) !important;
  line-height:1.12 !important;
}
#marketPage #marketScroll,
#marketPage #marketScroll.panelBody,
#marketPage #marketScroll.scrollArea{
  flex:1 1 auto !important;
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  display:block !important;
  padding:14px 16px 170px !important;
  scroll-padding-bottom:170px !important;
  scrollbar-gutter:stable !important;
  overscroll-behavior:contain !important;
}
#marketPage .marketHeroBox{
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  padding:16px 18px !important;
  margin:0 0 14px !important;
  border-radius:24px !important;
}
#marketPage .marketHeroTitle{
  font-size:clamp(26px,2.5vw,38px) !important;
  line-height:1.14 !important;
  margin:6px 0 0 !important;
  max-width:100% !important;
  overflow:visible !important;
  white-space:normal !important;
}
#marketPage .marketHeroText{
  display:block !important;
  max-width:960px !important;
  overflow:visible !important;
}
#marketPage .marketStatsBox{
  flex:0 0 auto !important;
  max-width:min(520px,42vw) !important;
  white-space:normal !important;
  text-align:center !important;
  line-height:1.35 !important;
}
#marketPage .marketCreatePanel,
#marketPage .marketRequestPanel,
#marketPage .marketSectionCard{
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  padding:16px !important;
  margin:0 0 14px !important;
  border-radius:24px !important;
}
#marketPage .marketFormTitle{
  margin:0 0 12px !important;
  line-height:1.2 !important;
}
#marketPage .marketPickRow{
  display:grid !important;
  grid-template-columns:minmax(260px,1fr) minmax(115px,135px) minmax(135px,165px) auto !important;
  gap:12px !important;
  align-items:end !important;
  min-height:0 !important;
  overflow:visible !important;
}
#marketPage .marketField,
#marketPage .marketFieldWide{
  min-width:0 !important;
  overflow:visible !important;
}
#marketPage .marketField select,
#marketPage .marketField input,
#marketPage .marketSearchInput{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  min-height:50px !important;
  height:50px !important;
  box-sizing:border-box !important;
}
#marketPage .marketSearchInput{
  margin:0 0 12px !important;
}
#marketPage .marketSelectedPreview{
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  margin-top:12px !important;
}
#marketPage .marketSectionsGrid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:16px !important;
  align-items:start !important;
  margin-top:2px !important;
  padding-bottom:90px !important;
}
#marketPage .marketSectionCard .marketGrid,
#marketPage #marketGrid,
#marketPage #myListingsGrid{
  max-height:none !important;
  min-height:0 !important;
  height:auto !important;
  overflow:visible !important;
  padding-right:0 !important;
  align-content:start !important;
}
#marketPage .marketListingCard{
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}
#marketPage .marketListingTop,
#marketPage .marketListingStats,
#marketPage .marketListingActions{
  min-height:0 !important;
  height:auto !important;
  overflow:visible !important;
}
#marketPage .marketListingActions{
  padding-bottom:16px !important;
}
#marketPage #marketScroll::-webkit-scrollbar{
  width:14px;
}
#marketPage #marketScroll::-webkit-scrollbar-track{
  background:rgba(255,255,255,.07);
  border-radius:999px;
}
#marketPage #marketScroll::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:linear-gradient(180deg,#ff85d8,#7bf2ff);
  border:3px solid rgba(8,12,26,.94);
  min-height:56px;
}
@media (max-height:820px){
  #marketPage.pagePane.active{
    height:calc(100dvh - 104px) !important;
  }
  #marketPage .panelHead{
    padding:10px 14px !important;
  }
  #marketPage .marketHeroBox{
    padding:12px 14px !important;
    margin-bottom:10px !important;
  }
  #marketPage .marketHeroTitle{
    font-size:clamp(22px,2vw,30px) !important;
  }
  #marketPage .marketHeroText{
    font-size:12px !important;
    line-height:1.35 !important;
  }
  #marketPage .marketCreatePanel,
  #marketPage .marketRequestPanel,
  #marketPage .marketSectionCard{
    padding:13px !important;
    margin-bottom:12px !important;
  }
  #marketPage .marketField select,
  #marketPage .marketField input,
  #marketPage .marketSearchInput{
    min-height:44px !important;
    height:44px !important;
  }
}
@media (max-width:1100px){
  body:has(#marketPage.pagePane.active){
    overflow:auto !important;
  }
  .main:has(#marketPage.pagePane.active),
  .pageContent:has(#marketPage.pagePane.active),
  #marketPage.pagePane.active,
  #marketPage .shopPageGrid,
  #marketPage .shopPageGrid > .panel,
  #marketPage .panel.singlePanel{
    height:auto !important;
    overflow:visible !important;
    display:block !important;
  }
  #marketPage #marketScroll,
  #marketPage #marketScroll.panelBody,
  #marketPage #marketScroll.scrollArea{
    max-height:none !important;
    overflow:visible !important;
    padding:14px 0 24px !important;
  }
  #marketPage .marketHeroBox,
  #marketPage .marketPickRow,
  #marketPage .marketSectionsGrid,
  #marketPage .marketSelectedPreview{
    grid-template-columns:1fr !important;
    flex-direction:column !important;
    align-items:stretch !important;
  }
  #marketPage .marketStatsBox{
    max-width:100% !important;
    width:100% !important;
  }
}


/* ===== Market profit kalkulačka + historie ===== */
#marketPage .marketProfitBox{
  margin-top:12px;
  padding:12px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045);
}
#marketPage .marketProfitBox.profit{border-color:rgba(99,255,180,.24);background:linear-gradient(135deg,rgba(99,255,180,.10),rgba(255,255,255,.025))}
#marketPage .marketProfitBox.loss{border-color:rgba(255,107,132,.26);background:linear-gradient(135deg,rgba(255,107,132,.10),rgba(255,255,255,.025))}
#marketPage .marketProfitBox.even{border-color:rgba(255,216,107,.22);background:linear-gradient(135deg,rgba(255,216,107,.08),rgba(255,255,255,.025))}
#marketPage .marketProfitVerdict{
  font-size:14px;
  font-weight:1000;
  color:#fff;
  margin-bottom:10px;
}
#marketPage .marketProfitGrid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
#marketPage .marketProfitGrid span{
  display:grid;
  gap:3px;
  min-width:0;
  padding:8px 10px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(7,12,26,.32);
}
#marketPage .marketProfitGrid b{
  color:#dbe9ff;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
#marketPage .marketProfitGrid em{
  color:#fff;
  font-size:12px;
  font-style:normal;
  font-weight:900;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#marketPage .marketProfitHint{
  margin-top:9px;
  color:#aebfdd;
  font-size:12px;
  line-height:1.45;
}
#marketPage .marketChip.profit{border-color:rgba(99,255,180,.24)!important;background:rgba(99,255,180,.10)!important;color:#caffdf!important}
#marketPage .marketChip.loss{border-color:rgba(255,107,132,.28)!important;background:rgba(255,107,132,.10)!important;color:#ffd0d7!important}
#marketPage .marketChip.even{border-color:rgba(255,216,107,.22)!important;background:rgba(255,216,107,.08)!important;color:#fff0bd!important}
#marketPage .marketHistoryCard{
  margin-top:2px !important;
  padding-bottom:18px !important;
}
#marketPage .marketHistoryGrid{
  display:grid !important;
  gap:10px !important;
}
#marketPage .marketHistoryItem{
  display:grid;
  grid-template-columns:50px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:12px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.09);
  background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.022));
}
#marketPage .marketHistoryItem.profit{border-color:rgba(99,255,180,.20)}
#marketPage .marketHistoryItem.loss{border-color:rgba(255,107,132,.22)}
#marketPage .marketHistoryIcon{
  width:50px;height:50px;border-radius:16px;
  display:grid;place-items:center;
  font-size:26px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(8,13,28,.44);
}
#marketPage .marketHistoryTitle{
  color:#fff;
  font-weight:1000;
  line-height:1.2;
}
#marketPage .marketHistoryMeta{
  margin-top:4px;
  color:#aebfdd;
  font-size:12px;
  line-height:1.35;
}
#marketPage .marketHistoryProfit{
  display:grid;
  justify-items:end;
  gap:2px;
  padding:8px 10px;
  border-radius:14px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.08);
  white-space:nowrap;
}
#marketPage .marketHistoryProfit.profit strong{color:#baffd7}
#marketPage .marketHistoryProfit.loss strong{color:#ffd0d7}
#marketPage .marketHistoryProfit.even strong{color:#fff0bd}
#marketPage .marketHistoryProfit span{
  color:#9dafcf;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
#marketPage .marketSelectedSub{
  color:#b2c4e6;
  font-size:12px;
  margin-top:5px;
}
@media (max-width:1000px){
  #marketPage .marketProfitGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:700px){
  #marketPage .marketProfitGrid{grid-template-columns:1fr}
  #marketPage .marketHistoryItem{grid-template-columns:42px minmax(0,1fr)}
  #marketPage .marketHistoryProfit{grid-column:1/-1;justify-items:start}
  #marketPage .marketHistoryIcon{width:42px;height:42px;font-size:22px}
}


/* ===== MARKET SELECT DROPDOWN VISIBILITY FIX ===== */
#marketPage select{
  color-scheme: dark !important;
  -webkit-text-fill-color:#f7fbff !important;
}
#marketPage select option,
#marketPage select optgroup{
  background:#0d1427 !important;
  background-image:none !important;
  color:#f7fbff !important;
  -webkit-text-fill-color:#f7fbff !important;
  opacity:1 !important;
  text-shadow:none !important;
  font-weight:800 !important;
}
#marketPage select option:checked,
#marketPage select option:hover,
#marketPage select option:focus,
#marketPage select option:selected{
  background:#2563eb !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}


/* ===== Market: automaticky doporučená cena ===== */
#marketPage #marketPriceInput{
  border-color:rgba(99,255,180,.24) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 0 0 1px rgba(99,255,180,.05),0 8px 18px rgba(0,0,0,.14) !important;
}
#marketPage .marketProfitHint::after{
  content:" Cena celkem se automaticky přepočítá podle množství. Ručně ji můžeš kdykoliv přepsat.";
  color:#c8f7de;
}


/* ===== Denní kolo: historie spinů má vlastní scroll ===== */
#wheelPage.active{
  min-height:0 !important;
  overflow:hidden !important;
}
#wheelPage .wheelPageGrid{
  height:calc(100dvh - 132px) !important;
  min-height:0 !important;
  overflow:hidden !important;
  align-items:stretch !important;
}
#wheelPage .wheelPageGrid > .panel{
  min-height:0 !important;
  height:100% !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}
#wheelPage .wheelPageGrid > .panel > .panelHead{
  flex:0 0 auto !important;
}
#wheelPage .wheelPageGrid > .panel > .panelBody{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:hidden !important;
}
#wheelPage .wheelPageGrid > .panel:nth-child(2) > .panelBody{
  display:grid !important;
  grid-template-rows:auto auto minmax(0,1fr) !important;
  gap:10px !important;
}
#wheelPage #wheelRewardLegend{
  min-height:0 !important;
  max-height:34vh !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-right:8px !important;
  scrollbar-gutter:stable !important;
}
#wheelPage #wheelHistoryList{
  min-height:0 !important;
  max-height:none !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding:0 10px 80px 0 !important;
  scrollbar-gutter:stable !important;
  overscroll-behavior:contain !important;
}
#wheelPage #wheelHistoryList .wheelHistoryItem{
  min-height:0 !important;
  height:auto !important;
  overflow:visible !important;
}
#wheelPage #wheelRewardLegend::-webkit-scrollbar,
#wheelPage #wheelHistoryList::-webkit-scrollbar{
  width:12px;
}
#wheelPage #wheelRewardLegend::-webkit-scrollbar-track,
#wheelPage #wheelHistoryList::-webkit-scrollbar-track{
  background:rgba(255,255,255,.07);
  border-radius:999px;
}
#wheelPage #wheelRewardLegend::-webkit-scrollbar-thumb,
#wheelPage #wheelHistoryList::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:linear-gradient(180deg,#ffd86b,#ff69d2);
  border:3px solid rgba(8,12,26,.94);
  min-height:44px;
}
@media (max-height:820px){
  #wheelPage .wheelPageGrid{
    height:calc(100dvh - 104px) !important;
  }
  #wheelPage #wheelRewardLegend{
    max-height:28vh !important;
  }
  #wheelPage #wheelHistoryList{
    padding-bottom:95px !important;
  }
}
@media (max-width:1100px){
  #wheelPage.active{
    overflow:auto !important;
  }
  #wheelPage .wheelPageGrid,
  #wheelPage .wheelPageGrid > .panel,
  #wheelPage .wheelPageGrid > .panel > .panelBody{
    height:auto !important;
    overflow:visible !important;
    display:block !important;
  }
  #wheelPage #wheelRewardLegend{
    max-height:none !important;
    overflow:visible !important;
    padding-right:0 !important;
  }
  #wheelPage #wheelHistoryList{
    max-height:55vh !important;
    overflow-y:auto !important;
    padding-bottom:24px !important;
  }
}


/* ===== Denní kolo: finální oprava rozložení, nic se nesmí mačkat ani usekávat ===== */
#wheelPage.active{
  min-height:0 !important;
  overflow:hidden !important;
}
#wheelPage .wheelPageGrid{
  height:calc(100dvh - 118px) !important;
  min-height:0 !important;
  overflow:hidden !important;
  align-items:stretch !important;
  grid-template-columns:minmax(540px,1.08fr) minmax(420px,.92fr) !important;
}

/* Oba panely drží výšku obrazovky, ale obsah v nich má vlastní čistý scroll. */
#wheelPage .wheelPageGrid > .panel{
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}
#wheelPage .wheelPageGrid > .panel > .panelHead{
  flex:0 0 auto !important;
}
#wheelPage .wheelPageGrid > .panel > .panelBody{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:hidden !important;
}

/* Levá část: kolo + výsledek + tlačítko musí být vidět celé. */
#wheelPage .wheelPageGrid > .panel:first-child > .panelBody{
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-bottom:110px !important;
  scrollbar-gutter:stable !important;
}
#wheelPage .wheelArena{
  min-height:clamp(330px,48vh,470px) !important;
  padding:12px !important;
}
#wheelPage .fortuneWheelWrap{
  width:min(70vh,430px,86%) !important;
}
#wheelPage .wheelResultBox{
  flex:0 0 auto !important;
  overflow:visible !important;
}
#wheelPage .wheelActionRow{
  flex:0 0 auto !important;
  padding-bottom:12px !important;
}

/* Pravá část: odměny nahoře, historie dole. Žádné překrývání. */
#wheelPage .wheelPageGrid > .panel:nth-child(2) > .panelBody{
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
  overflow:hidden !important;
  padding-bottom:12px !important;
}

/* Odměny mají vlastní prostor a scroll jen když je opravdu potřeba. */
#wheelPage #wheelRewardLegend{
  flex:0 1 auto !important;
  max-height:clamp(245px,45vh,390px) !important;
  min-height:190px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr)) !important;
  gap:10px !important;
  padding:0 10px 8px 0 !important;
  scrollbar-gutter:stable !important;
  align-content:start !important;
}
#wheelPage #wheelRewardLegend .wheelRewardCard{
  min-height:75px !important;
  height:auto !important;
  padding:5px !important;
  overflow:visible !important;
}
#wheelPage #wheelRewardLegend .cardTitle{
  line-height:1.22 !important;
}
#wheelPage #wheelRewardLegend .wheelRewardMeta{
  line-height:1.35 !important;
}

/* Nadpis historie zůstane normálně mezi odměnami a historií. */
#wheelPage .wheelPageGrid > .panel:nth-child(2) .sectionTitle{
  flex:0 0 auto !important;
  position:relative !important;
  top:auto !important;
  z-index:1 !important;
  margin:2px 0 0 !important;
  padding:8px 4px !important;
  background:transparent !important;
  border:0 !important;
}

/* Historie má vlastní scroll a karty mají pevný čitelný rozměr. */
#wheelPage #wheelHistoryList{
  flex:1 1 240px !important;
  min-height:220px !important;
  max-height:none !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  display:grid !important;
  grid-auto-rows:max-content !important;
  gap:10px !important;
  align-content:start !important;
  padding:0 10px 90px 0 !important;
  margin:0 !important;
  scrollbar-gutter:stable !important;
  overscroll-behavior:contain !important;
}
#wheelPage #wheelHistoryList .wheelHistoryItem{
  min-height:88px !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  display:block !important;
  padding:14px 16px !important;
  border-radius:18px !important;
  line-height:1.35 !important;
}
#wheelPage #wheelHistoryList .wheelHistoryItem .cardTitle{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  min-height:22px !important;
  line-height:1.25 !important;
  font-size:15px !important;
  font-weight:1000 !important;
  color:#f8fbff !important;
}
#wheelPage #wheelHistoryList .wheelRewardMeta{
  display:block !important;
  margin-top:6px !important;
  line-height:1.35 !important;
  font-size:12px !important;
  color:rgba(230,238,255,.78) !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}

/* Scrollbary jen v odměnách/historii/levém panelu, ne přes sebe. */
#wheelPage .wheelPageGrid > .panel:first-child > .panelBody::-webkit-scrollbar,
#wheelPage #wheelRewardLegend::-webkit-scrollbar,
#wheelPage #wheelHistoryList::-webkit-scrollbar{
  width:12px;
}
#wheelPage .wheelPageGrid > .panel:first-child > .panelBody::-webkit-scrollbar-track,
#wheelPage #wheelRewardLegend::-webkit-scrollbar-track,
#wheelPage #wheelHistoryList::-webkit-scrollbar-track{
  background:rgba(255,255,255,.07);
  border-radius:999px;
}
#wheelPage .wheelPageGrid > .panel:first-child > .panelBody::-webkit-scrollbar-thumb,
#wheelPage #wheelRewardLegend::-webkit-scrollbar-thumb,
#wheelPage #wheelHistoryList::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:linear-gradient(180deg,#ffd86b,#ff69d2);
  border:3px solid rgba(8,12,26,.94);
  min-height:46px;
}

/* Menší výška monitoru: kolo se stáhne, ale tlačítko a historie zůstanou čitelné. */
@media (max-height:820px){
  #wheelPage .wheelPageGrid{
    height:calc(100dvh - 96px) !important;
  }
  #wheelPage .wheelArena{
    min-height:clamp(280px,42vh,390px) !important;
  }
  #wheelPage .fortuneWheelWrap{
    width:min(58vh,370px,82%) !important;
  }
  #wheelPage #wheelRewardLegend{
    max-height:36vh !important;
    min-height:165px !important;
  }
  #wheelPage #wheelHistoryList{
    min-height:190px !important;
  }
  #wheelPage #wheelHistoryList .wheelHistoryItem{
    min-height:80px !important;
    padding:12px 14px !important;
  }
}

/* Mobil/tablet: klasický stránkový scroll + historie může scrollovat samostatně. */
@media (max-width:1100px){
  #wheelPage.active{
    overflow:auto !important;
  }
  #wheelPage .wheelPageGrid{
    height:auto !important;
    overflow:visible !important;
    grid-template-columns:1fr !important;
  }
  #wheelPage .wheelPageGrid > .panel,
  #wheelPage .wheelPageGrid > .panel > .panelBody{
    height:auto !important;
    overflow:visible !important;
    display:block !important;
  }
  #wheelPage #wheelRewardLegend{
    max-height:none !important;
    min-height:0 !important;
    overflow:visible !important;
    padding-right:0 !important;
  }
  #wheelPage #wheelHistoryList{
    max-height:55vh !important;
    min-height:260px !important;
    overflow-y:auto !important;
    padding-bottom:24px !important;
  }
}


/* ===== Admin: výběr položky ze seznamu ===== */
#adminPage .adminItemSelect{
  min-height:44px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg,rgba(33,42,70,.95),rgba(18,24,42,.98));
  color:#f7fbff;
  font-weight:800;
}
#adminPage .adminItemSelect option,
#adminPage .adminItemSelect optgroup{
  background:#0d1427;
  color:#f7fbff;
  -webkit-text-fill-color:#f7fbff;
  opacity:1;
}
#adminPage .adminItemPreview{
  grid-column:1/-1;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  min-height:44px;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid rgba(126,232,255,.16);
  background:linear-gradient(135deg,rgba(126,232,255,.08),rgba(255,105,210,.05));
  color:#c9d7f2;
  font-size:12px;
  line-height:1.35;
}
#adminPage .adminItemPreview b{
  color:#fff;
  font-size:13px;
}
#adminPage .adminItemPreview span{
  padding:5px 8px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);
}
#adminPage .adminItemPreview code{
  color:#9af0ff;
  font-weight:900;
}



/* ===== 3D preview pro denní kolo štěstí ===== */
#wheelPage .wheelArena{
  perspective: 1400px !important;
  transform-style: preserve-3d !important;
  overflow: visible !important;
}
#wheelPage .fortuneWheelWrap{
  --wheel-tilt-x: 0deg;
  --wheel-tilt-y: 0deg;
  --wheel-depth-scale: 1;
  --wheel-lift: 0px;
  position: relative !important;
  transform-style: preserve-3d !important;
  transition: transform .22s ease, filter .22s ease !important;
  transform:
    translateY(var(--wheel-lift))
    rotateX(var(--wheel-tilt-x))
    rotateY(var(--wheel-tilt-y))
    scale(var(--wheel-depth-scale)) !important;
  filter: drop-shadow(0 38px 55px rgba(0,0,0,.42));
  will-change: transform;
}
#wheelPage .fortuneWheelWrap::before,
#wheelPage .fortuneWheelWrap::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  border-radius:50%;
  pointer-events:none;
  transform-style: preserve-3d;
}
#wheelPage .fortuneWheelWrap::before{
  width: 114%;
  height: 114%;
  transform: translate3d(-50%,-50%,-48px);
  background: radial-gradient(circle, rgba(255,174,74,.22) 0, rgba(88,224,255,.16) 42%, transparent 72%);
  filter: blur(14px);
  opacity: .92;
}
#wheelPage .fortuneWheelWrap::after{
  width: 96%;
  height: 18%;
  transform: translate3d(-50%, 190px, -70px) rotateX(78deg);
  background: radial-gradient(circle, rgba(0,0,0,.56), rgba(0,0,0,.16) 55%, transparent 78%);
  filter: blur(14px);
  opacity: .9;
}
#wheelPage .fortuneWheel{
  position:relative;
  transform-style: preserve-3d !important;
  transform: rotate(var(--wheel-rot, 0deg)) translateZ(18px) !important;
  transition: transform 5.2s cubic-bezier(.14,.84,.18,1), box-shadow .22s ease, filter .22s ease !important;
  box-shadow:
    0 48px 90px rgba(0,0,0,.42),
    0 0 0 12px rgba(255,255,255,.04),
    0 0 0 22px rgba(255,255,255,.03),
    0 0 85px rgba(255,174,74,.16) !important;
}
#wheelPage .fortuneWheel::before{
  inset: 15px !important;
  border-width: 2px !important;
  opacity: .9;
  transform: translateZ(12px);
}
#wheelPage .fortuneWheel::after{
  background:
    radial-gradient(circle at 32% 22%, rgba(255,255,255,.32), transparent 26%),
    radial-gradient(circle at 70% 76%, rgba(255,255,255,.10), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.10), transparent 22%, rgba(0,0,0,.14) 100%);
  box-shadow:
    inset 0 10px 28px rgba(255,255,255,.12),
    inset 0 -18px 42px rgba(0,0,0,.22) !important;
}
#wheelPage .fortuneWheel.spinning{
  filter: saturate(1.08) brightness(1.03);
}
#wheelPage .fortuneWheelLabels{
  transform-style: preserve-3d;
}
#wheelPage .fortuneWheelLabel{
  width: 54px !important;
  height: 54px !important;
  font-size: 28px !important;
  text-shadow: 0 3px 12px rgba(0,0,0,.5) !important;
}
#wheelPage .fortuneWheelLabel .icon{
  font-size: 28px !important;
  filter: drop-shadow(0 3px 8px rgba(0,0,0,.4));
}
#wheelPage .fortuneWheelCenter{
  width: 134px !important;
  height: 134px !important;
  transform: translate3d(-50%,-50%,42px) !important;
  background:
    radial-gradient(circle at 30% 26%, rgba(255,255,255,.98), rgba(255,231,176,.98) 34%, rgba(255,181,86,.98) 68%, rgba(190,97,0,.98) 100%) !important;
  box-shadow:
    0 16px 34px rgba(0,0,0,.34),
    0 0 0 10px rgba(255,255,255,.10),
    0 0 42px rgba(255,214,102,.28) !important;
}
#wheelPage .wheelCenterText{
  text-shadow: 0 1px 0 rgba(255,255,255,.35);
}
#wheelPage .wheelPointer{
  transform: translate3d(-50%,0,74px) !important;
  filter: drop-shadow(0 12px 16px rgba(0,0,0,.42)) !important;
}
#wheelPage .wheelPointer::after{
  box-shadow: 0 0 24px rgba(255,214,102,.82), 0 0 10px rgba(255,255,255,.7) inset !important;
}
#wheelPage .wheelResultBox,
#wheelPage .wheelSpinButton,
#wheelPage .wheelStatusBadge{
  transform: translateZ(0);
}
#wheelPage .fortuneWheelWrap.is-hovering{
  --wheel-depth-scale: 1.02;
  --wheel-lift: -4px;
}
#wheelPage .fortuneWheelWrap.is-spinning{
  --wheel-depth-scale: 1.01;
  --wheel-lift: -2px;
}
@media (max-width: 900px){
  #wheelPage .wheelArena{perspective: 1000px !important;}
  #wheelPage .fortuneWheelWrap{transform: translateY(0) rotateX(0) rotateY(0) scale(1) !important;}
  #wheelPage .fortuneWheelWrap::after{transform: translate3d(-50%, 160px, -60px) rotateX(78deg);}
  #wheelPage .fortuneWheel{transform: rotate(var(--wheel-rot, 0deg)) translateZ(8px) !important;}
  #wheelPage .fortuneWheelCenter{transform: translate3d(-50%,-50%,24px) !important;}
  #wheelPage .wheelPointer{transform: translate3d(-50%,0,42px) !important;}
}



/* ===== FINAL FIX: kompaktní header + Radio Kiss inline + farma bez uříznutých políček ===== */
#gameApp.app{
  gap:6px!important;
  padding:8px!important;
  overflow:hidden!important;
}
#gameApp .topbar{
  grid-template-columns:minmax(230px,.55fr) minmax(0,1fr) auto!important;
  gap:8px!important;
  align-items:center!important;
  min-height:56px!important;
  padding:6px 12px!important;
  border-radius:20px!important;
  overflow:visible!important;
}
body.neonBloom #gameApp .topbar{overflow:visible!important;}
#gameApp .brand{min-width:0!important;max-width:360px!important;}
#gameApp .brand h1,
#gameApp .topbar h1{
  font-size:clamp(18px,1.15vw,25px)!important;
  line-height:1.06!important;
  letter-spacing:.025em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#gameApp .topbarStatsGroup{
  min-width:0!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:7px!important;
  overflow:hidden!important;
}
#gameApp .topbar .pill{
  padding:7px 10px!important;
  min-height:38px!important;
  font-size:12px!important;
}
#gameApp .topbar>.actions{
  flex-wrap:nowrap!important;
  gap:7px!important;
}
#gameApp .topbar>.actions button{
  min-height:38px!important;
  padding:8px 11px!important;
  font-size:12px!important;
}
#gameApp .radioKissPill{
  flex:0 1 520px!important;
  width:min(520px,100%)!important;
  min-width:310px!important;
  max-width:520px!important;
  min-height:38px!important;
  padding:6px 10px!important;
  display:inline-flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:7px!important;
  overflow:hidden!important;
}
#gameApp .radioKissToggle{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  font-size:12px!important;
}
#gameApp .radioKissTitle{
  flex:0 0 auto!important;
  font-size:12px!important;
  white-space:nowrap!important;
}
#gameApp .radioKissVolume{
  flex:0 0 86px!important;
  width:86px!important;
  min-width:70px!important;
}
#gameApp .radioKissVolumeText{
  flex:0 0 34px!important;
  min-width:34px!important;
  font-size:10.5px!important;
}
#gameApp .radioKissPill{overflow:visible!important;}
#gameApp .topbarStatsGroup{overflow:visible!important;}
#gameApp .radioKissNowPlaying{
  flex:1 1 190px!important;
  width:auto!important;
  min-width:125px!important;
  max-width:260px!important;
  height:26px!important;
  padding:0 2px!important;
  margin-top:0!important;
  font-size:11px!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
#gameApp .radioKissNowPlaying .radioKissNowPlayingTrack{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#gameApp .radioKissNowPlaying::after{
  left:50%!important;
  white-space:pre-line!important;
}
#gameApp .pageTabs{
  flex:0 0 auto!important;
  gap:4px!important;
  flex-wrap:wrap!important;
  overflow:visible!important;
  padding:5px 2px 4px!important;
  scrollbar-width:none!important;
}
#gameApp .pageTabs .pageBtn{
  flex:0 0 auto!important;
  min-height:32px!important;
  padding:6px 9px!important;
  font-size:11px!important;
  border-radius:12px!important;
}
#gameApp .pageContent{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden!important;
}
#farmPage.pagePane.active{
  flex:1 1 auto!important;
  min-height:0!important;
  height:100%!important;
  overflow:hidden!important;
}
body.neonBloom #farmPage .farmPanel,
body.performanceMode.neonBloom #farmPage .farmPanel,
#farmPage .farmPanel{
  flex:1 1 auto!important;
  height:100%!important;
  max-height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}
body.neonBloom #farmPage .farmPanel>.panelHead,
body.performanceMode.neonBloom #farmPage .farmPanel>.panelHead,
#farmPage .farmPanel>.panelHead{
  flex:0 0 auto!important;
  min-height:42px!important;
  padding:7px 12px!important;
}
body.neonBloom #farmPage .farmPanel>.panelHead h2,
body.performanceMode.neonBloom #farmPage .farmPanel>.panelHead h2,
#farmPage .farmPanel>.panelHead h2{
  font-size:22px!important;
  line-height:1.05!important;
}
body.neonBloom #farmPage .farmPanel>.panelHead .actions,
body.performanceMode.neonBloom #farmPage .farmPanel>.panelHead .actions,
#farmPage .farmPanel>.panelHead .actions{
  gap:6px!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
}
body.neonBloom #farmPage .farmPanel>.panelHead .actions button,
body.performanceMode.neonBloom #farmPage .farmPanel>.panelHead .actions button,
#farmPage .farmPanel>.panelHead .actions button{
  min-height:34px!important;
  padding:7px 10px!important;
  font-size:11px!important;
  border-radius:12px!important;
}
body.neonBloom #farmPage .farmPanel>.panelBody,
body.performanceMode.neonBloom #farmPage .farmPanel>.panelBody,
#farmPage .farmPanel>.panelBody{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  padding:7px 10px 8px!important;
}
body.neonBloom #farmPage .farmTop,
body.performanceMode.neonBloom #farmPage .farmTop,
#farmPage .farmTop{
  flex:0 0 auto!important;
  min-height:34px!important;
  margin:0!important;
  padding:5px 7px!important;
  gap:5px!important;
}
body.neonBloom #farmPage .farmTop .tag,
body.performanceMode.neonBloom #farmPage .farmTop .tag,
#farmPage .farmTop .tag{
  padding:4px 7px!important;
  font-size:15.5px!important;
}
body.neonBloom #farmPage .farmWorldBar,
body.performanceMode.neonBloom #farmPage .farmWorldBar,
#farmPage .farmWorldBar{
  flex:0 0 auto!important;
  min-height:42px!important;
  margin:4px 0 5px!important;
  padding:5px 7px!important;
  border-radius:18px!important;
}
body.neonBloom #farmPage .farmWorldBtn,
body.performanceMode.neonBloom #farmPage .farmWorldBtn,
#farmPage .farmWorldBtn{
  min-height:32px!important;
  padding:6px 9px!important;
  font-size:14.5px!important;
  border-radius:14px!important;
}
body.neonBloom #farmPage .farmWorldSummary,
body.performanceMode.neonBloom #farmPage .farmWorldSummary,
#farmPage .farmWorldSummary{
  font-size:14.5px!important;
}
body.neonBloom #farmPage .farmGrid,
body.performanceMode.neonBloom #farmPage .farmGrid,
#farmPage .farmGrid{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  grid-auto-rows:minmax(0,1fr)!important;
  gap:5px!important;
  padding:5px!important;
  align-content:stretch!important;
  overflow:hidden!important;
}
body.neonBloom #farmPage .tile,
body.performanceMode.neonBloom #farmPage .tile,
#farmPage .tile{
  min-height:0!important;
  height:100%!important;
  border-radius:15px!important;
  padding:3px 7px!important;
  grid-template-rows:11px minmax(23px,1fr) 5px 12px 10px!important;
  row-gap:1px!important;
}
body.neonBloom #farmPage .tileIcon,
body.performanceMode.neonBloom #farmPage .tileIcon,
#farmPage .tileIcon{
  font-size:21px!important;
  min-height:21px!important;
}
body.neonBloom #farmPage .tileName,
body.performanceMode.neonBloom #farmPage .tileName,
#farmPage .tileName{
  font-size:11.4px!important;
  line-height:1.02!important;
  max-height:11px!important;
}
body.neonBloom #farmPage .tileHeader,
body.performanceMode.neonBloom #farmPage .tileHeader,
#farmPage .tileHeader{
  font-size:14.2px!important;
}
body.neonBloom #farmPage .tileFoot .tileState,
body.performanceMode.neonBloom #farmPage .tileFoot .tileState,
#farmPage .tileFoot .tileState{
  font-size:6.9px!important;
  height:10px!important;
  min-height:10px!important;
  max-height:10px!important;
  padding:1px 5px!important;
}
body.neonBloom #farmPage .tileTimer,
body.performanceMode.neonBloom #farmPage .tileTimer,
#farmPage .tileTimer{
  font-size:6.9px!important;
  height:10px!important;
  min-height:10px!important;
  max-height:10px!important;
  padding:1px 5px!important;
}
body.neonBloom #farmPage .growBar,
body.performanceMode.neonBloom #farmPage .growBar,
#farmPage .growBar{
  height:5px!important;
  min-height:5px!important;
}
@media (max-width:1350px){
  #gameApp .topbar{grid-template-columns:1fr!important;}
  #gameApp .topbarStatsGroup{justify-content:flex-start!important;flex-wrap:wrap!important;overflow:visible!important;}
  #gameApp .radioKissPill{max-width:100%!important;min-width:min(310px,100%)!important;}
  #gameApp .pageTabs{flex-wrap:wrap!important;overflow:visible!important;}
}
@media (max-width:700px){
  #gameApp.app{overflow:visible!important;}
  #gameApp .topbar{position:sticky!important;top:6px!important;}
  #gameApp .brand h1,#gameApp .topbar h1{font-size:18px!important;white-space:normal!important;}
  #gameApp .radioKissPill{flex-wrap:wrap!important;min-height:50px!important;}
  #gameApp .radioKissNowPlaying{flex:1 1 140px!important;max-width:220px!important;min-width:120px!important;padding-left:0!important;line-height:1!important;font-size:10.5px!important;}
  #gameApp .pageContent,#farmPage.pagePane.active,#farmPage .farmPanel{height:auto!important;max-height:none!important;overflow:visible!important;}
  #farmPage .farmPanel>.panelBody{overflow:visible!important;}
  #farmPage .farmGrid{height:auto!important;overflow:visible!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:minmax(104px,auto)!important;}
  #farmPage .tile{min-height:104px!important;}
}


/* Farm quick actions moved next to seed/plant controls */
body.neonBloom #farmPage .farmPlantActions,
body.performanceMode.neonBloom #farmPage .farmPlantActions,
#farmPage .farmPlantActions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:7px!important;
  flex-wrap:wrap!important;
}
body.neonBloom #farmPage .farmPlantActions button,
body.performanceMode.neonBloom #farmPage .farmPlantActions button,
#farmPage .farmPlantActions button{
  white-space:nowrap!important;
}
@media (max-width:900px){
  body.neonBloom #farmPage .farmPlantActions,
  body.performanceMode.neonBloom #farmPage .farmPlantActions,
  #farmPage .farmPlantActions{justify-content:flex-start!important}
}


/* ===== FIX: Radio Kiss sirsi info o skladbe bez useknuti ===== */
#gameApp .topbarStatsGroup{
  gap:6px!important;
}
#gameApp .radioKissPill{
  flex:0 1 680px!important;
  width:clamp(560px, 38vw, 680px)!important;
  min-width:520px!important;
  max-width:680px!important;
  padding-left:10px!important;
  padding-right:12px!important;
  gap:7px!important;
}
#gameApp .radioKissTitle{
  min-width:max-content!important;
}
#gameApp .radioKissVolume{
  flex:0 0 78px!important;
  width:78px!important;
  min-width:68px!important;
}
#gameApp .radioKissVolumeText{
  flex:0 0 31px!important;
  min-width:31px!important;
}
#gameApp .radioKissNowPlaying{
  flex:1 1 420px!important;
  min-width:280px!important;
  max-width:none!important;
  overflow:hidden!important;
}
#gameApp .radioKissNowPlaying .radioKissNowPlayingTrack{
  flex:1 1 auto!important;
  max-width:none!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
}
@media (max-width:1550px){
  #gameApp .radioKissPill{
    flex-basis:560px!important;
    width:560px!important;
    min-width:430px!important;
    max-width:560px!important;
  }
  #gameApp .radioKissNowPlaying{
    min-width:220px!important;
    flex-basis:300px!important;
  }
  #gameApp .radioKissNowPlaying .radioKissNowPlayingTrack{
    text-overflow:ellipsis!important;
  }
}
@media (max-width:1350px){
  #gameApp .radioKissPill{
    flex:1 1 100%!important;
    width:100%!important;
    min-width:min(310px,100%)!important;
    max-width:100%!important;
  }
}



/* ===== FIX: Radio Kiss tooltip po rozsireni radia ===== */
#gameApp .topbar,
#gameApp .topbarStatsGroup,
#gameApp .radioKissPill{
  overflow:visible!important;
}
#gameApp .radioKissNowPlaying{
  position:relative!important;
  overflow:visible!important;
  isolation:isolate!important;
}
#gameApp .radioKissNowPlaying .radioKissNowPlayingTrack{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#gameApp .radioKissNowPlaying::after{
  content:attr(data-tooltip)!important;
  display:block!important;
  position:absolute!important;
  left:50%!important;
  top:calc(100% + 10px)!important;
  transform:translateX(-50%) translateY(-4px)!important;
  width:max-content!important;
  max-width:min(360px, 80vw)!important;
  padding:9px 11px!important;
  border-radius:13px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  background:linear-gradient(135deg,rgba(21,28,52,.98),rgba(42,26,58,.98))!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1.35!important;
  white-space:pre-line!important;
  text-align:left!important;
  box-shadow:0 16px 34px rgba(0,0,0,.34),0 0 22px rgba(255,105,210,.14)!important;
  opacity:0!important;
  pointer-events:none!important;
  z-index:999999!important;
  transition:opacity .16s ease,transform .16s ease!important;
}
#gameApp .radioKissNowPlaying:hover::after,
#gameApp .radioKissNowPlaying:focus-visible::after{
  opacity:1!important;
  transform:translateX(-50%) translateY(0)!important;
}



/* === FARM TILE READABILITY: větší čas růstu + cca kusů === */
body.neonBloom #farmPage .tileTimer,
body.performanceMode.neonBloom #farmPage .tileTimer{
  font-size:12.8px!important;
  font-weight:950!important;
  padding:4px 7px!important;
  min-height:17px!important;
  line-height:2!important;
  letter-spacing:.1px!important;
}
body.neonBloom #farmPage .tileFoot .tileState,
body.performanceMode.neonBloom #farmPage .tileFoot .tileState{
  font-size:9.8px!important;
  font-weight:950!important;
  padding:3px 8px!important;
  min-height:17px!important;
  height:auto!important;
  max-height:none!important;
  line-height:1.05!important;
  letter-spacing:.05px!important;
}
body.neonBloom #farmPage .tileFoot,
body.performanceMode.neonBloom #farmPage .tileFoot{
  bottom:6px!important;
}
body.neonBloom #farmPage .growBar,
body.performanceMode.neonBloom #farmPage .growBar{
  bottom:28px!important;
}
@media (max-height:820px){
  body.neonBloom #farmPage .tileTimer,
  body.performanceMode.neonBloom #farmPage .tileTimer{font-size:10px!important;padding:3px 6px!important;min-height:16px!important}
  body.neonBloom #farmPage .tileFoot .tileState,
  body.performanceMode.neonBloom #farmPage .tileFoot .tileState{font-size:9px!important;padding:2px 7px!important;min-height:15px!important}
  body.neonBloom #farmPage .growBar,
  body.performanceMode.neonBloom #farmPage .growBar{bottom:26px!important}
}


/* === FARM TILE: progress bar under crop name + no layout collision === */
body.neonBloom #farmPage .tileCenter .growBar,
body.performanceMode.neonBloom #farmPage .tileCenter .growBar,
#farmPage .tileCenter .growBar{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  top:auto!important;
  width:100%!important;
  max-width:240px!important;
  margin:2px auto 0!important;
  height:5px!important;
  min-height:5px!important;
  align-self:stretch!important;
}
body.neonBloom #farmPage .tileCenter .growBar span,
body.performanceMode.neonBloom #farmPage .tileCenter .growBar span,
#farmPage .tileCenter .growBar span{display:block!important}
body.neonBloom #farmPage .tileFoot,
body.performanceMode.neonBloom #farmPage .tileFoot,
#farmPage .tileFoot{bottom:6px!important}
@media (max-height:820px){
  body.neonBloom #farmPage .tileCenter .growBar,
  body.performanceMode.neonBloom #farmPage .tileCenter .growBar,
  #farmPage .tileCenter .growBar{margin-top:1px!important;height:4px!important;min-height:4px!important}
}


/* === Yuki helper: hodinový hlídač úrody === */
#farmPage .yukiHelperStatus{
  border-color:rgba(151,231,255,.18)!important;
  background:linear-gradient(135deg,rgba(112,209,255,.13),rgba(255,111,202,.08))!important;
  color:#eef8ff!important;
}
#farmPage .yukiHelperBtn{
  border-color:rgba(151,231,255,.24)!important;
  background:linear-gradient(135deg,rgba(112,209,255,.18),rgba(255,111,202,.12))!important;
  box-shadow:0 10px 24px rgba(0,0,0,.16),0 0 18px rgba(112,209,255,.08)!important;
}
#farmPage .yukiHelperBtn:disabled{
  opacity:.72!important;
}


/* === TOPBAR: odehraný čas === */
#gameApp .playTimePill{
  white-space:nowrap!important;
  font-variant-numeric:tabular-nums!important;
}


/* === FINAL FIX: horní panel bez překryvu názvu + kompaktní radio === */
#gameApp .topbar{
  grid-template-columns:minmax(315px,345px) minmax(0,1fr) auto!important;
  column-gap:10px!important;
}
#gameApp .brand{
  width:345px!important;
  max-width:345px!important;
  min-width:0!important;
  position:relative!important;
  z-index:3!important;
  overflow:hidden!important;
}
#gameApp .brand h1,
#gameApp .topbar h1{
  font-size:clamp(17px,1.05vw,23px)!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#gameApp .topbarStatsGroup{
  position:relative!important;
  z-index:2!important;
  justify-content:flex-start!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  flex-wrap:nowrap!important;
}
#gameApp .onlineStatusPill,
#gameApp .playTimePill{
  flex:0 0 auto!important;
}
#gameApp .playTimePill{
  max-width:225px!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}
#gameApp .radioKissPill{
  flex:1 1 430px!important;
  width:auto!important;
  min-width:350px!important;
  max-width:620px!important;
}
#gameApp .radioKissNowPlaying{
  min-width:0!important;
  flex:1 1 auto!important;
}
#gameApp .topbar>.actions{
  position:relative!important;
  z-index:4!important;
}
@media (max-width:1600px){
  #gameApp .topbar{grid-template-columns:minmax(250px,280px) minmax(0,1fr) auto!important;}
  #gameApp .brand{width:280px!important;max-width:280px!important;}
  #gameApp .brand h1,#gameApp .topbar h1{font-size:18px!important;}
  #gameApp .radioKissPill{min-width:300px!important;max-width:520px!important;}
  #gameApp .playTimePill{max-width:190px!important;}
}
@media (max-width:1250px){
  #gameApp .topbar{grid-template-columns:1fr!important;}
  #gameApp .brand{width:100%!important;max-width:100%!important;}
  #gameApp .topbarStatsGroup{flex-wrap:wrap!important;overflow:visible!important;}
  #gameApp .radioKissPill{min-width:min(330px,100%)!important;max-width:100%!important;}
}


/* === FIX: topbar bez překrývání názvu + kompaktní Online/čas/radio === */
#gameApp .topbar{grid-template-columns:minmax(300px,360px) minmax(0,1fr) auto!important;column-gap:14px!important;}
#gameApp .brand{min-width:300px!important;max-width:360px!important;overflow:hidden!important;}
#gameApp .brand h1{font-size:clamp(18px,1.15vw,25px)!important;line-height:1.04!important;}
#gameApp .topbarStatsGroup{min-width:0!important;overflow:hidden!important;gap:8px!important;}
#gameApp .onlineStatusPill{min-width:92px!important;justify-content:center!important;padding-left:10px!important;padding-right:10px!important;}
#gameApp .playTimePill{max-width:230px!important;min-width:160px!important;justify-content:center!important;}
#gameApp .radioKissPill{min-width:360px!important;max-width:640px!important;}
@media (max-width:1650px){#gameApp .topbar{grid-template-columns:minmax(260px,310px) minmax(0,1fr) auto!important;}#gameApp .brand{min-width:260px!important;max-width:310px!important;}#gameApp .brand h1{font-size:18px!important;}#gameApp .playTimePill{max-width:190px!important;min-width:145px!important;}#gameApp .radioKissPill{min-width:310px!important;max-width:560px!important;}}
@media (max-width:1350px){#gameApp .topbar{grid-template-columns:1fr!important;}#gameApp .brand{min-width:0!important;max-width:100%!important;}#gameApp .topbarStatsGroup{flex-wrap:wrap!important;overflow:visible!important;}}


/* === FIX: aktivita hráče v loginu/profilu bez rozbití řádku === */
.authLeaderboardStats .presenceChip,
.authLeaderboardStats .lastOnlineChip{
  min-height:24px!important;
  padding:4px 8px!important;
  font-size:10.5px!important;
}
#visitAccountName .presenceChip,
#visitAccountName .lastOnlineChip{
  vertical-align:middle!important;
  margin-left:4px!important;
}


/* === RESTORE: karty hráčů jako dřív + online/aktivita v řádku statistik === */
#playersPage .playerLuxuryCard .cardHead,
.authOnlineDock .playerLuxuryCard .cardHead{
  display:flex!important;
  grid-template-columns:none!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
}
#playersPage .playerLuxuryCard .cardHead>div:first-child,
.authOnlineDock .playerLuxuryCard .cardHead>div:first-child{
  min-width:0!important;
  flex:1 1 auto!important;
}
#playersPage .playerCardRight,
.authOnlineDock .playerCardRight{
  width:auto!important;
  min-width:auto!important;
  max-width:none!important;
  flex:0 0 auto!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
  gap:6px!important;
  flex-wrap:nowrap!important;
}
#playersPage .playerStatsRow,
.authOnlineDock .playerStatsRow{
  align-items:center!important;
  justify-content:flex-start!important;
}
#playersPage .presenceChip,
#playersPage .lastOnlineChip,
.authOnlineDock .presenceChip,
.authOnlineDock .lastOnlineChip{
  min-height:28px!important;
  padding:5px 9px!important;
  font-size:11.5px!important;
  flex:0 0 auto!important;
}
.authOnlineDock .lastOnlineChip{
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}


/* === FIX: hráč online ukazuje aktuální záložku + Radio Kiss tooltip nad horním panelem === */
#playersPage .currentPageChip,
.authOnlineDock .currentPageChip{
  background:linear-gradient(135deg,rgba(99,230,255,.12),rgba(255,97,178,.10))!important;
  border-color:rgba(99,230,255,.22)!important;
  color:#e9fbff!important;
}
#gameApp .topbar,
#gameApp .topbarStatsGroup,
#gameApp .radioKissPill,
#gameApp .radioKissNowPlaying{
  overflow:visible!important;
}
#gameApp .radioKissPill,
#gameApp .radioKissNowPlaying{
  position:relative!important;
  z-index:50!important;
}
#gameApp .radioKissNowPlaying::after{
  content:attr(data-tooltip)!important;
  display:block!important;
  position:absolute!important;
  left:50%!important;
  top:calc(100% + 10px)!important;
  transform:translateX(-50%) translateY(-4px)!important;
  min-width:220px!important;
  width:max-content!important;
  max-width:min(390px, 80vw)!important;
  padding:9px 11px!important;
  border-radius:13px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  background:linear-gradient(135deg,rgba(21,28,52,.98),rgba(42,26,58,.98))!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1.35!important;
  white-space:pre-line!important;
  text-align:left!important;
  box-shadow:0 16px 34px rgba(0,0,0,.38),0 0 22px rgba(255,105,210,.16)!important;
  opacity:0!important;
  pointer-events:none!important;
  z-index:999999!important;
  transition:opacity .16s ease,transform .16s ease!important;
}
#gameApp .radioKissNowPlaying:hover::after,
#gameApp .radioKissNowPlaying:focus-visible::after{
  opacity:1!important;
  transform:translateX(-50%) translateY(0)!important;
}


/* === Tokyo Chat: titul z profilu vedle jména === */
#chatPage .chatProfileTitlePill,
.tokyoChatList .chatProfileTitlePill,
.chatProfileTitlePill{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  max-width:260px!important;
  padding:3px 8px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,221,136,.22)!important;
  background:linear-gradient(135deg,rgba(255,196,95,.12),rgba(255,105,210,.10))!important;
  color:#ffe8a8!important;
  font-size:11px!important;
  font-weight:1000!important;
  line-height:1.05!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 12px rgba(255,196,95,.08)!important;
}
#chatPage .chatAdminPill,
.tokyoChatList .chatAdminPill,
.chatAdminPill{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  padding:4px 9px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,78,114,.55)!important;
  background:linear-gradient(135deg,rgba(255,48,88,.32),rgba(140,0,24,.28))!important;
  color:#ffd6de!important;
  font-size:11px!important;
  font-weight:1000!important;
  line-height:1.05!important;
  text-transform:uppercase!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 0 18px rgba(255,48,88,.22)!important;
}

#chatPage .chatPremiumPill,
.tokyoChatList .chatPremiumPill,
.chatPremiumPill{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  max-width:270px!important;
  padding:4px 9px!important;
  border-radius:999px!important;
  border:1px solid rgba(124,242,255,.35)!important;
  background:linear-gradient(135deg,rgba(124,242,255,.17),rgba(255,105,210,.17),rgba(255,221,136,.14))!important;
  color:#dffbff!important;
  font-size:11px!important;
  font-weight:1000!important;
  line-height:1.05!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 18px rgba(124,242,255,.14),0 0 20px rgba(255,105,210,.10)!important;
}
.chatPremiumPill.mini{
  padding:2px 7px!important;
  font-size:10px!important;
  vertical-align:middle!important;
}
@media (max-width:700px){
  #chatPage .chatProfileTitlePill,
  .tokyoChatList .chatProfileTitlePill,
  .chatProfileTitlePill{max-width:150px!important;font-size:10px!important;padding:3px 7px!important}
  #chatPage .chatPremiumPill,
  .tokyoChatList .chatPremiumPill,
  .chatPremiumPill{max-width:160px!important;font-size:10px!important;padding:3px 7px!important}
}



/* === FINAL HARD FIX HEADER: bez tlačítka Výkon ON + celý název hry === */
#performanceModeBtn,
.performanceModeBtn,
[data-performance-mode-btn],
[data-role="performanceModeBtn"],
#gameApp .topbar #performanceModeBtn,
#gameApp .topbar .actions #performanceModeBtn{
  display:none!important;
  visibility:hidden!important;
  width:0!important;
  min-width:0!important;
  max-width:0!important;
  height:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
#gameApp .topbar{
  grid-template-columns:minmax(390px,430px) minmax(0,1fr) auto!important;
  gap:8px!important;
}
#gameApp .brand{
  min-width:390px!important;
  max-width:430px!important;
  width:410px!important;
  overflow:visible!important;
}
#gameApp .brand h1,
#gameApp .topbar .brand h1,
#gameApp .topbar h1.brandTitle{
  max-width:none!important;
  width:auto!important;
  font-size:clamp(20px,1.22vw,24px)!important;
  line-height:1.08!important;
  letter-spacing:.018em!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
#gameApp .topbarStatsGroup{
  min-width:0!important;
  justify-content:flex-end!important;
  overflow:visible!important;
}
#gameApp .radioKissPill{
  flex:0 1 470px!important;
  width:clamp(340px,31vw,470px)!important;
  max-width:470px!important;
  min-width:330px!important;
}
#gameApp .radioKissNowPlaying{
  min-width:105px!important;
  max-width:210px!important;
}
#gameApp .topbar>.actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:7px!important;
}
#gameApp .topbar>.actions button{
  flex:0 0 auto!important;
}
@media (max-width:1450px){
  #gameApp .topbar{grid-template-columns:minmax(330px,380px) minmax(0,1fr) auto!important;}
  #gameApp .brand{min-width:330px!important;width:360px!important;max-width:380px!important;}
  #gameApp .brand h1,#gameApp .topbar .brand h1{font-size:20px!important;letter-spacing:.01em!important;}
  #gameApp .radioKissPill{width:clamp(300px,28vw,410px)!important;min-width:300px!important;max-width:410px!important;}
  #gameApp .radioKissVolume{flex-basis:70px!important;width:70px!important;}
  #gameApp .radioKissNowPlaying{max-width:150px!important;min-width:90px!important;}
}
@media (max-width:980px){
  #gameApp .topbar{grid-template-columns:1fr!important;}
  #gameApp .brand{min-width:0!important;width:auto!important;max-width:none!important;}
  #gameApp .brand h1,#gameApp .topbar .brand h1{font-size:20px!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  #gameApp .topbarStatsGroup{justify-content:flex-start!important;flex-wrap:wrap!important;}
}

/* === Sakura Novinky / update log === */
.updatesPanelShell{
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at top right, rgba(255,151,217,.16), transparent 24%),
        radial-gradient(circle at left 15% bottom 10%, rgba(124,255,229,.12), transparent 25%),
        linear-gradient(180deg, rgba(18,25,44,.96), rgba(9,14,28,.97));
}
.updatesPanelShell::before,
.updatesPanelShell::after{
    content:"🌸";
    position:absolute;
    font-size:24px;
    opacity:.18;
    pointer-events:none;
    filter:drop-shadow(0 6px 12px rgba(255,130,200,.25));
}
.updatesPanelShell::before{top:18px;right:22px;}
.updatesPanelShell::after{bottom:18px;left:18px;}
.updatesPanelHead{
    position:relative;
    z-index:1;
}
.updatesHeadBadge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 14px;
    border-radius:999px;
    font-weight:900;
    letter-spacing:.04em;
    text-transform:uppercase;
    background:linear-gradient(135deg, rgba(255,111,196,.2), rgba(122,255,233,.17));
    border:1px solid rgba(255,255,255,.14);
    box-shadow:0 10px 24px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.10);
}
.updatesScrollArea{
    position:relative;
    z-index:1;
}
.updatesIntroCard{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:18px;
    align-items:center;
    padding:22px 24px;
    margin-bottom:18px;
    border-radius:24px;
    border:1px solid rgba(255,255,255,.12);
    background:
        linear-gradient(135deg, rgba(255,160,216,.12), rgba(110,250,233,.08)),
        rgba(8,13,27,.74);
    box-shadow:0 18px 40px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.06);
    overflow:hidden;
}
.updatesIntroGlow{
    position:absolute;
    inset:auto auto -28px -28px;
    width:180px;
    height:180px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(255,153,214,.18), transparent 68%);
    pointer-events:none;
}
.updatesIntroContent{position:relative;z-index:1;}
.updatesIntroEyebrow{
    font-size:12px;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:#ffb9e8;
    margin-bottom:8px;
}
.updatesIntroCard h3{
    margin:0 0 8px;
    font-size:26px;
    line-height:1.1;
}
.updatesIntroCard p{
    margin:0;
    color:rgba(235,243,255,.84);
    line-height:1.6;
}
.updatesIntroTags{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:14px;
}
.updatesIntroTags span{
    padding:8px 12px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.10);
}
.updatesIntroFlowers{
    position:relative;
    z-index:1;
    font-size:34px;
    letter-spacing:8px;
    color:#ffd2ef;
    text-shadow:0 0 22px rgba(255,154,215,.22);
    white-space:nowrap;
}
.updatesTimeline{
    position:relative;
    display:grid;
    gap:18px;
    padding-left:22px;
}
.updatesTimeline::before{
    content:"";
    position:absolute;
    left:12px;
    top:4px;
    bottom:4px;
    width:2px;
    background:linear-gradient(180deg, rgba(255,140,208,.45), rgba(108,248,227,.15));
    opacity:.85;
}
.updateCard{
    position:relative;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:14px;
    align-items:flex-start;
}
.updateLine{display:none;}
.updateDot{
    position:relative;
    z-index:1;
    width:28px;
    height:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:16px;
    border-radius:50%;
    background:linear-gradient(135deg, rgba(255,126,202,.36), rgba(129,255,232,.24));
    border:1px solid rgba(255,255,255,.14);
    box-shadow:0 10px 20px rgba(0,0,0,.20), 0 0 18px rgba(255,154,215,.15);
}
.updateCardInner{
    position:relative;
    padding:18px 18px 16px;
    border-radius:22px;
    border:1px solid rgba(255,255,255,.10);
    background:
        radial-gradient(circle at top right, rgba(255,153,215,.08), transparent 22%),
        linear-gradient(180deg, rgba(16,23,41,.95), rgba(8,13,26,.96));
    box-shadow:0 16px 34px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.05);
}
.updateCardHead{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:8px;
}
.updateMeta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:8px;
}
.updateDate,
.updateTime,
.updateLabel,
.updateNewBadge{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:5px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
    border:1px solid rgba(255,255,255,.10);
}
.updateDate,.updateTime{background:rgba(255,255,255,.06);}
.updateNewBadge{
    color:#2b1022;
    background:linear-gradient(135deg, #ff7fcb, #fff0a6);
    border-color:rgba(255,255,255,.28);
    box-shadow:0 0 18px rgba(255,130,203,.22);
}
.updateLabel{
    background:linear-gradient(135deg, rgba(255,121,200,.18), rgba(121,255,234,.14));
    color:#ffe3f4;
}
.updateCardInner h3{
    margin:0;
    font-size:20px;
    line-height:1.2;
}
.updatePetalCluster{
    flex:0 0 auto;
    font-size:24px;
    opacity:.86;
    filter:drop-shadow(0 0 10px rgba(255,154,215,.18));
}
.updateDesc{
    margin:0 0 12px;
    color:rgba(232,239,255,.86);
    line-height:1.6;
}
.updateList{
    list-style:none;
    padding:0;
    margin:0;
    display:grid;
    gap:10px;
}
.updateList li{
    position:relative;
    padding:11px 12px 11px 36px;
    border-radius:16px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    color:#eef4ff;
}
.updateList li::before{
    content:"✿";
    position:absolute;
    left:12px;
    top:50%;
    transform:translateY(-50%);
    color:#ffb7e5;
    font-size:15px;
}
@media (max-width: 900px){
    .updatesIntroCard{grid-template-columns:minmax(0,1fr);}
    .updatesIntroFlowers{font-size:28px;letter-spacing:6px;}
}
@media (max-width: 640px){
    .updatesTimeline{padding-left:18px;}
    .updatesTimeline::before{left:9px;}
    .updateDot{width:22px;height:22px;font-size:12px;margin-top:18px;}
    .updateCardInner{padding:16px 14px;}
    .updateCardInner h3{font-size:18px;}
    .updatesHeadBadge{padding:8px 11px;font-size:11px;}
}


/* finální override: záložky bez posuvníku */
#gameApp .pageTabs,
.pageTabs{
    flex-wrap:wrap!important;
    overflow:visible!important;
    overflow-x:visible!important;
    overflow-y:visible!important;
    scrollbar-width:none!important;
}
#gameApp .pageTabs::-webkit-scrollbar,
.pageTabs::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;}


/* Podpora hry a HP krámek */
.bankShopPanel{overflow:hidden;position:relative}.bankShopScroll{max-height:72dvh}.bankShopSummary{display:grid;grid-template-columns:1.1fr .9fr;gap:12px;margin-bottom:14px}.bankShopHero,.bankPaymentBox,.bankOrderCard{border:1px solid rgba(255,255,255,.12);background:linear-gradient(135deg,rgba(255,97,178,.13),rgba(99,230,255,.07));border-radius:20px;padding:14px;box-shadow:0 18px 50px rgba(0,0,0,.22)}.bankShopHeroTitle{font-family:'Zen Dots',system-ui;font-size:18px}.bankShopVs{font-family:'Zen Dots',monospace;font-size:28px;letter-spacing:2px;color:#fff;text-shadow:0 0 20px rgba(99,230,255,.35)}.bankShopCopyBtn,.bankBuyBtn,.adminPayBtn{cursor:pointer}.bankShopGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.bankProductCard{border:1px solid rgba(255,255,255,.14);background:rgba(8,13,28,.74);border-radius:22px;padding:14px;box-shadow:0 18px 44px rgba(0,0,0,.26);display:flex;flex-direction:column;gap:10px}.bankProductTop{display:flex;align-items:center;justify-content:space-between;gap:10px}.bankProductIcon{font-size:34px;filter:drop-shadow(0 0 18px rgba(255,97,178,.35))}.bankProductCategory{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;color:#eaf6ff}.bankPerkPills{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.bankPerkPills span{border:1px solid rgba(99,230,255,.22);background:rgba(99,230,255,.08);border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800;color:#effbff}.bankProductName{font-weight:900;font-size:16px}.bankProductPrice{font-size:22px;font-weight:900}.bankProductReward{font-size:12px;color:rgba(236,244,255,.78);line-height:1.45}.bankOrdersList,.adminBankOrdersList{display:grid;gap:10px}.bankOrderCard{display:grid;gap:8px}.bankOrderTop{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.bankOrderStatus{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08)}.bankOrderStatus.credited{background:rgba(52,211,153,.14);border-color:rgba(52,211,153,.30)}.bankPayLine{display:grid;grid-template-columns:145px 1fr auto;gap:8px;align-items:center;font-size:13px}.bankPayLine code{font-size:14px;color:#fff}.adminBankOrdersList .bankOrderCard{background:rgba(10,16,34,.88)}@media(max-width:900px){.bankShopSummary,.bankShopGrid{grid-template-columns:1fr}.bankPayLine{grid-template-columns:1fr}.bankPayLine button{width:100%}}

.termBankPanel{overflow:hidden;position:relative}.termBankScroll{max-height:72dvh}.termBankSummary{margin-bottom:14px}.termBankHero,.termBankDepositCard,.termBankLocked{border:1px solid rgba(255,255,255,.13);background:linear-gradient(135deg,rgba(255,215,106,.12),rgba(99,230,255,.07));border-radius:20px;padding:15px;box-shadow:0 18px 48px rgba(0,0,0,.22)}.termBankHero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.termBankKicker{font-size:11px;font-weight:900;text-transform:uppercase;color:#ffe9a8;letter-spacing:.08em}.termBankTitle{font-family:'Zen Dots',system-ui;font-size:22px;color:#fff;margin:3px 0 6px}.termBankVault{font-family:'Zen Dots',monospace;font-size:26px;color:#fff;white-space:nowrap;text-shadow:0 0 18px rgba(255,215,106,.24)}.termBankBody{display:grid;gap:12px}.termBankDepositCard{display:grid;gap:13px;background:linear-gradient(135deg,rgba(12,20,42,.92),rgba(35,24,48,.86))}.termBankDepositCard.ready{border-color:rgba(126,255,183,.30);box-shadow:0 0 0 1px rgba(126,255,183,.08),0 18px 42px rgba(0,0,0,.24)}.termBankStatus{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);font-size:11px;font-weight:900;color:#fff}.termBankDepositCard.ready .termBankStatus{background:rgba(126,255,183,.14);border-color:rgba(126,255,183,.34);color:#caffdd}.termBankStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.termBankStats div{border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.05);border-radius:14px;padding:11px}.termBankStats span{display:block;font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase}.termBankStats b{display:block;margin-top:4px;font-size:18px;color:#fff}.termBankProgress{max-width:none;height:12px}.termBankForm{display:grid;gap:10px;max-width:520px}.termBankHistory{border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.035);border-radius:16px;padding:12px}.termBankHistoryList{display:grid;gap:8px}.termBankHistoryRow{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.045);font-size:13px}.termBankHistoryRow b{color:#fff}@media(max-width:900px){.termBankStats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.termBankHero{display:grid}.termBankVault{white-space:normal}.termBankStats{grid-template-columns:1fr}}
.termBankMultiplierBox{border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.045);border-radius:14px;padding:11px 12px;display:grid;gap:8px}.termBankMultiplierHead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.termBankMultiplierHead label{margin:0}.termBankMultiplierHead b{font-family:'Zen Dots',system-ui;color:#ffe28a;font-size:17px;white-space:nowrap}.termBankMultiplierBox input[type=range]{width:100%;accent-color:#ffd65e;cursor:pointer}.termBankMultiplierScale{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;font-weight:900}



/* ===== FIX: Novinky / Průvodce / Plodiny bez prázdného horního prostoru ===== */
#updatesPage.pagePane.active,
#infoPage.pagePane.active,
#cropsPage.pagePane.active{
  position:relative!important;
  z-index:2!important;
  flex:1 1 auto!important;
  min-height:0!important;
  height:100%!important;
  max-height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
}
#updatesPage .panel.singlePanel,
#infoPage .panel.singlePanel,
#cropsPage .panel.singlePanel,
#cropsPage .cropsPageGrid{
  position:relative!important;
  z-index:2!important;
  flex:1 1 auto!important;
  min-height:0!important;
  height:100%!important;
  max-height:100%!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:stretch!important;
  overflow:hidden!important;
}
#updatesPage .panelHead,
#infoPage .panelHead,
#cropsPage .panelHead{
  order:-100!important;
  position:relative!important;
  top:auto!important;
  margin-top:0!important;
  transform:none!important;
  flex:0 0 auto!important;
  z-index:5!important;
}
#updatesPage .panelBody,
#infoPage .panelBody,
#cropsPage .panelBody,
#updatesPage #updatesScroll,
#infoPage #infoScroll,
#cropsPage #cropScroll{
  order:0!important;
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
#updatesPage .updatesPanelShell::before,
#updatesPage .updatesPanelShell::after,
#infoPage .infoPanelShell::before,
#infoPage .infoPanelShell::after,
#cropsPage .premiumCropsPanel::before,
#cropsPage .premiumCropsPanel::after{
  content:none!important;
  display:none!important;
  width:0!important;
  height:0!important;
  padding:0!important;
  margin:0!important;
}
@media (max-width:980px){
  #updatesPage.pagePane.active,
  #infoPage.pagePane.active,
  #cropsPage.pagePane.active,
  #updatesPage .panel.singlePanel,
  #infoPage .panel.singlePanel,
  #cropsPage .panel.singlePanel,
  #cropsPage .cropsPageGrid{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
  #updatesPage .panelBody,
  #infoPage .panelBody,
  #cropsPage .panelBody,
  #updatesPage #updatesScroll,
  #infoPage #infoScroll,
  #cropsPage #cropScroll{
    overflow:visible!important;
  }
}



/* ===== FIX: Hráči / Logy / Trh / Profil / Admin bez prázdného horního prostoru ===== */
#playersPage.pagePane.active,
#logsPage.pagePane.active,
#marketPage.pagePane.active,
#profilePage.pagePane.active,
#adminPage.pagePane.active{
  position:relative!important;
  z-index:2!important;
  flex:1 1 auto!important;
  min-height:0!important;
  height:100%!important;
  max-height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
}
#playersPage .playersPageGrid,
#logsPage .logsPageGrid,
#marketPage .shopPageGrid,
#profilePage .profilePageGrid,
#adminPage .adminPageGrid{
  position:relative!important;
  z-index:2!important;
  flex:1 1 auto!important;
  min-height:0!important;
  height:100%!important;
  max-height:100%!important;
  margin:0!important;
  display:grid!important;
  align-items:stretch!important;
  overflow:hidden!important;
}
#playersPage .panel,
#logsPage .panel,
#marketPage .panel,
#profilePage .panel,
#adminPage .panel{
  position:relative!important;
  z-index:2!important;
  min-height:0!important;
  height:100%!important;
  max-height:100%!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:stretch!important;
  overflow:hidden!important;
}
#playersPage .panelHead,
#logsPage .panelHead,
#marketPage .panelHead,
#profilePage .panelHead,
#adminPage .panelHead{
  order:-100!important;
  position:relative!important;
  top:auto!important;
  margin-top:0!important;
  transform:none!important;
  flex:0 0 auto!important;
  z-index:5!important;
}
#playersPage .panelBody,
#logsPage .panelBody,
#marketPage .panelBody,
#profilePage .panelBody,
#adminPage .panelBody,
#playersPage #playersScroll,
#logsPage #logScroll,
#marketPage #marketScroll,
#profilePage #profileScroll,
#adminPage .scrollArea{
  order:0!important;
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
#playersPage .luxuryPanel::before,
#playersPage .luxuryPanel::after,
#logsPage .luxuryPanel::before,
#logsPage .luxuryPanel::after,
#marketPage .panel::before,
#marketPage .panel::after,
#profilePage .panel::before,
#profilePage .panel::after,
#adminPage .luxuryPanel::before,
#adminPage .luxuryPanel::after{
  content:none!important;
  display:none!important;
  width:0!important;
  height:0!important;
  padding:0!important;
  margin:0!important;
}
@media (max-width:980px){
  #playersPage.pagePane.active,
  #logsPage.pagePane.active,
  #marketPage.pagePane.active,
  #profilePage.pagePane.active,
  #adminPage.pagePane.active,
  #playersPage .playersPageGrid,
  #logsPage .logsPageGrid,
  #marketPage .shopPageGrid,
  #profilePage .profilePageGrid,
  #adminPage .adminPageGrid,
  #playersPage .panel,
  #logsPage .panel,
  #marketPage .panel,
  #profilePage .panel,
  #adminPage .panel{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
  #playersPage .panelBody,
  #logsPage .panelBody,
  #marketPage .panelBody,
  #profilePage .panelBody,
  #adminPage .panelBody,
  #playersPage #playersScroll,
  #logsPage #logScroll,
  #marketPage #marketScroll,
  #profilePage #profileScroll,
  #adminPage .scrollArea{
    max-height:none!important;
    overflow:visible!important;
  }
}

/* SFL update: farm clear/unlock controls + production multipliers */
.batchButtonRow{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center}
.batchButtonRow button{min-width:92px}
.tile{position:relative}
.tileClearBtn{position:absolute;left:7px;top:23px;z-index:12;width:34px;height:34px;border-radius:999px;border:1px solid rgba(255,130,145,.9);background:linear-gradient(180deg,rgba(244,63,94,.96),rgba(159,18,57,.98));color:#fff;font-size:21px;font-weight:950;line-height:1;box-shadow:0 8px 22px rgba(190,18,45,.42),inset 0 1px 0 rgba(255,255,255,.18);cursor:pointer;pointer-events:auto}
.tileClearBtn:hover{transform:scale(1.08);filter:brightness(1.1)}
.tileUnlockHpBtn{position:absolute;left:50%;bottom:21px;z-index:12;transform:translateX(-50%);min-width:82px;border-radius:999px;border:1px solid rgba(128,220,255,.95);background:linear-gradient(180deg,rgba(31,165,255,.98),rgba(24,92,155,.98));color:#fff;font-size:12px;font-weight:950;padding:6px 11px;box-shadow:0 8px 22px rgba(24,92,155,.42),0 0 18px rgba(80,190,255,.18),inset 0 1px 0 rgba(255,255,255,.18);cursor:pointer;pointer-events:auto;white-space:nowrap}
.tileUnlockHpBtn:hover{transform:translateX(-50%) scale(1.05);filter:brightness(1.12)}

/* Farm tile action buttons: keep them compact and pinned inside the tile. */
#farmPage .tileClearBtn,
body.neonBloom #farmPage .tileClearBtn,
body.performanceMode.neonBloom #farmPage .tileClearBtn{
  position:absolute!important;
  left:auto!important;
  right:4px!important;
  top:auto!important;
  bottom:4px!important;
  z-index:30!important;
  display:grid!important;
  place-items:center!important;
  width:28px!important;
  min-width:20px!important;
  max-width:20px!important;
  height:28px!important;
  min-height:20px!important;
  max-height:20px!important;
  padding:0!important;
  margin:0!important;
  border-radius:999px!important;
  line-height:0!important;
  flex:0 0 auto!important;
}
#farmPage .tileUnlockHpBtn,
body.neonBloom #farmPage .tileUnlockHpBtn,
body.performanceMode.neonBloom #farmPage .tileUnlockHpBtn{
  position:absolute!important;
  left:auto!important;
  right:8px!important;
  top:auto!important;
  bottom:8px!important;
  z-index:30!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:48px!important;
  max-width:58px!important;
  height:24px!important;
  min-height:24px!important;
  max-height:24px!important;
  padding:0 8px!important;
  margin:0!important;
  transform:none!important;
  border-radius:999px!important;
  line-height:1!important;
  flex:0 0 auto!important;
}
#farmPage .tileUnlockHpBtn:hover,
body.neonBloom #farmPage .tileUnlockHpBtn:hover,
body.performanceMode.neonBloom #farmPage .tileUnlockHpBtn:hover{
  transform:scale(1.05)!important;
}
/* Crop PNG icons from assets/crops */
.cropAssetIcon{
    display:inline-block;
    vertical-align:middle;
    object-fit:contain;
    flex:0 0 auto;
    filter:drop-shadow(0 4px 8px rgba(0,0,0,.28));
}
.cropAssetFallback{line-height:1}
.itemTitleWithImage,
.cropPillWithImage{
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-width:0;
}
.itemTitleWithImage > span:last-child{min-width:0}
.cropCardImage,
.cropSeedImage{width:30px;height:30px}
.cropPillImage,
.cropMetricImage{width:24px;height:24px}
.cropAtlasImage{width:44px;height:44px}
.cropMarketImage{width:34px;height:34px}
.cropHistoryImage{width:30px;height:30px}
.cropFeedImage,
.cropAdminImage{width:24px;height:24px}
#farmPage .tileIcon{
    display:flex;
    align-items:center;
    justify-content:center;
}
#farmPage .tileIcon .cropTileImage{
    width:clamp(32px,4.8dvh,50px);
    height:clamp(32px,4.8dvh,50px);
}
.visitTileIcon .visitCropImage{
    width:44px;
    height:44px;
}
.marketListingTitle .itemTitleWithImage,
.marketSelectedTitle .itemTitleWithImage{
    gap:9px;
}
@media (max-width:760px){
    .cropCardImage,
    .cropSeedImage{width:26px;height:26px}
    .cropAtlasImage{width:36px;height:36px}
    .cropMarketImage{width:30px;height:30px}
    #farmPage .tileIcon .cropTileImage{width:30px;height:30px}
}

/* Fine tune crop PNGs inside farm tiles after replacing emoji icons. */
#farmPage .tileIcon .cropTileImage{
    width:clamp(28px,4.1dvh,42px);
    height:clamp(28px,4.1dvh,42px);
    transform:translateY(-7px);
}
#farmPage .tileName{
    margin-top:2px!important;
}
#farmPage .tileFoot{
    bottom:1px!important;
}
#farmPage .tileFoot .tileState{
    transform:translateY(4px);
}

.manufactoryPanelPremium .luxModuleHero{
    border-color:rgba(255,195,92,.28);
}
#manufactoryPage #manufactoryScroll,
#manufactoryPage #manufactoryScroll.scrollArea,
#manufactoryPage .luxModuleScroll#manufactoryScroll{
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:8px 16px 170px 8px!important;
    margin-right:-4px!important;
    scrollbar-gutter:stable!important;
    scrollbar-width:auto!important;
    scrollbar-color:rgba(255,216,107,.95) rgba(255,255,255,.07)!important;
    scroll-padding-bottom:170px!important;
    overscroll-behavior:contain!important;
    border-right:0!important;
    box-shadow:none!important;
}
#manufactoryPage #manufactoryScroll::-webkit-scrollbar{
    width:14px;
}
#manufactoryPage #manufactoryScroll::-webkit-scrollbar-track{
    background:rgba(255,255,255,.07);
    border-radius:999px;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
#manufactoryPage #manufactoryScroll::-webkit-scrollbar-thumb{
    border-radius:999px;
    background:linear-gradient(180deg,#ffd86b,#7ee8ff);
    border:3px solid rgba(8,12,26,.94);
    min-height:52px;
    box-shadow:0 0 18px rgba(255,216,107,.18);
}
#manufactoryPage #manufactoryScroll::-webkit-scrollbar-thumb:hover{
    background:linear-gradient(180deg,#ffe39b,#9df0ff);
}
#manufactoryPage #manufactoryOrdersGrid,
#manufactoryPage #manufactoryOrdersGrid.luxCardGrid{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(360px,1fr))!important;
    align-items:start!important;
    gap:14px!important;
    padding-bottom:170px!important;
    margin-bottom:0!important;
}
#manufactoryPage #manufactoryOrdersGrid .luxCard{
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
    padding:14px!important;
}
#manufactoryPage #manufactoryOrdersGrid .luxCard:last-child{
    margin-bottom:80px!important;
}
#manufactoryPage .luxCardSub{
    line-height:1.35!important;
}
#manufactoryPage .luxMiniStats{
    margin:10px 0!important;
}
#manufactoryPage .luxInfoLine{
    margin:10px 0 6px!important;
}
.manufactoryNeedList{
    margin-top:8px;
}
.manufactoryMissing{
    border-color:rgba(255,107,141,.48)!important;
    color:#ffd0db!important;
    background:rgba(255,74,117,.12)!important;
}
.manufactoryBatchRow{
    justify-content:flex-end;
}
.manufactoryBatchRow button{
    min-height:36px;
}
.manufactoryHistoryTitle{
    margin-top:18px;
    padding-bottom:4px;
    border-bottom:1px solid rgba(255,255,255,.10);
}
.manufactoryBatchCostGrid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin:8px 0 4px;
    position:relative;
    z-index:1;
}
.manufactoryBatchCost{
    border-radius:15px;
    border:1px solid rgba(255,255,255,.09);
    background:rgba(7,13,34,.30);
    padding:9px;
}
.manufactoryBatchCost.is-limited{
    opacity:.62;
}
.manufactoryBatchCostHead{
    display:flex;
    justify-content:space-between;
    gap:8px;
    align-items:center;
    margin-bottom:6px;
    color:#fff;
    font-size:12px;
    font-weight:950;
}
.manufactoryBatchCostHead span{
    color:#bdd0f5;
    font-size:11px;
    font-weight:850;
    text-align:right;
}
body:has(#manufactoryPage.pagePane.active){
    overflow:hidden!important;
}
body:has(#manufactoryPage.pagePane.active) #gameApp.app{
    height:100dvh!important;
    min-height:100dvh!important;
    overflow:hidden!important;
}
body:has(#manufactoryPage.pagePane.active) .main,
body:has(#manufactoryPage.pagePane.active) .pageContent,
#manufactoryPage.pagePane.active,
#manufactoryPage .manufactoryPanelPremium,
#manufactoryPage .manufactoryPanelPremium > .panelBody{
    min-height:0!important;
    overflow:hidden!important;
}
#manufactoryPage.pagePane.active{
    height:calc(100dvh - 132px)!important;
    max-height:calc(100dvh - 132px)!important;
}
#manufactoryPage .manufactoryPanelPremium{
    height:100%!important;
    max-height:100%!important;
}
#manufactoryPage .manufactoryPanelPremium > .panelBody{
    display:flex!important;
    flex-direction:column!important;
    flex:1 1 auto!important;
}
#manufactoryPage #manufactoryScroll,
#manufactoryPage #manufactoryScroll.scrollArea,
#manufactoryPage .luxModuleScroll#manufactoryScroll{
    flex:1 1 auto!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:8px 16px 150px 8px!important;
    margin-right:-4px!important;
    scrollbar-gutter:stable!important;
    scrollbar-width:auto!important;
    scrollbar-color:rgba(255,216,107,.95) rgba(255,255,255,.07)!important;
    scroll-padding-bottom:150px!important;
    overscroll-behavior:contain!important;
    border-right:0!important;
    box-shadow:none!important;
}
#manufactoryPage #manufactoryScroll::-webkit-scrollbar{
    display:block!important;
    width:14px!important;
}
#manufactoryPage #manufactoryScroll::-webkit-scrollbar-track{
    background:rgba(255,255,255,.07)!important;
    border-radius:999px!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)!important;
}
#manufactoryPage #manufactoryScroll::-webkit-scrollbar-thumb{
    border-radius:999px!important;
    background:linear-gradient(180deg,#ffd86b,#7ee8ff)!important;
    border:3px solid rgba(8,12,26,.94)!important;
    min-height:52px!important;
    box-shadow:0 0 18px rgba(255,216,107,.18)!important;
}
#manufactoryPage #manufactoryOrdersGrid,
#manufactoryPage #manufactoryOrdersGrid.luxCardGrid{
    grid-template-columns:repeat(auto-fit,minmax(360px,1fr))!important;
    padding-bottom:150px!important;
}
#manufactoryPage #manufactoryOrdersGrid .luxCard,
#manufactoryPage #manufactoryOrdersGrid .luxCard:last-child{
    margin-bottom:0!important;
}
@media (max-width:760px){
    #manufactoryPage #manufactoryScroll,
    #manufactoryPage #manufactoryScroll.scrollArea,
    #manufactoryPage .luxModuleScroll#manufactoryScroll{
        flex:1 1 auto!important;
        height:auto!important;
        max-height:none!important;
        min-height:0!important;
        overflow-y:auto!important;
        overflow-x:hidden!important;
        padding:8px 16px 150px 8px!important;
        scroll-padding-bottom:150px!important;
        overscroll-behavior:contain!important;
    }
    #manufactoryPage #manufactoryOrdersGrid,
    #manufactoryPage #manufactoryOrdersGrid.luxCardGrid{
        grid-template-columns:1fr!important;
        padding-bottom:150px!important;
    }
    .manufactoryBatchRow{
        justify-content:stretch;
    }
    .manufactoryBatchRow button{
        width:100%;
    }
    .manufactoryBatchCostGrid{
        grid-template-columns:1fr;
    }
}
/* ===== Pyramida úrody ===== */
.pyramidPageGrid{display:grid;gap:12px}
.pyramidPanel{position:relative;overflow:hidden;background:radial-gradient(circle at 50% -8%,rgba(255,213,106,.18),transparent 32%),radial-gradient(circle at 88% 18%,rgba(107,233,255,.12),transparent 30%),linear-gradient(180deg,rgba(20,14,35,.94),rgba(7,12,26,.94))}
.pyramidPanel::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 0 38%,rgba(255,255,255,.055) 46%,transparent 55%);opacity:.7}
.pyramidPanelHead{position:relative;z-index:1}
.pyramidTimerBadge{font-variant-numeric:tabular-nums;min-width:118px;text-align:center;box-shadow:0 0 26px rgba(255,213,106,.18),inset 0 0 0 1px rgba(255,255,255,.16)}
.pyramidScroll{position:relative;z-index:1;display:grid;gap:16px;max-height:72dvh}
.pyramidHero{display:grid;gap:12px}
.pyramidRewardCrown{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px;border-radius:22px;border:1px solid rgba(255,213,106,.28);background:linear-gradient(135deg,rgba(255,213,106,.16),rgba(255,95,190,.10) 46%,rgba(107,233,255,.08));box-shadow:0 24px 70px rgba(0,0,0,.32),0 0 44px rgba(255,213,106,.10);overflow:hidden}
.pyramidRewardCrown.is-ready{border-color:rgba(255,237,160,.72);box-shadow:0 30px 90px rgba(0,0,0,.38),0 0 38px rgba(255,213,106,.34),0 0 84px rgba(255,95,190,.20);animation:pyramidReadyPulse 1.8s ease-in-out infinite}
.pyramidRewardGlow{position:absolute;inset:-40%;background:conic-gradient(from 120deg,transparent,rgba(255,213,106,.28),rgba(107,233,255,.16),transparent 38%);animation:pyramidGlowSpin 7s linear infinite;opacity:.55}
.pyramidRewardIcon{position:relative;display:grid;place-items:center;width:92px;height:92px;border-radius:26px;font-size:46px;background:radial-gradient(circle at 35% 25%,#fff7bd,#ffb84d 45%,#b553ff 82%);box-shadow:0 0 28px rgba(255,213,106,.45),inset 0 0 0 1px rgba(255,255,255,.45)}
.pyramidRewardText{position:relative;min-width:0}
.pyramidRewardText h3{margin:2px 0 4px;font-size:clamp(24px,3vw,42px);letter-spacing:0;color:#fff}
.pyramidRewardText p{margin:0;color:rgba(255,255,255,.82);font-weight:800}
.pyramidEyebrow{display:block;font-size:12px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:#ffe7ac}
.pyramidClaimBtn{position:relative;min-height:48px;white-space:nowrap}
.pyramidStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pyramidStats>div{padding:12px;border-radius:16px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.055)}
.pyramidStats span{display:block;font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:#c9b8d9}
.pyramidStats strong{display:block;margin-top:4px;font-size:20px;color:#fff;font-variant-numeric:tabular-nums}
.pyramidBoard{display:grid;justify-items:center;padding:8px 0 2px}
.pyramidStack{width:100%;display:flex;flex-direction:column;align-items:center;gap:10px}
.pyramidTier{width:var(--tier-width);min-width:min(100%,430px);transition:transform .18s ease,filter .18s ease}
.pyramidTier:hover{transform:translateY(-2px);filter:brightness(1.06)}
.pyramidPlanter{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(230px,auto);gap:12px;align-items:center;padding:12px 14px;border-radius:18px 18px 24px 24px;border:2px solid rgba(255,213,106,.44);outline:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg,rgba(157,94,48,.96),rgba(88,47,31,.98));box-shadow:inset 0 5px 0 rgba(255,214,142,.16),inset 0 -8px 0 rgba(36,17,12,.22),0 18px 32px rgba(0,0,0,.26),0 0 24px rgba(255,169,62,.12)}
.pyramidTier.is-filled .pyramidPlanter{border-color:rgba(126,255,183,.46);background:linear-gradient(180deg,rgba(89,140,86,.95),rgba(65,82,42,.98));box-shadow:inset 0 5px 0 rgba(225,255,197,.14),0 0 24px rgba(126,255,183,.13),0 18px 32px rgba(0,0,0,.24)}
.pyramidTier.is-top .pyramidPlanter{position:relative;border-color:rgba(255,239,163,.92);outline-color:rgba(255,116,201,.34);background:linear-gradient(135deg,rgba(147,88,34,.98),rgba(111,58,112,.96) 48%,rgba(43,82,102,.94));box-shadow:inset 0 5px 0 rgba(255,243,187,.22),0 0 0 1px rgba(255,255,255,.12),0 0 34px rgba(255,213,106,.36),0 0 72px rgba(255,116,201,.22),0 22px 42px rgba(0,0,0,.32);animation:pyramidTopGlow 1.9s ease-in-out infinite}
.pyramidTier.is-top .pyramidCropIcon{box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 0 24px rgba(255,213,106,.34)}
.pyramidCropIcon{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:rgba(8,12,24,.36);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.pyramidCropImage{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(0,0,0,.28))}
.pyramidTierBody{min-width:0;display:grid;gap:7px}
.pyramidTierTop{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#fff}
.pyramidTierTop strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}
.pyramidTierTop span{white-space:nowrap;font-weight:950;font-variant-numeric:tabular-nums;color:#ffe7ac}
.pyramidTierProgress{height:10px;background:rgba(8,12,24,.46)}
.pyramidTierProgress span{background:linear-gradient(90deg,#7effb7,#ffe16a,#ff74c9);box-shadow:0 0 18px rgba(255,213,106,.22)}
.pyramidTierMeta{font-size:12px;color:rgba(255,255,255,.72);font-weight:800}
.pyramidDepositControls{display:grid;grid-template-columns:minmax(78px,1fr) auto auto;gap:8px;align-items:center}
.pyramidDepositInput{min-width:0;height:40px;border-radius:13px;border:1px solid rgba(255,255,255,.16);background:rgba(7,11,24,.42);color:#fff;padding:0 10px;font-weight:950;outline:none}
.pyramidDepositInput:focus{border-color:rgba(255,213,106,.55);box-shadow:0 0 0 3px rgba(255,213,106,.14)}
.pyramidDepositControls button{height:40px;white-space:nowrap}
.pyramidWaitingHero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:22px;border-radius:22px;border:1px solid rgba(107,233,255,.18);background:linear-gradient(135deg,rgba(107,233,255,.12),rgba(255,255,255,.04));box-shadow:0 24px 60px rgba(0,0,0,.26)}
.pyramidWaitingHero h3{margin:2px 0 6px;font-size:clamp(24px,3vw,40px)}
.pyramidWaitingHero p{margin:0;color:rgba(255,255,255,.78);font-weight:800;max-width:760px}
.pyramidBigTimer{font-family:'Zen Dots','Nunito',sans-serif;font-size:clamp(28px,4vw,58px);color:#aef7ff;font-variant-numeric:tabular-nums;text-shadow:0 0 24px rgba(107,233,255,.35)}
.pyramidHistoryGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.pyramidHistoryCard{display:grid;gap:4px;padding:12px;border-radius:16px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.055)}
.pyramidHistoryCard strong{color:#fff}
.pyramidHistoryCard span,.pyramidHistoryCard em{font-size:12px;color:rgba(255,255,255,.70);font-style:normal}
@keyframes pyramidGlowSpin{to{transform:rotate(360deg)}}
@keyframes pyramidReadyPulse{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.01)}}
@keyframes pyramidTopGlow{0%,100%{filter:brightness(1)}50%{filter:brightness(1.16)}}
@media (max-width:980px){
  .pyramidRewardCrown,.pyramidWaitingHero{grid-template-columns:1fr}
  .pyramidRewardIcon{width:78px;height:78px}
  .pyramidStats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pyramidTier{width:100%!important;min-width:0}
  .pyramidPlanter{grid-template-columns:auto minmax(0,1fr)}
  .pyramidDepositControls{grid-column:1 / -1}
}
@media (max-width:620px){
  .pyramidScroll{max-height:none}
  .pyramidStats{grid-template-columns:1fr}
  .pyramidPlanter{grid-template-columns:1fr;text-align:left}
  .pyramidCropIcon{width:52px;height:52px}
  .pyramidDepositControls{grid-template-columns:1fr 1fr}
  .pyramidDepositInput{grid-column:1 / -1}
  .pyramidTimerBadge{min-width:0}
}
