:root{--bg: #0b0d12;--card: #15181f;--card2: #1c2029;--brd: rgba(255,255,255,.12);--text: #eef1f7;--muted: #9aa3b5;--acc: #8b5cf6;--gold: #fbbf24}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font:14px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;overflow:hidden}#kd-map{position:fixed;inset:0}button{font:inherit;color:inherit}.kd-top{position:fixed;top:10px;left:10px;right:10px;z-index:10;display:flex;align-items:center;gap:.6rem;pointer-events:none}.kd-top>*{pointer-events:auto}.kd-brand{display:flex;align-items:center;gap:.5rem;padding:.5rem .85rem;border-radius:14px;background:#15181feb;border:1px solid var(--brd);font-weight:900;letter-spacing:.02em;backdrop-filter:blur(6px);text-decoration:none;color:var(--text)}.kd-brand small{font-weight:700;color:var(--muted);font-size:.7rem}.kd-res{display:flex;gap:.4rem;flex-wrap:wrap}.kd-chip{display:flex;align-items:baseline;gap:.35rem;padding:.45rem .7rem;border-radius:12px;background:#15181feb;border:1px solid var(--brd);backdrop-filter:blur(6px);white-space:nowrap}.kd-chip b{font-size:.95rem;font-variant-numeric:tabular-nums}.kd-chip small{color:#86efac;font-size:.7rem;font-weight:700}.kd-chip.is-full b,.kd-chip.is-full small{color:var(--gold)}.kd-back{margin-left:auto;padding:.5rem .85rem;border-radius:12px;background:#15181feb;border:1px solid var(--brd);color:var(--text);text-decoration:none;font-weight:700;font-size:.85rem}.kd-panel-h{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.1rem .5rem}.kd-panel-h h2{margin:0;font-size:1.2rem}.kd-panel-h small{color:var(--muted)}.kd-tabs{display:flex;gap:.3rem;padding:.3rem .8rem .6rem}.kd-tabs button{flex:1;padding:.5rem;border-radius:10px;border:0;background:#ffffff0a;color:var(--muted);font-weight:800;font-size:.82rem;cursor:pointer;position:relative}.kd-tabs button.is-on{background:#8b5cf638;color:var(--text)}.kd-dot{position:absolute;top:6px;right:10px;width:8px;height:8px;border-radius:50%;background:#f43f5e}.kd-panel-b{flex:1;overflow-y:auto;padding:0 .8rem 1rem;scrollbar-width:thin}.kd-sub{color:var(--muted);font-size:.8rem;margin:.2rem .2rem .6rem}.kd-dim{color:var(--muted);font-size:.82rem;line-height:1.55}.kd-job{position:relative;display:flex;justify-content:space-between;gap:.5rem;padding:.55rem .7rem .75rem;margin-bottom:.45rem;border-radius:12px;background:#fbbf2414;border:1px solid rgba(251,191,36,.25);font-size:.85rem;font-weight:700}.kd-job em{font-style:normal;color:var(--gold)}.kd-job i{position:absolute;left:.7rem;right:.7rem;bottom:.35rem;height:3px;border-radius:3px;background:#ffffff14}.kd-job i b{display:block;height:100%;border-radius:3px;background:var(--gold)}.kd-blds{display:flex;flex-direction:column;gap:.55rem}.kd-bld{padding:.8rem .85rem;border-radius:14px;background:var(--card2);border:1px solid var(--brd)}.kd-bld.is-blocked{opacity:.6}.kd-bld-h{display:flex;align-items:center;gap:.6rem}.kd-bld-ic{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#ffffff0d;font-size:1.3rem}.kd-bld-h b{display:block}.kd-bld-h small{color:var(--muted);font-size:.76rem}.kd-bld p{margin:.5rem 0 .55rem;color:var(--muted);font-size:.8rem;line-height:1.5}.kd-cost{display:flex;flex-wrap:wrap;gap:.3rem .7rem;font-size:.8rem;font-weight:700;margin-bottom:.55rem}.kd-cost .is-lack{color:#f87171}.kd-cost span:last-child:not(.is-lack){color:var(--muted)}.kd-note{font-size:.8rem;color:var(--muted);font-weight:700}.kd-btn{display:block;width:100%;padding:.7rem 1rem;border:0;border-radius:12px;background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff;font-weight:800;cursor:pointer;box-shadow:0 6px 18px #7c3aed59}.kd-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.kd-btn-sm{padding:.5rem .8rem;font-size:.84rem}.kd-btn-ghost{background:var(--card2);border:1px solid var(--brd);box-shadow:none;margin-top:.8rem}.kd-quests{display:flex;flex-direction:column;gap:.5rem}.kd-quest{display:flex;align-items:center;gap:.6rem;padding:.75rem .85rem;border-radius:14px;background:var(--card2);border:1px solid var(--brd)}.kd-quest>div{flex:1}.kd-quest b{display:block}.kd-quest small{display:block;color:var(--muted);font-size:.78rem;margin:.15rem 0 .35rem}.kd-quest .kd-cost{margin:0}.kd-quest .kd-btn{width:auto;white-space:nowrap}.kd-quest.is-done{border-color:#fbbf2480}.kd-quest.is-claimed{opacity:.55}.kd-ter{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.8rem}.kd-ter-row{display:grid;grid-template-columns:118px 1fr 42px;align-items:center;gap:.5rem;font-size:.82rem}.kd-ter-row i{height:8px;border-radius:6px;background:#ffffff12;overflow:hidden}.kd-ter-row i b{display:block;height:100%;background:linear-gradient(90deg,#8b5cf6,#3b82f6)}.kd-ter-row em{font-style:normal;color:var(--muted);text-align:right;font-weight:700}.kd-found-intro,.kd-found{padding:1.2rem 1.1rem}.kd-found-intro h2,.kd-found h2{margin:.3rem 0 .6rem}.kd-found-intro ul{padding-left:1.1rem;margin:.4rem 0 .8rem;line-height:1.8}.kd-big{font-size:2.4rem}.kd-err{color:#fca5a5;font-weight:700}.kd-lbl{display:block;margin:.6rem 0 .35rem;font-size:.8rem;font-weight:800;color:var(--muted)}.kd-inp{width:100%;padding:.7rem .85rem;margin-bottom:.7rem;border-radius:12px;border:1px solid var(--brd);background:var(--bg);color:var(--text);font:inherit}.kd-spin{width:28px;height:28px;border-radius:50%;border:3px solid rgba(255,255,255,.15);border-top-color:var(--acc);animation:kdspin .8s linear infinite}@keyframes kdspin{to{transform:rotate(360deg)}}.kd-toasts{position:fixed;z-index:30;top:70px;right:12px;display:flex;flex-direction:column;gap:.4rem}.kd-toast{padding:.65rem .9rem;border-radius:12px;background:var(--card);border:1px solid var(--brd);font-weight:700;max-width:320px;transition:opacity .4s,transform .4s}.kd-toast.is-ok{border-color:#22c55e80}.kd-toast.is-err{border-color:#ef444499}.kd-toast.is-out{opacity:0;transform:translate(20px)}.kd-gate{position:fixed;inset:0;z-index:40;display:grid;place-items:center;background:#05070acc;backdrop-filter:blur(4px)}.kd-gate>div{max-width:360px;padding:1.6rem;border-radius:18px;background:var(--card);border:1px solid var(--brd);text-align:center}.kd-gate a{display:inline-block;margin-top:.8rem}.maplibregl-popup-content{background:var(--card);color:var(--text);border:1px solid var(--brd);border-radius:12px}.maplibregl-popup-tip{display:none}.maplibregl-ctrl-attrib{background:#15181fcc!important;color:var(--muted)}.maplibregl-ctrl-attrib a{color:#c4b5fd}@media(max-width:760px){.kd-top{flex-wrap:wrap;gap:.35rem}.kd-brand small{display:none}.kd-chip{padding:.35rem .5rem}.kd-chip small,.kd-cap{display:none}.kd-back{padding:.4rem .6rem;font-size:.75rem}}.kd-gate[hidden]{display:none}.kd-village{position:fixed;inset:0;z-index:5;background:#9cc4e4}.kd-village[hidden]{display:none}.kd-vcanvas{position:absolute;inset:0}.kd-vcanvas canvas{display:block;touch-action:none;cursor:grab}.kd-vcanvas canvas:active{cursor:grabbing}.kd-v-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.kd-v-lb{position:absolute;left:0;top:0;pointer-events:auto;display:inline-flex;align-items:center;gap:.25rem;padding:.22rem .5rem;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:#0f121ac7;color:#fff;font-size:.8rem;font-weight:800;cursor:pointer;white-space:nowrap;backdrop-filter:blur(4px)}.kd-v-lb b{font-size:.72rem;padding:0 .3rem;border-radius:6px;background:#8b5cf6b3}.kd-v-lb.is-busy b{background:#d97706}.kd-v-lb.is-empty{opacity:.8}.kd-v-lb.is-empty b{background:#fbbf24cc;color:#111}.kd-vload{position:absolute;inset:0;display:grid;place-items:center;background:#0b0d12b8;z-index:2}.kd-vload[hidden]{display:none}.kd-vload>div{width:min(320px,80vw);text-align:center}.kd-vload i{display:block;height:6px;margin-top:.7rem;border-radius:6px;background:#ffffff1f;overflow:hidden}.kd-vload span{display:block;height:100%;width:0;background:linear-gradient(90deg,#8b5cf6,#3b82f6);transition:width .2s}.kd-vhint{position:absolute;left:50%;bottom:12px;transform:translate(-50%);padding:.35rem .8rem;border-radius:999px;background:#0f121ab3;color:#cbd5e1;font-size:.74rem;white-space:nowrap}.kd-mode{display:flex;padding:.25rem;gap:.2rem;border-radius:14px;background:#15181feb;border:1px solid var(--brd)}.kd-mode[hidden]{display:none}.kd-mode button{border:0;padding:.4rem .75rem;border-radius:10px;background:none;color:var(--muted);font-weight:800;cursor:pointer}.kd-mode button.is-on{background:#8b5cf64d;color:#fff}.kd-bld.is-flash{box-shadow:0 0 0 2px #fbbf24;transition:box-shadow .3s}@media(max-width:760px){.kd-vhint{display:none}.kd-mode button{padding:.35rem .5rem;font-size:.78rem}}.kd-card{margin-top:.7rem;padding:.85rem;border-radius:14px;background:var(--card2);border:1px solid var(--brd)}.kd-card>b{display:inline-block;margin-bottom:.2rem}.kd-cargo{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin-bottom:.2rem}.kd-cargo label{font-size:.76rem;font-weight:800;color:var(--muted)}.kd-cargo .kd-inp{margin:.25rem 0 .4rem;padding:.5rem}.kd-quote{margin-top:.6rem;padding:.7rem;border-radius:12px;background:#fbbf2414;border:1px solid rgba(251,191,36,.3);font-size:.86rem;line-height:1.7}.kd-barter{display:grid;grid-template-columns:1.2fr .8fr 1.2fr;gap:.4rem;margin:.5rem 0 .2rem}.kd-barter .kd-inp{padding:.5rem;margin-bottom:.4rem}select.kd-inp{appearance:auto}.kd-modal{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:64px 14px 84px;background:#05070a73;backdrop-filter:blur(2px);animation:kdfade .15s}.kd-modal[hidden]{display:none}.kd-panel{width:min(460px,100%);max-height:100%;display:flex;flex-direction:column;border-radius:18px;background:#15181ffa;border:1px solid var(--brd);box-shadow:0 24px 60px #0000008c;overflow:hidden;animation:kdpop .18s ease-out}@keyframes kdfade{0%{opacity:0}}@keyframes kdpop{0%{transform:translateY(10px) scale(.97);opacity:0}}.kd-x{width:34px;height:34px;flex:none;border-radius:10px;border:1px solid var(--brd);background:var(--card2);cursor:pointer}.kd-x:hover{background:#ef444440}.kd-mini{margin-left:auto;padding:.3rem .6rem;border-radius:8px;border:1px solid var(--brd);background:#ffffff0a;font-size:.74rem;font-weight:800;cursor:pointer;color:var(--muted)}.kd-bld.is-big{padding:1rem}.kd-bld.is-big .kd-bld-ic{width:52px;height:52px;font-size:1.8rem}.kd-bld.is-big p{font-size:.88rem}.kd-dock{position:fixed;z-index:25;left:50%;bottom:14px;transform:translate(-50%);display:flex;gap:.3rem;padding:.35rem;border-radius:18px;background:#15181ff0;border:1px solid var(--brd);box-shadow:0 10px 30px #0006;backdrop-filter:blur(8px)}.kd-dock[hidden]{display:none}.kd-dock button{position:relative;display:flex;flex-direction:column;align-items:center;gap:.1rem;min-width:76px;padding:.45rem .7rem;border:0;border-radius:13px;background:none;color:var(--muted);font-size:.74rem;font-weight:800;cursor:pointer}.kd-dock button span{font-size:1.25rem;line-height:1}.kd-dock button:hover{background:#ffffff0f;color:var(--text)}.kd-dock button.is-on{background:#8b5cf64d;color:#fff}.kd-dock button.has-dot:after{content:"";position:absolute;top:6px;right:14px;width:8px;height:8px;border-radius:50%;background:#f43f5e}.kd-found-card{position:fixed;z-index:10;left:12px;bottom:12px;width:min(360px,calc(100% - 24px));max-height:calc(100% - 90px);overflow-y:auto;border-radius:18px;background:#15181ff5;border:1px solid var(--brd);box-shadow:0 16px 40px #00000073}.kd-found-card[hidden]{display:none}.kd-vhint{bottom:86px}@media(max-width:760px){.kd-dock button{min-width:62px;padding:.4rem .45rem}.kd-modal{padding:60px 8px 80px}}:root{--bg: #1a110a;--card: #2e1f13;--card2: #3a2818;--brd: rgba(224,180,88,.28);--text: #f6ead0;--muted: #c8b48c;--acc: #e0b458;--gold: #f2c75c;--wood: linear-gradient(180deg, #4a3220 0%, #2f1f12 55%, #24170d 100%);--frame: #a8792e;--frame-hi: #f0cf7a;--parch: #f3e4c0;--parch2: #e8d3a4;--ink: #3a2816;--serif: "Palatino Linotype", Palatino, "Book Antiqua", Georgia, "Times New Roman", serif}body{background:#1a110a}.kd-panel-h h2,.kd-plate b,.kd-q-h,.kd-chat-h b,.kd-found-intro h2,.kd-found h2,.kd-gate h2,.kd-bld-h b,.kd-quest b,.kd-card>b{font-family:var(--serif);letter-spacing:.02em}.kd-plate,.kd-chip,.kd-back,.kd-mode,.kd-queue,.kd-chat,.kd-dock,.kd-panel,.kd-found-card,.kd-gate>div,.kd-toast{background:var(--wood);border:2px solid var(--frame);box-shadow:inset 0 0 0 1px #ffe1a024,inset 0 1px #ffebbe40,0 8px 22px #00000080;backdrop-filter:none}.kd-top{align-items:flex-start}.kd-plate{display:flex;align-items:center;gap:.55rem;padding:.3rem .9rem .3rem .3rem;border-radius:40px 14px 14px 40px;cursor:pointer;min-width:180px}.kd-plate:hover{border-color:var(--frame-hi)}.kd-emb{position:relative;display:grid;place-items:center;width:46px;height:46px;flex:none;border-radius:50%;font-size:1.45rem;background:radial-gradient(circle at 35% 30%,#7a5230,#3a2412);border:2px solid var(--frame-hi);box-shadow:0 0 0 2px #3a2412,0 3px 8px #00000080}.kd-emb em{position:absolute;right:-6px;bottom:-4px;min-width:20px;height:20px;padding:0 4px;border-radius:10px;display:grid;place-items:center;font:900 .72rem/1 system-ui,sans-serif;font-style:normal;color:#2a1a0b;background:linear-gradient(#ffe39a,#d9a23c);border:1px solid #6b4a1c}.kd-plate b{display:block;font-size:1.02rem;color:#fff3d6;text-shadow:0 1px 0 #000;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kd-plate small{display:block;color:var(--muted);font-size:.72rem;font-weight:700}.kd-res{gap:.35rem}.kd-chip{align-items:center;gap:.4rem;padding:.28rem .6rem .28rem .3rem;border-radius:30px 12px 12px 30px;min-width:112px}.kd-chip-ic{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:50%;font-size:1rem;background:#00000059;border:1px solid rgba(240,207,122,.5)}.kd-chip>div{display:flex;flex-direction:column;min-width:0;flex:1}.kd-chip b{font-size:.92rem;line-height:1.1;color:#fff3d6;text-shadow:0 1px 0 #000}.kd-chip small{font-size:.64rem;line-height:1.2;color:#a3e39a}.kd-chip i{display:block;height:3px;margin-top:2px;border-radius:3px;background:#00000073;overflow:hidden}.kd-chip i em{display:block;height:100%;background:linear-gradient(90deg,#6cc04a,#b6e36a)}.kd-chip.is-full i em{background:linear-gradient(90deg,#f59e0b,#fde047)}.kd-chip.is-full small,.kd-chip.is-full b{color:var(--gold)}.kd-mode{padding:.2rem;border-radius:12px}.kd-mode button{font-family:var(--serif);color:var(--muted)}.kd-mode button.is-on{background:linear-gradient(#f0cf7a,#b98a36);color:#2a1a0b;text-shadow:0 1px 0 rgba(255,255,255,.35)}.kd-back{color:var(--text)}.kd-back:hover{border-color:var(--frame-hi)}.kd-queue{position:fixed;z-index:9;right:12px;top:78px;width:232px;padding:.45rem;border-radius:14px;display:flex;flex-direction:column;gap:.3rem}.kd-queue[hidden]{display:none}.kd-q-h{display:flex;justify-content:space-between;padding:.1rem .3rem .2rem;font-size:.86rem;color:#fff3d6}.kd-q-h b{color:var(--gold);font-family:system-ui,sans-serif}.kd-q-row{display:flex;align-items:center;gap:.45rem;width:100%;padding:.35rem .45rem;border-radius:10px;border:1px solid rgba(240,207,122,.25);background:#00000047;text-align:left;cursor:pointer}.kd-q-row:hover{border-color:var(--frame-hi)}.kd-q-row>span{font-size:1.15rem}.kd-q-row>div{flex:1;min-width:0}.kd-q-row b{display:block;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kd-q-row b small{color:var(--gold)}.kd-q-row i{display:block;height:4px;margin-top:3px;border-radius:4px;background:#00000080;overflow:hidden}.kd-q-row i em{display:block;height:100%;background:linear-gradient(90deg,#d9a23c,#fde68a)}.kd-q-row time{font-size:.72rem;font-weight:800;color:var(--gold);white-space:nowrap;font-variant-numeric:tabular-nums}.kd-q-row.is-idle{border-style:dashed;opacity:.85}.kd-q-row.is-idle small{display:block;color:var(--muted);font-size:.68rem}.kd-chat{position:fixed;z-index:24;left:12px;bottom:12px;width:340px;height:290px;display:flex;flex-direction:column;border-radius:14px;overflow:hidden}.kd-chat[hidden]{display:none}.kd-chat.is-min{height:auto;width:220px}.kd-chat.is-min .kd-chat-tabs,.kd-chat.is-min .kd-chat-log,.kd-chat.is-min .kd-chat-f{display:none}.kd-chat-h{display:flex;align-items:center;gap:.45rem;padding:.45rem .7rem;cursor:pointer;border-bottom:1px solid rgba(240,207,122,.25);background:#0003}.kd-chat-h b{flex:1;color:#fff3d6;font-size:.9rem}.kd-chat-x{color:var(--muted);transition:transform .2s}.kd-chat.is-min .kd-chat-x{transform:rotate(180deg)}.kd-chat-n{min-width:20px;padding:0 6px;border-radius:10px;background:#dc2626;color:#fff;font-size:.7rem;font-weight:900;text-align:center;line-height:18px}.kd-chat-n[hidden]{display:none}.kd-chat-tabs{display:flex;gap:.2rem;padding:.3rem .4rem 0}.kd-chat-tabs button{flex:1;padding:.25rem;border:0;border-radius:8px 8px 0 0;background:#00000040;color:var(--muted);font-size:.74rem;font-weight:800;cursor:pointer}.kd-chat-tabs button.is-on{background:#00000080;color:var(--gold)}.kd-chat-log{flex:1;overflow-y:auto;padding:.35rem .5rem;margin:0 .4rem;background:#00000080;font-size:.8rem;line-height:1.4;scrollbar-width:thin;scrollbar-color:#7a5a2a transparent}.kd-cm{position:relative;display:flex;gap:.35rem;padding:.12rem 0;word-break:break-word}.kd-cm time{flex:none;color:#8f7b58;font-size:.68rem;padding-top:.1rem;font-variant-numeric:tabular-nums}.kd-cm b{color:#93c5fd;margin-right:.2rem}.kd-cm.is-me b{color:#86efac}.kd-cm span em{font-style:normal;font-size:.66rem;color:#8f7b58;margin-right:.25rem}.kd-cm span em:before{content:"["}.kd-cm span em:after{content:"]:"}.kd-cm.is-ev span{color:#f2c75c;font-style:italic}.kd-cm-del{position:absolute;right:0;top:0;display:none;border:0;background:#0009;border-radius:6px;cursor:pointer;font-size:.7rem}.kd-cm:hover .kd-cm-del{display:block}.kd-cm-empty{color:var(--muted);text-align:center;padding:1.2rem .5rem;font-style:italic}.kd-chat-f{display:flex;gap:.3rem;padding:.4rem}.kd-chat-f input{flex:1;min-width:0;padding:.45rem .6rem;border-radius:9px;border:1px solid rgba(240,207,122,.35);background:#00000073;color:var(--text);font:inherit;font-size:.82rem}.kd-chat-f input:focus{outline:none;border-color:var(--frame-hi)}.kd-chat-f button{width:38px;border-radius:9px;border:1px solid #2c5e1c;background:linear-gradient(#6cc04a,#3f8f2a);color:#fff;cursor:pointer;box-shadow:inset 0 1px #ffffff59}.kd-dock{gap:.5rem;padding:.4rem .7rem .35rem;border-radius:20px}.kd-dock button{min-width:64px;padding:0;gap:.2rem;background:none!important;color:#fff3d6;font-size:.7rem;text-shadow:0 1px 0 #000}.kd-dock button span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;font-size:1.35rem;background:radial-gradient(circle at 35% 30%,#7a5230,#3a2412);border:2px solid var(--frame);box-shadow:0 3px #1a0f07,inset 0 1px #ffe6b44d;transition:transform .12s}.kd-dock button:hover span{transform:translateY(-2px);border-color:var(--frame-hi)}.kd-dock button.is-on span{border-color:var(--frame-hi);box-shadow:0 0 0 3px #f0cf7a59,0 3px #1a0f07}.kd-dock button.is-on{color:var(--gold)}.kd-dock button.has-dot:after{top:0;right:8px;width:12px;height:12px;border:2px solid #2a1a0b}.kd-modal{background:#0a06038c}.kd-panel{border-radius:16px;width:min(480px,100%)}.kd-panel-h{position:relative;margin:-2px -2px 0;padding:.8rem 1rem;background:linear-gradient(180deg,#6b4724,#452d16);border-bottom:2px solid var(--frame)}.kd-panel-h h2{font-size:1.22rem;color:#ffe8b0;text-shadow:0 2px 0 #1a0f07}.kd-panel-h small{color:#e3cc9c}.kd-panel-b{padding:.8rem .8rem 1rem;scrollbar-color:#7a5a2a transparent}.kd-x{border:1px solid #6b1f14;background:linear-gradient(#c2412d,#7f1d12);color:#fff;font-weight:900;box-shadow:inset 0 1px #ffffff4d,0 2px #3a0d07}.kd-x:hover{background:linear-gradient(#dc4a33,#991b1b)}.kd-sub{color:var(--muted)}.kd-bld,.kd-quest,.kd-card,.kd-found-card .kd-found,.kd-found-card .kd-found-intro{--text: var(--ink);--muted: #6e5634;--bg: #fffaf0;--brd: rgba(90,60,25,.35);color:var(--ink);background:linear-gradient(180deg,var(--parch),var(--parch2));border:1px solid #b08a4a;box-shadow:inset 0 0 18px #8c642840,0 2px #00000059}.kd-found-card{padding:6px}.kd-found-card .kd-found,.kd-found-card .kd-found-intro{border-radius:12px}.kd-bld-ic{background:#5a3c191f;border:1px solid rgba(90,60,25,.25)}.kd-bld.is-new{border-style:dashed}.kd-cost .is-lack,.kd-err{color:#b91c1c}.kd-quest.is-done{border-color:#c98a1a;box-shadow:0 0 0 2px #f2c75c99,inset 0 0 18px #8c642840}.kd-quote{background:#ffffff59;border-color:#a8792e8c}.kd-ter-row i{background:#5a3c1926}.kd-ter-row i b{background:linear-gradient(90deg,#4f8a3d,#9bc75a)}.kd-job{background:#00000047;border-color:#f0cf7a59}.kd-btn{border:1px solid #2c5e1c;border-radius:10px;background:linear-gradient(#78c850,#3f8f2a);color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.45);box-shadow:inset 0 1px #fff6,0 3px #24501a,0 5px 10px #0000004d;transition:transform .08s,filter .12s}.kd-btn:hover:not(:disabled){filter:brightness(1.08)}.kd-btn:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 1px #fff6,0 1px #24501a}.kd-btn:disabled{background:linear-gradient(#a8a29e,#78716c);border-color:#57534e;box-shadow:0 2px #44403c;opacity:.7}.kd-btn-gold{border-color:#7a4f10;background:linear-gradient(#ffe08a,#d9a23c);color:#3a2410;text-shadow:0 1px 0 rgba(255,255,255,.4);box-shadow:inset 0 1px #fff9,0 3px #7a4f10}.kd-btn-ghost{border-color:#5a3a1a;background:linear-gradient(#8a5e34,#5c3c1e);box-shadow:inset 0 1px #ffe6b44d,0 3px #2e1c0c}.kd-mini{border-color:#5a3c1966;background:#5a3c191a;color:#6e5634}.kd-toasts{top:74px;right:auto;left:50%;transform:translate(-50%);align-items:center}.kd-toast{border-radius:12px;color:#fff3d6}.kd-toast.is-ok{border-color:#6cc04a}.kd-toast.is-err{border-color:#dc2626}.kd-toast.is-out{transform:translateY(-10px)}.kd-v-lb{border:1px solid var(--frame);background:linear-gradient(#4a3220,#2a1b0f);font-family:var(--serif);box-shadow:0 2px 6px #00000073}.kd-v-lb b{background:linear-gradient(#ffe08a,#d9a23c);color:#3a2410;font-family:system-ui,sans-serif}.kd-v-lb.is-busy b{background:linear-gradient(#fb923c,#c2410c);color:#fff}.kd-vhint{left:auto;right:12px;bottom:12px;transform:none;max-width:250px;white-space:normal;text-align:right;line-height:1.5;border-radius:12px;background:#1a110acc;border:1px solid rgba(240,207,122,.3);color:#e3cc9c}.kd-vload{background:#1a110acc}.kd-vload span{background:linear-gradient(90deg,#d9a23c,#fde68a)}.kd-gate>div{color:var(--text)}.maplibregl-popup-content{background:var(--wood);border:2px solid var(--frame)}@media(max-width:1000px){.kd-chat{width:290px;height:240px}.kd-queue{width:200px}}@media(max-width:760px){.kd-plate{min-width:0;padding-right:.5rem}.kd-plate div{display:none}.kd-chip{min-width:0}.kd-chip-ic{width:24px;height:24px;font-size:.85rem}.kd-queue{top:auto;bottom:86px;right:8px;width:180px}.kd-chat{left:8px;bottom:86px;width:calc(100% - 16px);height:220px}.kd-chat.is-min{width:170px}.kd-dock button{min-width:54px}.kd-dock button span{width:40px;height:40px;font-size:1.15rem}}.kd-lobby{position:fixed;inset:0;z-index:22;display:grid;place-items:center;padding:70px 14px 20px;background:#0a06038c;pointer-events:auto}.kd-lobby[hidden]{display:none}.kd-lobby.is-side{inset:78px 12px auto auto;padding:0;background:none;place-items:start}.kd-lb-card{width:min(440px,100%);max-height:calc(100vh - 100px);overflow-y:auto;padding:1.3rem 1.3rem 1.1rem;border-radius:16px;text-align:center;background:var(--wood);border:2px solid var(--frame);box-shadow:inset 0 0 0 1px #ffe1a024,0 20px 50px #0009}.kd-lobby.is-side .kd-lb-card{width:300px;text-align:left;padding:1rem}.kd-lb-card h2{margin:.3rem 0 .6rem;font-family:var(--serif);color:#ffe8b0;text-shadow:0 2px 0 #1a0f07}.kd-lb-card p{color:#e3cc9c;line-height:1.55}.kd-lb-card.is-offer{animation:kdpop .25s ease-out;box-shadow:0 0 0 3px #f2c75c80,0 20px 50px #0009}.kd-rules{text-align:left;margin:.6rem 0 1rem;padding:.7rem .9rem .7rem 1.8rem;border-radius:10px;background:#00000047;line-height:1.9;font-size:.86rem;color:#f3e4c0}.kd-btn-big{padding:.95rem 1rem;font-size:1.1rem;font-family:var(--serif)}.kd-btn-red{border-color:#6b1f14!important;background:linear-gradient(#e0533b,#8f2415)!important;box-shadow:inset 0 1px #ffffff59,0 3px #4a120a!important;color:#fff!important}.kd-row2{display:flex;gap:.5rem}.kd-row2 .kd-btn{flex:1;margin:0}.kd-cd{margin:.2rem 0 .7rem;padding:.5rem;border-radius:10px;background:#0000004d;color:#f2c75c;font-weight:800;text-align:center}.kd-cd b{font-size:1.3rem;font-variant-numeric:tabular-nums}.kd-plist{display:flex;flex-direction:column;gap:.3rem;margin:.5rem 0 .8rem;text-align:left}.kd-prow{display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;border-radius:10px;background:#00000047;border:1px solid rgba(240,207,122,.2)}.kd-prow.is-me{border-color:var(--frame-hi)}.kd-prow b{color:#fff3d6}.kd-prow small{flex:1;color:var(--muted);font-size:.74rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kd-prow em{font-style:normal;font-weight:900;color:var(--gold)}.kd-mbar{position:fixed;z-index:9;left:50%;top:66px;transform:translate(-50%);padding:.3rem .9rem;border-radius:999px;background:#1a110ae0;border:1px solid var(--frame);color:#f3e4c0;font-size:.78rem;font-weight:700;white-space:nowrap}.kd-mbar[hidden]{display:none}.kd-mbar a{color:var(--gold)}.kd-deadline{margin:0 0 .6rem;padding:.45rem .6rem;border-radius:10px;background:#b91c1c26;border:1px solid rgba(185,28,28,.45);color:#7f1d1d;font-weight:800;text-align:center}.kd-found-card.is-lobby{left:12px}.kd-pop,.kd-idle{cursor:pointer;font:inherit;text-align:left;color:inherit}.kd-pop.is-full{border-color:#dc2626;animation:kdpulse 1.2s infinite}.kd-pop.is-full small{color:#fca5a5}.kd-idle{border-color:#f2c75c}.kd-idle b{color:#fde68a}@keyframes kdpulse{50%{box-shadow:0 0 0 3px #dc262666,0 8px 22px #00000080}}.kd-q-row.is-alarm{border-color:#dc2626;background:#7f1d1d8c;animation:kdpulse 1s infinite}.kd-q-row.is-alarm b{color:#fecaca}.kd-q-row>div:first-child{padding-left:.15rem}.kd-pop,.kd-idle{min-width:0}.kd-qty{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;margin:.3rem 0 .2rem}.kd-qty .kd-inp{width:76px;margin:0;padding:.45rem .5rem}.kd-qty .kd-btn{width:auto;margin-left:auto}.kd-seg{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.6rem}.kd-seg button{padding:.35rem .55rem;border-radius:8px;border:1px solid rgba(90,60,25,.35);background:#ffffff59;color:var(--ink);font-size:.76rem;font-weight:800;cursor:pointer}.kd-seg button.is-on{background:linear-gradient(#ffe08a,#d9a23c);border-color:#7a4f10}.kd-popbar{margin:.5rem 0 .4rem}.kd-popbar i{display:block;height:8px;border-radius:6px;background:#5a3c1933;overflow:hidden}.kd-popbar i b{display:block;height:100%;background:linear-gradient(90deg,#4f8a3d,#9bc75a)}.kd-popbar span{font-size:.8rem;font-weight:700}.kd-hp{display:grid;grid-template-columns:130px 1fr 110px;align-items:center;gap:.5rem;margin:.35rem 0;font-size:.8rem;font-weight:700}.kd-hp i{height:8px;border-radius:6px;background:#5a3c1933;overflow:hidden}.kd-hp i b{display:block;height:100%;background:linear-gradient(90deg,#b91c1c,#22c55e)}.kd-hp em{font-style:normal;text-align:right;color:var(--muted)}.kd-works{display:flex;flex-direction:column;gap:.35rem;margin:.4rem 0 .6rem}.kd-work{display:flex;align-items:center;gap:.3rem;padding:.45rem .55rem;border-radius:12px;background:linear-gradient(180deg,var(--parch),var(--parch2));border:1px solid #b08a4a;color:var(--ink)}.kd-work>div{flex:1;min-width:0}.kd-work b{display:block;font-family:var(--serif)}.kd-work small{display:block;font-size:.7rem;color:#6e5634}.kd-work-ic{font-size:1.3rem;width:30px;text-align:center}.kd-work-n{width:64px!important;margin:0!important;padding:.35rem .4rem!important;text-align:center;background:#fffaf0!important;color:var(--ink)!important;border-color:#5a3c1959!important}.kd-step{min-width:30px;padding:.3rem .35rem;border-radius:7px;border:1px solid #5a3a1a;background:linear-gradient(#8a5e34,#5c3c1e);color:#fff3d6;font-weight:900;font-size:.74rem;cursor:pointer}.kd-step:hover{filter:brightness(1.15)}.kd-all{background:linear-gradient(#ffe08a,#d9a23c);color:#3a2410;border-color:#7a4f10}.kd-warn{color:#f2c75c}.kd-unit .kd-have{margin-left:auto;font-style:normal;font-weight:900;font-size:1rem;color:#3a2410}.kd-army{margin:.4rem 0;font-size:1.05rem;font-weight:800;letter-spacing:.02em}.kd-alarm{margin-bottom:.6rem;padding:.6rem .75rem;border-radius:12px;background:#7f1d1d99;border:1px solid #dc2626;color:#fee2e2;font-weight:700}.kd-alarm a{color:#fde68a}.kd-report{margin-bottom:.45rem;padding:.6rem .7rem;border-radius:12px;background:#00000047;border-left:4px solid #a8a29e}.kd-report.is-win{border-left-color:#22c55e}.kd-report.is-loss{border-left-color:#dc2626}.kd-report.is-draw{border-left-color:#f59e0b}.kd-report b{color:#fff3d6}.kd-report span{float:right;font-weight:800;font-size:.8rem}.kd-report small{display:block;margin-top:.3rem;color:var(--muted);line-height:1.55}.kd-job .kd-mini{margin-left:.4rem}.kd-mpop{display:flex;flex-direction:column;gap:.35rem;min-width:190px}.kd-mpop b{font-family:var(--serif);font-size:1rem;color:#ffe8b0}.kd-mpop small{color:var(--muted)}.maplibregl-popup-content{padding:.7rem .8rem;color:var(--text)}@media(max-width:760px){.kd-lobby.is-side{inset:auto 8px 90px}.kd-lobby.is-side .kd-lb-card{width:100%;max-height:40vh}.kd-hp{grid-template-columns:1fr;gap:.15rem}.kd-mbar{top:112px;font-size:.7rem}}.kd-qty .kd-mini{margin-left:0}.kd-bld a,.kd-card a,.kd-note a{color:#8a4b0f;font-weight:800}.kd-pop{display:flex;align-items:center}.kd-toasts{top:100px}.kd-rw{font-style:normal;font-size:.7rem;font-weight:800;padding:.1rem .4rem;border-radius:6px;white-space:nowrap}.kd-rw.is-up{background:#22c55e33;color:#86efac}.kd-rw.is-down{background:#dc262633;color:#fca5a5}.kd-myrw{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem;margin:.2rem 0 .6rem}.kd-myrw b{padding:.45rem .7rem;border-radius:10px;background:#0000004d;border:1px solid var(--frame);color:#ffe8b0}.kd-xf-row{display:grid;grid-template-columns:1fr auto 1fr;gap:.35rem;align-items:center;margin:.45rem 0 .2rem}.kd-xf-row .kd-inp{margin:0;padding:.45rem .5rem}.kd-xf-swap{min-width:36px;height:34px;font-size:.95rem}.kd-chip-btn{cursor:pointer}.kd-chip-btn:hover{border-color:var(--frame-hi)}#kd-map{background:#4b3d2a;overflow:hidden}.kd-map2d{position:absolute;inset:0;display:block;touch-action:none;cursor:grab}.kd-mpop-wrap{position:absolute;left:0;top:0;z-index:3;pointer-events:auto;padding:.7rem .8rem;border-radius:12px;background:var(--wood);border:2px solid var(--frame);box-shadow:0 10px 26px #0000008c;color:var(--text)}.kd-mpop-wrap[hidden]{display:none}.kd-mpop-wrap:after{content:"";position:absolute;left:50%;bottom:-9px;transform:translate(-50%) rotate(45deg);width:14px;height:14px;background:#2f1f12;border-right:2px solid var(--frame);border-bottom:2px solid var(--frame)}.kd-zoom{position:absolute;right:12px;bottom:14px;z-index:4;display:flex;flex-direction:column;gap:.3rem}.kd-zoom button{width:38px;height:38px;border-radius:10px;border:2px solid var(--frame);background:var(--wood);color:#ffe8b0;font-size:1.2rem;font-weight:900;cursor:pointer;box-shadow:0 4px 10px #0006}.kd-zoom button:hover{border-color:var(--frame-hi)}.kd-map3d{position:absolute;inset:0;display:block;touch-action:none;cursor:grab}.kd-map3d:active{cursor:grabbing}.kd-w-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:2}.kd-w-tag{position:absolute;left:0;top:0;pointer-events:auto;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:1px;padding:.28rem .6rem .3rem;border-radius:10px;background:#110c089e;border:1px solid rgba(255,236,190,.28);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 6px 18px #00000059;white-space:nowrap;transition:opacity .2s}.kd-w-tag b{display:flex;align-items:center;gap:.35rem;color:#fff8e7;font:800 .82rem/1.15 system-ui,sans-serif;letter-spacing:.01em}.kd-w-tag small{color:#e9d7b0;font:600 .66rem/1.2 system-ui,sans-serif}.kd-w-tag i{position:absolute;left:.45rem;top:.5rem;width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 2px #ffffff59}.kd-w-tag:has(i){padding-left:1.3rem}.kd-w-tag.is-mine{border-color:#fde047;box-shadow:0 0 0 2px #fde04759,0 6px 18px #00000059}.kd-w-tag.is-mine b{color:#fde68a}.kd-w-tag.is-dead{opacity:.7}.kd-w-tag.is-dead b{text-decoration:line-through;color:#d4d4d8}.kd-w-tag.is-post{background:#064e3ba8;border-color:#a7f3d059}.kd-w-tag.is-post b{color:#d1fae5;font-size:.74rem}.kd-w-tag.is-far small{display:none}.kd-w-tag.is-far{padding:.2rem .45rem}.kd-w-tag.is-far:has(i){padding-left:1.15rem}.kd-w-tag:hover{border-color:#fde047}.kd-w-mover{position:absolute;left:0;top:0;font-size:1.35rem;filter:drop-shadow(0 3px 4px rgba(0,0,0,.55));pointer-events:none}.kd-w-loading{position:absolute;inset:0;display:grid;place-items:center;color:#fde68a;font-weight:800;background:radial-gradient(circle at 50% 40%,#3b5b2e,#1f2d18)}.kd-w-loading[hidden]{display:none}.kd-zoom-hint{display:grid;place-items:center;width:38px;height:26px;border-radius:8px;background:#110c0899;color:#e9d7b0;font-weight:800;cursor:help}#kd-map:has(.kd-map3d){background:#a9cfe8}.kd-zoom .kd-zoom-style{font-size:.78rem;font-weight:900;letter-spacing:.02em;background:linear-gradient(#ffe08a,#d9a23c);color:#3a2410}.kd-w-tag.is-node{padding:.16rem .45rem;border-radius:8px;background:#110c088c}.kd-w-tag.is-node b{font-size:.72rem}.kd-w-tag.is-node small{font-size:.62rem}.kd-w-tag.is-node.k-wood{border-color:#22c55e8c}.kd-w-tag.is-node.k-gold{border-color:#facc15b3}.kd-w-tag.is-node.k-stone{border-color:#cbd5e199}.kd-w-tag.is-node.k-food{border-color:#f9731699}.kd-w-tag.is-node.has-mine{box-shadow:0 0 0 2px #fde0478c}.kd-w-tag.is-node.has-enemy small{color:#fecaca}.kd-nbar{height:5px;margin-top:3px;border-radius:4px;background:#5a3c1933;overflow:hidden}.kd-nbar i{display:block;height:100%;background:linear-gradient(90deg,#d97706,#84cc16)}.kd-mpop .kd-nbar{background:#ffffff26}.kd-parties{display:flex;flex-direction:column;gap:.35rem;margin:.4rem 0 .6rem}.kd-party{display:grid;grid-template-columns:30px 1fr auto auto;align-items:center;gap:.45rem;padding:.45rem .55rem;border-radius:12px;background:linear-gradient(180deg,var(--parch),var(--parch2));border:1px solid #b08a4a;color:var(--ink)}.kd-party b{font-family:var(--serif)}.kd-party b small{font-family:system-ui,sans-serif;font-weight:600;color:#6e5634}.kd-party>div>small{display:block;font-size:.7rem;color:#6e5634}.kd-party-n{text-align:right}.kd-party-n b{display:block}.kd-party-n small{font-size:.68rem;color:#6e5634}.kd-party-act{display:flex;gap:.2rem}.kd-warn2{color:#fca5a5!important}.kd-wcv.is-placing{cursor:crosshair}.kd-wlab{position:absolute;left:0;top:0;display:inline-flex;align-items:center;gap:.35rem;padding:.18rem .6rem;border-radius:999px;white-space:nowrap;pointer-events:none;background:linear-gradient(#4a3220,#2a1b0f);border:1px solid var(--frame);color:#fde9c0;font:700 .76rem/1.2 var(--serif);box-shadow:0 2px 6px #00000073}.kd-wlab.is-me{border-color:#fde68a;color:#fff}.kd-wlab i{width:.6rem;height:.6rem;border-radius:50%;border:1px solid rgba(255,255,255,.6)}.kd-wlab small{opacity:.7;font-weight:600}.kd-dot{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;margin-right:.3rem;vertical-align:middle}.kd-placebar{position:fixed;left:50%;bottom:5.4rem;transform:translate(-50%);z-index:24;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;justify-content:center;max-width:min(760px,calc(100vw - 24px));padding:.55rem .8rem;border-radius:14px;background:linear-gradient(#4a3220,#2a1b0f);border:2px solid var(--frame);color:#fde9c0;box-shadow:0 6px 18px #00000080}.kd-placebar[hidden]{display:none}.kd-placebar>span{font-size:.82rem;opacity:.92;display:inline-flex;gap:.35rem;align-items:center;flex-wrap:wrap}.kd-placebar>span span.is-lack{color:#fca5a5}.kd-wload{position:fixed;inset:0;z-index:3;display:grid;place-items:center;background:#1a110ad9}.kd-wload[hidden]{display:none}.kd-wload>div{width:min(320px,80vw);text-align:center;color:#fde9c0}.kd-wload i{display:block;height:6px;margin-top:.7rem;border-radius:6px;background:#ffffff1f;overflow:hidden}.kd-wload span{display:block;height:100%;width:0;background:linear-gradient(90deg,#d9a23c,#fde68a);transition:width .2s}.kd-placebar{bottom:6.6rem}.kd-placebar .kd-btn,.kd-placebar .kd-mini{width:auto;margin:0;flex:0 0 auto}.kd-qsend{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.kd-qsend>span{font-size:.78rem;opacity:.85}.kd-qsend .kd-mini{background:linear-gradient(#f0cf7a,#b98a36);color:#2a1a0b;border:1px solid #7a5a22;font-weight:800;padding:.25rem .55rem;opacity:1}.kd-qsend .kd-mini:disabled{background:#ffffff14;color:#ffffff59;border-color:transparent}.kd-bside{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.5rem}.kd-bside>div{display:flex;flex-direction:column;gap:.2rem;padding:.5rem;border-radius:10px;background:#0000000f}.kd-bside small{opacity:.7}.kd-myarmy{display:flex;flex-direction:column;gap:.4rem}.kd-seg{flex-wrap:wrap}.kd-vpal{position:absolute;left:12px;top:84px;bottom:90px;width:232px;z-index:6;overflow-y:auto;display:flex;flex-direction:column;gap:.3rem;padding:.45rem;border-radius:14px;background:linear-gradient(#3b2718ee,#24170dee);border:2px solid var(--frame);box-shadow:0 6px 18px #00000073}.kd-pal-h{font:700 .9rem var(--serif);color:#fde9c0;padding:.15rem .3rem .3rem}.kd-pal-h small{display:block;font-weight:500;opacity:.7;font-size:.7rem}.kd-pal{display:flex;gap:.45rem;align-items:center;text-align:left;padding:.35rem .45rem;border-radius:10px;cursor:pointer;font:inherit;color:#2a1a0b;background:linear-gradient(#f6e7c4,#e6cf9c);border:1px solid #8a6a34}.kd-pal:hover{filter:brightness(1.06)}.kd-pal.is-on{outline:3px solid #22c55e}.kd-pal.is-blocked{filter:grayscale(.7) opacity(.75)}.kd-pal-ic{font-size:1.35rem;width:1.8rem;text-align:center}.kd-pal-t{display:flex;flex-direction:column;min-width:0}.kd-pal-t b{font-size:.82rem}.kd-pal-t small{font-size:.68rem;opacity:.8}.kd-pal-c span{margin-right:.25rem}.kd-pal-lock{color:#7f1d1d}@media(max-width:760px){.kd-vpal{inset:auto 8px 88px;width:auto;height:132px;flex-direction:row;overflow-x:auto;overflow-y:hidden}.kd-pal{min-width:170px}.kd-pal-h{display:none}}
