:root{
  --bg:#F7F3EC; --card:#FFFFFF; --soft:#FFF9F0; --input:#FFFDF9;
  --line:#E8E0D2; --line2:#F0E6D6;
  --accent:#E26E24; --acchot:#F08032; --accdown:#C85C14;
  --text:#3D362B; --dim:#9A9083;
}
*{ box-sizing:border-box; margin:0; padding:0; }
html,body{ height:100%; }
body{
  background:var(--bg); color:var(--text);
  font-family:"Microsoft YaHei UI","Microsoft YaHei",sans-serif; font-size:13px;
}
body.embed .ed-head{ display:none; }
body.embed .ed-app{ padding:8px; }
.ed-app{ height:100%; min-height:100%; display:flex; flex-direction:column; padding:10px 12px 16px; overflow:hidden; }
.ed-head{
  display:flex; align-items:center; gap:10px; margin-bottom:10px; flex-wrap:wrap;
}
.ed-badge{
  width:36px; height:36px; border-radius:10px; flex:none;
  background:linear-gradient(135deg,#ff6a00,#ff9a3c);
  color:#fff; font-weight:900; font-style:italic; font-size:16px;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 12px rgba(255,106,0,.35);
}
.ed-head h1{ font-size:16px; font-weight:700; }
.ed-sub{ color:var(--dim); font-size:12px; }
.ed-head a.back{
  color:var(--accent); text-decoration:none; border:1px solid var(--accent);
  border-radius:6px; padding:4px 10px; font-size:12px;
}
.ed-head a.back:hover{ background:var(--accent); color:#fff; }
.ed-langs{ margin-left:auto; display:flex; gap:4px; }
.ed-bar .desk-langs{ margin-left:4px; }
.lang-btn{
  padding:3px 8px; border-radius:999px; text-decoration:none; font-size:12px;
  color:var(--dim); border:1px solid transparent;
}
.lang-btn.on{ color:var(--accent); border-color:var(--accent); background:#fff; }
.ed-bar{
  display:flex; flex-wrap:wrap; gap:8px; align-items:center;
  background:#fff; border:1px solid var(--line); border-radius:8px;
  padding:8px 10px; margin-bottom:8px;
}
.ed-bar .spak-btnwrap{ position:relative; display:inline-flex; align-items:center; }
.ed-bar .spak-btnwrap input[type=file]{ position:absolute; inset:0; opacity:0; cursor:pointer; }
button, .ed-btn{
  height:28px; padding:0 12px; border-radius:6px; cursor:pointer;
  font-size:12px; font-family:inherit; border:1px solid var(--line);
  background:#F3EDE2; color:#6B6152;
}
button.pri, .ed-btn.pri{
  background:var(--accent); color:#fff; border-color:#FFB266; font-weight:700;
}
a.ed-btn{ display:inline-flex; align-items:center; text-decoration:none; }
button:hover{ filter:brightness(1.05); }
.ed-mini{ height:22px; padding:0 6px; font-size:11px; }
.ed-note{ color:var(--dim); font-size:12px; }
.ed-toast{ font-size:12px; min-height:16px; }
.ed-body{ display:grid; grid-template-columns:220px minmax(0,1fr) 240px; gap:8px; flex:1; min-height:0; }
.ed-card{
  background:#fff; border:1px solid var(--line); border-radius:8px; padding:8px;
  min-height:0; display:flex; flex-direction:column;
}
.ed-card h3{ color:var(--accent); font-size:13px; margin-bottom:6px; padding-bottom:4px; border-bottom:1px solid var(--line2); }
.ed-list{
  position:relative; flex:1; min-height:280px; overflow:auto;
  background:#111; color:#f3c9a3; border-radius:4px; font-family:Consolas,"Microsoft YaHei",monospace; font-size:12px;
}
.ed-listin{ position:relative; }
.ed-li{ position:absolute; left:0; right:0; height:22px; line-height:22px; padding:0 8px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; cursor:pointer; }
.ed-li:hover{ background:#2a2018; }
.ed-li.on{ background:#E26E24; color:#fff; }
.ed-fields{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:4px 8px;
  overflow:auto; padding-right:4px; flex:1;
}
.ed-f{ display:flex; align-items:center; gap:4px; min-width:0; }
.ed-f.wide{ grid-column:span 2; }
.ed-f label{ width:78px; flex:none; text-align:right; color:#5c5348; font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ed-f input, .ed-f select{
  flex:1; min-width:0; height:22px; padding:0 5px;
  background:var(--input); border:1px solid #DCD3C2; border-radius:3px;
  color:var(--text); font-size:12px; outline:none;
}
.ed-f input:focus, .ed-f select:focus{ border-color:var(--accent); }
.ed-side .blk{ border:1px solid var(--line2); border-radius:6px; padding:8px; margin-bottom:8px; background:var(--soft); }
.ed-side .blk h4{ font-size:12px; color:var(--accent); margin-bottom:6px; }
.ed-side label.s{ display:block; font-size:12px; color:var(--dim); margin:4px 0 2px; }
.ed-side input[type=text], .ed-side select{
  width:100%; height:24px; padding:0 6px; border:1px solid #DCD3C2; border-radius:4px; background:#fff; font-size:12px;
}
.ed-ops{ display:flex; flex-wrap:wrap; gap:4px; margin-top:6px; }
.ed-raw{
  margin-top:8px; display:flex; gap:8px; align-items:stretch;
}
.ed-raw textarea{
  flex:1; min-height:54px; resize:vertical; padding:6px;
  border:1px solid var(--line); border-radius:6px; font-family:Consolas,monospace; font-size:12px; background:#fff;
}
.ed-raw .col{ display:flex; flex-direction:column; gap:6px; width:88px; }
.ed-modal{
  display:none; position:fixed; inset:0; background:rgba(40,30,20,.35);
  align-items:center; justify-content:center; z-index:20;
}
.ed-modal .box{ background:#fff; border-radius:10px; padding:16px; width:320px; box-shadow:0 8px 30px rgba(0,0,0,.15); }
.ed-modal .lims{ display:grid; grid-template-columns:1fr 1fr; gap:6px; margin:10px 0; font-size:13px; }
.ed-split{ display:grid; grid-template-rows:1fr 1fr; gap:8px; min-height:0; flex:1; }
.ed-pane{ display:grid; grid-template-columns:200px minmax(0,1fr) 220px; gap:8px; min-height:0; }
.ed-pane .ed-list{ min-height:160px; }
@media (max-width:1200px){
  .ed-body{ grid-template-columns:180px 1fr; }
  .ed-side{ grid-column:1 / -1; display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:8px; }
  .ed-fields{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .ed-pane{ grid-template-columns:160px 1fr; }
}
.ded-body{
  display:grid; grid-template-columns:150px 158px minmax(320px,1fr) 168px;
  gap:6px; flex:1 1 auto; height:0; min-height:240px;
}
.ded-body > .ed-card .ed-list{ min-height:160px; }
.ded-drops{ display:grid; grid-template-columns:1fr 1fr 1fr; min-height:0; gap:6px; }
.ded-tbl{ min-height:0; display:flex; flex-direction:column; }
.ded-tbl h3{ font-size:12px; }
.ded-th{ display:grid; grid-template-columns:64px minmax(0,1fr) 70px; gap:4px; font-size:11px; color:var(--dim); padding:0 2px 4px; }
.ded-slots{ overflow:auto; flex:1; min-height:160px; }
.ded-slot{ display:grid; grid-template-columns:64px minmax(0,1fr) 70px; gap:4px; align-items:center; padding:1px 2px; border-radius:3px; }
.ded-slot.on{ background:#FFF1E4; outline:1px solid var(--accent); }
.ded-slot input{ height:20px; width:100%; padding:0 4px; border:1px solid #DCD3C2; border-radius:3px; font-size:11px; background:#fff; }
.ded-name{ height:20px; line-height:20px; font-size:12px; color:#3D362B; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding:0 4px; }
.ded-hint{ font-size:10px; color:var(--dim); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ded-total{ font-size:12px; color:var(--accent); padding-top:4px; }
.ded-foot{
  display:grid; grid-template-columns:220px minmax(0,1fr) 260px; gap:8px;
  margin-top:8px; flex:none;
}
.ded-chests{ height:80px; min-height:80px; }
.ded-warn{ font-size:12px; color:#8a5a20; line-height:1.45; padding:6px 8px; background:var(--soft); border:1px solid var(--line2); border-radius:6px; }
.ded-mode{ display:flex; flex-direction:column; gap:6px; }
@media (max-width:1100px){
  .ded-body{ grid-template-columns:1fr 1fr 1fr; }
  .ded-body > .ed-card:nth-child(1),
  .ded-body > .ed-card:nth-child(2){ min-height:180px; }
}
.qed-treebox{ flex:none; height:120px; margin-bottom:8px; }
.qed-tree{ min-height:0; height:86px; }
.qed-tree .ed-li{ position:relative; top:auto !important; }
.qed-body{ display:grid; grid-template-columns:200px minmax(0,1fr) 180px; gap:8px; flex:1; min-height:0; }
.qed-body > .ed-card .ed-list{ min-height:0; }
.qed-form{ overflow:auto; }
.qed-lab{ font-size:12px; color:var(--accent); margin:6px 0 3px; }
.qed-row{ display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin-bottom:4px; }
.qed-row label, .qed-f label, .qed-pair label{ font-size:12px; color:#5c5348; }
.qed-row input, .qed-f input, .qed-pair input{ height:22px; padding:0 5px; border:1px solid #DCD3C2; border-radius:3px; width:70px; }
.qed-reqs{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:4px 8px; }
.qed-f{ display:flex; align-items:center; gap:4px; min-width:0; }
.qed-f input{ flex:1; min-width:0; width:auto; }
.qed-pairs{ display:flex; flex-wrap:wrap; gap:6px 10px; }
.qed-pair{ display:flex; align-items:center; gap:4px; }
.qed-black{ width:100%; min-height:52px; background:#111; color:#f3c9a3; border:0; border-radius:4px; padding:6px; font:12px Consolas,"Microsoft YaHei",monospace; resize:vertical; }
.qed-ilist{ color:#ff6a6a; }
@media (max-width:1100px){
  .qed-body{ grid-template-columns:1fr; }
  .qed-reqs{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
.fed-body{ display:grid; grid-template-columns:repeat(5, minmax(0,1fr)) 200px; gap:6px; flex:1; min-height:0; }
.fed-col{ min-height:0; display:flex; flex-direction:column; }
.fed-col h3{ font-size:12px; }
@media (max-width:1200px){ .fed-body{ grid-template-columns:1fr 1fr; } }
.gmt-app{ gap:8px; }
.gmt-tabs, .gmt-subtabs{ display:flex; flex-wrap:wrap; gap:4px; }
.gmt-tabs button, .gmt-subtabs button{
  height:26px; padding:0 10px; border:1px solid var(--line); background:#fff; border-radius:5px; cursor:pointer; color:var(--text);
}
.gmt-tabs button.on, .gmt-subtabs button.on{ background:var(--accent); color:#fff; border-color:var(--accent); }
.gmt-pane{ display:none; flex:1; min-height:0; flex-direction:column; gap:8px; }
.gmt-pane.on{ display:flex; }
.gmt-grid2{ display:grid; grid-template-columns:1fr 1fr; gap:8px; min-height:0; }
.gmt-grid2 .qed-reqs{ grid-template-columns:repeat(2, minmax(0,1fr)); }
.gmt-log{ height:220px; overflow:auto; background:#111; color:#7CFC7C; font:12px/1.5 Consolas,"Microsoft YaHei",SimSun,monospace; padding:8px; border-radius:4px; margin-top:8px; white-space:pre-wrap; }
.gmt-player{ display:grid; grid-template-columns:220px minmax(0,1fr) 220px; gap:8px; }
.gmt-eq, .gmt-grid{ display:grid; grid-template-columns:repeat(8, minmax(0,1fr)); gap:4px; }
.gmt-cell{ min-height:52px; border:1px solid var(--line); border-radius:4px; background:#FFFDF9; padding:3px; font-size:11px; cursor:pointer; overflow:hidden; }
.gmt-cell.empty{ background:#f3eee6; }
.gmt-cell b{ display:block; color:var(--accent); }
.gmt-cell span{ display:block; color:var(--dim); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gmt-bags{ display:flex; flex-direction:column; gap:6px; flex:1; min-height:0; }
.gmt-table{ width:100%; border-collapse:collapse; font-size:12px; }
.gmt-table th, .gmt-table td{ border-bottom:1px solid var(--line2); padding:4px 6px; text-align:left; }
.gmt-table tr{ cursor:pointer; }
.gmt-table tr:hover{ background:#FFF1E4; }
.gmt-mall{ display:grid; grid-template-columns:280px minmax(0,1fr); gap:8px; flex:1; min-height:0; }
.gmt-mall .ed-card{ min-height:0; display:flex; flex-direction:column; }
.gmt-mall-list{ flex:1; min-height:200px; overflow:auto; background:#111; color:#f3c9a3; border-radius:4px; font:12px/22px Consolas,"Microsoft YaHei",monospace; }
.gmt-mall-list .ed-li{ padding:0 8px; cursor:pointer; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gmt-mall-list .ed-li:hover{ background:#2a2218; }
.gmt-mall-list .ed-li.on{ background:#E26E24; color:#fff; }
.gmt-mall-fields{ grid-template-columns:repeat(2, minmax(0,1fr)); }
.gmt-mall-fields .qed-f.wide{ grid-column:1 / -1; align-items:flex-start; }
.gmt-mall-fields textarea{ width:100%; min-height:72px; padding:6px; border:1px solid #DCD3C2; border-radius:3px; resize:vertical; font:12px Microsoft YaHei,sans-serif; }
.gmt-mall-fields select{ height:22px; border:1px solid #DCD3C2; border-radius:3px; }
.gmt-dungeon{ flex:none; }
.gmt-dun-head, .gmt-dun-row{
  display:grid; grid-template-columns:160px 90px 72px; gap:8px; align-items:center;
  font-size:12px; padding:3px 0;
}
.gmt-dun-head{ color:var(--dim); }
.gmt-dun-row input{ height:22px; width:100%; padding:0 6px; border:1px solid #DCD3C2; border-radius:3px; text-align:center; background:#fff; }
.gmt-dun-row input.hot{ color:#c0392b; font-weight:700; }
.gmt-dun-row input.miss{ color:var(--dim); }
@media (max-width:1100px){
  .gmt-grid2, .gmt-player, .gmt-mall{ grid-template-columns:1fr; }
}
.mse-body{ display:grid; grid-template-columns:minmax(0,1fr) 248px; gap:8px; flex:1; min-height:0; }
.mse-mapwrap{ min-height:0; background:#000; border:1px solid #111; border-radius:4px; overflow:hidden; position:relative; }
.mse-mapwrap canvas{ width:100%; height:100%; display:block; cursor:crosshair; }
.mse-side{ min-height:0; display:flex; flex-direction:column; gap:4px; }
.mse-side h3{ color:var(--accent); font-size:12px; margin:4px 0 0; }
.mse-xyhead, .mse-xy{ display:grid; grid-template-columns:1fr 1fr; gap:4px; font-size:11px; color:var(--dim); padding:0 2px; }
.mse-side.npc .mse-xyhead, .mse-side.npc .mse-xy{ grid-template-columns:1fr 1fr 44px; }
.mse-xylist{ flex:0 0 120px; overflow:auto; background:#111; border-radius:4px; padding:2px; }
.mse-xy{ color:inherit; padding:1px 2px; }
.mse-xy.on{ background:#E26E24; }
.mse-xy input{ height:20px; width:100%; padding:0 4px; border:1px solid #333; border-radius:2px; background:#1a1a1a; color:#f3c9a3; font-size:11px; }
.mse-xy.on input{ background:#fff; color:#333; border-color:#fff; }
.mse-row{ display:flex; flex-wrap:wrap; gap:4px; align-items:center; font-size:12px; }
.mse-maplist{ flex:0 0 110px; min-height:80px; }
.mse-monlist{ flex:1; min-height:80px; }
.mse-foot{ margin-top:8px; flex-wrap:wrap; }
.mse-foot button.pri{ background:var(--accent); color:#fff; border-color:#FFB266; font-weight:700; }
.mm-body{ display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:8px; flex:1; min-height:0; }
.mm-view{ min-height:0; background:#fff; border:1px solid #DCD3C2; border-radius:4px; position:relative; overflow:hidden; }
.mm-view canvas{ width:100%; height:100%; display:block; }
.mm-side{ min-height:0; display:flex; flex-direction:column; gap:4px; }
.mm-maps{ flex:1; min-height:120px; background:#111; }
.mm-maps .ed-li{ color:#e33; }
.mm-maps .ed-li.on{ background:#2458c8; color:#fff; }
.mm-warps{ flex:1; min-height:120px; background:#111; }
.mm-warps .ed-li{ color:#e8d44a; }
.mm-warps .ed-li.on{ background:#2458c8; color:#fff; }
.mm-ops{ display:flex; gap:4px; justify-content:center; }
.mm-xy{ display:flex; gap:6px; align-items:center; font-size:12px; }
.mm-xy input{ height:22px; width:64px; padding:0 4px; border:1px solid #DCD3C2; border-radius:3px; }
.mdt-body{ display:grid; grid-template-columns:1fr 56px 1fr; gap:8px; flex:1; min-height:0; align-items:stretch; }
.mdt-col{ min-height:0; display:flex; flex-direction:column; gap:6px; }
.mdt-col .ed-list{ flex:1; background:#fff; color:#333; border:1px solid #DCD3C2; }
.mdt-mid{ display:flex; flex-direction:column; justify-content:center; gap:8px; align-items:center; }
.mdt-top{ display:flex; gap:8px; justify-content:center; margin-bottom:6px; }
.ms1c-body{ display:flex; flex-direction:column; gap:8px; flex:1; min-height:0; }
.ms1c-log{ flex:1; min-height:200px; width:100%; padding:8px; border:1px solid #DCD3C2; border-radius:4px; font:12px/1.5 Consolas,monospace; resize:none; }
.mv-body{ display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:8px; flex:1; min-height:0; }
.mv-view{ min-height:0; background:#0000cc; border:1px solid #111; position:relative; overflow:hidden; }
.mv-view canvas{ width:100%; height:100%; display:block; background:#0000cc; }
.mv-side{ min-height:0; display:flex; flex-direction:column; gap:4px; overflow:auto; }
.mv-side select{ height:22px; border:1px solid #DCD3C2; border-radius:3px; }
.mv-tree{ flex:0 0 90px; min-height:70px; }
.mv-files{ flex:0 0 90px; min-height:70px; }
.mv-side button{ height:22px; padding:0 8px; font-size:12px; font-weight:400; background:#f0f0f0; color:#222; border:1px solid #bbb; }
.mv-side button.pri, .mv-side button:hover{ filter:none; }
.mv-form{ display:grid; grid-template-columns:88px minmax(0,1fr); gap:3px 6px; align-items:center; font-size:12px; }
.mv-form.mv-states{ grid-template-columns:140px minmax(0,1fr); }
.mv-form input,.mv-form select{ height:20px; padding:0 4px; border:1px solid #DCD3C2; border-radius:3px; }
.mv-swatch{ display:flex; gap:6px; padding:4px 0; }
.mv-swatch i{ width:16px; height:16px; border:1px solid #999; display:inline-block; cursor:pointer; }
.mv-tex{ min-height:40px; background:#fff; border:1px solid #DCD3C2; padding:4px; font-size:11px; color:#666; }
.mv-wheel{ display:flex; align-items:center; gap:6px; font-size:12px; }
@media (max-width:900px){
  .mm-body,.mdt-body,.mv-body,.tx-body{ grid-template-columns:1fr; }
  .mm-view,.mv-view,.tx-view{ min-height:240px; }
}
@media (max-width:900px){
  .mse-body{ grid-template-columns:1fr; }
  .mse-mapwrap{ min-height:280px; }
}
.tbl-body{ display:grid; grid-template-columns:220px minmax(0,1fr) 220px; gap:8px; flex:1; min-height:0; }
.tbl-body.cols2{ grid-template-columns:240px minmax(0,1fr); }
.tbl-body.cols4{ grid-template-columns:180px minmax(0,1fr) 220px 200px; }
.tbl-fields{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:4px 8px; overflow:auto; padding-right:4px; flex:1; }
.tbl-fields .ed-f label{ width:88px; }
.tbl-pair{ display:grid; grid-template-columns:64px minmax(0,1fr) 56px 36px; gap:4px; align-items:center; padding:2px 0; }
.tbl-pair input{ height:22px; padding:0 4px; border:1px solid #DCD3C2; border-radius:3px; }
.tbl-name{ font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tbl-text{ width:100%; min-height:220px; padding:8px; border:1px solid #DCD3C2; border-radius:6px; font:13px/1.5 Microsoft YaHei,sans-serif; resize:vertical; }
@media (max-width:1100px){
  .tbl-body, .tbl-body.cols4{ grid-template-columns:1fr; }
}
.desk-body{ display:grid; gap:8px; flex:1; min-height:0; }
.desk-body.mm-shell,.desk-body.mdt-shell,.desk-body.ms1c-shell,.desk-body.mv-shell,.desk-body.tx-shell{ grid-template-columns:1fr; grid-template-rows:minmax(0,1fr) auto; }
.tx-body{ display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:8px; flex:1; min-height:0; }
.tx-view{ min-height:0; background:#f3f3f3; border:1px solid #DCD3C2; position:relative; overflow:hidden; }
.tx-view canvas{ width:100%; height:100%; display:block; }
.tx-side{ min-height:0; display:flex; flex-direction:column; gap:6px; overflow:auto; }
.tx-side select,.tx-side input[type=color]{ height:22px; border:1px solid #DCD3C2; border-radius:3px; }
.tx-tree{ flex:0 0 90px; min-height:70px; }
.tx-files{ flex:1; min-height:80px; }
.tx-row{ display:flex; gap:6px; align-items:center; font-size:12px; }
.tx-langs{ justify-content:flex-end; }
.tx-row input[type=color]{ width:28px; padding:0; }
.tx-side button{ height:24px; }
.desk-set{ grid-template-columns:240px minmax(0,1fr); }
.desk-set-right{ display:grid; grid-template-columns:80px minmax(0,1fr); gap:8px; min-height:0; }
.desk-craft{ grid-template-columns:220px minmax(340px,1fr) 260px; }
.desk-seller{ grid-template-columns:180px minmax(0,1fr) 200px; }
.desk-pfood{ grid-template-columns:180px minmax(0,1fr) 200px; }
.desk-pchange{ grid-template-columns:240px minmax(0,1fr); }
.desk-pchange-left{ display:grid; grid-template-rows:1fr 1fr; gap:8px; min-height:0; }
.desk-ai{ grid-template-columns:200px minmax(260px,1fr) 300px; grid-template-rows:minmax(0,1fr) 170px; }
.desk-ai-buff{ grid-column:1 / -1; }
.desk-npc{ grid-template-columns:200px minmax(0,1fr) 220px; }
.desk-info{ grid-template-columns:300px minmax(0,1fr); }
.desk-cha{ grid-template-columns:minmax(280px,520px); }
.desk-form2{ display:grid; grid-template-columns:1fr 1fr; gap:6px 12px; align-content:start; }
.desk-form2 .wide{ grid-column:1 / -1; }
.desk-slot,.desk-pair,.desk-mat{
  display:grid; gap:4px; align-items:center; padding:2px 0;
}
.desk-slot{ grid-template-columns:28px minmax(70px,1fr) 72px 28px 48px 48px 28px; }
.desk-pair{ grid-template-columns:minmax(70px,1fr) 72px 28px minmax(70px,1fr) 72px 28px; }
.desk-mat{ grid-template-columns:minmax(80px,1fr) 72px 48px; }
.desk-ai-slot{ display:grid; grid-template-columns:70px 70px; gap:6px; }
.desk-idx{ width:28px; text-align:right; color:#888; font-size:12px; }
.desk-yellow{ background:#fffde8; border:1px solid #E8E0D2; border-radius:4px; padding:10px; min-height:280px; font:13px/1.55 Microsoft YaHei,sans-serif; resize:vertical; width:100%; flex:1; }
.desk-talk{ display:flex; flex-direction:column; gap:8px; }
.desk-talk .row{ display:flex; align-items:center; gap:8px; }
.desk-talk .row b{ width:18px; }
.desk-talk input{ flex:1; height:26px; padding:0 6px; border:1px solid #DCD3C2; border-radius:3px; }
.desk-ops{ display:flex; gap:6px; flex-wrap:wrap; margin-top:8px; }
.ed-list.white{ background:#fff; color:#333; border:1px solid #DCD3C2; }
.ed-list.white .ed-li:hover{ background:#eef4ff; }
.ed-list.white .ed-li.on{ background:#c5dbff; color:#111; }
.ed-list.red .ed-li{ color:#c00; }
.desk-mix{ overflow:auto; flex:1; }
.desk-mix table{ width:100%; border-collapse:collapse; font-size:12px; }
.desk-mix th{ text-align:left; border-bottom:1px solid #DCD3C2; padding:2px 4px; color:#5c5348; }
.desk-mix td{ padding:2px 4px; border-bottom:1px solid #f0e6d6; }
.desk-mix input{ width:100%; height:22px; padding:0 4px; border:1px solid #DCD3C2; border-radius:3px; }
.desk-hint{ font-size:11px; color:#9A9083; }
@media (max-width:1100px){
  .desk-set,.desk-set-right,.desk-craft,.desk-seller,.desk-pfood,.desk-pchange,.desk-ai,.desk-npc,.desk-info{
    grid-template-columns:1fr;
    grid-template-rows:none;
  }
}
.mb-body{ display:grid; grid-template-columns:232px minmax(0,1fr) 196px; gap:8px; flex:1; min-height:0; }
.mb-col{ min-height:0; display:flex; flex-direction:column; gap:4px; overflow:auto; }
.mb-col h3{ color:var(--accent); font-size:12px; margin:2px 0 0; }
.mb-list{ flex:1; min-height:70px; }
.mb-list.short{ flex:0 0 110px; min-height:80px; }
.mb-form{ display:grid; grid-template-columns:72px minmax(0,1fr); gap:3px 6px; align-items:center; font-size:12px; }
.mb-form label{ color:#5c5348; }
.mb-form input,.mb-form select{ height:22px; width:100%; padding:0 4px; border:1px solid #DCD3C2; border-radius:3px; }
.mb-pair{ display:grid; grid-template-columns:1fr 1fr; gap:4px; }
.mb-ops{ display:flex; flex-wrap:wrap; gap:4px; }
.mb-center{ min-height:0; display:flex; flex-direction:column; gap:4px; }
.mb-tabs{ display:flex; gap:0; }
.mb-tabs button{ height:24px; padding:0 10px; border:1px solid #DCD3C2; background:#fff; border-radius:0; }
.mb-tabs button.on{ background:#E26E24; color:#fff; border-color:#E26E24; }
.mb-view{ flex:1; min-height:0; background:#000; border:1px solid #111; position:relative; overflow:hidden; }
.mb-view.sky{ background:#1560c0; }
.mb-view canvas{ width:100%; height:100%; display:block; cursor:crosshair; }
.mb-preview{ height:88px; background:#1560c0; border:1px solid #DCD3C2; }
.mb-foot{ margin-top:6px; font-size:12px; gap:10px; }
.mb-stat{ color:#5c5348; }
.mb-stat b{ color:#3D362B; font-weight:600; }
@media (max-width:1100px){
  .mb-body{ grid-template-columns:1fr; }
  .mb-view{ min-height:280px; }
}
