/* =========================================================
   奇幻地图 / modal — 弹窗
   ========================================================= */
.modal{
  position:fixed;inset:0;display:none;align-items:center;justify-content:center;
  background:rgba(80,60,30,.35);backdrop-filter:blur(3px);z-index:100;padding:20px;
}
.modal.show{display:flex}
.modal .box{
  background:linear-gradient(180deg,var(--bg1),var(--bg0));
  border:1px solid var(--line);border-radius:10px;
  padding:22px;max-width:480px;width:100%;max-height:85vh;overflow-y:auto;
  box-shadow:var(--sh);
}
.modal.wide .box{max-width:640px}
.modal .box h3{
  font-family:var(--zh);color:var(--brass);letter-spacing:.14em;
  font-size:15px;margin-bottom:12px;
}
.modal .box p{font-size:13px;line-height:1.8;color:var(--txt-2);margin-bottom:10px}
.modal .foot{display:flex;gap:8px;margin-top:16px;justify-content:flex-end}
.modal .foot .btn{width:auto;padding:9px 20px}
.sharerow{display:flex;gap:8px;margin-top:10px}
.sharerow input{flex:1;min-width:0;background:rgba(255,252,245,.6);border:1px solid var(--line-2);
  color:var(--txt);padding:9px 10px;border-radius:var(--r-s);font-size:12px}
.algo{font-size:12.5px;line-height:1.9;color:var(--txt-2)}
.algo b{color:var(--brass)}

/* 国家档案卡片 */
.lore-shield{text-align:center;font-size:32px;margin-bottom:4px}
.lore-name{text-align:center;font-family:var(--zh);font-size:20px;color:var(--txt);margin:0 0 8px;
  letter-spacing:.08em}
.lore-map{text-align:center;margin:10px 0}
.lore-map canvas{max-width:100%;border-radius:4px;border:1px solid var(--line-2)}
.lore-fields{margin-top:8px}
.lore-row{margin-bottom:10px;border-bottom:1px dashed rgba(180,160,120,.3);padding-bottom:8px}
.lore-row:last-child{border-bottom:none}
.lore-label{display:block;font-size:11px;color:var(--brass);letter-spacing:.06em;margin-bottom:2px}
.lore-val{display:block;font-size:13px;color:var(--txt);line-height:1.7}
.lore-input{
  display:block;width:100%;padding:8px 10px;border-radius:var(--r-s);
  border:1px solid var(--line-2);background:rgba(255,252,245,.75);color:var(--txt);
  font-size:13px;font-family:var(--zh);line-height:1.6;resize:vertical}
.lore-input:focus{outline:none;border-color:var(--brass-d)}
.lore-input[type=text]{font-size:14px}

/* 提示条 */
.toast{
  position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(20px);
  background:rgba(240,228,200,.95);border:1px solid var(--brass-d);
  color:var(--brass);padding:10px 22px;border-radius:22px;font-size:13px;
  opacity:0;pointer-events:none;transition:.25s;z-index:200;letter-spacing:.05em;
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
