:root{--ui-scale:1;--bg:#12180e;--wood:#2a1d12;--wood2:#3b2a1a;--edge:#c9a25a;--edge2:#8a6a34;--text:#f6ead0;--dim:#b9a888;--gold:#ffd24a;--good:#8fe388;--bad:#ff7b6b;--blue:#9fd2ff;--fs:calc(16px * var(--ui-scale));--tap:calc(48px * var(--ui-scale));--gap:calc(12px * var(--ui-scale));--rad:calc(14px * var(--ui-scale));--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px);--serif:Georgia, "Times New Roman", serif}:root[data-text=l]{--fs:calc(18px * var(--ui-scale))}:root[data-text=xl]{--fs:calc(21px * var(--ui-scale))}:root[data-contrast=high]{--wood:#000;--wood2:#1a1a1a;--edge:#fff;--text:#fff;--dim:#ddd;--gold:#ffe066}:root[data-cb=protan],:root[data-cb=deutan]{--good:#4aa3ff;--bad:#ff9a1a}:root[data-cb=tritan]{--good:#20c0a0;--bad:#ff4a6a;--blue:#ffb0d0}:root[data-motion=reduce] *{transition:none!important;animation:none!important}#ui,#bui{z-index:10;pointer-events:none;font:500 var(--fs)/1.35 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color:var(--text);position:fixed;inset:0}#ui.hidden{display:none}#ui>.screen{pointer-events:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;padding:calc(var(--sat) + var(--gap)) calc(var(--sar) + var(--gap)) calc(var(--sab) + var(--gap)) calc(var(--sal) + var(--gap));background:radial-gradient(at 50% 0,#12180e8c,#0a0c08eb);position:absolute;inset:0;overflow-y:auto}#ui>.screen>*{max-width:1500px;margin-left:auto;margin-right:auto}#ui>.scr-map>*{max-width:none}#bui>*{pointer-events:auto}#toasts{left:50%;bottom:calc(var(--sab) + 90px);z-index:50;pointer-events:none;font:700 var(--fs) system-ui, sans-serif;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;transform:translate(-50%)}.toast{background:var(--wood);border:2px solid var(--edge);color:var(--text);opacity:0;text-align:center;border-radius:12px;max-width:86vw;padding:10px 18px;transition:all .25s;transform:translateY(10px)}.toast.show{opacity:1;transform:none}.toast.good{border-color:var(--good)}.toast.bad{border-color:var(--bad)}#modal{z-index:60;font:500 var(--fs) system-ui, sans-serif;color:var(--text);background:#0009;justify-content:center;align-items:center;display:none;position:fixed;inset:0}#modal.open{display:flex}.modal-card{width:min(92vw,520px)}textarea.code{box-sizing:border-box;width:100%;color:var(--text);border:1px solid var(--edge2);background:#0008;border-radius:8px;padding:8px;font:12px monospace}h1,h2,h3{font-family:var(--serif);margin:.2em 0 .4em;line-height:1.15}h1{font-size:1.6em}h2{color:var(--gold);font-size:1.45em}h3{color:var(--edge);font-size:1.1em}p{margin:.35em 0}.dim{color:var(--dim)}.good{color:var(--good)}.bad{color:var(--bad)}.gold{color:var(--gold)}.small{font-size:.88em}.tiny{font-size:.75em}.kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--dim);font-size:.78em}.row{gap:var(--gap);align-items:center;display:flex}.row.wrap{flex-wrap:wrap}.row.end{justify-content:flex-end}.row.center{justify-content:center}.row.between{flex-wrap:wrap;justify-content:space-between}.panel{background:linear-gradient(180deg, var(--wood2), var(--wood));border:2px solid var(--edge2);border-radius:var(--rad);padding:var(--gap);box-shadow:0 6px 24px #0008,inset 0 1px #ffffff14}.btn{min-height:var(--tap);min-width:var(--tap);padding:0 calc(16px * var(--ui-scale));border:2px solid var(--edge2);color:var(--text);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:linear-gradient(#4a3522,#2f2014);border-radius:12px;font:700 1em system-ui,sans-serif;transition:transform 80ms,filter .15s,border-color .15s}.btn:hover{filter:brightness(1.15);border-color:var(--edge)}.btn:active{transform:scale(.96)}.btn.primary{color:#1b120a;background:linear-gradient(#d7a64a,#9a6a22);border-color:#ffe0a0}.btn.ghost{background:0 0}.btn.danger{color:var(--bad)}.btn.big{min-height:calc(var(--tap) * 1.15);font-size:1.08em}.btn.small{min-height:calc(var(--tap) * .8);padding:0 12px;font-size:.9em}.btn.icon{width:var(--tap);padding:0;font-size:1.3em}.btn.on{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold) inset}.btn[disabled],.btn.locked{opacity:.5}body.kbd .btn:focus,body.kbd input:focus,body.kbd .tog:focus{outline:4px solid var(--gold);outline-offset:2px}.btn:focus{outline:none}.hdr{align-items:center;gap:var(--gap);margin-bottom:var(--gap);top:calc(-1 * var(--gap));z-index:3;background:linear-gradient(#0e100af2,#0e100a99);flex-wrap:wrap;padding:4px 0;display:flex;position:sticky}.hdr h1{flex:1;min-width:8em;margin:0}.wallet{flex-wrap:wrap;gap:10px;font-weight:800;display:flex}.cur{border:1px solid var(--edge2);background:#0006;border-radius:99px;padding:4px 10px}.cur.crown{color:var(--gold)}.cur.ore{color:var(--blue)}.tabs{margin-bottom:var(--gap);flex-wrap:wrap;gap:6px;display:flex}.tabs.scroll{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.tabs.scroll .btn{white-space:nowrap}.menu-wrap{justify-content:center;align-items:center;gap:calc(var(--gap) * 2);flex-direction:column;min-height:100%;display:flex}.logo{text-align:center}.logo-t{font:900 calc(54px * var(--ui-scale)) var(--serif);color:var(--gold);text-shadow:0 4px #3a2410,0 0 30px #ffb84a66;letter-spacing:.02em}.logo-s{font:600 1.1em var(--serif);color:var(--edge);letter-spacing:.3em;text-transform:uppercase}.menu-list{gap:var(--gap);flex-direction:column;width:min(92vw,560px);display:flex}.menu-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.menu-progress{text-align:center;color:var(--dim)}.ver{color:var(--dim);font-size:.75em}.slots{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.slot.active{border-color:var(--gold)}.form{gap:var(--gap);flex-direction:column;max-width:760px;margin:0 auto;display:flex}.field-l{color:var(--dim);margin-bottom:4px}.seg{flex-wrap:wrap;gap:6px;display:flex}.sl{grid-template-columns:9em 1fr 3.5em;align-items:center;gap:10px;display:grid}.sl input{width:100%;height:var(--tap);accent-color:var(--gold)}.tog{min-height:var(--tap);border:2px solid var(--edge2);color:var(--text);cursor:pointer;background:#0004;border-radius:12px;justify-content:space-between;align-items:center;padding:0 14px;font:600 1em system-ui;display:flex}.tog-k{background:#555;border-radius:99px;flex:none;width:52px;height:28px;transition:all .2s;position:relative}.tog-k:after{content:"";background:#ddd;border-radius:50%;width:22px;height:22px;transition:all .2s;position:absolute;top:3px;left:3px}.tog.on .tog-k{background:var(--gold)}.tog.on .tog-k:after{background:#fff;left:27px}.scr-map{padding:0!important;overflow:hidden!important}.wm{flex-direction:column;display:flex;position:absolute;inset:0}.wm .hdr{padding:calc(var(--sat) + 6px) calc(var(--sar) + 10px) 6px calc(var(--sal) + 10px);margin:0;top:0}.wm-total{color:var(--gold);font-weight:800}.wm-view{cursor:grab;touch-action:pan-x pan-y;background:#2b3a22;flex:1;position:relative;overflow:auto}.wm-world{background:radial-gradient(at 40% 60%,#e7d7ae 0%,#cdb784 55%,#8e7650 100%);position:relative}.wm-roads{pointer-events:none;position:absolute;inset:0}.wm-roads .road{fill:none;stroke:#6b4f2a;stroke-width:5px;stroke-dasharray:2 10;stroke-linecap:round;opacity:.6}.wm-roads .road.done{stroke:#b0331f;stroke-dasharray:none;opacity:.85}.wm-roads .road.dash{stroke-dasharray:6 8}.wm-region{background:radial-gradient(ellipse at 45% 45%, var(--c1), var(--c2));border-radius:42% 58% 46% 54%/52% 44% 56% 48%;position:absolute;box-shadow:inset 0 0 60px #0006,0 0 0 4px #5a4024aa}.wm-region.fog{filter:grayscale(.8)brightness(.55)blur(.5px)}.wm-region.fog:after{content:"";border-radius:inherit;opacity:.55;background:repeating-radial-gradient(circle at 30% 40%,#d8d2c4cc 0 18px,#bdb5a4aa 18px 40px);position:absolute;inset:0}.wm-rname{font:900 clamp(16px, 2.2vw, 30px) var(--serif);color:#fff8e0;text-shadow:0 2px 6px #000c;position:absolute;top:6%;left:8%}.wm-lock{z-index:2;color:#fff;text-shadow:0 1px 4px #000;font-size:.85em;font-weight:700;position:absolute;top:calc(6% + 2.2em);left:8%}.wm-node{width:calc(54px * var(--ui-scale));height:calc(54px * var(--ui-scale));color:#2a1608;font:900 1.15em var(--serif);background:radial-gradient(circle at 40% 35%,#f3d78a,#a86f1f);border:3px solid #3a2410;border-radius:50%;padding:0;position:absolute;transform:translate(-50%,-50%);box-shadow:0 4px 10px #0009}.wm-node.boss{color:#fff;background:radial-gradient(circle at 40% 35%,#ff9a7a,#8a2010)}.wm-node.bonus{color:#fff;background:radial-gradient(circle at 40% 35%,#b8a0ff,#4a2f88)}.wm-node.final{width:calc(68px * var(--ui-scale));height:calc(68px * var(--ui-scale))}.wm-node.locked{filter:grayscale()brightness(.6)}.wm-node.next{animation:1.4s infinite pulse}.wm-node .wm-stars{white-space:nowrap;color:var(--gold);text-shadow:0 1px 3px #000;font-family:system-ui;font-size:.8em;position:absolute;top:100%;left:50%;transform:translate(-50%)}.wm-node .wm-badges{font-size:.7em;position:absolute;bottom:70%;left:70%}.wm-side{width:calc(42px * var(--ui-scale));height:calc(42px * var(--ui-scale));background:#2a1d12dd;border-radius:10px;padding:0;font-size:1.2em;position:absolute;transform:translate(-50%,-50%)}.wm-side.locked{opacity:.45}.wm-side.done{border-color:var(--good)}@keyframes pulse{0%,to{box-shadow:0 0 #ffd24aaa,0 4px 10px #0009}50%{box-shadow:0 0 0 14px #ffd24a00,0 4px 10px #0009}}.wm-quick{left:calc(var(--sal) + 10px);bottom:calc(var(--sab) + 10px);gap:8px;display:flex;position:absolute}.wm-zoom{right:calc(var(--sar) + 10px);bottom:calc(var(--sab) + 10px);flex-direction:column;gap:8px;display:flex;position:absolute}.sheet{z-index:5;background:#0007;justify-content:flex-end;display:flex;position:absolute;inset:0}.sheet-card{box-sizing:border-box;width:min(520px,100%);height:100%;padding:calc(var(--sat) + 14px) calc(var(--sar) + 16px) calc(var(--sab) + 16px) 16px;border-radius:0;animation:.22s ease-out slidein;position:relative;overflow-y:auto}@keyframes slidein{0%{opacity:0;transform:translate(40px)}}.sheet-card .close{right:calc(var(--sar) + 8px);top:calc(var(--sat) + 8px);position:absolute}.lvl-facts{color:var(--dim);flex-wrap:wrap;gap:6px 14px;margin:6px 0;font-size:.9em;display:flex}.newfoes{flex-wrap:wrap;align-items:center;gap:4px;margin:8px 0;display:flex}.newfoes img{width:44px;height:44px}.modes{gap:8px;margin-top:8px;display:grid}.mode{border:1px solid var(--edge2);background:#0004;border-radius:12px;padding:8px 10px}.mode.locked{opacity:.65}.mode-h{justify-content:space-between;display:flex}.cards{grid-template-columns:repeat(auto-fill, minmax(calc(132px * var(--ui-scale)), 1fr));gap:8px;display:grid}.cards.wide{grid-template-columns:repeat(auto-fill, minmax(min(100%, calc(260px * var(--ui-scale))), 1fr))}.pick{text-align:center;height:auto;min-height:calc(120px * var(--ui-scale));flex-direction:column;justify-content:flex-start;align-items:center;gap:3px;padding:8px 6px;display:flex}.pick img{width:calc(56px * var(--ui-scale));height:calc(56px * var(--ui-scale));object-fit:contain}.pick.small{min-height:calc(100px * var(--ui-scale))}.pick.static{border:2px solid var(--edge2);background:#0004;border-radius:12px}.pick.on{background:linear-gradient(#5a4322,#3a2810)}.c-name{font-size:.9em;font-weight:800;line-height:1.15}.c-sub{color:var(--dim);font-size:.76em;font-weight:600}.r-common{color:#ddd}.r-rare{color:#6ab8ff}.r-epic{color:#c890ff}.r-legendary{color:#ffb020}.lo-sec{margin:var(--gap) 0}.lo-h{justify-content:space-between;align-items:baseline;display:flex}.lo-top{justify-content:space-between;align-items:center;gap:var(--gap);flex-wrap:wrap;display:flex}.sticky-bottom{background:linear-gradient(#0a0c0800,#0a0c08f0);padding:8px 0;position:sticky;bottom:0}.split{gap:var(--gap);grid-template-columns:minmax(200px,340px) 1fr;align-items:start;display:grid}.hero-list{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px;display:grid}.big-portrait{width:calc(110px * var(--ui-scale));height:calc(110px * var(--ui-scale));border:3px solid var(--edge);border-radius:50%}.bar{background:#0008;border-radius:99px;min-width:120px;height:10px;margin:4px 0;overflow:hidden}.bar i{background:linear-gradient(90deg, #7ed957, var(--gold));height:100%;display:block}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:4px 12px;display:grid}.skills{padding-left:1.1em}.skills li{margin:4px 0}.gear{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.gear-slot{flex-direction:column;gap:4px;display:flex}.gear-slot.on .pick{border-color:var(--gold)}.trees{gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));display:grid}.tree-row{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px;margin:6px 0;display:grid}.node{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;height:auto;padding:8px;display:flex}.node.on{border-color:var(--good);background:linear-gradient(#5a6a22,#2a3a10)}.spell .row img{width:64px;height:64px}.tiers{padding-left:1.2em;font-size:.85em}.search{box-sizing:border-box;width:100%;min-height:var(--tap);border:2px solid var(--edge2);color:var(--text);margin-bottom:var(--gap);background:#0006;border-radius:12px;padding:0 14px;font:600 1em system-ui}.enc-list{flex-direction:column;gap:4px;max-height:70vh;display:flex;overflow-y:auto}.enc-item{text-align:left;justify-content:flex-start;align-items:center;gap:10px;height:auto;padding:4px 10px;display:flex}.enc-item img{width:40px;height:40px}.enc-item .dot{color:var(--gold);margin-left:auto}.enc-img{object-fit:contain;width:120px;height:120px}.enc-stats{grid-template-columns:auto 1fr;gap:4px 14px;display:grid}.enc-stats dt{color:var(--dim)}.enc-stats dd{margin:0;font-weight:700}.tag{color:var(--dim);background:#0006;border-radius:99px;margin:2px;padding:2px 8px;font-size:.75em;display:inline-block}.offer{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex}.offer img{width:72px;height:72px}.offer.locked{opacity:.6}.ach{align-items:flex-start;gap:12px;display:flex}.ach-ico{text-align:center;width:1.6em;font-size:2em}.ach.locked{opacity:.7;filter:grayscale(.6)}.ach.done{border-color:var(--gold)}.overlay{opacity:0;z-index:20;padding:calc(var(--sat) + 10px) calc(var(--sar) + 10px) calc(var(--sab) + 10px) calc(var(--sal) + 10px);box-sizing:border-box;background:#0008;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:fixed;inset:0}.overlay.show{opacity:1}.overlay>.panel{box-sizing:border-box;max-height:100%;overflow-y:auto}.intro-card{width:min(720px,96vw)}.rules{color:var(--gold);margin:4px 0 8px;padding-left:1.2em}.menu-card{flex-direction:column;gap:10px;width:min(420px,92vw);display:flex}.dlg{flex-direction:column;gap:10px;display:flex}.dlg-line{align-items:flex-start;gap:14px;min-height:96px;display:flex}.dlg-face{width:calc(84px * var(--ui-scale));height:calc(84px * var(--ui-scale));border:3px solid var(--edge);color:var(--edge);background:#0006;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:2em;display:flex}.dlg-name{font:800 1em var(--serif);color:var(--gold)}.dlg-text{font-size:1.08em}.dlg-toast{pointer-events:none;background:0 0;align-items:flex-end}.dlg-toast>.panel{pointer-events:auto;width:min(700px,96vw);margin-bottom:110px}.settings-ov{align-items:stretch;padding:0}.settings-ov>.screen{width:100%;padding:calc(var(--sat) + 12px) calc(var(--sar) + 12px) calc(var(--sab) + 12px) calc(var(--sal) + 12px);background:#0a0c08f2;position:relative;overflow-y:auto}.res-card{text-align:center;width:min(640px,96vw)}.results.won h2{font-size:2.4em}.results.lost h2{color:var(--bad);font-size:2em}.stars{font-size:calc(64px * var(--ui-scale));letter-spacing:.1em}.star{color:#4a3a22;text-shadow:0 3px #1b120a;display:inline-block}.star.on{color:var(--gold);animation:.45s cubic-bezier(.2,1.6,.4,1) both starpop;animation-delay:var(--d);text-shadow:0 0 20px #ffd24aaa,0 3px #6a4410}@keyframes starpop{0%{opacity:0;transform:scale(0)rotate(-90deg)}}.rewards ul{flex-direction:column;align-items:center;gap:4px;padding:0;list-style:none;display:flex}.rewards li{align-items:center;gap:8px;animation:.4s both fadein;display:flex}.rewards li img{width:32px;height:32px}@keyframes fadein{0%{opacity:0;transform:translateY(6px)}}.xp-row{flex-wrap:wrap;justify-content:center;gap:10px;margin:8px 0;display:flex}.xp-chip{color:var(--good);background:#0006;border-radius:99px;align-items:center;gap:4px;padding:2px 10px 2px 2px;font-weight:800;display:flex}.xp-chip img{border-radius:50%;width:32px;height:32px}.finale{color:var(--gold);font-weight:800}.hint{color:var(--blue)}.outro{color:var(--edge);font-style:italic}@media (max-width:720px){.split{grid-template-columns:1fr}.hero-list{grid-template-columns:repeat(auto-fill,minmax(78px,1fr))}.enc-list{max-height:34vh}.logo-t{font-size:calc(40px * var(--ui-scale))}.sheet{justify-content:stretch;align-items:flex-end}.sheet-card{border-radius:18px 18px 0 0;width:100%;height:auto;max-height:86%}.sl{grid-template-columns:1fr 3.5em}.sl .sl-l{grid-column:1/-1}.gear{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-height:460px){.logo-t{font-size:34px}.menu-wrap{justify-content:flex-start;gap:10px}.menu-grid{grid-template-columns:repeat(4,1fr)}.dlg-line{min-height:0}.dlg-face{width:56px;height:56px}.stars{font-size:44px}}
