:root{--font:Ubuntu,system-ui,-apple-system,"Segoe UI",sans-serif;--hud:#3c3c3c;--hud-edge:#595959;--blue1:#5a9cc0;--blue2:#3a7898;--paper:#ecebe4;--row:#dde9f3}#ui{pointer-events:none;font:13px/1.35 var(--font);color:#222;z-index:5;position:absolute;inset:0}#ui>*{pointer-events:auto}#ui button,#ui input,#ui select{font:inherit}.win{border:1px solid #285a76;border-radius:7px;flex-direction:column;max-width:100vw;max-height:100vh;display:flex;position:absolute;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff40,0 4px 12px #00000073}.win.light{background:var(--paper);color:#222}.win.dark{background:var(--hud);color:#ddd;border-color:#1a1a1a}.win-title{color:#fff;text-shadow:0 1px #0006;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;flex:none;justify-content:center;align-items:center;height:30px;font-weight:700;display:flex;position:relative}.win.light .win-title{background:linear-gradient(var(--blue1),var(--blue2))}.win.dark .win-title{background:linear-gradient(#4a4a4a,#333)}.win-close{color:#fff;cursor:pointer;background:linear-gradient(#ee6a5a,#c8372a);border:1px solid #7a1c1c;border-radius:3px;width:18px;height:18px;padding:0;font-size:12px;line-height:15px;position:absolute;top:6px;right:7px}.win-body{flex-direction:column;flex:1;gap:8px;min-height:0;padding:10px;display:flex}.k-row{align-items:center;gap:8px;min-width:0;display:flex}.k-col{flex-direction:column;gap:8px;min-width:0;display:flex}.k-fill{flex:1;min-width:0;min-height:0}.k-text{margin:0}.k-muted{color:#777}.k-b{font-weight:700}.k-btn{color:#222;cursor:pointer;background:linear-gradient(#fbfbf8,#dcdcd6);border:1px solid #888;border-radius:5px;padding:5px 14px;font-weight:500}.k-btn:hover{filter:brightness(1.05)}.k-btn:disabled{opacity:.5;cursor:default}.k-btn.blue{color:#fff;background:linear-gradient(#4db4e6,#2b84b8);border-color:#1b5f87;font-weight:700}.k-btn.green{color:#fff;background:linear-gradient(#78cc50,#43a02c);border-color:#2b6f1b;font-weight:700}.k-btn.big{text-shadow:0 1px #0000004d;padding:14px 16px;font-size:14px}.win.dark .k-btn{color:#fff;background:#2b2b2b;border-color:#555}.k-input,.k-select{color:#222;background:#fff;border:1px solid #9a9a96;border-radius:5px;min-width:0;padding:5px 8px}.k-tabs{border-bottom:1px solid #999;gap:3px;padding-left:2px;display:flex}.k-tab{cursor:pointer;color:#444;background:linear-gradient(#e4e4de,#cfcfc8);border:1px solid #999;border-bottom:none;border-radius:5px 5px 0 0;margin-bottom:-1px;padding:4px 14px}.k-tab.on{color:#000;background:#fff;border-color:#555;font-weight:500}.win.dark .k-tabs{border-bottom-color:#1a1a1a}.win.dark .k-tab{color:#ccc;background:#2b2b2b;border-color:#1a1a1a}.win.dark .k-tab.on{color:#fff;background:#555}.k-list{background:#fff;border:1px solid #9a9a96;flex:1;min-height:80px;overflow:auto}.k-grid{background:#fff;border:1px solid #9a9a96;flex-wrap:wrap;align-content:flex-start;gap:6px;padding:8px;display:flex;overflow:auto}.rr{cursor:pointer;align-items:center;gap:8px;min-height:22px;padding:2px 6px;display:flex}.rr:nth-child(2n){background:var(--row)}.rr:hover{background:#c9dff0}.rr.sel{background:#b6d4ea}.rr .cnt{color:#fff;text-align:center;background:#c4c4c0;border-radius:3px;flex:none;width:42px;padding:1px 0;font-size:12px;font-weight:700}.rr .cnt.low{background:#59b13b}.rr .cnt.mid{background:#f0a526}.rr .cnt.full{background:#d9473a}.rr .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.rr .ow{color:#7a8a96;flex:none;font-size:11px}.rr .inf{color:#fff;text-align:center;background:#3a9ad9;border-radius:50%;flex:none;width:18px;height:18px;font-size:12px;font-style:italic;font-weight:700;line-height:18px}.empty{color:#777;text-align:center;padding:14px}.detail{color:#333;background:#f6f6f2;border:1px solid #c5c5bf;border-radius:4px;min-height:44px;padding:5px 8px;font-size:12px}.lay{text-align:center;cursor:pointer;color:#444;background:#f4f4ef;border:1px solid #bcbcb4;border-radius:5px;width:96px;padding:4px;font-size:11px}.lay canvas{background:#fff;margin:0 auto;display:block}.lay.on{background:#dcecf8;border:2px solid #3a8fc4;padding:3px}.th{cursor:pointer;background:#fff;border:2px solid #bbb;border-radius:6px;justify-content:center;align-items:center;width:76px;height:76px;padding:0;display:flex}.th.on{border-color:#f0a526;box-shadow:0 0 0 1px #f0a526}.th canvas{image-rendering:pixelated}.pv{flex-direction:column;flex:none;align-items:center;gap:6px;width:200px;display:flex}.pv canvas{image-rendering:pixelated;background:radial-gradient(at 50% 88%,#777 0 18%,#555 19% 100%);border-radius:6px}#toolbar{background:var(--hud);border:2px solid var(--hud-edge);border-radius:6px;flex-direction:column;align-items:center;gap:2px;width:76px;padding:6px 0 4px;display:flex;position:absolute;top:6px;left:6px;box-shadow:0 0 0 1px #1a1a1a}.tb{color:#fff;text-shadow:0 1px #000;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;width:100%;padding:6px 0;font-size:12px;font-weight:700;display:flex}.tb:hover{background:#ffffff14}.tb.on{background:#ffcb3d2e}.tb svg,.tb canvas{width:40px;height:40px}.tb.home{background:linear-gradient(#ffd45c,#e9a62a);border:2px solid #1a1a1a;border-radius:8px;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:6px;padding:0}.tb.home svg{width:30px;height:30px}#topright{gap:4px;display:flex;position:absolute;top:6px;right:8px}.hb{color:#fff;cursor:pointer;background:#2b2b2b;border:1px solid #555;border-radius:5px;height:26px;padding:0 24px;font-weight:700}#bar{height:46px;padding:0 max(10px,env(safe-area-inset-left,0px));background:linear-gradient(#3a3a3a,#2a2a2a);border-top:1px solid #555;align-items:center;gap:10px;display:flex;position:absolute;bottom:0;left:0;right:0}#bar #roomname{color:#fff;text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:30%;font-weight:700;overflow:hidden}#bar input{background:#f2f2ee;border:1px solid #1a1a1a;border-radius:14px;flex:1;min-width:0;padding:6px 12px}#toast{text-align:center;color:#fff;z-index:20;background:#2b2b2b;border:2px solid #ffcb3d;border-radius:6px;max-width:80%;padding:8px 14px;position:absolute;top:60px;left:50%;transform:translate(-50%)}.pc,.pt{cursor:pointer;background:#f6f6f2;border:2px solid #c3c3bc;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;padding:2px;display:flex;position:relative}.pc{width:64px;height:64px}.pt{gap:1px;width:84px;height:84px}.pc.on,.pt.on{background:#fff6dc;border-color:#f0a526}.pc canvas,.pt canvas,.ct canvas{image-rendering:pixelated}.pcn{color:#fff;text-align:center;background:#3a8fc4;border-radius:8px;min-width:16px;padding:0 4px;font-size:11px;font-weight:700;position:absolute;bottom:2px;right:2px}.pp{color:#555;font-size:11px}.cat-tree{background:#f3f2ea;padding:2px 0}.ct{cursor:pointer;align-items:center;gap:6px;min-height:28px;padding:2px 8px;display:flex}.ct:hover{background:#dce8f0}.ct.sel{background:#b6d4ea;font-weight:700}.ct.fold{color:#345;font-weight:700}.cat-title{font-size:16px}.cat-buy{border-top:1px solid #c5c5bf;padding-top:6px}#itemcard{background:var(--hud);border:2px solid var(--hud-edge);color:#fff;border-radius:6px;flex-direction:column;gap:6px;width:236px;padding:8px;display:flex;position:absolute;bottom:56px;left:92px;box-shadow:0 0 0 1px #1a1a1a}#itemcard canvas{image-rendering:pixelated;background:#2a2a2a;border-radius:4px;align-self:center}#itemcard .nm{text-align:center;font-weight:700}#itemcard .bt{flex-wrap:wrap;gap:4px;display:flex}#itemcard .bt button{font:inherit;color:#fff;cursor:pointer;background:#2b2b2b;border:1px solid #666;border-radius:4px;flex:1;margin:0;padding:4px 8px;font-weight:700}#itemcard .bt button:hover{background:#444}#itemcard .bt .red{background:#a43a2c}#coins{background:var(--hud);border:1px solid var(--hud-edge);color:#fff;border-radius:5px;padding:3px 10px;font-weight:700;position:absolute;top:38px;right:8px}#coins b{color:#ffcb3d}#itemcard[hidden],#toast[hidden]{display:none}
