*{box-sizing:border-box}body{margin:0;background:#11191c;color:#f5e9cf;font-family:system-ui,Arial}button,input{font:inherit}button{cursor:pointer;background:#3c6658;border:1px solid #91b1a0;border-radius:8px;color:white;padding:10px 14px}button:hover{filter:brightness(1.2)}input{display:block;width:100%;padding:13px;margin:12px 0;background:#152329;border:1px solid #4b6c6a;color:#fff;border-radius:8px}.modal{min-height:100vh;display:grid;place-items:center;padding:18px;background:radial-gradient(circle,#284b44,#0c1319)}.panel{width:min(460px,100%);background:#17292d;padding:30px;border:1px solid #577e75;border-radius:20px;box-shadow:0 24px 80px #0009}.panel h1{font-size:44px;margin:0}.panel h1 small{font-size:16px;color:#e1bd74}.subtitle{color:#a4b9b2}.races,.actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.races button{flex:1 0 40%;background:#263b3c}.races button.selected{border-color:#f5c976;background:#62502e}.actions button{flex:1}#message{color:#ffb7a8;min-height:20px}#game{position:fixed;inset:0;overflow:hidden;background:#18231e}#world{width:100vw;height:100vh;object-fit:contain;image-rendering:pixelated}.topbar,.bottom{position:absolute;left:14px;right:14px;display:flex;gap:18px;align-items:center;padding:10px 16px;background:#10201ddc;border:1px solid #648474;border-radius:12px}.topbar{top:12px}.bottom{bottom:12px;justify-content:space-between}.topbar button{margin-left:auto}#toast{position:absolute;top:80px;left:50%;transform:translateX(-50%);background:#122c28e8;padding:10px 20px;border-radius:8px;display:none}@media(max-width:600px){.topbar,.bottom{font-size:12px;gap:6px;padding:7px}.topbar strong{font-size:12px}.bottom span:first-child{display:none}}[hidden]{display:none!important}

.overlay{position:absolute;inset:0;display:grid;place-items:center;background:#050d0dc9;z-index:5;padding:16px}.inventoryBox{width:min(650px,100%);max-height:85vh;overflow:auto;padding:22px;background:#182a2c;border:2px solid #9d8150;border-radius:15px;box-shadow:0 20px 80px #000c}.inventoryBox header{display:flex;align-items:center;justify-content:space-between}.inventoryBox h2{margin:0}.inventoryBox p{color:#c7c3ad}.oreGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px}.oreCard{border:1px solid #546a63;border-radius:10px;background:#223533;padding:12px;text-align:center}.oreCard img{height:52px;width:65px;object-fit:contain;image-rendering:pixelated}.oreCard strong,.oreCard small{display:block}.oreCard button{margin-top:8px;padding:6px 10px}.oreCard button:disabled{opacity:.35;cursor:default}#toast{z-index:8;pointer-events:none}#coins{white-space:nowrap}

/* DIG 0.3: jemnější, nenápadný herní HUD */
.topbar,.bottom{background:#152622d9;border:1px solid #a38b5e9c;box-shadow:0 6px 22px #0005;backdrop-filter:blur(5px)}
#world{image-rendering:auto}

.devPanel{position:absolute;right:16px;top:72px;width:min(365px,calc(100vw - 32px));background:#10201ef0;border:1px solid #d4b477;border-radius:12px;padding:14px;z-index:4;box-shadow:0 10px 40px #0008;font-size:12px;pointer-events:none}
.devPanel strong{color:#f6d48d}.devPanel pre{font:12px/1.6 monospace;white-space:pre-wrap;color:#b8e9d7}.devPanel p{margin:8px 0;color:#bfcfc4}
#reportText{width:100%;background:#112322;color:white;border:1px solid #8a8568;border-radius:8px;padding:12px;resize:vertical;font:inherit;margin:8px 0 15px}

/* 0.6: ostřejší pixel-art, atmosféra a decentní HUD */
#world{image-rendering:pixelated}
.topbar,.bottom{background:#17241de8;border-color:#aa956f9c}

/* DIG 1.0: jasné přihlášení a vytvoření postavy, jednotná estetika */
.modal{background:radial-gradient(ellipse at 32% 25%,#32594d 0%,#152a29 45%,#0b1419 100%);overflow-y:auto}
.authShell{width:min(1000px,100%);display:grid;grid-template-columns:1.1fr .9fr;gap:35px;align-items:center}
.authStory{padding:32px 12px 32px 20px;min-width:0}
.authBadge,.authEyebrow{letter-spacing:3px;color:#b9d6b9;font-size:11px;font-weight:800}
.authStory h1{font-size:clamp(64px,9vw,116px);line-height:1;letter-spacing:-6px;color:#f6e6bc;text-shadow:0 8px 30px #050e0e;margin:28px 0 12px}
.authStory h1 span{display:block;font-size:.28em;letter-spacing:12px;color:#79cbbb;margin-top:14px}
.authStory p{font-size:23px;color:#e3d3aa}.authStory small{color:#aec6bb;font-size:14px;line-height:1.7}
.authScene{height:180px;position:relative;overflow:hidden;margin:25px 0;border-radius:20px;background:radial-gradient(circle at 50% 75%,#6a9b86 0%,#254f4b 48%,#132e34 100%);border:1px solid #638d7d;box-shadow:inset 0 0 70px #0007}
.authCrystal{position:absolute;left:50%;top:15px;transform:translateX(-50%);font-size:105px;color:#91e8d9;text-shadow:0 0 40px #4de9d8}
.authHills{position:absolute;bottom:-35px;left:-10%;width:120%;height:100px;background:#244b3d;border-radius:50% 50% 0 0;box-shadow:0 -9px 0 #426b4f}
.authHouse{position:absolute;bottom:8px;right:65px;color:#dfc8a0;font-size:100px;line-height:1;text-shadow:3px 5px #203e37}
.panel{width:100%;background:#152624ed;border:1px solid #759d86;padding:34px;border-radius:22px;box-shadow:0 28px 85px #0009}
.panel h2{font-size:30px;margin:12px 0 7px;color:#f8e6bd}.panel .subtitle{font-size:13px;line-height:1.5;margin-bottom:24px}
.fieldLabel{display:block;font-size:13px;font-weight:700;color:#d9e5d4;margin-top:13px}
.panel input{margin:8px 0 12px;background:#0c1a1c;border-color:#526f66;outline-offset:2px}
.panel input:focus{border-color:#a9d4ac;outline:2px solid #a9d4ac40}
.authPrimary{width:100%;background:linear-gradient(110deg,#cba76a,#e2c58b);color:#1b2a25;font-weight:850;border:0;padding:15px;margin-top:17px}
.authSwitch{display:block;margin:8px auto 0;background:none;border:0;color:#a8e4ce;font-size:13px;text-decoration:underline;text-underline-offset:4px}
.authFooter{text-align:center;color:#8ca69b;font-size:10px;letter-spacing:2px;margin-top:26px}
#message{font-size:13px;text-align:center;line-height:1.4;margin:13px 0 3px}#message[data-type="ok"]{color:#a8e6b0}
.races button{font-size:13px;padding:12px 6px}
@media(max-width:750px){.authShell{grid-template-columns:1fr;gap:8px;max-width:470px}.authStory{padding:0 8px;text-align:center}.authStory h1{font-size:60px;margin:8px 0}.authStory h1 span{font-size:20px;letter-spacing:8px}.authStory p{font-size:16px}.authStory small,.authScene{display:none}.panel{padding:23px}}


/* DIG 1.7 – teplé dřevo, pergamen, mosaz a krystaly. Jen CSS/HTML, bez externích assetů. */
:root{--wood:#352317;--wood2:#513521;--oak:#745039;--gold:#d7ad67;--cream:#f4e1bc;--parchment:#ead6ae;--shadow:#160f0b}
body{background:#211710;color:var(--cream)}
button{border-radius:9px;background:linear-gradient(180deg,#705037,#4a301f);border:1px solid #a57a4d;color:#f9e8c8;text-shadow:0 1px 1px #271407}
button:hover{filter:brightness(1.12)}
button:focus-visible,input:focus-visible{outline:2px solid #f2ce83;outline-offset:3px}
.modal{background:radial-gradient(ellipse at 40% 30%,#60422a 0%,#342419 42%,#16120f 100%);position:relative}
.modal:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.2;background:repeating-linear-gradient(0deg,transparent 0 28px,#b58b5033 29px 30px),repeating-linear-gradient(90deg,transparent 0 28px,#b58b5033 29px 30px)}
.authShell{width:min(1120px,100%);gap:48px;position:relative;z-index:1}
.authStory{padding:26px 14px}
.authBadge,.authEyebrow{color:#e5bb78;letter-spacing:2.5px}
.authStory h1{color:#ffe7b5;text-shadow:3px 4px 0 #362317,0 14px 35px #000a}
.authStory h1 span{color:#9ed4bd;text-shadow:0 0 18px #4ebca05c}
.authStory p{color:#e9cda4;line-height:1.35}
.authStory small{color:#d5ba96}
.authScene{border-radius:12px 32px 12px 32px;border:5px ridge #aa8150;background:radial-gradient(circle at 50% 75%,#77906c,#3e5b4d 48%,#252f30);box-shadow:inset 0 0 55px #0007,0 12px 30px #0006}
.authCrystal{color:#b3f4d9}
.authHills{background:#435d3c;box-shadow:0 -9px 0 #617448}
.authHouse{color:#f3d3a4}
.parchmentPanel{position:relative;border-radius:14px 14px 25px 25px;background:linear-gradient(140deg,#503722 0%,#322218 57%,#3f2b1b 100%);border:4px solid #8f663c;outline:2px solid #291b12;outline-offset:3px;box-shadow:inset 0 0 0 2px #c19a5a,0 26px 70px #000b;padding:34px 37px 28px}
.parchmentPanel:before,.parchmentPanel:after{content:"✦";position:absolute;top:12px;color:#caa367;font-size:20px}
.parchmentPanel:before{left:12px}.parchmentPanel:after{right:12px}
.panelCrest{text-align:center;color:#e7bc76;letter-spacing:10px;font-size:23px;text-shadow:0 3px #24150c}
.panelCrest span{color:#a9dfc4}
.authTabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:18px 0 23px;padding:5px;background:#25180f;border:1px solid #8d663d;border-radius:11px}
.authTab{padding:11px 8px;border:0;background:transparent;color:#c9a983;box-shadow:none;font-weight:700}
.authTab.active{background:linear-gradient(180deg,#c9a166,#98703f);color:#2e2016;text-shadow:none;box-shadow:inset 0 1px #f4d5a1,0 3px 6px #0005}
.panel h2{color:#ffdfa5;margin:9px 0}
.panel .subtitle{color:#d7b995}
.fieldLabel{color:#eed6ad}
.panel input{background:#20170f;border:1px solid #85613e;color:#ffebca;border-radius:7px;box-shadow:inset 0 3px 8px #0006}
.panel input:focus{border-color:#e6c58d;outline-color:#e6c58d44}
.panel input::placeholder{color:#a99173}
.authPrimary{background:linear-gradient(180deg,#e9c889,#ba864b);color:#302016;text-shadow:none;border:1px solid #ffdda3;box-shadow:0 4px 0 #674324,0 9px 18px #0006;border-radius:9px}
.authSwitch{color:#f1c985}
.authFooter{color:#a98960}
#message{color:#ffc6a9}#message[data-type="ok"]{color:#b5f0c4}
.races button{background:#503820;border:1px solid #9a7044;color:#e7d2b0}
.races button.selected{background:#786038;border-color:#e6c184;box-shadow:inset 0 0 0 1px #e7c183}
.entryCard{margin-top:29px;padding:17px 15px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;background:linear-gradient(110deg,#563a25,#39291b);border:2px solid #9d7547;outline:1px solid #2a1b10;outline-offset:3px;border-radius:10px 20px 10px 20px;box-shadow:inset 0 0 0 1px #d0a56a55,0 12px 28px #0006}
.entryIcon{font-size:30px;color:#b6ead0}
.entryCard strong{display:block;color:#ffdfad;font-size:15px}
.entryCard small{display:block;margin-top:3px;font-size:12px}
.entryButton{white-space:nowrap;padding:10px 12px;background:linear-gradient(180deg,#cfac72,#a67b43);color:#2e1c10;text-shadow:none;font-weight:800}
.registerMode .entryCard{border-color:#b7caa2}
.topbar,.bottom{background:linear-gradient(180deg,#49301fea,#281c15ed);border:2px solid #a78150;box-shadow:inset 0 1px #e4c08655,0 7px 23px #0007;border-radius:10px}
.topbar strong{color:#f5d69d;letter-spacing:1px}
.topbar button,.bottom button{background:linear-gradient(180deg,#7b5938,#4a3020);border:1px solid #c09a60}
.inventoryBox{background:linear-gradient(135deg,#513925,#2b2018);border:4px solid #b18a55;outline:2px solid #27180f;outline-offset:2px;border-radius:12px 12px 24px 24px;box-shadow:inset 0 0 0 2px #c49b5b66,0 25px 70px #000c}
.inventoryBox h2{color:#f3d5a0}.inventoryBox p{color:#d5c19e}
.oreCard{background:#38291d;border:2px solid #85613e;border-radius:8px 16px 8px 16px}
.devPanel{background:#2d2119f0;border:2px solid #aa8755}
#reportText{background:#241910;border-color:#9d794b}
#toast{background:#4b3224ed;border:2px solid #c29a5b;color:#ffe3af}
@media(max-width:750px){.authShell{gap:18px}.authStory{padding:8px 8px 4px}.authStory h1{font-size:60px}.entryCard{margin:15px auto 0;max-width:470px;text-align:left}.parchmentPanel{padding:24px 20px}.authScene{display:none}}
@media(max-width:420px){.entryCard{grid-template-columns:auto 1fr}.entryButton{grid-column:1/-1}.authStory h1{font-size:54px}}

/* DIG 1.7.2 */
.inventoryCoins{font-size:.75em;white-space:nowrap;color:#f8d990;background:#382719;padding:6px 12px;border:1px solid #b78e52;border-radius:18px;margin-left:8px;display:inline-block;vertical-align:middle}
#invInfo{color:#e3c99a}

/* Jednotná zlatá mince: SVG je součástí CSS, bez závislosti na emoji fontu. */
.coinDisplay{display:inline-flex!important;align-items:center;gap:7px;font-variant-numeric:tabular-nums;color:#ffe5a4!important;font-weight:800}
.coinDisplay::before{content:"";width:21px;height:21px;flex:none;display:inline-block;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='14' fill='%236a3c14'/%3E%3Ccircle cx='16' cy='15' r='13' fill='%23f7c958' stroke='%23fff0a8' stroke-width='2'/%3E%3Ccircle cx='16' cy='15' r='9' fill='%23e9a832' stroke='%23bd7924' stroke-width='2'/%3E%3Cpath d='M16 8v14M20 11c-3-3-9-1-9 2 0 4 10 1 10 5 0 4-8 5-11 1' fill='none' stroke='%238e521a' stroke-width='2.5' stroke-linecap='round'/%3E%3Cpath d='M7 10l4-4' stroke='%23fff3bb' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}
/* DIG 1.8: inventář s fyzickými sloty a výbavou postavy */
.inventoryBox{width:min(1080px,96vw);max-height:92vh;overflow-y:auto}
.inventoryLayout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:18px;align-items:start}
#slotCounter{grid-column:1/-1;margin:0;color:#e5c99a;font-size:13px}
.slotGrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}
.inventorySlot{aspect-ratio:1;min-height:58px;position:relative;display:flex;align-items:center;justify-content:center;border:2px solid #7e603d;border-radius:7px;background:linear-gradient(145deg,#231a13,#3c2c20);box-shadow:inset 0 2px 7px #0008,0 1px 0 #b28d54;cursor:pointer;padding:4px}
.inventorySlot.filled{border-color:var(--item-color,#aa8654)}
.inventorySlot:hover,.inventorySlot.dropTarget,.equipSlot.dropTarget{border-color:#f5d48c;background:#57402c}
.inventorySlot.selected{outline:3px solid #a8e4c7}
.slotVisual{font-size:32px;line-height:1;display:grid;place-items:center;width:100%;height:100%;text-shadow:1px 2px #0008}
.slotVisual img{width:44px;height:44px;max-width:90%;max-height:90%;object-fit:contain;image-rendering:pixelated}
.slotQty{position:absolute;right:4px;bottom:2px;font-weight:800;color:#fff1cc;font-size:13px;text-shadow:1px 2px #000}
.equipPanel{border:3px ridge #a47e4c;border-radius:12px;padding:14px;background:#271d16;min-height:340px}
.equipPanel h3{color:#f0ce91;margin:0 0 12px}.equipCharacter{text-align:center;color:#b4ddc4;letter-spacing:2px;margin:12px 0 18px}
.equipSlots{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.equipSlot{height:75px;border:2px solid #7e603d;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#39291e}
.equipSlot small{color:#dfc39a;font-size:11px}.equipSlot strong{font-size:30px;line-height:1}
.equipPanel>small{display:block;color:#baa382;line-height:1.5;margin-top:14px}
.craftPanel{border:2px solid #94714a;border-radius:9px;margin:17px 0;padding:11px 14px;background:#302217}
.craftPanel summary{color:#f4d59c;font-weight:800;cursor:pointer}
.craftRecipes{display:grid;gap:7px;margin-top:12px}
.craftRecipe{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:7px 8px;background:#45301f;border-radius:7px;font-size:13px;color:#e6d2ae}
.craftRecipe button{min-width:90px;padding:8px}
.craftRecipe button:disabled{opacity:.4;cursor:not-allowed}
.merchantSales{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.merchantSales button{font-size:12px;padding:8px}
@media(max-width:750px){.inventoryLayout{grid-template-columns:1fr}.slotGrid{grid-template-columns:repeat(5,minmax(0,1fr))}.equipSlots{grid-template-columns:repeat(4,1fr)}.inventorySlot{min-height:50px}.equipPanel{min-height:0}}
@media(max-width:420px){.slotGrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.inventorySlot{min-height:44px}.equipSlots{grid-template-columns:repeat(3,1fr)}.slotVisual img{width:34px;height:34px}}

/* DIG 1.8.1: pixelart masky, barva z databáze každého předmětu */
.pixelGear{display:inline-block;width:39px;height:39px;flex:none;image-rendering:pixelated;background:var(--gear-color,#a3bbc2);-webkit-mask-image:var(--gear-mask);mask-image:var(--gear-mask);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;filter:drop-shadow(1px 2px 0 #14100f)}
.equipSlot .pixelGear{width:32px;height:32px}
.craftRecipe>span{display:inline-flex;align-items:center;gap:7px}
.craftRecipe .pixelGear{width:28px;height:28px}
.craftPanel[hidden]{display:none!important}

/* 1.8.2 – výbava a popisky */
.equipSlot.filled{min-height:105px;height:auto;padding:8px 5px;border-color:#d7a85f;background:radial-gradient(circle at 50% 28%,#6e5130,#342419 72%);box-shadow:inset 0 0 0 1px #d3aa6880,0 0 12px #e9bd5a29}
.equipSlot.filled .pixelGear{width:49px;height:49px;filter:drop-shadow(0 2px 3px #000)}
.equipSlot.filled small{font-weight:900;color:#fff0c5;font-size:12px;text-shadow:0 1px 2px #000}
.equipDetail{display:block;text-align:center;color:#fff0cd;font-size:11px;font-weight:800;line-height:1.3;text-shadow:0 1px 2px #000}
.equipSlot[data-quality="epická"],.inventorySlot[data-quality="epická"]{border-color:#bd83ef;box-shadow:inset 0 0 14px #7844a866,0 0 8px #a35de766}
.equipSlot[data-quality="vzácná"],.inventorySlot[data-quality="vzácná"]{border-color:#70b7f1}
.equipSlot[data-quality="neobvyklá"],.inventorySlot[data-quality="neobvyklá"]{border-color:#79b779}
.inventorySlot.filled:hover{box-shadow:inset 0 0 10px #d8b46a66,0 0 8px #f6d99e66}
.statsHeading{margin:17px 0 9px!important}.playerStats{display:grid;gap:6px}.statRow{display:flex;justify-content:space-between;gap:8px;padding:7px 9px;background:#443020;border:1px solid #745635;border-radius:6px;color:#f0d7a7;font-size:13px}.statRow strong{color:#f9e4a9}
.craftRecipe{border:1px solid #82643d}.craftRecipe>span{font-weight:700;color:#ffebc4;line-height:1.6}.craftRecipe .pixelGear{width:35px;height:35px}

/* 1.8.3 – pevné sloty a čitelné statistiky */
.equipSlots{grid-auto-rows:100px}.equipSlot,.equipSlot.filled{height:100px!important;min-height:100px!important;max-height:100px!important;box-sizing:border-box;min-width:0;overflow:hidden;padding:5px!important;gap:2px}
.equipSlot .pixelGear,.equipSlot.filled .pixelGear{width:39px;height:39px;flex:0 0 39px}
.equipSlot .equipDetail{display:block;max-width:100%;font-size:10px;font-weight:800;line-height:1.1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#ffe6a6}
.equipSlot small{flex:0 0 auto}.itemStatBadge{position:absolute;left:3px;bottom:2px;padding:1px 4px;border-radius:3px;background:#101c1cdd;color:#ffe3a0;font-size:11px;border:1px solid #bd975d}
.itemCompare{margin-top:14px;padding:12px;border:2px solid #c49a58;background:#1e1a17;border-radius:9px}.itemCompare h3{margin:0 0 8px;color:#ffe0a1}.compareRow{display:flex;justify-content:space-between;gap:12px;padding:7px;border-bottom:1px solid #69533c}.compareRow strong{max-width:60%;text-align:right}.compareDelta{font-weight:900;font-size:16px}.compareDelta.positive{color:#80e3a2}.compareDelta.negative{color:#f28d88}
.craftCategories{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.craftTab{background:#3e3025;border:1px solid #9d8059;border-radius:6px;padding:8px 12px;color:#f2d6a4;cursor:pointer}.craftTab.active{background:#85613b;color:#fff2c7;border-color:#e5c17d}
.craftRecipes{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.craftRecipe{min-width:0;display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-rows:auto auto;gap:7px;padding:12px;background:linear-gradient(145deg,#483423,#30241b)}.craftRecipe .recipeIcon{width:46px;height:46px;grid-row:1/3}.recipeBody{min-width:0;display:grid;gap:5px}.recipeBody>strong{color:#ffebbc;font-size:14px}.recipeStat{color:#9ce3c1;font-weight:800}.recipeMaterials{display:flex;gap:6px;flex-wrap:wrap}.recipeMaterial{display:flex;align-items:center;gap:3px;background:#253e30;border:1px solid #5e9d78;border-radius:5px;padding:2px 5px;color:#b9f3cb}.recipeMaterial.missing{background:#4a2926;border-color:#a35a52;color:#ffbbb0}.recipeMaterial img{width:22px;height:22px;object-fit:contain;image-rendering:pixelated}.craftRecipe>button{grid-column:2;justify-self:end}

/* 1.8.4: readable equipment labels and per-stack selling */
.equipSlots{grid-auto-rows:120px;gap:9px}.equipSlot,.equipSlot.filled{height:120px!important;min-height:120px!important;max-height:120px!important;padding:7px!important}.equipSlot .equipDetail{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;font-size:12px;line-height:1.25;max-height:48px}.equipSlot .pixelGear,.equipSlot.filled .pixelGear{width:43px;height:43px;flex-basis:43px}.inventorySlot .slotSell{position:absolute;left:2px;right:2px;bottom:2px;z-index:3;padding:4px 1px;border:1px solid #e6bc75;border-radius:4px;background:#65401d;color:#fff1b7;font-size:11px;font-weight:900;cursor:pointer}.inventorySlot:has(.slotSell) .slotQty{top:2px;bottom:auto}.inventorySlot .slotSell:hover{background:#976029}.inventorySlot:has(.slotSell){padding-bottom:19px}

/* 1.8.5: kvalita určuje výplň, materiál obrys – stejně u batohu a vybavení */
.inventorySlot.filled:has(.bagGearDetail),.equipSlot.filled{
 background:linear-gradient(145deg,color-mix(in srgb,var(--quality-bg) 88%,#fff 12%),var(--quality-bg))!important;
 border:3px solid var(--material-border)!important;
 box-shadow:inset 0 0 0 1px #ffffff28,0 2px 8px #0009!important;
}
.inventorySlot.filled:has(.bagGearDetail){padding-bottom:29px!important}
.inventorySlot .bagGearDetail{
 position:absolute;bottom:2px;left:2px;right:2px;
 color:#fff2cb;font-size:10px;font-weight:900;line-height:1.12;
 text-align:center;text-shadow:0 1px 2px #000,0 0 3px #000;
 overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
}
.inventorySlot:has(.bagGearDetail) .slotVisual{height:70%;align-self:flex-start}
.inventorySlot:has(.bagGearDetail) .itemStatBadge{top:2px;bottom:auto;left:2px;font-size:10px}
.xpProgress{padding:9px;border:1px solid #b99c62;border-radius:7px;background:#332a23}
.xpHeading{display:flex;justify-content:space-between;gap:6px;color:#f8d990;font-size:13px}
.xpHeading span{font-variant-numeric:tabular-nums;color:#f5e4c2}
.xpTrack{height:11px;border:2px solid #141d1a;background:#141d1a;border-radius:5px;margin:7px 0;overflow:hidden}
.xpFill{height:100%;background:linear-gradient(90deg,#5b9ac9,#7ad8f5)}
.xpProgress small{font-size:11px;color:#e8cba0}

/* 1.8.7: comparison is a viewport-fixed non-interactive tooltip. */
.itemCompare:not([hidden]){position:fixed!important;z-index:9999!important;margin:0!important;max-height:calc(100vh - 24px);overflow-y:auto;pointer-events:none;box-sizing:border-box;box-shadow:0 12px 35px #000d;border-color:#efc987;background:#201b17f5}
.itemCompare[hidden]{display:none!important}

/* 1.8.8 unified item card */
.itemCompare .itemCardQuality{color:#f2dba6;font-size:13px;margin:5px 0 9px;font-weight:700}
.itemCompare .itemCardMain{padding:10px 12px;border:1px solid #c9a65b;border-radius:6px;background:#273c32;color:#b4f4c3;font-size:19px;font-weight:900}
.itemCompare h4{color:#f2dfb7;margin:11px 0 6px;font-size:13px}

/* DIG 1.8.9: lektvary a obchod */
.shopBuy{margin:12px 0;padding:10px;background:#2b241c;border:2px solid #ad8958;border-radius:8px}
.shopBuy button{background:#43643b;color:#fff1c7;border:2px solid #c4a76d;border-radius:6px;padding:10px 16px;font-weight:800;cursor:pointer}
.potionVisual{display:grid!important;place-items:center;font-size:27px!important;color:#e9ffef!important;background:linear-gradient(130deg,#9e2d45,#e76c88);border:3px solid #f6b4bd;border-radius:12px 12px 5px 5px;width:32px;height:39px;margin:auto;text-shadow:0 2px #55192e}
.potionUse{background:#447a45!important;color:#fff!important}

/* 1.8.10: vedle sebe hráčův inventář a uzamčená nabídka obchodníka */
.merchantLayout{display:block}
.merchantPlayer{min-width:0}
.inventoryBox.merchantMode{width:min(1360px,97vw)}
.inventoryBox.merchantMode .merchantLayout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:16px;align-items:start}
.inventoryBox.merchantMode .shopBuy{display:block!important;margin:0;position:sticky;top:0;padding:13px;min-height:300px;background:linear-gradient(155deg,#43301f,#251e19);border:3px solid #c6a56c}
.shopBuy h3{margin:0 0 9px;color:#f4d89c;font-size:19px}
.shopBuy p{font-size:12px;margin:0 0 15px;color:#cfc1a4}
.merchantGoods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.shopBuy .merchantItem{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0;padding:12px 5px;border:2px solid #d5ad69;background:#3c3025;color:#fff2d4}
.merchantIcon{display:grid;place-items:center;width:48px;height:48px;border:3px solid #b99d74;background:#4b2438;color:#ff9ca4;font-size:32px}
.merchantItem strong{font-size:12px;line-height:1.25}.merchantItem small{font-size:11px;color:#ead4b5}.merchantItem b{color:#ffd57a}
.merchantBuyLabel{font-size:11px;letter-spacing:1px;color:#b9e2a5}
@media(max-width:1000px){.inventoryBox.merchantMode .merchantLayout{grid-template-columns:1fr}.inventoryBox.merchantMode .shopBuy{position:static}.merchantGoods{grid-template-columns:repeat(3,minmax(0,1fr))}}

.itemCardDurability{font-size:13px;font-weight:800;color:#f7d18a;padding:6px 8px;background:#332b21;border:1px solid #b99a65;border-radius:5px}

/* 1.9.3: výkup a opravy výbavy */
.merchantGoods{grid-template-columns:repeat(2,minmax(0,1fr))}
.merchantItem .gearIcon,.merchantItem .gearVisual{width:50px;height:50px;max-width:100%}
.merchantItem small{overflow-wrap:anywhere}
.inventorySlot:has(.gearSlotActions){overflow:visible}
.gearSlotActions{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;justify-content:center;gap:2px;background:#201a18eb;padding:2px}
.gearSlotActions button{font-size:10px;line-height:1.2;padding:3px 2px;flex:1;border:1px solid #b99b69;color:#fbe2a7;background:#483223;cursor:pointer}
.gearSlotActions button:disabled{opacity:.4;cursor:not-allowed}
.inventorySlot:has(.gearSlotActions) .bagGearDetail{bottom:26px}
.merchantItem .coinDisplay{display:inline-flex!important}

.gearSlotActions{flex-wrap:wrap;bottom:-8px}
.gearSlotActions button{white-space:normal;min-width:48%;font-size:9px}

/* 1.9.5 – kompaktní inventář obchodníka */
.inventoryBox.merchantMode .merchantLayout{grid-template-columns:minmax(0,1fr) 260px}
.shopBuy .merchantGoods{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;max-height:400px;overflow:auto;align-content:start}
.shopBuy .merchantItem{position:relative;min-width:0;width:100%;aspect-ratio:1;min-height:0;padding:2px;gap:1px;border:1px solid #997953;justify-content:center}
.shopBuy .merchantItem .pixelGear{width:28px;height:28px;flex-shrink:0}
.shopBuy .merchantItem .merchantIcon{width:28px;height:28px;border-width:1px;font-size:21px}
.shopBuy .merchantItem .coinDisplay{font-size:9px;line-height:1;white-space:nowrap}
.shopBuy .merchantItem:hover{z-index:2;border-color:#ffe4a7;background:#6c4b2d}
.inventorySlot{position:relative}
.slotDrop{position:absolute;top:0;right:0;z-index:5;font-size:10px;padding:0 2px;line-height:14px;border:1px solid #7f6748;background:#3b2b24;color:#e7d4b6;cursor:pointer}
.slotDrop:hover{background:#845331}
.dropCoins{font-size:11px;padding:3px 8px;margin:5px;border:1px solid #b79b63;background:#45331d;color:#ffdfa4;cursor:pointer}
@media(max-width:1000px){.inventoryBox.merchantMode .merchantLayout{grid-template-columns:1fr}}

/* DIG 1.9.6 – oprava rozbitého rozložení inventáře */
.inventoryBox .merchantLayout{min-width:0}
.inventoryBox .inventoryLayout{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,34%);gap:14px;align-items:start}
.inventoryBox .inventoryLayout #slotCounter{grid-column:1/-1;grid-row:1}
.inventoryBox .inventoryLayout #dropCoins{grid-column:1/-1;grid-row:2;justify-self:start;width:auto;max-width:100%;margin:0 0 4px 0;padding:7px 12px;border-radius:7px}
.inventoryBox .inventoryLayout #oreGrid{grid-column:1;grid-row:3;min-width:0;align-self:start}
.inventoryBox .inventoryLayout .equipPanel{grid-column:2;grid-row:3;min-width:0}
.inventoryBox .slotGrid{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.inventoryBox .inventorySlot{min-width:0;min-height:0;aspect-ratio:1;overflow:hidden;padding:3px}
.inventoryBox .inventorySlot .slotVisual{width:100%;height:100%;min-width:0}
.inventoryBox .inventorySlot .bagGearDetail{font-size:8px;line-height:1.1;max-height:23px;overflow:hidden;bottom:2px}
.inventoryBox .inventorySlot .itemStatBadge{font-size:9px}
.inventoryBox .inventorySlot .slotDrop{z-index:8;top:2px;right:2px;border-radius:3px;padding:1px 4px;background:#35251de8;opacity:.25}
.inventoryBox .inventorySlot:hover .slotDrop,.inventoryBox .inventorySlot .slotDrop:focus-visible{opacity:1}
.inventoryBox .inventorySlot .gearSlotActions{position:absolute;bottom:0;left:0;right:0;z-index:7;display:none;flex-direction:column;flex-wrap:nowrap;gap:2px;padding:3px;background:#251a14f5}
.inventoryBox .inventorySlot:hover .gearSlotActions,.inventoryBox .inventorySlot:focus-within .gearSlotActions{display:flex}
.inventoryBox .inventorySlot .gearSlotActions button{width:100%;min-width:0;padding:3px 2px;font-size:9px;line-height:1.1}
.inventoryBox .inventorySlot:has(.gearSlotActions){overflow:hidden}
.inventoryBox .inventorySlot:has(.gearSlotActions) .bagGearDetail{bottom:2px}
.inventoryBox .inventorySlot .slotSell{font-size:9px;padding:2px 0;bottom:1px}
/* Materiálový rámeček a nástrojová ikona při craftingu */
.inventoryBox .craftRecipe{border:2px solid var(--material-border,#82643d);box-shadow:inset 0 0 0 1px #0008}
.inventoryBox .craftRecipe .recipeIcon{filter:drop-shadow(0 2px 2px #000b)}
/* Obchodník: skutečně čitelné sloty 4×, větší obrázky */
.inventoryBox.merchantMode .merchantLayout{grid-template-columns:minmax(0,1fr) minmax(270px,315px);gap:15px}
.inventoryBox.merchantMode .shopBuy{min-width:0}
.inventoryBox.merchantMode .shopBuy .merchantGoods{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;max-height:430px}
.inventoryBox.merchantMode .shopBuy .merchantItem{width:100%;min-height:65px;aspect-ratio:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:3px 2px;border:2px solid var(--material-border,#997953);border-radius:5px;background:linear-gradient(140deg,#443124,#291f1a)}
.inventoryBox.merchantMode .shopBuy .merchantItem .pixelGear{width:44px!important;height:44px!important;min-width:44px;min-height:44px;display:block;flex:0 0 44px;filter:none}
.inventoryBox.merchantMode .shopBuy .merchantItem .merchantIcon{width:39px;height:39px;font-size:27px;flex:0 0 39px}
.inventoryBox.merchantMode .shopBuy .merchantItem .coinDisplay{font-size:10px;gap:2px}
.inventoryBox.merchantMode .shopBuy .merchantItem .coinDisplay::before{width:12px;height:12px}
.inventoryBox.merchantMode .shopBuy .merchantItem:hover{border-color:#ffdc8b;box-shadow:0 0 0 1px #ffe8a7}
@media(max-width:1050px){.inventoryBox.merchantMode .merchantLayout{grid-template-columns:1fr}.inventoryBox.merchantMode .shopBuy{position:static}}
@media(max-width:700px){.inventoryBox .inventoryLayout{grid-template-columns:1fr}.inventoryBox .inventoryLayout .equipPanel{grid-column:1;grid-row:4}.inventoryBox .slotGrid{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* 1.9.7: obchodník používá totožnou strukturu ikony jako hráčův inventář */
.inventoryBox.merchantMode .shopBuy .merchantItem{overflow:hidden;min-height:77px;padding:4px 2px;gap:2px}
.inventoryBox.merchantMode .shopBuy .merchantItem .shopSlotVisual{display:flex!important;position:relative!important;align-items:center!important;justify-content:center!important;width:100%!important;height:52px!important;min-height:52px!important;flex:1 1 auto!important;overflow:visible!important;padding:0!important;background:none!important}
.inventoryBox.merchantMode .shopBuy .merchantItem .shopSlotVisual .pixelGear{display:block!important;width:51px!important;height:51px!important;min-width:51px!important;min-height:51px!important;flex:0 0 51px!important;background-color:var(--gear-color,#b6cad1)!important;-webkit-mask-image:var(--gear-mask)!important;mask-image:var(--gear-mask)!important;-webkit-mask-size:100% 100%!important;mask-size:100% 100%!important;-webkit-mask-position:center!important;mask-position:center!important;-webkit-mask-repeat:no-repeat!important;mask-repeat:no-repeat!important;filter:none!important}
.inventoryBox.merchantMode .shopBuy .merchantItem .coinDisplay{display:inline-flex!important;flex:0 0 auto;position:static!important;margin:0!important;padding:0 2px!important}
.inventoryBox.merchantMode .shopBuy .merchantItem .shopSlotVisual.potionVisual{font-size:36px!important;color:#ffb8cc}
/* 1.9.9: veřejné devítislotové ohniště vedle batohu */
.inventoryBox.campMode{width:min(1230px,97vw)}
.inventoryBox.campMode .merchantLayout{display:grid;grid-template-columns:minmax(0,1fr) 305px;gap:16px;align-items:start}
.inventoryBox.campMode .merchantPlayer{min-width:0}
.inventoryBox.campMode .campInventory{display:block;grid-column:2;grid-row:1;background:linear-gradient(155deg,#443024,#261d19);border:3px solid #c6a56c;border-radius:12px;padding:14px;color:#f6dcae;box-shadow:0 5px 18px #0005}
.inventoryBox.campMode .campInventory h3{margin:0 0 8px;font-size:19px}
.inventoryBox.campMode .campInventory p{font-size:12px;line-height:1.4}
.inventoryBox.campMode .campSlots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.inventoryBox.campMode .campSlot{height:80px;position:relative;border:2px solid #9b7952;background:#2b211b;border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.inventoryBox.campMode .campSlot img{width:65px;height:65px;object-fit:contain;image-rendering:pixelated}
.inventoryBox.campMode .campSlot b{position:absolute;right:4px;bottom:3px;font-size:12px;color:#fff0bd;text-shadow:1px 2px 2px #000}
.inventoryBox.campMode .campSlot.dropTarget{border-color:#ffe7a4;background:#56442e}
.inventoryBox.campMode .campRemaining{display:block;margin-top:12px;color:#f7c77b}
@media(max-width:950px){.inventoryBox.campMode .merchantLayout{grid-template-columns:1fr}.inventoryBox.campMode .campInventory{grid-column:1;grid-row:2}}

/* 2.0.0: campMode se aplikuje přímo na .inventoryBox, nikoli na overlay */
.inventoryBox.campMode .merchantLayout{display:grid!important;grid-template-columns:minmax(0,1fr) 305px!important;gap:16px;align-items:start}
.inventoryBox.campMode #campInventory{display:block!important;visibility:visible;grid-column:2;grid-row:1;position:relative;z-index:2}
.inventoryBox.campMode #campInventory[hidden]{display:none!important}
.inventoryBox.campMode .merchantPlayer{grid-column:1;min-width:0}
.inventoryBox.campMode .shopBuy{display:none!important}
.inventoryBox .inventorySlot .slotSplit{position:absolute;top:2px;left:2px;z-index:9;border:1px solid #7f6748;border-radius:3px;background:#35251de8;color:#e7d4b6;font-size:11px;line-height:14px;padding:1px 4px;cursor:pointer;opacity:.25}
.inventoryBox .inventorySlot:hover .slotSplit,.inventoryBox .inventorySlot .slotSplit:focus-visible{opacity:1}
@media(max-width:950px){.inventoryBox.campMode .merchantLayout{grid-template-columns:1fr!important}.inventoryBox.campMode #campInventory{grid-column:1;grid-row:2}}

/* DIG 2.0.1 – přehledný panel, plné tooltipy, horní HUD */
.inventoryBox .inventoryLayout{grid-template-columns:minmax(0,1fr) minmax(240px,34%)}
.inventoryBox .inventoryLayout .equipPanel{padding:10px;min-height:0}
.inventoryBox .inventoryLayout .equipSlot{height:102px;min-height:0}
.inventoryBox .inventoryLayout .equipSlots{gap:6px}
.inventoryBox .inventoryLayout .equipDetail{font-size:10px}
.inventoryBox .inventoryLayout .playerStats{font-size:12px}
.inventoryBox .inventoryLayout .statsHeading{margin-top:12px}
.inventoryBox .inventoryLayout .equipPanel>small{margin-top:8px}
.inventoryBox .inventoryLayout #oreGrid{align-self:start}
.inventoryBox .coinDropButton{display:inline-flex;align-items:center;gap:7px}
.inventoryBox .coinDropButton::before{content:"";display:inline-block;width:17px;height:17px;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='14' fill='%236a3c14'/%3E%3Ccircle cx='16' cy='15' r='13' fill='%23f7c958' stroke='%23fff0a8' stroke-width='2'/%3E%3Ccircle cx='16' cy='15' r='9' fill='%23e9a832' stroke='%23bd7924' stroke-width='2'/%3E%3Cpath d='M16 8v14M20 11c-3-3-9-1-9 2 0 4 10 1 10 5 0 4-8 5-11 1' fill='none' stroke='%238e521a' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E")}
.topbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.topHud{display:flex;align-items:center;gap:10px;flex:1 1 280px;max-width:390px;min-width:210px}
.topHud>div{flex:1 1 0;min-width:0}
.topHud .hudLine{display:flex;justify-content:space-between;gap:4px;align-items:center;font-size:11px;white-space:nowrap;color:#f6d9a2}
.topHud .hudLine span{font-size:10px;color:#f2e5cf}
.topHud .hudTrack{height:9px;background:#241d19;border:1px solid #9c7750;border-radius:6px;overflow:hidden;margin-top:3px}
.topHud .hudTrack i{display:block;height:100%;width:0;transition:width .3s ease}
.topHud .hudHpFill{background:linear-gradient(90deg,#a93d38,#f26e68)}
.topHud .hudXpFill{background:linear-gradient(90deg,#2b9dba,#6be7db)}
@media(max-width:850px){.topHud{order:5;flex-basis:100%;max-width:none}.topbar{gap:6px}.inventoryBox .inventoryLayout{grid-template-columns:minmax(0,1fr) 230px}}
@media(max-width:620px){.inventoryBox .inventoryLayout{grid-template-columns:1fr}.inventoryBox .inventoryLayout .equipPanel{grid-column:1;grid-row:4}}

/* DIG 2.0.2 – jednotné popisky a středověký lektvar */
.itemCompare .itemCardType{font-size:12px;letter-spacing:.04em;color:#d4bc92;margin:4px 0 8px;padding:5px 8px;border-left:3px solid #b58d4e;background:#3a3028}
.potionContainer{display:flex!important;align-items:center;justify-content:center}
.potionFlask{display:block;width:35px;height:43px;flex:0 0 auto;background:url('/assets/potion-healing.svg?v=202') center/contain no-repeat;image-rendering:pixelated}
.inventoryBox.merchantMode .shopBuy .merchantItem .shopSlotVisual .potionFlask{width:47px;height:51px}
.inventorySlot .potionFlask{width:38px;height:47px}

#adminOpen{background:#6c532b;color:#ffdf94;border:1px solid #d5b76a;border-radius:5px;padding:5px 9px;font-size:12px}#adminOpen:hover{background:#8d6d36}

.rulesConsent{padding:12px;margin:8px 0;color:#f4e2c2;border:1px solid #9c7e4e;border-radius:7px;background:#3c3426}
.rulesConsent label{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.rulesConsent input{width:17px;height:17px}
.rulesConsent button{background:transparent;border:0;color:#ffce73;text-decoration:underline;cursor:pointer;padding:0;font:inherit}
.rulesDialog{max-width:min(92vw,680px);max-height:82vh;background:#222d34;color:#f4e6d2;border:2px solid #ba925b;border-radius:12px;padding:24px}
.rulesDialog::backdrop{background:#000b}.rulesDialog pre{font:14px/1.6 system-ui;white-space:pre-wrap;overflow-y:auto;max-height:55vh}

/* 2.2.0 – jediný globální chat */
.chatPanel{position:absolute;left:14px;bottom:52px;width:min(350px,calc(100vw - 28px));height:235px;display:flex;flex-direction:column;background:#101b22e8;border:2px solid #937449;border-radius:10px;box-shadow:0 8px 24px #0008;color:#f3e5c9;z-index:25;overflow:hidden;pointer-events:auto}.chatPanel header{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;background:#293640;color:#ffd28c}.chatPanel header button{padding:0 8px;background:#4a3b2a;color:#fff;border:1px solid #8e714a;cursor:pointer}.chatMessages{flex:1;overflow-y:auto;padding:8px 10px;display:flex;flex-direction:column;gap:5px;font-size:12px;line-height:1.45;scrollbar-color:#8e714a #1b2a32}.chatLine{overflow-wrap:anywhere}.chatTime{color:#859ba7;font-size:10px;margin-right:6px}.chatName{color:#f4cb80;font-weight:700}.chatAdmin{color:#ff6c73;font-weight:800}.chatPanel form{display:flex;gap:4px;padding:6px;background:#26343e}.chatPanel input{flex:1;min-width:0;border:1px solid #607786;background:#15232c;color:#fff;padding:8px;border-radius:5px}.chatPanel form button{background:#9c7345;color:#fff;border:0;border-radius:5px;cursor:pointer;padding:0 12px}.chatPanel.collapsed{height:auto}.chatPanel.collapsed .chatMessages,.chatPanel.collapsed form{display:none}@media(max-width:600px){.chatPanel{bottom:42px;height:180px;width:min(300px,calc(100vw - 20px));left:10px}}

/* 2.2.1: fantasy chat, bezpečně nad spodní lištou */
.chatPanel{left:18px;bottom:76px;width:min(390px,calc(100vw - 36px));height:238px;background:linear-gradient(145deg,#192630f5,#101a22f5);border:2px solid #b98c4e;border-radius:12px;box-shadow:0 0 0 3px #1d2734b8,0 12px 32px #000a;backdrop-filter:blur(5px)}
.chatPanel header{padding:9px 13px;background:linear-gradient(90deg,#4d3826,#2b3a44);border-bottom:1px solid #a77c4c;letter-spacing:.035em;text-shadow:0 1px 2px #0008}
.chatPanel header strong{color:#ffe0a1;font-size:13px}.chatPanel header button{border-radius:5px;min-width:27px;height:25px;background:#705333;border-color:#d3a765}
.chatMessages{padding:11px 13px;gap:7px;font-size:13px;line-height:1.48}.chatLine{padding:3px 5px;border-radius:4px;background:#fff1}.chatLine:nth-child(even){background:#0002}.chatTime{color:#9ba9a9}.chatName{color:#f4ca7e}.chatAdmin{color:#ff686e}
.chatPanel form{padding:9px;background:linear-gradient(90deg,#283744,#243039);border-top:1px solid #796341}.chatPanel input{border:1px solid #94744c;background:#121e26;border-radius:6px;padding:10px;font-size:13px}.chatPanel input:focus{outline:2px solid #d9ac66;outline-offset:1px}.chatPanel form button{background:linear-gradient(#b68b50,#826039);border:1px solid #d8ad69;min-width:38px;font-size:16px}
.chatPanel.collapsed{height:auto;width:185px}.chatPanel.collapsed header{border-bottom:0}
@media(max-width:600px){.chatPanel{left:10px;bottom:65px;width:min(340px,calc(100vw - 20px));height:190px}}

.toolStats{margin:8px 0;padding:7px 10px;background:#233c39;border:1px solid #588b79;border-radius:6px}.toolStats>div{display:flex;justify-content:space-between;gap:12px;padding:3px 0}.toolStats strong{color:#c6f3a3}

/* DIG 2.3.1 – hlavní pracovní vlastnost nástroje */
.toolStats .primaryToolStat{margin:3px -3px;padding:8px 10px;border-radius:7px;background:linear-gradient(105deg,#214b36,#275d41);border:1px solid #74b987;color:#e4ffe7;font-size:1.08em;font-weight:700}.toolStats .primaryToolStat strong{color:#b9ff9f}

/* DIG 2.3.3: lehký HUD, menu a herní pošta */
.topbar{background:linear-gradient(180deg,#49301f99,#281c1588)!important;backdrop-filter:blur(7px);border-color:#b18b6380!important}
.bottom{left:auto!important;right:18px!important;bottom:18px!important;width:auto!important;padding:4px!important;border:0!important;box-shadow:none!important;background:transparent!important;backdrop-filter:none!important}
.bottom #inventory{padding:10px 15px;background:#48301fdc;border:2px solid #c49b5c;border-radius:9px;box-shadow:0 5px 20px #0008}
.chatPanel{bottom:20px!important;left:18px!important;opacity:var(--chat-opacity,.92);transform:scale(var(--chat-scale,1));transform-origin:bottom left}
.gameMenu{position:absolute;inset:0;z-index:90;background:#0a1117b8;display:grid;place-items:center;padding:20px;backdrop-filter:blur(5px)}
.gameMenuCard{width:min(430px,95vw);max-height:85vh;overflow-y:auto;padding:28px;background:linear-gradient(155deg,#30271f,#172b2b);border:3px solid #d5ad6c;border-radius:15px;box-shadow:0 18px 70px #000b;color:#f6e2bd}
.gameMenuCard h2{color:#f6cd8c;margin:0 0 12px}.gameMenuCard button{display:block;width:100%;margin:8px 0;text-align:center;background:#60452e;border-color:#c8a36d}
.gameMenuCard label{display:block;margin:20px 0}.gameMenuCard input[type=range]{width:100%;margin:8px 0;accent-color:#b4dc9d}
.mailCard{width:min(650px,95vw)}.mailCard header{display:flex;justify-content:space-between;align-items:center}.mailCard header button{width:auto}.mailLetter{margin:9px 0;padding:9px;border:1px solid #78644a;background:#1d302e;border-radius:8px}.mailLetter.unread{border-color:#d8bc78;background:#314034}.mailLetter button{background:transparent;border:0;text-align:left;padding:6px}.mailLetter p{white-space:pre-wrap;line-height:1.5;margin:10px 6px}
@media(max-width:600px){.chatPanel{left:10px!important;bottom:16px!important;width:min(330px,calc(100vw - 90px))!important}}

/* DIG 2.4.2 */
.specialItemIcon{font-size:24px;display:inline-flex;align-items:center;justify-content:center}
.gameClock{font-weight:800;color:#f6dda2;border:1px solid #ab8654;background:#261f18bb;border-radius:8px;padding:5px 10px;letter-spacing:.06em;white-space:nowrap}

img.specialItemIcon,.specialItemIcon img{width:38px;height:38px;object-fit:contain;image-rendering:pixelated}

.merchantItem.merchantNpcStock{background:linear-gradient(150deg,#203b3b,#315b50)!important;border:1px solid #75b8a0!important}

/* 2.5.9: varování před rozbitím nasazené výbavy. */
@keyframes digLowDurabilityPulse{0%,100%{border-color:#ff3939;box-shadow:inset 0 0 12px #ff202088,0 0 5px #f44}50%{border-color:#ffb0a0;box-shadow:inset 0 0 24px #f01818bb,0 0 15px #ff3030}}
.inventoryBox .equipSlot.lowDurability{animation:digLowDurabilityPulse 1.05s ease-in-out infinite!important;background:#5b2224!important}
@media(prefers-reduced-motion:reduce){.inventoryBox .equipSlot.lowDurability{animation:none!important;border-color:#ff4444!important;box-shadow:inset 0 0 18px #ff202088!important}}
/* Doktor má stejný dvousloupcový obchodní panel jako městský obchodník. */
