:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--sky-top:#5f8fc7;--sky-low:#bcd7ee;--cloud:#eef5fb;--panel:#2a1e2e;--panel-2:#3a2b40;--edge:#120c16;--line:#5a4762;--text:#f4ecdf;--muted:#b9a9bd;--ap:#5fb6ff;--mp:#7ee36a;--accent:#ffc94a;--accent-ink:#3a2410;--danger:#ff6b5e;--echo:#d39bff;--font-px:"Pixelify Sans", "Trebuchet MS", system-ui, sans-serif;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;font-family:var(--font-body);color:var(--text)}*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}body{background:url(../art/sky.webp) center / cover no-repeat, linear-gradient(var(--sky-top), var(--sky-low) 75%, var(--cloud));color:var(--text)}img.art{object-fit:contain}#game{position:fixed;inset:0}#hud{pointer-events:none;position:fixed;inset:0}#hud>*{pointer-events:auto}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hidden{display:none!important}.timeline,.panel,.log,.tip,.card,.toast{background:var(--panel);border:2px solid var(--edge);box-shadow:inset 0 0 0 2px var(--line), 4px 4px 0 #0000004d;border-radius:2px}.timeline{top:calc(8px + env(safe-area-inset-top,0px));align-items:center;gap:6px;max-width:calc(100vw - 16px);padding:6px 10px;display:flex;position:absolute;left:50%;overflow-x:auto;transform:translate(-50%)}.round{font-family:var(--font-px);color:var(--accent);white-space:nowrap;margin-right:4px;font-size:16px}.tl{opacity:.7;flex:none;width:36px}.tl.now{opacity:1;transform:translateY(-2px)}.tl-face{background:var(--panel-2);border:2px solid #0000;place-items:end center;width:36px;height:40px;display:grid;overflow:hidden}.tl-face img{object-fit:contain;object-position:bottom;width:34px;height:38px}.team0 .tl-face{border-color:#3d8de0}.team1 .tl-face{border-color:#d9493c}.tl.now .tl-face{box-shadow:0 0 0 2px var(--accent)}.tl-hp{background:var(--edge);height:4px;margin-top:3px}.tl-hp i{background:var(--mp);height:100%;display:block}.team1 .tl-hp i{background:var(--danger)}.banner{top:calc(70px + env(safe-area-inset-top,0px));font-family:var(--font-px);text-align:center;color:#fff;text-shadow:2px 2px 0 var(--edge);white-space:nowrap;font-size:16px;position:absolute;left:50%;transform:translate(-50%)}.banner:empty{display:none}.banner button,.card button,.go{font-family:var(--font-px);background:var(--accent);color:var(--accent-ink);border:2px solid var(--edge);margin-left:6px;padding:6px 16px;font-weight:700;box-shadow:inset -2px -3px #c98a1e,3px 3px #0000004d}.banner button:active,.card button:active,.go:active{transform:translate(2px,2px);box-shadow:inset -2px -3px #c98a1e}.panel{left:50%;bottom:calc(10px + env(safe-area-inset-bottom,0px));align-items:stretch;gap:12px;max-width:calc(100vw - 16px);padding:10px;display:flex;position:absolute;transform:translate(-50%)}.hero{flex-direction:column;justify-content:center;gap:6px;width:180px;display:flex}.hero-name{font-family:var(--font-px);align-items:center;gap:6px;font-size:17px;font-weight:700;display:flex}.hero-name img{object-fit:contain;width:34px;height:38px}.bar{background:var(--edge);border:2px solid var(--edge);height:18px;position:relative}.bar i{background:var(--mp);position:absolute;inset:0 auto 0 0;box-shadow:inset 0 -4px #4caa3c}.bar span{text-align:center;font-variant-numeric:tabular-nums;text-shadow:1px 1px 0 var(--edge);font-size:12px;font-weight:700;line-height:14px;display:block;position:relative}.pts{font-family:var(--font-px);font-variant-numeric:tabular-nums;gap:8px;font-size:16px;font-weight:700;display:flex}.pts .ap{color:var(--ap)}.pts .mp{color:var(--mp)}.pts .buff{color:#9fd6ff;font-size:13px}.spells{gap:6px;display:flex}.spell{background:var(--panel-2);border:2px solid var(--edge);flex-direction:column;align-items:center;gap:2px;width:80px;padding:6px 4px;display:flex;position:relative;box-shadow:inset 0 -3px #00000040}.spell:hover:not(:disabled){background:#4a3852}.spell.sel{border-color:var(--accent);background:#5a4520}.spell:disabled{opacity:.45;cursor:default}.spell .ico{place-items:center;height:40px;font-size:22px;line-height:1;display:grid}.spell .ico img{width:40px;height:40px}.spell .nm{text-align:center;align-items:center;min-height:25px;font-size:11px;line-height:1.15;display:flex}.spell .cost{color:var(--ap);font-size:11px;font-weight:700}.spell .key{color:var(--muted);font-size:10px;position:absolute;top:2px;left:5px}.spell .cd{font-family:var(--font-px);background:#120c16c0;place-items:center;font-size:28px;display:grid;position:absolute;inset:0}.end{min-width:96px;font-family:var(--font-px);background:var(--accent);color:var(--accent-ink);border:2px solid var(--edge);flex-direction:column;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex;box-shadow:inset -2px -4px #c98a1e}.end small{font-family:var(--font-body);opacity:.7;font-size:10px;font-weight:500}.end:disabled{opacity:.45;cursor:default}.log{left:calc(10px + env(safe-area-inset-left,0px));bottom:calc(130px + env(safe-area-inset-bottom,0px));width:270px;max-height:210px;color:var(--muted);padding:6px 10px;font-size:12px;line-height:1.45;position:absolute;overflow-y:auto}.log:empty{display:none}.log .dmg{color:#ff9a90}.log .heal{color:#9be88a}.log .info{color:var(--text);font-weight:600}.log .echo{color:var(--echo)}.tip{right:calc(10px + env(safe-area-inset-right,0px));top:calc(76px + env(safe-area-inset-top,0px));opacity:0;pointer-events:none;width:250px;padding:8px 12px;font-size:13px;line-height:1.4;transition:opacity .12s;position:absolute}.tip b{font-family:var(--font-px);font-size:15px}.tip.show{opacity:1}.tip .desc{color:var(--muted);margin-top:3px}.toast{left:50%;bottom:calc(150px + env(safe-area-inset-bottom,0px));opacity:0;pointer-events:none;padding:6px 12px;font-size:13px;transition:opacity .15s;position:absolute;transform:translate(-50%)}.toast.show{opacity:1}.modal{background:#120c1688;place-items:center;display:grid;position:absolute;inset:0}.card{text-align:center;width:min(420px,100vw - 32px);padding:22px 26px}.card h2{font-family:var(--font-px);color:var(--accent);text-shadow:3px 3px 0 var(--edge);margin:0 0 8px;font-size:32px}.card p{color:var(--muted);line-height:1.5}.card .small{font-size:12px}.row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.ghost{color:var(--text)!important;box-shadow:none!important;border:2px solid var(--line)!important;background:0 0!important}#menu{padding-block:calc(24px + env(safe-area-inset-top,0px)) 32px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));position:fixed;inset:0;overflow-y:auto}.menu-card{max-width:880px;margin:0 auto}.menu-card h1{font-family:var(--font-px);letter-spacing:2px;color:var(--accent);text-shadow:4px 4px 0 var(--edge);margin:0;font-size:56px}.menu-card .tag{color:#fff;font-family:var(--font-px);text-shadow:2px 2px #1f3a5c;margin:2px 0 18px;font-size:17px}.menu-card h3{font-family:var(--font-px);color:#fff;text-shadow:2px 2px #1f3a5c;margin:18px 0 8px;font-size:18px}.classes{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.class,.enc{text-align:left;background:var(--panel);border:2px solid var(--edge);box-shadow:inset 0 0 0 2px var(--line), 4px 4px 0 #0000004d;flex-direction:column;gap:4px;min-width:0;padding:12px;display:flex}.class.sel,.enc.sel{box-shadow:inset 0 0 0 2px var(--accent), 4px 4px 0 #0000004d;background:#3d2c26}.class img.hero-art{filter:drop-shadow(3px 4px #0000004d);align-self:center;width:150px;height:140px}.class b,.enc b{font-family:var(--font-px);font-size:19px}.class small,.enc small{color:var(--muted)}.class .passive{color:var(--mp);font-size:13px}.class .role{color:var(--accent);font-size:13px}.class li.unique{color:var(--echo)}.class.locked{opacity:.8}.class.locked img.hero-art{filter:grayscale()brightness(.55)drop-shadow(3px 4px #0000004d)}.class .unlock{color:var(--muted);font-size:13px}.spell.unique{border-color:#6a4a8a}.class ul{margin:6px 0 0;padding-left:0;font-size:13px;line-height:1.6;list-style:none}.hint{color:#fff;text-shadow:1px 1px #1f3a5c;margin:-2px 0 8px;font-size:13px}.weapons{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.weapon{text-align:center;background:var(--panel);border:2px solid var(--edge);box-shadow:inset 0 0 0 2px var(--line), 4px 4px 0 #0000004d;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:8px;display:flex}.weapon.sel{box-shadow:inset 0 0 0 2px var(--accent), 4px 4px 0 #0000004d;background:#3d2c26}.weapon img.weapon-art{width:100%;max-width:110px;height:96px}.weapon b{font-family:var(--font-px);font-size:17px}.weapon small{color:var(--muted)}.encounters{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.mobs{align-items:flex-end;gap:2px;min-height:60px;display:flex}.mobs img{width:56px;height:56px}.go{margin:22px 0 0;padding:12px 36px;font-size:22px;display:block}details{background:var(--panel);border:2px solid var(--edge);color:var(--muted);margin-top:18px;padding:8px 12px}summary{cursor:pointer;font-family:var(--font-px);color:var(--text)}.rules{font-size:14px;line-height:1.6}@media (width<=700px){.menu-card h1{font-size:44px}.panel{flex-wrap:wrap;justify-content:center;gap:8px;width:calc(100vw - 16px);padding:8px}.hero{flex-direction:row;align-items:center;width:100%}.hero .bar{flex:1}.spell{width:54px}.spell .nm{display:none}.weapons{grid-template-columns:repeat(3,1fr)}.end{min-width:66px}.log{display:none}.tip{top:auto;bottom:calc(210px + env(safe-area-inset-bottom,0px));width:auto;left:8px;right:8px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}#game:after{content:"";pointer-events:none;background:radial-gradient(60% 50% at 20% 5%,#fff3c440,#0000 70%),radial-gradient(120% 100%,#0000 60%,#1b2a4a40);position:fixed;inset:0}.zone,.wbar{background:var(--panel);border:2px solid var(--edge);box-shadow:inset 0 0 0 2px var(--line), 4px 4px 0 #0000004d;border-radius:2px}.zone{top:calc(8px + env(safe-area-inset-top,0px));left:calc(10px + env(safe-area-inset-left,0px));pointer-events:none;flex-direction:column;padding:6px 12px;display:flex;position:absolute}.zone b{font-family:var(--font-px);color:var(--accent);font-size:18px}.zone span{font-size:13px}.zone small{color:var(--muted);font-size:11px}.wbar{left:50%;bottom:calc(10px + env(safe-area-inset-bottom,0px));align-items:center;gap:12px;width:max-content;max-width:calc(100vw - 16px);padding:8px 10px;display:flex;position:absolute;transform:translate(-50%)}.who{align-items:center;gap:6px;display:flex}.who img{object-fit:contain;width:40px;height:46px}.who b{font-family:var(--font-px);font-size:16px;display:block}.who small{color:var(--accent);font-weight:700}.meters{flex-direction:column;gap:4px;width:190px;display:flex}.bar.xp{height:14px}.bar.xp i{background:#b583ff;box-shadow:inset 0 -3px #8a5bd6}.bar.xp span{font-size:10px;line-height:10px}.wbtns{gap:6px;display:flex}.wbtns button{background:var(--panel-2);border:2px solid var(--edge);flex-direction:column;align-items:center;width:58px;padding:4px 2px;font-size:20px;line-height:1.1;display:flex;position:relative;box-shadow:inset 0 -3px #00000040}.wbtns button small{font-size:11px}.wbtns button:hover{background:#4a3852}.wbtns button.ping:after{content:"";background:var(--accent);border:2px solid var(--edge);border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;right:-4px}.mobs-tip{flex-direction:column;gap:2px;margin-top:4px;display:flex}.mobs-tip span{align-items:center;gap:6px;display:flex}.mobs-tip img{object-fit:contain;width:26px;height:26px}.wcard{text-align:left;width:min(460px,100vw - 24px);max-height:calc(100vh - 40px);position:relative;overflow-y:auto}.wcard h2{font-size:26px}.wcard h3{font-family:var(--font-px);margin:14px 0 6px}.wcard .x{margin:0;padding:4px 8px;font-size:18px;position:absolute;top:8px;right:8px;box-shadow:none!important;color:var(--muted)!important;background:0 0!important;border:0!important}.card .row.col{flex-direction:column}.row.left{justify-content:flex-start}.go.ghost{margin-left:0}.go small{font-family:var(--font-body);opacity:.8;font-size:11px;font-weight:500;display:block}.bag{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px;display:grid}.item{background:var(--panel-2);border:2px solid var(--edge);text-align:center;flex-direction:column;align-items:center;gap:2px;padding:6px;display:flex}.item .ico{font-size:26px}.item b{font-size:12px}.item .n{color:var(--accent);font-size:13px;font-weight:700}.quest{background:var(--panel-2);border:2px solid var(--edge);margin:8px 0;padding:8px 10px}.quest b{font-family:var(--font-px);font-size:16px}.quest ul{color:var(--muted);margin:4px 0 0;padding-left:18px;font-size:13px;line-height:1.6}.quest li.ok{color:var(--mp);text-decoration:line-through}.quest .ready{color:var(--accent-ink);background:var(--accent);margin-left:8px;padding:1px 6px;font-size:11px;font-weight:700}.reward{color:var(--text)!important}.gold{color:var(--accent)}.stats{flex-direction:column;gap:4px;display:flex}.stat{background:var(--panel-2);border:2px solid var(--edge);align-items:center;gap:8px;padding:4px 8px;display:flex}.stat>span:first-child{flex-direction:column;flex:1;display:flex}.stat small{color:var(--muted);font-size:11px}.stat .v{font-family:var(--font-px);text-align:right;min-width:30px;font-size:18px}.stat button{margin:0!important;padding:2px 10px!important}.stat button:disabled{opacity:.35;cursor:default}.wpick{flex-wrap:wrap;gap:6px;display:flex}.wpick button{flex-direction:column;align-items:center;display:flex;margin:0!important;padding:4px 12px!important}.wpick button:not(.sel){background:var(--panel-2)!important;color:var(--text)!important;box-shadow:none!important}.wpick small{font-family:var(--font-body);font-size:10px;font-weight:500}.npc-head{align-items:center;gap:10px;display:flex}.npc-head h2{margin:0}.npc-face{object-fit:contain;width:56px;height:64px}.gain{font-family:var(--font-px);margin:6px 0;font-size:24px;color:#c9a4ff!important}.lvl{font-family:var(--font-px);font-size:20px;color:var(--accent)!important}.lvl small{font-family:var(--font-body);color:var(--muted);font-size:12px;display:block}.loot{flex-wrap:wrap;justify-content:center;gap:6px;margin:8px 0;display:flex}.loot span{background:var(--panel-2);border:2px solid var(--edge);padding:4px 8px;font-size:13px}.menu-card.title{text-align:center;max-width:560px;padding-top:6vh}.title-heroes{justify-content:center;gap:6px;margin:4px 0 14px;display:flex}.title-heroes img{filter:drop-shadow(3px 4px #0000004d);width:130px;height:130px}.title-btns{flex-direction:column;align-items:stretch;gap:10px;max-width:340px;margin:0 auto;display:flex}.title-btns .go{margin:0}.menu-card.title .hint{margin-top:16px}@media (width<=700px){.wbar{gap:6px;padding:6px}.meters{width:110px}.who div{display:none}.wbtns button{width:44px;font-size:17px}.wbtns button small{font-size:9px}.title-heroes img{width:90px;height:90px}}.go.ghost{background:var(--panel)!important}.purse{margin:-4px 0 8px;color:var(--text)!important}.purse b{color:var(--accent);font-family:var(--font-px);font-size:18px}.tabs{gap:4px;margin-bottom:8px;display:flex}.tabs button{flex:1;background:var(--panel-2)!important;color:var(--muted)!important;box-shadow:none!important;margin:0!important;padding:6px!important}.tabs button.sel{background:var(--accent)!important;color:var(--accent-ink)!important}.gears{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px;display:grid}.gear{background:var(--panel-2);border:2px solid var(--edge);box-shadow:inset 3px 0 0 var(--rar);padding:6px 8px 6px 10px;font-size:12px}.gear-top{align-items:center;gap:6px;display:flex}.gear-top .ico{font-size:24px}.gear-top b{color:var(--rar);font-size:13px;display:block}.gear-top small{color:var(--muted)}.gear ul{margin:4px 0;padding-left:16px;line-height:1.5}.gear li.dmg{color:var(--accent)}.gear .row{margin-top:4px}.gear button,.item button,.shop button{font-size:12px;margin:0!important;padding:3px 10px!important}.gear button:disabled{opacity:.4}.item button{margin-top:4px!important}.slots{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.slot{background:var(--panel-2);border:2px solid var(--edge);text-align:center;flex-direction:column;align-items:center;min-height:64px;padding:6px 4px;display:flex;position:relative}.slot.full{box-shadow:inset 0 -3px 0 var(--rar)}.slot .ico{font-size:22px}.slot .faded{opacity:.3;filter:grayscale()}.slot small{color:var(--muted);font-size:10px;line-height:1.2}.slot.full small{color:var(--rar)}.slot button{font-size:10px;position:absolute;top:2px;right:2px;background:var(--panel)!important;color:var(--muted)!important;box-shadow:none!important;border:1px solid var(--line)!important;margin:0!important;padding:0 5px!important}.stat .plus{color:var(--mp);font-size:12px}.shop{flex-direction:column;gap:4px;display:flex}.shop .line{background:var(--panel-2);border:2px solid var(--edge);align-items:center;gap:8px;padding:4px 8px;display:flex}.shop .line .ico{font-size:22px}.shop .nm{flex-direction:column;flex:1;font-size:13px;display:flex}.shop .nm small{color:var(--muted);font-size:11px}.shop button:disabled{opacity:.4}.loot .rar{box-shadow:inset 0 -3px 0 var(--rar)}.loot.recipe .miss{opacity:.55}.challenge{color:#ffe27a}.challenge.fail{color:#c9a0a0}.wcard:has(.talent-tree){width:min(900px,100vw - 24px)}.tt-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.tt-head h2{flex:1;margin:0}.tt-pts{color:var(--muted);border:2px solid var(--line);padding:3px 10px;font-size:13px}.tt-pts.has{color:var(--accent-ink);background:var(--accent);border-color:var(--edge);font-weight:700;animation:1.6s ease-in-out infinite ttpulse}@keyframes ttpulse{50%{filter:brightness(1.2)}}.talent-tree .tabs{margin:8px 0}.tree{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.branch{border:2px solid var(--edge);background:#0000002e;padding:6px}.branch .bh{align-items:center;gap:6px;margin-bottom:4px;display:flex}.branch .bh>span:nth-child(2){flex-direction:column;flex:1;line-height:1.15;display:flex}.branch .bh small{color:var(--muted);font-size:11px}.branch .bico{font-size:22px}.branch .bpts{text-align:center;min-width:24px;color:var(--accent);font-weight:700}.tiers{position:relative}.tier{grid-template-columns:30px 1fr 14px 1fr;align-items:stretch;gap:3px;padding:3px 0;display:grid;position:relative}.tier:before{content:"";background:var(--line);z-index:0;width:2px;position:absolute;top:-3px;bottom:-3px;left:14px}.tier:first-child:before{top:50%}.tier:last-child:before{bottom:50%}.tier.lit:before{background:var(--accent)}.tier .lvl{z-index:1;background:var(--panel);border:2px solid var(--line);border-radius:50%;flex-direction:column;justify-content:center;align-self:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;line-height:1;display:flex;position:relative}.tier .lvl small{color:var(--muted);font-size:7px;font-weight:400}.tier.done .lvl{border-color:var(--accent);color:var(--accent)}.tier .lvl.low{opacity:.5}.tier.ult .lvl{border-color:var(--echo);color:var(--echo)}.tier .or{text-align:center;color:var(--muted);align-self:center;font-size:9px}.opt,.mastery{text-align:left;cursor:pointer;align-items:center;gap:4px;min-height:40px;display:flex;font:600 12px/1.15 var(--font-body)!important;background:var(--panel-2)!important;color:var(--text)!important;border:2px solid var(--edge)!important;box-shadow:none!important;margin:0!important;padding:4px!important}.opt .ico,.mastery .ico{flex:none;font-size:18px}.opt .nm{overflow:hidden}.opt.ready{border-color:var(--mp)!important}.opt.ready:after{content:"";background:var(--mp);border-radius:50%;flex:none;width:7px;height:7px;margin-left:auto}.opt.taken{border-color:var(--accent)!important;background:#5a4220!important;box-shadow:0 0 8px #ffc94a59!important}.opt.other{opacity:.55}.opt.nopts{opacity:.8}.opt.locked{opacity:.35;filter:grayscale(.8)}.tier.ult .opt{border-style:dashed!important}.tier.ult .opt.taken{border-style:solid!important;border-color:var(--echo)!important;background:#45285a!important}.opt.sel,.mastery.sel{outline-offset:1px;outline:2px solid #fff}.mastery{flex-wrap:wrap;width:100%;margin-top:6px!important}.mastery .nm{flex:1}.mastery small{color:var(--muted)}.mastery .mbar{background:var(--edge);flex-basis:100%;height:4px}.mastery .mbar i{background:var(--accent);height:100%;display:block}.mastery.on{border-color:var(--mp)!important}.tcard{z-index:2;background:var(--panel-2);border:2px solid var(--edge);min-height:96px;margin-top:10px;padding:8px 10px;position:sticky;bottom:-2px;box-shadow:0 -6px 12px #00000059}.tcard p{margin:4px 0;font-size:13px}.tcard.empty p:first-child{color:var(--text)}.tc-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tc-top>span:nth-child(2){flex-direction:column;flex:1;display:flex}.tc-top small{color:var(--muted);font-size:11px}.tc-top .ico{font-size:26px}.tc-btns{gap:6px;display:flex}.tc-btns button{margin:0!important}.tc-prev{color:var(--mp);margin:4px 0;padding-left:18px;font-size:13px}.tcard .ok{color:var(--accent)}.tcard .no{color:var(--danger)}@media (width<=760px){.tree{grid-template-columns:1fr}.tcard{max-height:42vh;overflow-y:auto}}.spellbar{flex-wrap:wrap;gap:6px;display:flex}.spellbar button{opacity:.5;font-size:13px;margin:0!important;padding:4px 8px!important}.spellbar button.on{opacity:1}.stat.job .bar.xp{max-width:240px;margin-top:4px}.recipe .ingr{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.recipe .ingr .have{color:var(--mp)}.recipe .ingr .lack{color:#ff8a7a}.gear .cost{color:var(--muted);margin-left:8px;font-size:11px}.gear .worn{float:right;color:var(--accent);font-size:11px}.forge-note{background:var(--panel-2);border:2px solid var(--edge);padding:6px 10px;font-weight:700}.stat .v.faded{opacity:.4}.picker{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.picker button{align-items:center;gap:6px;font-size:18px;display:flex;background:var(--panel-2)!important;color:var(--text)!important;box-shadow:inset 3px 0 0 var(--rar)!important;margin:0!important;padding:4px 8px!important}.picker button small{text-overflow:ellipsis;white-space:nowrap;max-width:130px;font-size:11px;overflow:hidden}.picker button.sel{outline:2px solid var(--accent)}.shop .line button small{opacity:.8;font-size:10px;display:block}.shop .line .warn{color:#ffb36b}.charge{align-items:center;gap:8px;margin:6px 0;font-size:12px;display:flex}.charge .bar{flex:1}.charge .bar i{background:#6fc3ff;box-shadow:inset 0 -4px #3f8fd0}.shop .line button small.warn{color:#8a2a10;opacity:1;font-weight:700;display:inline}.tabs{flex-wrap:wrap}.tabs button{min-width:0}.name-in{font:inherit;font-family:var(--font-px);width:min(320px,100%);color:var(--text);background:var(--panel);border:2px solid var(--edge);box-shadow:inset 0 0 0 2px var(--line);border-radius:2px;padding:8px 12px;font-size:18px}.name-in:focus{outline:2px solid var(--accent);outline-offset:2px}.topleft{top:calc(8px + env(safe-area-inset-top,0px));left:calc(10px + env(safe-area-inset-left,0px));pointer-events:none;flex-direction:column;align-items:flex-start;gap:6px;display:flex;position:absolute}.topleft .zone{position:static}.qtrack{pointer-events:auto;cursor:pointer;border:2px solid var(--edge);background:#2a1e2ecc;border-radius:2px;flex-direction:column;gap:6px;width:230px;padding:6px 10px;font-size:12px;display:flex}.qtrack.hidden{display:none}.qtrack b{font-family:var(--font-px);color:var(--accent);font-size:13px}.qtrack ul{color:var(--text);margin:2px 0 0;padding-left:16px;line-height:1.45}.qtrack li small,.qtrack>small{color:var(--muted)}.qtrack li.ready{color:var(--mp);font-weight:700}.cmp{color:var(--muted);margin:2px 0 4px;font-size:11px}.cmp .up{color:var(--mp);font-weight:700}.cmp .down{color:#ff7a6b;font-weight:700}@media (width<=700px){.qtrack{width:170px;font-size:11px}.qtrack ul{padding-left:12px}}.flee{background:var(--panel-2);border:2px solid var(--edge);color:var(--muted);align-self:flex-start;margin-top:6px;padding:2px 8px;font-size:11px}.flee:hover{color:var(--text);background:#4a3852}.tactic{top:calc(8px + env(safe-area-inset-top,0px));right:calc(10px + env(safe-area-inset-right,0px));font-family:var(--font-px);background:var(--panel);border:2px solid var(--edge);box-shadow:inset 0 0 0 2px var(--line), 4px 4px 0 #0000004d;border-radius:2px;padding:6px 10px;font-size:14px;position:absolute}.tactic small{font-family:var(--font-body);opacity:.6;margin-left:6px;font-size:10px}.tactic.sel{background:var(--accent);color:var(--accent-ink)}h3.sub{margin:12px 0 6px;font-size:14px}h3.sub small{color:var(--muted);font-size:11px;font-weight:400}.shop .low{color:#ff9a7a}.till{align-items:center;gap:10px;margin-bottom:4px}.stall-form{background:var(--panel-2);border:2px solid var(--edge);flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px;font-size:13px;display:flex}.stall-form select{flex:100%}.stall-form input{width:80px}.stall-form small{color:var(--muted);flex:100%;font-size:11px}.stall-form button{margin:0!important;padding:4px 12px!important}.stall-log{margin:0;padding-left:18px;font-size:12px}.stall-log small{color:var(--muted)}#menu:has(.menu-card.title){background:linear-gradient(#120c1650,#120c16a0),url(../art/title.webp) 50%/cover no-repeat}.art-ico{object-fit:contain;vertical-align:middle;image-rendering:auto;width:1.6em;height:1.6em}.ico .art-ico{width:1.5em;height:1.5em}.wbtns .art-ico{width:28px;height:28px;margin:0 auto;display:block}.minimap{top:calc(8px + env(safe-area-inset-top,0px));right:calc(10px + env(safe-area-inset-right,0px));background:var(--panel);border:2px solid var(--edge);box-shadow:inset 0 0 0 2px var(--line), 4px 4px 0 #0000004d;cursor:pointer;pointer-events:auto;border-radius:2px;margin:0;padding:6px;line-height:0;position:absolute}.minimap canvas{display:block}@media (width<=640px){.minimap{transform-origin:100% 0;transform:scale(.7)}}.wcard.mapcard{width:min(1100px,100vw - 24px)}.worldmap{aspect-ratio:1600/893;margin-top:6px;position:relative}.worldmap img{border-radius:4px;width:100%;height:100%;display:block}.worldmap .pin{cursor:help;background:#ffd76a;border:2px solid #3a2410;border-radius:50%;width:16px;height:16px;margin:0;padding:0;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #fff8}.worldmap .pin span{white-space:nowrap;font-family:var(--font-px);color:#fff;text-shadow:0 0 3px #000,1px 1px #000;pointer-events:none;margin-top:3px;font-size:12px;position:absolute;top:100%;left:50%;transform:translate(-50%)}.worldmap .pin i{color:#ffc94a;text-shadow:0 0 3px #3a2410,1px 1px #3a2410;pointer-events:none;font-size:18px;font-style:normal;font-weight:700;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.worldmap .pin.safe{background:#9fd8ff}.worldmap .pin.dungeon{background:#b06ad8;border-radius:3px}.worldmap .pin.unseen{opacity:.75;background:#8a8090}.worldmap .pin.here{background:#fff;animation:1s ease-in-out infinite alternate pin-here}@keyframes pin-here{to{box-shadow:0 0 0 7px #fff5}}@media (width<=640px){.worldmap .pin span{font-size:9px}}.legend .dot{vertical-align:middle;background:#fff;border:2px solid #3a2410;border-radius:50%;width:10px;height:10px;display:inline-block}.end.ready{background:var(--mp)}.weather{cursor:help;margin-right:4px;font-size:18px}.login form{flex-direction:column;gap:10px;max-width:360px;display:flex}.login label{color:#fff;font-family:var(--font-px);text-shadow:1px 1px #1f3a5c;flex-direction:column;gap:4px;font-size:15px;display:flex}.login input{font:inherit;border:2px solid var(--edge);color:#2a1e2e;text-shadow:none;background:#fff8ec;border-radius:6px;padding:8px 10px;font-size:16px}.login .gbtn{color:#fff;justify-content:center;min-height:44px;margin:4px 0;display:flex}.login .ou{text-align:center;color:#fff;text-shadow:1px 1px #1f3a5c;margin:2px 0 10px;font-size:13px}.login label small{opacity:.85;font-family:system-ui,sans-serif;font-size:12px}.login .err{color:#ffd9d4;text-shadow:1px 1px #4a1010;min-height:1.2em;margin:0;font-size:14px}.hint a{color:var(--accent)}.codex h3{margin:10px 0 4px}.ach{background:var(--panel-2);border:2px solid var(--edge);opacity:.75;align-items:center;gap:8px;margin:4px 0;padding:6px 8px;display:flex}.ach.ok{opacity:1;border-color:var(--accent)}.ach .ico{text-align:center;width:26px;font-size:20px}.ach>div{flex:1;min-width:0}.ach small{color:var(--muted);display:block}.ach .bar{height:12px;margin-top:3px}.ach .rw{color:var(--muted);white-space:nowrap;font-size:12px}.ach .bar span{font-size:10px;line-height:8px}.roll{color:#7fd67f;font-weight:700}.roll.fail{color:#ff8a7a}.chat{left:calc(10px + env(safe-area-inset-left,0px));z-index:20;font-size:13px;position:fixed;top:50%}.chat-btn{background:var(--panel);border:2px solid var(--edge);width:44px;height:44px;box-shadow:inset 0 0 0 2px var(--line), 3px 3px 0 #0000004d;font-size:20px;position:relative}.chat-btn .nb{background:var(--danger);color:#fff;border-radius:10px;min-width:20px;padding:1px 5px;font-size:11px;position:absolute;top:-8px;right:-8px}.chat .chat-box{display:none}.chat.ouvert{top:auto;bottom:calc(10px + env(safe-area-inset-bottom,0px))}.chat.ouvert .chat-btn{display:none}.chat.ouvert .chat-box{border:2px solid var(--edge);width:min(360px,100vw - 20px);height:min(300px,45vh);box-shadow:inset 0 0 0 2px var(--line), 4px 4px 0 #0000004d;background:#2a1e2ee6;flex-direction:column;display:flex}.chat-tabs{border-bottom:2px solid var(--line);gap:2px;padding:4px;display:flex}.chat-tabs button{background:var(--panel-2);color:var(--muted);border:1px solid var(--edge);padding:2px 6px;font-size:12px}.chat-tabs button.sel{color:var(--accent-ink);background:var(--accent)}.chat-tabs .sp{flex:1}.chat-log{overflow-wrap:anywhere;flex:1;padding:4px 8px;line-height:1.4;overflow-y:auto}.chat-log small{color:var(--muted);font-size:10px}.chat-log .tag{opacity:.8;border:1px solid;padding:0 3px;font-size:10px}.chat-log .nom,.chat-groupe .nom{cursor:pointer}.chat-log .nom:hover,.chat-groupe .nom:hover{text-decoration:underline}.c-monde{color:#f4ecdf}.c-carte{color:#cfe8ff}.c-groupe{color:#9be88a}.c-prive{color:#e7b2ff}.c-sys{color:var(--accent)}.chat-log button{background:var(--accent);color:var(--accent-ink);border:2px solid var(--edge);margin-left:6px;padding:1px 8px;font-size:12px}.chat-form{border-top:2px solid var(--line);gap:4px;padding:4px;display:flex}.chat-form select,.chat-form input{font:inherit;color:var(--text);background:var(--panel-2);border:2px solid var(--edge);padding:3px 4px;font-size:13px}.chat-form input{flex:1;min-width:0}.chat-groupe{border-bottom:2px solid var(--line);background:#0000002a;max-height:45%;padding:6px 8px;overflow-y:auto}.chat-groupe p{color:var(--muted);margin:0}.chat-groupe .mb{justify-content:space-between;align-items:center;gap:6px;padding:2px 0;display:flex}.chat-groupe .mb span{flex-wrap:wrap;align-items:baseline;gap:0 6px;display:flex}.chat-groupe .mb.off{opacity:.55}.chat-groupe small{color:var(--muted);font-size:11px}.chat-groupe button{background:var(--accent);color:var(--accent-ink);border:2px solid var(--edge);padding:1px 8px;font-size:12px}.chat-groupe .quitter{margin-top:4px}.chat-menu{z-index:30;background:var(--panel);border:2px solid var(--edge);min-width:220px;box-shadow:inset 0 0 0 2px var(--line), 4px 4px 0 #0000004d;flex-direction:column;gap:6px;padding:12px;display:flex;position:fixed;top:40%;left:50%;transform:translate(-50%,-50%)}.chat-menu b{font-family:var(--font-px);color:var(--accent);font-size:18px}.chat-menu small{color:var(--muted)}.chat-menu button{text-align:left;background:var(--panel-2);border:2px solid var(--edge);padding:6px 10px}.chars{flex-direction:column;gap:8px;margin:10px 0 16px;display:flex}.char-row{background:#ffffff0f;border-radius:10px;align-items:center;gap:10px;padding:6px 10px;display:flex}.char-row .npc-face{object-fit:contain;width:44px;height:44px}.char-row span{text-align:left;flex-direction:column;flex:1;display:flex}.char-row small{opacity:.75}.char-row .go{margin:0;padding:6px 12px}.ech{grid-template-columns:1fr 1fr;gap:8px;margin:6px 0;display:grid}.ech-col{background:var(--panel-2);border:2px solid var(--edge);min-width:0;padding:6px}.ech-col.ok{border-color:#6fcf6f}.ech-col h3{margin:0 0 4px;font-size:15px}.ech-col .gears{grid-template-columns:1fr;margin-top:4px}.ech-ok{color:#6fcf6f;font-size:12px}.hdv-cherche{width:100%;margin-bottom:6px}@media (width<=600px){.ech{grid-template-columns:1fr}}.shop .line .ally-face{object-fit:contain;width:32px;height:32px}.shop .line button.sel{background:#3d6b3a}.worldmap .pin i.grp{font-size:12px;left:auto;right:-18px;transform:none}.xp-tip{color:#ffe08a;margin-top:4px;font-size:12px}.chat-groupe .mb .act{gap:4px;display:flex}.chat-groupe .mb .act button{padding:2px 6px;font-size:11px}.chat-groupe .inv{gap:4px;margin-top:6px;display:flex}.chat-groupe .inv input{flex:1;min-width:0}
