/* 罗宾猫骰子官网 - 洞洞板/工作台风
   拟物复兴 + 档案文具美学：黑红蓝白 + 华文中宋 */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'STZhongsong','Noto Serif SC','Songti SC','SimSun',serif;
  background:#141416;color:#16161a;min-height:100vh;line-height:1.7;
  padding:1.5rem 1rem 2rem;
}
a{color:#1e3a5f;text-decoration:none}
a:hover{text-decoration:underline}

/* ===== 展示橱窗 ===== */
.board-frame{
  width:100%;max-width:1200px;margin:0 auto;
  background:#f2ede4;border-radius:20px;padding:1.5rem;
  display:flex;gap:1.5rem;position:relative;
  box-shadow:0 24px 70px rgba(0,0,0,.5), inset 0 0 0 1px rgba(255,255,255,.25);
}

/* ===== 左侧图例面板 ===== */
.side-panel{
  width:205px;flex-shrink:0;background:#e8e1d3;
  border-radius:14px;padding:1.15rem 1rem 1.3rem;
  display:flex;flex-direction:column;gap:.55rem;align-self:flex-start;
  border:1px solid rgba(0,0,0,.08);position:sticky;top:1.5rem;
}
.side-panel .brand{font-size:1.18rem;font-weight:700;letter-spacing:.04em;line-height:1.3;color:#16161a;text-align:center;margin-top:.15rem;margin-bottom:.35rem}
.side-panel .brand small{display:block;font-size:.6rem;color:#8a7a62;letter-spacing:.16em;margin-top:.25rem;font-weight:400}
/* 侧栏圆形头像（罗宾猫） */
.side-avatar{
  width:64px;height:64px;border-radius:50%;margin:0 auto .1rem;
  border:2.5px solid #fff;box-shadow:0 0 0 1.5px #16161a, 0 4px 12px rgba(22,22,26,.2);
  overflow:hidden;background:#fff;flex-shrink:0;
}
.side-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.legend{font-size:.62rem;color:#6a5f50;line-height:2}
.legend b{display:block;font-size:.66rem;color:#16161a;letter-spacing:.14em;margin-bottom:.15rem}
.legend .lg-item{display:flex;gap:7px;align-items:center}
.legend .lg-num{
  font-family:'Courier New',monospace;font-size:.58rem;color:#fff;
  background:#16161a;border-radius:3px;padding:.06rem .38rem;flex-shrink:0;
}
.legend a.lg-item{
  text-decoration:none;color:#6a5f50;padding:.22rem .4rem;margin:0 -.4rem;
  border-radius:6px;transition:background .2s;
}
.legend a.lg-item:hover{background:rgba(22,22,26,.08);color:#16161a}
.legend a.lg-item .lg-num{transition:background .2s}
.legend a.lg-item:hover .lg-num{background:#6f5719}
.legend .lg-item.on{color:#16161a;font-weight:700}
.legend a.lg-item.on .lg-num{background:#c62f2f}
.legend .lg-item.on .lg-num{background:#c62f2f}
.side-panel .ops{font-size:.58rem;color:#8a7a62;line-height:1.8;border-top:1px dashed rgba(0,0,0,.15);padding-top:.55rem}
.side-panel .ops b{color:#16161a}
.side-panel .qr{
  width:86px;height:86px;background:#fff;border-radius:8px;margin:.1rem auto 0;
  border:1px solid #d4c8b0;display:flex;align-items:center;justify-content:center;
  font-size:.54rem;color:#ab9c82;text-align:center;
}

/* ===== 洞洞板主区 ===== */
/* 加载防闪动：JS 定位完成前隐藏板子（body.rc-ready 后淡入），避免物件先默认位置再跳位 */
.pegboard{
  flex:1;background:#f7f3ea;border-radius:14px;position:relative;
  min-height:640px;border:1px solid rgba(0,0,0,.06);
  background-image:radial-gradient(circle, rgba(22,22,26,.26) 3px, transparent 3.6px);
  background-size:44px 44px;background-position:22px 22px;
  box-shadow:inset 0 0 60px rgba(0,0,0,.06);
  overflow:hidden;
  opacity:0;transition:opacity .35s ease;
}
body.rc-ready .pegboard{opacity:1}
.board-foot{
  position:absolute;left:16px;bottom:8px;font-size:.54rem;color:#ab9c82;letter-spacing:.08em;z-index:1;
}

/* ===== 悬挂物件通用 ===== */
.item{
  position:absolute;background:#fff;border-radius:12px;
  box-shadow:0 10px 30px rgba(22,22,26,.16);
  padding:1rem;transition:transform .3s, box-shadow .3s;
  border:1px solid rgba(0,0,0,.06);
  transform:rotate(var(--r,0deg));
  --fs:1;
}
.item:hover{transform:rotate(var(--r,0deg)) translateY(-4px) scale(1.02);box-shadow:0 18px 44px rgba(22,22,26,.22);z-index:30}
.item .i-tag{
  position:absolute;top:-7px;right:-6px;
  background:#16161a;color:#fff;font-size:.56rem;
  font-family:'Courier New',monospace;padding:.14rem .45rem;border-radius:4px;
  box-shadow:0 2px 6px rgba(0,0,0,.3);z-index:5;
}
.item h4{font-size:calc(.92rem * var(--fs));font-weight:700;letter-spacing:.05em;display:flex;align-items:center;gap:6px;color:#16161a}
.item .sub{font-size:calc(.62rem * var(--fs));color:#8a7a62;letter-spacing:.12em;margin-top:2px}
.item .content{font-size:calc(.72rem * var(--fs));color:#3a3a3a;line-height:1.85;margin-top:.55rem}
.item p{margin-bottom:.3rem}
.item ul{list-style:none;padding:0;margin-top:.4rem}
.item li{font-size:calc(.7rem * var(--fs));color:#3a3a3a;line-height:1.9;padding-left:14px;position:relative}

/* 可打钩清单（□ → ✓）：点击切换，✓ 状态红色填充 */
.rc-checklist{list-style:none;padding:0;margin:.4rem 0 0}
/* 双列对齐（layout:'pair'，2026-08-16 v4）：指令右对齐靠中线、模组名左对齐，无框无列表无卡底
   明确覆盖 .badge-tags span 的胶囊样式（金色细边/圆角/内边距不得继承到两列文字） */
.rc-pair{display:flex;align-items:baseline;margin:.24em 0;line-height:1.55;font-size:.74rem}
.rc-pair .rc-pair-cmd{flex:0 0 44%;text-align:right;padding-right:1.2em;font-weight:700;color:#232327;white-space:nowrap;border:none;background:none;border-radius:0}
.rc-pair .rc-pair-mod{flex:1;text-align:left;color:#6b6255;word-break:break-word;border:none;background:none;border-radius:0}
.rc-checklist li{display:flex;align-items:flex-start;gap:6px;font-size:.7rem;color:#3a3a3a;line-height:1.9;padding-left:0}
.rc-checklist .rc-chk{
  flex:0 0 auto;width:14px;height:14px;margin-top:5px;
  border:1.5px solid #8a7a62;border-radius:3px;background:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:10px;line-height:1;color:#fff;cursor:pointer;user-select:none;
}
.rc-checklist .rc-chk.on{background:#c62f2f;border-color:#c62f2f}
.rc-checklist .rc-chk-text{flex:1 1 auto;min-width:0}
.item-key .rc-checklist .rc-chk{border-color:#8a6d1f}
.item-key .rc-checklist .rc-chk.on{background:#c62f2f;border-color:#c62f2f}

/* 拖拽调宽手柄（右下角，编辑模式显示） */
.rc-resize{
  position:absolute;right:3px;bottom:3px;width:16px;height:16px;
  cursor:se-resize;opacity:0;transition:opacity .2s;z-index:50;
}
.rc-resize::before{
  content:'';position:absolute;right:2px;bottom:2px;width:9px;height:9px;
  border-right:2px solid #8a7a62;border-bottom:2px solid #8a7a62;
  border-radius:0 0 3px 0;
}
.editing .pin-note:hover .rc-resize,.editing .item:hover .rc-resize,.rc-resize:hover{opacity:1}

/* 可点击物件（整块跳转） */
a.item{display:block;cursor:pointer;text-decoration:none;color:inherit}
a.item:hover{text-decoration:none}
.item .go{
  display:inline-block;margin-top:.55rem;font-size:.6rem;color:#1e3a5f;
  letter-spacing:.1em;border-bottom:1px dashed rgba(30,58,95,.5);padding-bottom:1px;
}
a.item:hover .go{color:#c62f2f;border-bottom-color:#c62f2f}

/* 01 钥匙牌 */
.item-key{background:#f2c94c;border-radius:14px;max-width:210px;--r:-2deg}
.item-key h4{font-size:calc(1rem * var(--fs))}
.item-key::before{content:'';position:absolute;top:-9px;left:50%;transform:translateX(-50%);width:22px;height:22px;border-radius:50%;border:4px solid #e8b93c;background:linear-gradient(135deg,#ffe9a8,#e8b93c);box-shadow:0 2px 4px rgba(0,0,0,.25)}
.item-key .content{color:#4a3a0a}
.keyring{display:flex;gap:4px;margin-top:.6rem}
.keyring .k{width:16px;height:26px;background:linear-gradient(135deg,#e0ddd6,#b5b0a6);border-radius:7px 7px 3px 3px;position:relative}
.keyring .k::after{content:'';position:absolute;top:4px;left:4px;width:8px;height:8px;border:2px solid #8a867c;border-radius:50%;background:#e0ddd6}

/* 02 透明文件夹 */
.item-folder{
  background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(255,255,255,.62));
  backdrop-filter:blur(3px);border:1.5px solid rgba(0,0,0,.14);
  box-shadow:0 14px 40px rgba(22,22,26,.18), inset 0 1px 0 rgba(255,255,255,.9);
}
.item-folder .clip{
  position:absolute;top:-11px;left:50%;transform:translateX(-50%);
  width:36px;height:16px;background:linear-gradient(135deg,#d8d4cc,#a8a29a);
  border-radius:4px 4px 6px 6px;box-shadow:0 2px 4px rgba(0,0,0,.25);z-index:5;
}
.item-folder .file-list{margin-top:.5rem;display:flex;flex-direction:column;gap:5px}
.file-row{display:flex;align-items:center;gap:8px;font-size:calc(.66rem * var(--fs));color:#3a3a3a;background:rgba(22,22,26,.04);padding:.3rem .55rem;border-radius:6px;transition:background .2s}
.file-row:hover{background:rgba(30,58,95,.08)}
.file-row .fn{font-family:'Courier New',monospace;color:#2e1a0a;font-weight:700;white-space:nowrap}
.file-row .fd{color:#8a7a62;margin-left:auto;font-size:calc(.58rem * var(--fs))}

/* 03 ID卡 */
.item-id{
  background:linear-gradient(160deg,#fff,#ece7dc);border:1px solid rgba(0,0,0,.12);
  width:185px;text-align:center;--r:1.5deg;
}
.item-id .avatar{
  width:66px;height:66px;border-radius:50%;margin:.45rem auto .35rem;
  background:#16161a url('assets/robincat-avatar.jpg') center/cover;
  border:3px solid #fff;box-shadow:0 0 0 1.5px #16161a;
}
.item-id .name{font-size:calc(.88rem * var(--fs));font-weight:700;color:#16161a}
.item-id .role{font-size:calc(.56rem * var(--fs));color:#c62f2f;letter-spacing:.14em;margin-top:2px}
.item-id .view-cv{
  display:inline-block;margin-top:.55rem;font-size:.6rem;color:#fff;
  background:#16161a;padding:.32rem .85rem;border-radius:4px;letter-spacing:.12em;
  transition:background .25s;
}
.item-id .view-cv:hover{background:#c62f2f;text-decoration:none}

/* 04 黑色徽章 */
.item-badge{
  background:#16161a;border-radius:16px;color:#fff;
  border:1px solid rgba(255,255,255,.14);max-width:225px;--r:-1deg;
}
.item-badge h4{color:#f2c94c}
.item-badge .sub{color:#9a958a}
.item-badge .content{color:#c9c4bc}
.badge-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:.55rem}
/* 查询功能/便捷查询：标签强制竖排（每行一个，2026-08-16 用户要求竖行） */
.it-tpl1 .badge-tags,.it-tpl2 .badge-tags{flex-direction:column;align-items:flex-start}
.badge-tags span{
  font-size:calc(.6rem * var(--fs));padding:.17rem .55rem;border-radius:20px;
  border:1px solid rgba(242,201,76,.5);color:#f2c94c;letter-spacing:.04em;
}

/* 05 航空信封 */
.item-mail{background:#fff;border:1.5px solid #16161a;max-width:240px;--r:2deg}.mail-env{
  position:relative;background:#fff;border:2px solid #16161a;border-radius:6px;
  padding:.95rem;margin-top:.5rem;overflow:hidden;
}
.mail-env::before{
  content:'';position:absolute;top:0;left:0;right:0;bottom:0;
  background:repeating-linear-gradient(45deg, transparent 0 14px, rgba(198,47,47,.1) 14px 18px, rgba(30,58,95,.1) 18px 22px);
}
.mail-env .stamp{
  position:absolute;top:6px;right:6px;width:32px;height:38px;
  border:2px dashed #c62f2f;border-radius:3px;
  display:flex;align-items:center;justify-content:center;
  font-size:.48rem;color:#c62f2f;transform:rotate(3deg);z-index:2;background:rgba(255,255,255,.7);
}
.mail-line{font-size:calc(.66rem * var(--fs));color:#3a3a3a;line-height:2;position:relative;z-index:1}
/* 联系方式标签列：固定宽度右对齐，冒号垂直对齐 */
.mail-line .mail-lb{display:inline-block;width:4.6em;text-align:right;margin-right:.35em}
.mail-line b{color:#1e3a5f;font-family:'Courier New',monospace}
.mail-line .st{color:#c62f2f}
.mail-line .on{color:#1e3a5f;font-weight:700}
/* NEW！角标：绝对定位不占宽度，贴「一号机」右上角，很小但清晰，红色加粗 */
.rc-tip-t{position:relative}
.rc-tip-t::after{content:"NEW！";position:absolute;top:-.55em;right:-1.3em;font-size:.5rem;font-weight:700;color:#c62f2f;line-height:1;white-space:nowrap}

/* 06 小票/便利贴（公告） */
.item-note{
  background:#fff;border-radius:4px;max-width:180px;
  box-shadow:0 8px 24px rgba(22,22,26,.14);padding:.85rem .9rem;border:1px solid rgba(0,0,0,.06);
}
.item-note .tape{
  position:absolute;top:-8px;left:50%;transform:translateX(-50%) rotate(-2deg);
  width:56px;height:18px;background:rgba(242,201,76,.6);
  border-left:1px dashed rgba(0,0,0,.15);border-right:1px dashed rgba(0,0,0,.15);z-index:2;
}
.item-note .n-date{font-size:calc(.56rem * var(--fs));color:#c62f2f;font-family:'Courier New',monospace;letter-spacing:.04em}
.item-note .n-title{font-size:calc(.78rem * var(--fs));font-weight:700;color:#16161a;margin:.28rem 0 .35rem;line-height:1.5}
.item-note .n-body{font-size:calc(.62rem * var(--fs));color:#6a5f50;line-height:1.65}
.item-note .n-body a{color:#1e3a5f;text-decoration:underline}
.item-note .barcode{
  height:15px;margin-top:.55rem;
  background:repeating-linear-gradient(90deg,#16161a 0 2px, transparent 2px 5px, #16161a 5px 6px, transparent 6px 9px);
  opacity:.65;
}
.item-note.new{border:1.5px solid #c62f2f}

/* 07 赞助通道 */
.item-sponsor{
  background:#fff;border:1.5px solid #16161a;max-width:280px;--r:-1.5deg;
}
.sponsor-row{display:flex;gap:.7rem;margin-top:.6rem;justify-content:center}
.pay-card{
  flex:1;border-radius:10px;padding:.6rem .5rem .5rem;text-align:center;
  position:relative;border:1px solid rgba(0,0,0,.1);
}
.pay-card .pay-tag{
  position:absolute;top:-8px;left:50%;transform:translateX(-50%);
  font-size:.52rem;color:#fff;padding:.1rem .5rem;border-radius:8px;
  letter-spacing:.08em;white-space:nowrap;
}
.pay-card.wx{background:#f0faf3;border-color:rgba(26,173,25,.4)}
.pay-card.wx .pay-tag{background:#1aad19}
.pay-card.ali{background:#f2f6ff;border-color:rgba(22,119,255,.4)}
.pay-card.ali .pay-tag{background:#1677ff}
.pay-box{
  width:76px;height:76px;margin:0 auto .35rem;
  background:#fff;border:1px dashed rgba(0,0,0,.2);border-radius:6px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-size:.56rem;color:#8a7a62;line-height:1.5;text-align:center;
}
.pay-box small{font-size:.48rem;color:#ab9c82}
.pay-box img{width:100%;height:100%;object-fit:contain;border-radius:3px;display:block}
.pay-name{font-size:.6rem;font-weight:700;color:#3a3a3a;letter-spacing:.08em}

/* ===== 物件位置（桌面） ===== */
.it-key{left:24px;top:36px}
.it-folder-a{left:140px;top:48px}
.it-folder-b{left:330px;top:200px}
.it-folder-c{right:30px;top:60px}
.it-id{left:280px;top:30px}
.it-badge{left:110px;bottom:36px}
.it-badge-b{left:340px;bottom:60px}
.it-mail{left:24px;bottom:36px}
.it-sponsor{right:24px;top:30px}
.it-note{right:24px;top:220px}
.it-note-a{left:24px;bottom:40px}
.it-note-b{right:60px;bottom:36px}
.it-note-c{left:270px;top:36px}
.it-note-d{left:475px;top:210px}

/* ===== 响应式：洞洞板物件改为流式 ===== */
@media(max-width:900px){
  body{padding:.9rem .6rem 1.2rem}
  .board-frame{flex-direction:column;padding:1rem;gap:1rem}
  .side-panel{width:100%;position:static;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.8rem}
  .side-panel .legend,.side-panel .ops{display:none}
  .side-panel .qr{width:54px;height:54px;margin:0;margin-left:auto;font-size:.46rem}
  .pegboard{
    min-height:0;display:flex;flex-wrap:wrap;gap:1rem;
    padding:1.1rem;background-image:radial-gradient(circle, rgba(22,22,26,.2) 2.5px, transparent 3px);
    background-size:32px 32px;background-position:16px 16px;
  }
  .item{
    position:static;transform:none !important;margin:0;
    flex:1 1 calc(50% - .5rem);min-width:210px;
  }
  .item:hover{transform:translateY(-3px) !important}
  .item-folder{flex:1 1 100%}
  .board-foot{position:static;flex-basis:100%;text-align:center;margin-top:.3rem}
}
@media(max-width:560px){
  .item{flex:1 1 100%}
  .menu-btn{top:12px;left:12px;width:38px;height:38px}
}

/* ============================================================
   便利贴系统（pegboard.js）· 编辑模式 / 样式美化
   ============================================================ */

/* ===== 便利贴通用 ===== */
.pin-note{
  --fs:1;--al:left;--bd:normal;--r:0deg;
  position:absolute;border-radius:3px;
  box-shadow:0 6px 16px rgba(22,22,26,.16);   /* 单层阴影：减重绘成本（2026-08-16） */
  border:1px solid rgba(0,0,0,.08);
  padding:1rem 1rem .9rem;
  transition:transform .3s, box-shadow .3s;
  transform:rotate(var(--r,0deg));
  background:#fff;
}
.pin-note:hover{transform:rotate(var(--r,0deg)) translateY(-3px);box-shadow:0 18px 38px rgba(22,22,26,.26), 0 3px 6px rgba(22,22,26,.14)}
.pin-note .pin-title{font-size:calc(.8rem * var(--fs));font-weight:700;color:#16161a;margin:0 0 .3rem;line-height:1.5}
.pin-note .pin-text{font-size:calc(.66rem * var(--fs));color:#3a3a3a;line-height:1.7;white-space:pre-wrap;text-align:var(--al);font-weight:var(--bd)}
.pin-note .pin-fold{
  position:absolute;bottom:0;right:0;width:0;height:0;
  border-bottom:14px solid rgba(0,0,0,.12);
  border-left:14px solid transparent;border-top-left-radius:3px;
}
/* 金属图钉：红色圆头 + 高光 + 针脚投影 */
.pin-tack{
  position:absolute;top:-9px;left:50%;transform:translateX(-50%) rotate(8deg);
  width:14px;height:14px;border-radius:50%;z-index:3;
  background:radial-gradient(circle at 32% 28%, #ff8a80, #d64545 55%, #8f1e1e 100%);
  box-shadow:0 2px 4px rgba(0,0,0,.35), inset 0 -2px 3px rgba(0,0,0,.3), inset 0 2px 2px rgba(255,255,255,.45);
}
.pin-tack::after{
  content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);
  width:2px;height:5px;background:linear-gradient(180deg,#666,#333);border-radius:0 0 1px 1px;
}
/* 双图钉（告示剪报）用 */
.pin-tack-l{left:18%}
.pin-tack-r{left:auto;right:18%;transform:translateX(0) rotate(-6deg)}
/* 麻绳环（吊牌）：多股绞线绳圈 + 绳结 */
.pin-rope{
  position:absolute;top:-15px;left:50%;transform:translateX(-50%) rotate(-3deg);
  width:20px;height:20px;border-radius:50%;z-index:3;
  border:4px solid #b08a55;
  background:
    repeating-linear-gradient(45deg, rgba(122,92,48,.35) 0 2px, rgba(212,177,132,.2) 2px 4px),
    radial-gradient(circle at 35% 30%, #d4b184, #b08a55 60%, #7a5c30);
  box-shadow:0 2px 4px rgba(0,0,0,.35), inset 0 1px 2px rgba(255,255,255,.4), inset 0 -2px 3px rgba(0,0,0,.3);
}
.pin-rope::after{
  content:'';position:absolute;top:-2px;left:50%;transform:translateX(-50%);
  width:6px;height:5px;background:#8a6a3e;border-radius:2px;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.3);
}
/* 打孔（工牌/吊牌）：洞洞板同色圆孔 */
.pin-hole{
  position:absolute;top:-2px;left:50%;transform:translateX(-50%);
  width:11px;height:11px;border-radius:50%;z-index:2;
  background:radial-gradient(circle at 40% 35%, #16161a, #3a3a3f 70%);
  box-shadow:inset 0 2px 3px rgba(0,0,0,.7), 0 1px 1px rgba(255,255,255,.6);
}
.pin-hole-l{left:14px}
/* 挂绳（工牌）：蓝色织带 + 斜纹纹理 + 垂坠感 */
.pin-lanyard{
  position:absolute;top:-12px;left:6px;right:6px;height:6px;z-index:3;
  background:
    repeating-linear-gradient(135deg, rgba(255,255,255,.14) 0 2px, transparent 2px 4px),
    repeating-linear-gradient(90deg,#1e3a5f 0 6px,#2c5488 6px 9px);
  border-radius:3px;
  box-shadow:0 2px 3px rgba(0,0,0,.3);
  transform:rotate(-2deg);
}
/* 文件夹索引标签：凸出的小色签 */
.pin-tab{
  position:absolute;top:-14px;left:10px;z-index:3;
  width:46px;height:15px;border-radius:4px 4px 0 0;
  background:linear-gradient(180deg,#e05555,#c62f2f);
  box-shadow:0 1px 3px rgba(0,0,0,.3);
}
/* 缎带（勋章）：红蓝条纹挂条 */
.pin-ribbon{
  position:absolute;top:-15px;left:50%;transform:translateX(-50%);
  width:34px;height:17px;z-index:3;
  background:repeating-linear-gradient(90deg,#c62f2f 0 6px,#1e3a5f 6px 12px);
  border-radius:3px 3px 0 0;
  box-shadow:0 2px 4px rgba(0,0,0,.3);
}
.pin-ribbon::after{
  content:'';position:absolute;top:100%;left:0;right:0;
  border:6px solid transparent;border-top:5px solid #a82424;
  border-bottom:none;transform:translateY(-1px);
}
/* 邮票（航空信）：白底 + 虚线齿孔 + 内阴影 */
.pin-stamp{
  position:absolute;top:6px;right:6px;width:32px;height:38px;
  border:2px dashed #c62f2f;border-radius:3px;
  display:flex;align-items:center;justify-content:center;
  font-size:.44rem;color:#c62f2f;transform:rotate(3deg);z-index:2;background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.15), inset 0 0 0 2px #fff, inset 0 0 0 3px rgba(198,47,47,.15);
}
/* 邮戳（航空信）：红色双圈圆章 + 做旧 */
.pin-postmark{
  position:absolute;bottom:8px;left:8px;width:52px;height:52px;
  border-radius:50%;z-index:2;pointer-events:none;
  border:1.5px solid rgba(198,47,47,.5);
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.35), inset 0 0 0 4.5px rgba(198,47,47,.45);
  transform:rotate(-14deg);opacity:.85;
  background:radial-gradient(circle, rgba(198,47,47,.06) 40%, transparent 41%);
}
.pin-postmark::after{
  content:'✉';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:.5rem;color:rgba(198,47,47,.5);
}
/* 撕票孔（车票）：左侧竖排虚线孔列 */
.pin-perf{
  position:absolute;top:6px;bottom:6px;left:-4px;width:9px;z-index:2;
  background-image:radial-gradient(circle, #f2ede4 3px, transparent 3.6px);
  background-size:9px 9px;background-position:0 2px;
}
/* 车票票号 */
.pin-ticket-no{
  font-family:'Courier New',monospace;font-size:.56rem;color:#8a7a62;
  letter-spacing:.08em;margin-bottom:.3rem;
}
/* 麻绳捆扎（火漆信）：上部横穿 + 斜跨 */
.pin-cord{
  position:absolute;top:16px;left:-12px;right:-12px;height:0;z-index:1;
  border-top:3px solid rgba(176,138,85,.65);
  transform:rotate(6deg);
  box-shadow:0 1px 2px rgba(0,0,0,.12);
}
.pin-cord::after{
  content:'';position:absolute;top:-6px;right:24%;
  width:3px;height:12px;background:rgba(176,138,85,.6);
  transform:rotate(40deg);
}
/* 火漆蜡封（火漆信）：红色圆封 + 中心字，右上角 */
.pin-wax{
  position:absolute;top:-6px;right:16px;
  width:46px;height:46px;border-radius:50%;z-index:3;
  background:radial-gradient(circle at 32% 26%, #ff9a8a 0 12%, #e06060 45%, #b02a2a 65%, #7a1616 100%);
  box-shadow:0 4px 10px rgba(0,0,0,.4), inset 0 -3px 6px rgba(0,0,0,.4), inset 0 3px 4px rgba(255,255,255,.35);
  display:flex;align-items:center;justify-content:center;
  color:#f5d76e;font-size:.6rem;font-weight:700;letter-spacing:.1em;
  text-shadow:0 1px 2px rgba(0,0,0,.5);
  transform:rotate(-6deg);
}
.pin-wax::before,.pin-wax::after{
  content:'';position:absolute;border-radius:50%;background:inherit;
}
.pin-wax::before{width:8px;height:7px;top:-3px;left:9px}
.pin-wax::after{width:7px;height:6px;top:5px;right:-3px}

/* ===== 便利贴：图钉纸签（sticky） ===== */
.pin-sticky{background:#f7e9b2;box-shadow:0 8px 20px rgba(22,22,26,.16), 0 1px 2px rgba(0,0,0,.12)}
.pin-sticky.pin-c-blue{background:#d9e6f4}
.pin-sticky.pin-c-red{background:#f0d5c8}
.pin-sticky.pin-c-grey{background:#e3d0a4}
.pin-sticky.pin-c-white{background:#ffffff}
.pin-sticky.pin-c-black{background:#232327;border-color:rgba(255,255,255,.14)}
.pin-sticky.pin-c-black .pin-title,.pin-sticky.pin-c-black .pin-text{color:#f2ede4}
.pin-sticky .pin-fold{border-bottom-color:rgba(0,0,0,.1)}
/* 图钉纸签：换色变体 */
.pin-sticky.pin-c-yellow{background:#f7e9b2}

/* ===== 便利贴：告示剪报（notice） ===== */
.pin-notice{
  background:linear-gradient(180deg,#fffdf6,#faf5e9);
  border-radius:2px;border:1px solid rgba(0,0,0,.1);
  box-shadow:0 10px 24px rgba(22,22,26,.18), 0 2px 4px rgba(22,22,26,.1), inset 0 1px 0 rgba(255,255,255,.8);
}
/* 告示剪报：换色变体（撕纸边随底色） */
.pin-notice.pin-c-blue{background:linear-gradient(180deg,#eef4fb,#e3edf7)}
.pin-notice.pin-c-blue::after{background:radial-gradient(circle at 7px 0, transparent 3px, #e3edf7 3.5px),radial-gradient(circle at 23px 0, transparent 2.5px, #e3edf7 3px),radial-gradient(circle at 41px 0, transparent 3.2px, #e3edf7 3.7px),radial-gradient(circle at 58px 0, transparent 2.8px, #e3edf7 3.3px),radial-gradient(circle at 76px 0, transparent 3px, #e3edf7 3.5px);background-size:90px 6px,90px 6px,90px 6px,90px 6px,90px 6px;background-repeat:repeat-x}
.pin-notice.pin-c-red{background:linear-gradient(180deg,#fbf0ea,#f6e3d8)}
.pin-notice.pin-c-red::after{background:radial-gradient(circle at 7px 0, transparent 3px, #f6e3d8 3.5px),radial-gradient(circle at 23px 0, transparent 2.5px, #f6e3d8 3px),radial-gradient(circle at 41px 0, transparent 3.2px, #f6e3d8 3.7px),radial-gradient(circle at 58px 0, transparent 2.8px, #f6e3d8 3.3px),radial-gradient(circle at 76px 0, transparent 3px, #f6e3d8 3.5px);background-size:90px 6px,90px 6px,90px 6px,90px 6px,90px 6px;background-repeat:repeat-x}
.pin-notice.pin-c-grey{background:linear-gradient(180deg,#f6f0e0,#ede2c8)}
.pin-notice.pin-c-grey::after{background:radial-gradient(circle at 7px 0, transparent 3px, #ede2c8 3.5px),radial-gradient(circle at 23px 0, transparent 2.5px, #ede2c8 3px),radial-gradient(circle at 41px 0, transparent 3.2px, #ede2c8 3.7px),radial-gradient(circle at 58px 0, transparent 2.8px, #ede2c8 3.3px),radial-gradient(circle at 76px 0, transparent 3px, #ede2c8 3.5px);background-size:90px 6px,90px 6px,90px 6px,90px 6px,90px 6px;background-repeat:repeat-x}
.pin-notice.pin-c-white{background:linear-gradient(180deg,#ffffff,#fafafa)}
.pin-notice.pin-c-white::after{background:radial-gradient(circle at 7px 0, transparent 3px, #fafafa 3.5px),radial-gradient(circle at 23px 0, transparent 2.5px, #fafafa 3px),radial-gradient(circle at 41px 0, transparent 3.2px, #fafafa 3.7px),radial-gradient(circle at 58px 0, transparent 2.8px, #fafafa 3.3px),radial-gradient(circle at 76px 0, transparent 3px, #fafafa 3.5px);background-size:90px 6px,90px 6px,90px 6px,90px 6px,90px 6px;background-repeat:repeat-x}
.pin-notice.pin-c-black{background:linear-gradient(180deg,#2e2e33,#232327);border-color:rgba(255,255,255,.14)}
.pin-notice.pin-c-black::after{background:radial-gradient(circle at 7px 0, transparent 3px, #232327 3.5px),radial-gradient(circle at 23px 0, transparent 2.5px, #232327 3px),radial-gradient(circle at 41px 0, transparent 3.2px, #232327 3.7px),radial-gradient(circle at 58px 0, transparent 2.8px, #232327 3.3px),radial-gradient(circle at 76px 0, transparent 3px, #232327 3.5px);background-size:90px 6px,90px 6px,90px 6px,90px 6px,90px 6px;background-repeat:repeat-x}
.pin-notice.pin-c-black .pin-title,.pin-notice.pin-c-black .pin-text{color:#f2ede4}
.pin-notice.pin-c-black .pin-date{color:#e08a8a}
.pin-notice.pin-c-black .pin-barcode{background:repeating-linear-gradient(90deg,#f2ede4 0 2px, transparent 2px 5px, #f2ede4 5px 6px, transparent 6px 9px)}
.pin-notice::before{
  content:'';position:absolute;top:0;left:8%;right:8%;height:5px;
  background:linear-gradient(180deg, rgba(22,22,26,.08), transparent);
  border-radius:50%;z-index:1;
}
.pin-notice.new{border:1.5px solid #c62f2f}
.pin-notice .pin-date{font-size:.56rem;color:#c62f2f;font-family:'Courier New',monospace;letter-spacing:.04em}
.pin-notice .pin-badge{color:#c62f2f}
.pin-notice .pin-title{font-family:'STZhongsong','Noto Serif SC',serif;font-weight:700}
.pin-notice .pin-barcode{
  height:14px;margin-top:.6rem;
  background:repeating-linear-gradient(90deg,#16161a 0 2px, transparent 2px 5px, #16161a 5px 6px, transparent 6px 9px);
  opacity:.65;
}
/* 撕纸毛边（告示剪报底部）：不规则破损 */
.pin-notice::after{
  content:'';position:absolute;left:0;right:0;bottom:-5px;height:6px;
  background:
    radial-gradient(circle at 7px 0, transparent 3px, #faf5e9 3.5px),
    radial-gradient(circle at 23px 0, transparent 2.5px, #faf5e9 3px),
    radial-gradient(circle at 41px 0, transparent 3.2px, #faf5e9 3.7px),
    radial-gradient(circle at 58px 0, transparent 2.8px, #faf5e9 3.3px),
    radial-gradient(circle at 76px 0, transparent 3px, #faf5e9 3.5px);
  background-size:90px 6px, 90px 6px, 90px 6px, 90px 6px, 90px 6px;
  background-position:0 0, 0 0, 0 0, 0 0, 0 0;
  background-repeat:repeat-x;
}
/* 红印章（告示剪报右上角） */
.pin-notice .pin-stamp-red{
  position:absolute;top:8px;right:8px;width:34px;height:34px;
  border:1.5px solid rgba(198,47,47,.55);border-radius:6px;
  display:flex;align-items:center;justify-content:center;
  font-family:'STZhongsong',serif;font-size:.5rem;color:rgba(198,47,47,.65);
  transform:rotate(10deg);z-index:2;pointer-events:none;
  letter-spacing:.14em;
}
.pin-notice .pin-stamp-red::before{
  content:'';position:absolute;top:2px;left:2px;right:2px;bottom:2px;
  border:1px solid rgba(198,47,47,.35);border-radius:4px;
}

/* 火漆信（pledge）：羊皮纸 + 麻绳 + 火漆蜡封 */
.pin-pledge{
  background:linear-gradient(160deg,#f5ecd8 0%,#efe2c4 55%,#e8d8b4 100%);
  border:1px solid rgba(122,92,48,.3);
  border-radius:6px;
  box-shadow:0 12px 30px rgba(22,22,26,.18), 0 1px 2px rgba(0,0,0,.1);
  padding:1.25rem 1.1rem 1.1rem;
}
.pin-pledge .pin-title{
  font-size:calc(.82rem * var(--fs));font-weight:800;color:#5a3d1a;
  letter-spacing:.1em;margin:0 0 .45rem;text-align:center;
  font-family:'STZhongsong','Noto Serif SC',serif;
}
.pin-pledge .pin-text{
  font-size:calc(.68rem * var(--fs));color:#4a3a1a;line-height:1.9;
  text-align:var(--al);font-weight:var(--bd);
}
/* 羊皮纸做旧斑点 */
.pin-pledge .pin-text::after{
  content:'';position:absolute;inset:0;pointer-events:none;border-radius:6px;
  background-image:
    radial-gradient(rgba(122,92,48,.07) 1px, transparent 1.5px),
    radial-gradient(rgba(122,92,48,.05) 1px, transparent 1.6px);
  background-size:17px 17px, 23px 23px;
  background-position:0 0, 7px 9px;
}
.pin-pledge .pin-text{position:relative}
/* 火漆信：换色变体 */
.pin-pledge.pin-c-yellow{background:linear-gradient(160deg,#f5ecd8 0%,#efe2c4 55%,#e8d8b4 100%)}
.pin-pledge.pin-c-blue{background:linear-gradient(160deg,#e8f0f8 0%,#dce8f4 55%,#ccdcec 100%)}
.pin-pledge.pin-c-red{background:linear-gradient(160deg,#f8ece4 0%,#f3dfd2 55%,#eccdbc 100%)}
.pin-pledge.pin-c-white{background:linear-gradient(160deg,#ffffff 0%,#f7f7f2 55%,#efefe6 100%)}
.pin-pledge.pin-c-black{background:linear-gradient(160deg,#2e2e33 0%,#232327 55%,#18181c 100%);border-color:rgba(255,255,255,.14)}
.pin-pledge.pin-c-black .pin-title{color:#f2c94c}
.pin-pledge.pin-c-black .pin-text{color:#d8d2c4}

/* ===== 冰箱贴（magnet）：纯图形卡通磁贴，无卡片底无磁条 ===== */
.pin-magnet{
  background:none;border:none;
  border-radius:0;
  box-shadow:none;
  padding:.35rem;
  text-align:center;
  min-height:52px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
/* 手绘卡通 SVG 图形 */
.pin-magnet .pin-magnet-art{
  width:64px;height:64px;position:relative;z-index:2;
  display:flex;align-items:center;justify-content:center;
}
.pin-magnet .pin-magnet-art svg{width:100%;height:100%;display:block;filter:drop-shadow(0 3px 3px rgba(22,22,26,.25))}
/* 磁贴水平翻转（只镜像图形，标签不动） */
.pin-magnet.pin-flip .pin-magnet-art{transform:scaleX(-1)}
/* 大 emoji 图形（回退用） */
.pin-magnet .pin-magnet-emoji{
  font-size:2.6rem;line-height:1.2;position:relative;z-index:2;
  filter:drop-shadow(0 3px 4px rgba(22,22,26,.25));
}
.pin-magnet .pin-magnet-label{
  font-size:.55rem;color:#8a7a62;margin-top:.3rem;position:relative;z-index:2;
}
/* 冰箱贴图片（用户自定义图形） */
.pin-magnet .pin-img{
  width:64px;height:64px;object-fit:cover;border-radius:10px;
  border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.25);
  position:relative;z-index:2;
}

/* ===== 编辑模式 ===== */
body.editing .item,body.editing .pin-note{
  outline:1.5px dashed rgba(198,47,47,.55);outline-offset:3px;cursor:move;
}
body.editing .item:hover,body.editing .pin-note:hover{
  transform:rotate(var(--r,0deg));z-index:200;
}
body.editing .item * ,body.editing .pin-note *{user-select:none;-webkit-user-select:none}

/* 物件工具栏 */
.rc-toolbar{
  display:none;position:absolute;top:-32px;left:50%;transform:translateX(-50%);
  background:#16161a;border-radius:8px;padding:2px 4px;gap:2px;
  z-index:500;box-shadow:0 6px 16px rgba(0,0,0,.35);white-space:nowrap;
}
.rc-toolbar.rc-show{display:flex}
/* 离洞洞板上边缘太近时，翻到物件下方显示 */
.rc-toolbar.rc-tb-down{top:auto;bottom:-34px}
.rc-toolbar button{
  background:none;border:none;color:#f2ede4;font-size:.74rem;
  padding:2px 6px;cursor:pointer;border-radius:4px;font-family:inherit;line-height:1.5;
}
.rc-toolbar button:hover{background:#c62f2f;color:#fff}

/* 新增 / 退出按钮 */
.rc-add{
  position:absolute;right:18px;bottom:36px;background:#16161a;color:#f2ede4;
  border:none;padding:.5rem 1rem;border-radius:10px;font-family:inherit;
  font-size:.74rem;letter-spacing:.08em;cursor:pointer;z-index:500;
  box-shadow:0 8px 20px rgba(0,0,0,.3);
}
.rc-add:hover{background:#c62f2f}
.rc-exit{
  position:fixed;top:12px;right:14px;background:#c62f2f;color:#fff;
  border:none;padding:.42rem .9rem;border-radius:8px;font-family:inherit;
  font-size:.68rem;letter-spacing:.1em;cursor:pointer;z-index:1200;
  box-shadow:0 8px 20px rgba(0,0,0,.35);
}
.rc-exit:hover{background:#a82424}

/* 侧栏齿轮（编辑模式入口） */
.edit-gear{
  background:none;border:none;color:#8a7a62;font-size:.95rem;
  cursor:pointer;opacity:.75;padding:4px 7px;transition:opacity .2s, transform .2s;
}
.edit-gear:hover{opacity:1;transform:rotate(30deg);color:#c62f2f}
.side-panel .edit-gear-wrap{position:absolute;top:.55rem;right:.6rem;margin:0}

/* ===== 编辑面板 ===== */
.rc-panel{
  position:fixed;right:14px;bottom:14px;width:302px;max-height:82vh;overflow-y:auto;
  background:#16161a;color:#f2ede4;border-radius:14px;padding:1rem 1.1rem 1.1rem;
  z-index:1500;box-shadow:0 20px 60px rgba(0,0,0,.5);
  border:1px solid rgba(255,255,255,.12);
}
.rc-panel h3{font-size:.8rem;letter-spacing:.16em;color:#f2c94c;margin-bottom:.4rem;font-weight:700}
.rc-panel .rc-sub{font-size:.56rem;color:#8a7a62;letter-spacing:.08em;margin-bottom:.6rem}
.rc-panel .rc-tpl-sec{font-size:.58rem;color:#c62f2f;letter-spacing:.1em;margin:1rem 0 .5rem;font-weight:700}
.rc-panel label{display:block;font-size:.62rem;color:#9a958a;margin:.6rem 0 .25rem;letter-spacing:.06em}
.rc-panel input[type=text],.rc-panel textarea{
  width:100%;background:#232327;color:#f2ede4;border:1px solid rgba(255,255,255,.14);
  border-radius:6px;padding:.42rem .55rem;font-family:inherit;font-size:.72rem;box-sizing:border-box;
}
.rc-panel textarea{min-height:74px;resize:vertical;line-height:1.6}
.rc-panel input[type=range]{width:100%;accent-color:#c62f2f}
.rc-panel input[type=checkbox]{accent-color:#c62f2f}
.rc-panel input:focus,.rc-panel textarea:focus{outline:1px solid #c62f2f;border-color:#c62f2f}
.rc-styles,.rc-swatches{display:flex;gap:6px}
.rc-styles button,.rc-swatch{
  flex:1;background:#232327;color:#f2ede4;border:1px solid rgba(255,255,255,.14);
  border-radius:6px;padding:.34rem .4rem;font-family:inherit;font-size:.64rem;cursor:pointer;letter-spacing:.04em;
}
.rc-styles button.on{background:#c62f2f;border-color:#c62f2f;color:#fff}
.rc-swatch{flex:none;width:26px;height:26px;padding:0;border-radius:6px;border:2px solid transparent}
.rc-swatch.on{border-color:#c62f2f;box-shadow:0 0 0 1px #c62f2f}
.rc-swatch.sy{background:#f7e9b2}.rc-swatch.bl{background:#d9e6f4}.rc-swatch.rd{background:#f0d5c8}
.rc-swatch.gy{background:#e3d0a4}.rc-swatch.wh{background:#fff}.rc-swatch.bk{background:#232327}
.rc-align{display:flex;gap:4px}
.rc-align button{flex:1;background:#232327;color:#f2ede4;border:1px solid rgba(255,255,255,.14);border-radius:6px;padding:.3rem;font-size:.68rem;cursor:pointer}
.rc-align button.on{background:#c62f2f;border-color:#c62f2f}
/* 冰箱贴图形选择器 */
.rc-magnet-arts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.rc-art{
  background:#f5f0e4;border:2px solid transparent;border-radius:10px;
  padding:.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:border-color .15s, transform .15s;
}
.rc-art:hover{transform:scale(1.05);border-color:rgba(198,47,47,.4)}
.rc-art.on{border-color:#c62f2f;background:#fff;box-shadow:0 0 0 1px #c62f2f}
.rc-art svg{width:34px;height:34px;display:block}
/* 磁贴翻转按钮 */
.rc-flip-row{display:flex}
.rc-flip{
  flex:1;background:#232327;color:#f2ede4;border:1px solid rgba(255,255,255,.14);
  border-radius:6px;padding:.4rem;font-size:.68rem;cursor:pointer;font-family:inherit;
  transition:background .15s;
}
.rc-flip.on{background:#c62f2f;border-color:#c62f2f}
.rc-val{float:right;color:#c62f2f;font-family:'Courier New',monospace;font-size:.6rem}
.rc-row{display:flex;gap:6px;margin-top:.9rem}
.rc-row button{flex:1;padding:.45rem;border:none;border-radius:8px;font-family:inherit;font-size:.72rem;cursor:pointer;letter-spacing:.06em}
.rc-save{background:#c62f2f;color:#fff}
.rc-save:hover{background:#a82424}
.rc-cancel{background:#232327;color:#f2ede4}
.rc-cancel:hover{background:#33333a}
.rc-del{
  width:100%;margin-top:.55rem;background:transparent;color:#c62f2f;
  border:1px solid rgba(198,47,47,.5) !important;border-radius:8px;
  padding:.42rem;font-family:inherit;font-size:.66rem;cursor:pointer;letter-spacing:.06em;
}
.rc-del:hover{background:rgba(198,47,47,.15)}
.rc-hint{font-size:.56rem;color:#8a7a62;line-height:1.7;margin-top:.6rem;border-top:1px dashed rgba(255,255,255,.1);padding-top:.5rem}
.rc-hint b{color:#f2c94c;font-weight:400}

/* 移动端：便利贴随其他物件流式排布 */
@media(max-width:900px){
  .pin-note{position:static;transform:none !important;margin:0;flex:1 1 calc(50% - .5rem);min-width:200px}
  .pin-note:hover{transform:translateY(-3px) !important}
  .rc-toolbar{display:none !important}
  .rc-panel{left:10px;right:10px;bottom:10px;width:auto}
}

/* ===== 便利贴拟物花式样式 ===== */

/* 图片（所有样式通用） */
.pin-img{display:block;max-width:100%;margin:0 auto .5rem;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.12)}

/* 图片按样式美化匹配 */
.pin-badge .pin-img,.pin-keytag .pin-img{width:64px;height:64px;object-fit:cover;border-radius:50%}
.pin-folder .pin-img{border-radius:10px}
.pin-mail .pin-img{border-radius:4px}
/* 便签正文里的超链接：小贴纸胶囊样式（非蓝色下划线） */
.rc-link{
  display:inline;
  padding:0;
  border:none;
  border-radius:0;
  background:none;
  color:#3a3a3a;
  text-decoration:underline;
  text-underline-offset:2px;
}
.rc-link:hover{background:none;border-color:transparent;transform:none;color:#c62f2f}
.rc-link:active{transform:none}
/* 黑底便签上的链接胶囊：深色底浅色字 */
.pin-c-black .rc-link{
  background:linear-gradient(180deg,#3a4a5e,#2c3949);
  color:#a8c8e8;
  border-color:rgba(168,200,232,.35);
  box-shadow:0 1px 2px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.08);
}
.pin-c-black .rc-link:hover{background:linear-gradient(180deg,#43556c,#34455a)}
.pin-idcard .pin-img{width:64px;height:64px;object-fit:cover;border-radius:50%;margin-bottom:.6rem}
.pin-receipt .pin-img{border-radius:2px}

/* 原生物件图片（obj-img）：插入物件的图片，按物件样式美化 */
.obj-img{display:block;max-width:100%;box-shadow:0 4px 12px rgba(0,0,0,.12);margin:0 auto .6rem}
.item-badge .obj-img{width:76px;height:76px;object-fit:cover;border-radius:50%;border:2px solid rgba(255,255,255,.16)}
.item-key .obj-img{width:58px;height:58px;object-fit:cover;border-radius:50%}
.item-folder .obj-img{border-radius:10px}
.item-mail .obj-img{border-radius:5px}
.item-note .obj-img{border-radius:3px;max-width:86%}

/* 钥匙牌→麻绳吊牌：牛皮纸 + 顶部麻绳环 + 打孔 */
.pin-keytag{
  background:linear-gradient(160deg,#f6e9c8,#ecd9a8);
  border-radius:10px;border:1px solid rgba(160,120,40,.35);
  box-shadow:0 10px 26px rgba(22,22,26,.16), 0 1px 2px rgba(0,0,0,.1);
}
.pin-keytag .pin-title,.pin-keytag .pin-text{color:#4a3a0a}
.pin-keytag .pin-hole{background:radial-gradient(circle at 40% 35%, #16161a, #3a3a3f 70%)}
/* 麻绳吊牌：换色变体 */
.pin-keytag.pin-c-yellow{background:linear-gradient(160deg,#f6e9c8,#ecd9a8)}
.pin-keytag.pin-c-blue{background:linear-gradient(160deg,#e3edf7,#d5e2f0)}
.pin-keytag.pin-c-red{background:linear-gradient(160deg,#f6e3d8,#efd3c2)}
.pin-keytag.pin-c-white{background:linear-gradient(160deg,#ffffff,#f5f5f0)}
.pin-keytag.pin-c-black{background:linear-gradient(160deg,#2e2e33,#1c1c20);border-color:rgba(255,255,255,.14)}
.pin-keytag.pin-c-black .pin-title,.pin-keytag.pin-c-black .pin-text{color:#f2ede4}

/* 文件夹：透明文件袋 + 顶部金属夹 + 凸出索引签 */
.pin-folder{
  background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(255,255,255,.6));
  backdrop-filter:blur(3px);border:1.5px solid rgba(0,0,0,.14);border-radius:10px;
  box-shadow:0 14px 40px rgba(22,22,26,.18), inset 0 1px 0 rgba(255,255,255,.9);
}
.pin-clip{
  position:absolute;top:-11px;left:50%;transform:translateX(-50%);
  width:34px;height:15px;background:linear-gradient(135deg,#d8d4cc,#a8a29a);
  border-radius:4px 4px 6px 6px;box-shadow:0 2px 4px rgba(0,0,0,.25);z-index:3;
}

/* 徽章→黑金勋章：缎带 + 金描边 + 星饰 */
.pin-badge{
  background:radial-gradient(circle at 50% 20%, #2a2a30, #16161a 70%);
  border:1.5px solid rgba(242,201,76,.4);border-radius:16px;
  box-shadow:0 12px 30px rgba(22,22,26,.25), inset 0 0 18px rgba(242,201,76,.05);
}
.pin-badge .pin-title{color:#f2c94c}
.pin-badge .pin-text{color:#c9c4bc}
.pin-badge .pin-img{border:2px solid rgba(242,201,76,.35)}

/* 航空信封：白底黑框 + 红蓝斜纹 + 邮票 + 邮戳
   注意：不能用 overflow:hidden（会裁掉悬浮工具栏），斜纹用自身圆角收边 */
.pin-mail{background:#fff;border:1.5px solid #16161a;border-radius:6px}
.pin-mail::before{
  content:'';position:absolute;top:0;left:0;right:0;bottom:0;
  background:repeating-linear-gradient(45deg,transparent 0 14px,rgba(198,47,47,.09) 14px 18px,rgba(30,58,95,.09) 18px 22px);
  border-radius:6px;pointer-events:none;
}
.pin-mail .pin-title,.pin-mail .pin-text{position:relative;z-index:1}

/* 小票→车票：等宽字体 + 左侧撕票孔 + 票号 + 条形码 */
.pin-receipt{background:#fff;border-radius:3px;padding-left:1.15rem}
.pin-receipt::after{
  content:'';position:absolute;left:0;right:0;bottom:-6px;height:6px;
  background:radial-gradient(circle at 4px 0,transparent 4px,#fff 4.5px) repeat-x;
  background-size:8px 6px;
}
.pin-receipt .pin-title{font-family:'Courier New',monospace;font-size:.74rem}
.pin-receipt .pin-text{font-family:'Courier New',monospace;font-size:.62rem}

/* ID卡→工牌：白卡 + 挂绳 + 打孔 + 照片框 */
.pin-idcard{
  background:linear-gradient(160deg,#fff,#ece7dc);
  border:1px solid rgba(0,0,0,.12);border-radius:10px;text-align:center;
  padding-top:1.15rem;
  box-shadow:0 10px 26px rgba(22,22,26,.16), inset 0 0 0 1px rgba(255,255,255,.9), inset 0 -1px 2px rgba(0,0,0,.05);
}
.pin-idcard .pin-text{text-align:center !important}
.pin-idcard .pin-img{
  border-radius:50%;border:2.5px solid #fff;
  box-shadow:0 0 0 1.5px #16161a, 0 4px 12px rgba(0,0,0,.2);
}
.pin-idcard .pin-title{color:#16161a;letter-spacing:.08em}

/* 样式选择网格 + 图片预览 */
.rc-styles{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.rc-img-prev{display:block;max-width:100%;max-height:90px;margin-top:.4rem;border-radius:6px;border:1px dashed rgba(255,255,255,.25)}

/* 成品模板网格 */
.rc-tpl-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:.4rem}
.rc-tpl{
  background:#232327;border:1px solid rgba(255,255,255,.12);border-radius:10px;
  padding:.55rem .5rem;cursor:pointer;font-family:inherit;color:#f2ede4;
  display:flex;flex-direction:column;align-items:center;gap:.32rem;
  transition:border-color .2s, background .2s;
}
.rc-tpl:hover{border-color:#c62f2f;background:#2a2a2f}
.rc-tpl-ic{
  width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  font-size:1rem;color:#16161a;box-shadow:0 2px 6px rgba(0,0,0,.3);border:1px solid rgba(0,0,0,.08);
}
.rc-tpl-svg{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.rc-tpl-svg svg{width:24px;height:24px;display:block;filter:drop-shadow(0 1px 1px rgba(22,22,26,.2))}
.rc-tpl-name{font-size:.62rem;letter-spacing:.05em}

/* 列表编辑（徽章标签 / 文件夹指令清单） */
.rc-tag-row{display:flex;gap:5px;margin-bottom:5px;align-items:center}
.rc-tag-row input{flex:1;min-width:0}
.rc-tag-row .rc-fn{flex:1.2}
.rc-tag-row .rc-fd{flex:1}
.rc-tag-del{
  background:#3a2323;border:none;color:#e08a8a;border-radius:6px;
  cursor:pointer;padding:5px 9px;font-size:.66rem;flex-shrink:0;font-family:inherit;
}
.rc-tag-del:hover{background:#c62f2f;color:#fff}
/* 标签/指令行排序按钮：↑ 上移 ↓ 下移 */
.rc-tag-sort{display:flex;gap:3px;flex-shrink:0}
.rc-tag-up,.rc-tag-down{
  background:#2a2a30;border:none;color:#cfc9bf;border-radius:6px;
  cursor:pointer;padding:5px 8px;font-size:.66rem;font-family:inherit;line-height:1;
}
.rc-tag-up:hover,.rc-tag-down:hover{background:#43556c;color:#fff}
.rc-add-row{
  background:#232327;border:1px dashed rgba(255,255,255,.25);color:#f2ede4;
  border-radius:8px;padding:6px;width:100%;cursor:pointer;
  font-family:inherit;font-size:.68rem;margin-bottom:.5rem;
}
.rc-add-row:hover{border-color:#c62f2f;color:#f2c94c}
/* 联系方式状态色：在线=绿、掉线=红，纯色无阴影 */
.rc-st-on{color:#2e9e44;font-weight:700}
.rc-st-off{color:#d0342c;font-weight:700}
/* 一号机 hover 弹窗：虚线标记只覆盖「一号机」三字（不接 label 左侧空白、不延伸至冒号/QQ号） */
.rc-tip{position:relative;cursor:help}
.rc-tip-t{position:relative;cursor:help;border-bottom:1px dotted rgba(58,58,58,.3);transition:border-color .15s}
.rc-tip:hover .rc-tip-t{border-bottom-color:#c62f2f}
/* 反馈群：不要 NEW！角标（仅一号机有），虚线提示保留 */
.rc-tip-t-qr::after{content:none}
/* 弹窗本体（body 级，JS 定位，停留即现移走即消） */
.rc-tipbox{
  position:fixed;z-index:999;max-width:240px;display:none;
  background:#232327;color:#f2ede4;font-size:.6rem;line-height:1.7;
  padding:8px 10px;border-radius:6px;box-shadow:0 6px 20px rgba(0,0,0,.4);
  pointer-events:none;white-space:normal;
}
/* 图片弹窗（反馈群二维码）：大尺寸白底，图 180px */
.rc-tipbox.rc-tip-img{
  background:#fff;padding:12px;max-width:none;
  border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.35);
}
.rc-tipbox.rc-tip-img img{
  display:block;width:180px;height:180px;border-radius:6px;
  object-fit:contain;
}

/* ==================== 全新洞洞板花样（2026-08-16，8 款：拍立得/标签机/木夹/索引卡/票据夹/报纸/软木卡/丝带信笺）==================== */
/* 通用：新花样物件的指令标签（浅色卡通风，区别于黑金徽章的深底金边） */
.pl-photo .badge-tags span, .pl-label .badge-tags span, .pl-clip .badge-tags span,
.pl-index .badge-tags span, .pl-bill .badge-tags span, .pl-news .badge-tags span,
.pl-cork .badge-tags span, .pl-letter .badge-tags span{
  font-size:calc(.6rem * var(--fs));padding:.18rem .5rem;border-radius:5px;
  background:#fff;border:2px solid #2b2b2b;color:#2b2b2b;letter-spacing:.03em;
  box-shadow:2px 2px 0 rgba(0,0,0,.14);
}
.pl-photo h4, .pl-label h4, .pl-clip h4, .pl-index h4, .pl-bill h4,
.pl-news h4, .pl-cork h4, .pl-letter h4{font-size:calc(1rem * var(--fs));line-height:1.3}
.pl-photo .content, .pl-label .content, .pl-clip .content, .pl-index .content,
.pl-bill .content, .pl-news .content, .pl-cork .content, .pl-letter .content{font-size:calc(.7rem * var(--fs));line-height:1.55}

/* 1 拍立得：白相纸 + 顶部照片位 + 红色图钉 */
.pl-photo{
  background:#faf7f2;border:8px solid #faf7f2;border-radius:4px;
  box-shadow:0 8px 18px rgba(0,0,0,.18);   /* 单层阴影：减重绘成本（2026-08-16） */
  max-width:200px;--r:-2deg;
}
.pl-photo::before{
  content:'';position:absolute;top:-9px;right:16px;width:14px;height:14px;border-radius:50%;
  background:radial-gradient(circle at 32% 28%,#ff9a8a,#c62f2f 72%);
  box-shadow:0 2px 3px rgba(0,0,0,.28);
}
.pl-photo .photo-zone{
  height:86px;background:#ece9e1;border:2px dashed #cfc9bc;border-radius:3px;
  margin-bottom:.55rem;display:flex;align-items:center;justify-content:center;
  color:#b5ae9f;font-size:.6rem;letter-spacing:.25em;
}
/* 照片放进虚线框：填满、居中裁剪，保留 photo 的虚线与四角圆弧（2026-08-16） */
.pl-photo .photo-zone .obj-img{
  width:100%;height:100%;object-fit:cover;display:block;
  border-radius:2px;box-shadow:none;margin:0;
}
.pl-photo h4{color:#2b2b2b;margin:0 0 .1rem}
.pl-photo .sub{font-size:calc(.55rem * var(--fs));color:#9a9284;letter-spacing:.2em;margin-bottom:.3rem}
.pl-photo .content{color:#4a4a4a}
.pl-photo .content::after{content:'';display:block;height:1.5px;background:#d8d2c6;margin:.5rem 0 .2rem}

/* 2 标签机纸条：白条 + 两侧虚线撕边 + 黑体打印字 */
.pl-label{
  background:#fff;border:2.5px solid #16161a;border-radius:4px;
  padding:.6rem .95rem;max-width:230px;--r:1deg;position:relative;
}
.pl-label::before, .pl-label::after{
  content:'';position:absolute;top:-2.5px;bottom:-2.5px;width:9px;
  background:repeating-linear-gradient(90deg,#fff 0 3px,#16161a 3px 5px);
}
.pl-label::before{left:-2.5px;border-left:2.5px solid #16161a}
.pl-label::after{right:-2.5px;border-right:2.5px solid #16161a}
.pl-label h4{color:#16161a;font-weight:800;letter-spacing:.12em;margin:0 0 .1rem}
.pl-label .sub{color:#8a8a8a;font-size:calc(.55rem * var(--fs));letter-spacing:.3em;border-bottom:2.5px solid #16161a;padding-bottom:.3rem;margin-bottom:.4rem}
.pl-label .content{color:#2b2b2b}

/* 3 木夹卡片：米白卡 + 顶部木夹子（木纹 + 金属圆点） */
.pl-clip{
  background:#f6f0e2;border:2.5px solid #2b2b2b;border-radius:10px;
  padding:1.2rem .85rem .85rem;max-width:205px;--r:-1deg;
  box-shadow:3px 4px 0 rgba(0,0,0,.14);
}
/* 洞洞板（tpl3 开始单人团 2026-08-16）：浅木洞洞板 + 旧红图钉 + 清单纸，三层结构
   木纹 + 四角圆孔点阵（洞洞板特征），8 行模组在米白清单纸上两列对齐——与现有 8 款花样不重复 */
.pl-pegboard{
  background:
    radial-gradient(circle at 9% 14%, rgba(0,0,0,.2) 0 3px, transparent 3.5px),
    radial-gradient(circle at 91% 14%, rgba(0,0,0,.2) 0 3px, transparent 3.5px),
    radial-gradient(circle at 9% 86%, rgba(0,0,0,.2) 0 3px, transparent 3.5px),
    radial-gradient(circle at 91% 86%, rgba(0,0,0,.2) 0 3px, transparent 3.5px),
    repeating-linear-gradient(92deg, rgba(0,0,0,.04) 0 1px, transparent 1px 6px),
    #f2efe6;
  border:3px solid #2b2b2b;border-radius:14px;
  padding:1.1rem 1rem 1rem 1.15rem;max-width:280px;--r:-1deg;--fs:1;
  box-shadow:3px 4px 0 rgba(0,0,0,.14);
}
/* 两个旧红图钉（钉在板顶）——用户明确保留（2026-08-16） */
.pl-pegboard::before,.pl-pegboard::after{
  content:'';position:absolute;top:-9px;width:19px;height:19px;border-radius:50%;
  background:radial-gradient(circle at 35% 28%, #e07a68, #b5453a 58%, #6e2a20);
  box-shadow:inset 0 -3px 0 rgba(0,0,0,.22), 0 2px 3px rgba(0,0,0,.28);
  z-index:2;
}
.pl-pegboard::before{left:16%}
.pl-pegboard::after{left:auto;right:16%}
/* 内容写在板上（2026-08-16 字号/字间距调整：略大、略疏，提升可读性） */
.pl-pegboard h4{color:#2b2b2b;margin:0 0 .25rem;font-size:calc(1.06rem * var(--fs-t,1));letter-spacing:.03em;border-bottom:2px solid #2b2b2b;padding-bottom:.2rem}
.pl-pegboard .sub{color:#9a8a6e;font-size:calc(.52rem * var(--fs,1));letter-spacing:.35em;margin-bottom:.45rem}
.pl-pegboard .content{color:#7d6f57;font-size:calc(.7rem * var(--fs-c,1));line-height:1.8;letter-spacing:.02em;margin-bottom:.3rem}
/* 8 行模组清单：去掉纸，直接写在板面上；行距紧凑、字号与页面其他内容一致偏大（2026-08-16 调整） */
.pl-pegboard .badge-tags{
  background:transparent;border-radius:0;padding:.1rem 0;
  box-shadow:none;margin-top:.4rem;
}
.pl-pegboard .badge-tags .rc-pair{flex:0 0 100%;margin:1px 0;font-size:calc(24px * var(--fs-l,1));letter-spacing:.01em;line-height:1}
.pl-pegboard .rc-pair .rc-pair-cmd{color:#2b2b2b;padding-right:1.4em;font-size:inherit}
.pl-pegboard .rc-pair .rc-pair-mod{color:#6b5c45;font-size:inherit}
.pl-clip::before{
  content:'';position:absolute;top:-7px;left:50%;transform:translateX(-50%);
  width:36px;height:17px;background:linear-gradient(#cf8f50,#a96a33);
  border:2px solid #2b2b2b;border-radius:6px 6px 3px 3px;
  box-shadow:inset 0 -3px 0 rgba(0,0,0,.18);
}
.pl-clip::after{
  content:'';position:absolute;top:-2px;left:50%;transform:translateX(-50%);
  width:8px;height:8px;border-radius:50%;background:#cfc9bd;border:2px solid #2b2b2b;
}
.pl-clip h4{color:#3d2f1c;margin:0 0 .1rem}
.pl-clip .sub{font-size:calc(.55rem * var(--fs));color:#8d846f;letter-spacing:.2em;margin-bottom:.3rem}
.pl-clip .content{color:#4a3a24}

/* 4 索引卡：米黄横线纸 + 右上红色索引签 */
.pl-index{
  background:#fbf4dd;border:2px solid #2b2b2b;border-radius:6px;
  padding:.8rem .95rem .7rem;max-width:210px;--r:2deg;
  box-shadow:3px 4px 0 rgba(0,0,0,.12);
}
.pl-index::before{
  content:'';position:absolute;top:14px;right:-2px;width:28px;height:15px;
  background:#c62f2f;border:2px solid #2b2b2b;border-left:none;border-radius:0 4px 4px 0;
}
.pl-index h4{color:#2b2b2b;margin:0 0 .1rem}
.pl-index .sub{font-size:calc(.55rem * var(--fs));color:#9a8f70;letter-spacing:.22em;margin-bottom:.35rem}
.pl-index .content{
  color:#4a4a4a;line-height:1.75;
  background:repeating-linear-gradient(transparent 0 1.7rem,#d8cfb8 1.7rem 1.76rem);
}

/* 5 票据夹：黄票据纸 + 顶部银色金属夹 */
.pl-bill{
  background:#f7e9bd;border:2.5px solid #2b2b2b;border-radius:4px;
  padding:1.25rem .9rem .85rem;max-width:200px;--r:-1deg;
  box-shadow:3px 4px 0 rgba(0,0,0,.12);
}
.pl-bill::before{
  content:'';position:absolute;top:-8px;left:50%;transform:translateX(-50%);
  width:46px;height:19px;background:linear-gradient(#e2ded5,#b6b0a5);
  border:2px solid #2b2b2b;border-radius:6px 6px 3px 3px;
  box-shadow:inset 0 -4px 0 rgba(0,0,0,.16);
}
.pl-bill::after{
  content:'';position:absolute;top:-3px;left:50%;transform:translateX(-50%);
  width:14px;height:7px;background:#8d8a84;border:2px solid #2b2b2b;
  border-radius:0 0 7px 7px;
}
.pl-bill h4{color:#3d3013;margin:0 0 .1rem}
.pl-bill .sub{font-size:calc(.55rem * var(--fs));color:#9a8c52;letter-spacing:.22em;margin-bottom:.3rem}
.pl-bill .content{color:#4a3d16}

/* 6 报纸剪报：米白报纸 + 双线报头 + 双栏正文 */
.pl-news{
  background:#f2efe6;border:2px solid #2b2b2b;border-radius:3px;
  padding:.75rem .8rem .8rem;max-width:215px;--r:2deg;
  box-shadow:3px 4px 0 rgba(0,0,0,.12);
}
.pl-news h4{
  color:#16161a;font-weight:900;font-size:.92rem;text-transform:uppercase;
  letter-spacing:.06em;border-bottom:3px double #16161a;
  padding-bottom:.3rem;margin:0 0 .4rem;
}
.pl-news .sub{color:#777;font-size:calc(.55rem * var(--fs));letter-spacing:.28em;margin-bottom:.35rem}
.pl-news .content{color:#2b2b2b;column-count:2;column-gap:.7rem}

/* 7 软木卡：软木色 + 斑点纹理 + 图钉 */
.pl-cork{
  background:#e0c192;border:2.5px solid #2b2b2b;border-radius:8px;
  padding:.9rem;max-width:200px;--r:-2deg;
  box-shadow:3px 4px 0 rgba(0,0,0,.14);
  background-image:
    radial-gradient(circle at 20% 30%, rgba(0,0,0,.06) 1px, transparent 1.6px),
    radial-gradient(circle at 70% 60%, rgba(0,0,0,.06) 1px, transparent 1.6px),
    radial-gradient(circle at 45% 85%, rgba(255,255,255,.12) 1px, transparent 1.6px);
  background-size:24px 28px;
}
.pl-cork::before{
  content:'';position:absolute;top:10px;left:10px;width:13px;height:13px;border-radius:50%;
  background:radial-gradient(circle at 32% 28%,#ff9a8a,#c62f2f 72%);
  box-shadow:0 2px 3px rgba(0,0,0,.25);
}
.pl-cork h4{color:#3d2f1c;margin:0 0 .15rem;padding-left:22px}
.pl-cork .sub{font-size:calc(.55rem * var(--fs));color:#8d7a55;letter-spacing:.2em;margin-bottom:.3rem;padding-left:22px}
.pl-cork .content{color:#4a3820}

/* 8 丝带信笺：白纸 + 红横线 + 右上丝带结 */
.pl-letter{
  background:#fffdf6;border:2px solid #2b2b2b;border-radius:4px;
  padding:.85rem .95rem .8rem;max-width:205px;--r:1deg;
  box-shadow:3px 4px 0 rgba(0,0,0,.1);
}
.pl-letter::before{
  content:'';position:absolute;top:-3px;right:12px;
  border:11px solid transparent;border-top:15px solid #c62f2f;border-radius:3px;
}
.pl-letter::after{
  content:'';position:absolute;top:-3px;right:26px;
  border:11px solid transparent;border-top:15px solid #c62f2f;border-radius:3px;
}
.pl-letter h4{color:#2b2b2b;margin:0 0 .1rem}
.pl-letter .sub{font-size:calc(.55rem * var(--fs));color:#b08a8a;letter-spacing:.24em;margin-bottom:.35rem}
.pl-letter .content{
  color:#3d3d3d;line-height:1.85;
  background:repeating-linear-gradient(transparent 0 1.78rem,#f0c9c9 1.78rem 1.84rem);
}

/* 9 置物架三列便签（tpl9 规则切换与群名片 2026-08-18）：长方形层架、木纹+孔洞、顶部图钉、三列严格对齐
   与现有 8 款花样及洞洞板不重复：宽板面 + 每行底部细分隔线，营造置物架/收纳盒质感 */
.pl-shelf{
  background:
    radial-gradient(circle at 8% 12%, rgba(0,0,0,.18) 0 3px, transparent 3.5px),
    radial-gradient(circle at 92% 12%, rgba(0,0,0,.18) 0 3px, transparent 3.5px),
    radial-gradient(circle at 8% 88%, rgba(0,0,0,.18) 0 3px, transparent 3.5px),
    radial-gradient(circle at 92% 88%, rgba(0,0,0,.18) 0 3px, transparent 3.5px),
    repeating-linear-gradient(93deg, rgba(0,0,0,.035) 0 1px, transparent 1px 7px),
    #f4e8c8;
  border:2.5px solid #2b2b2b;border-radius:8px;
  padding:1.1rem .95rem .9rem;max-width:400px;--r:.5deg;--fs:1;
  box-shadow:3px 4px 0 rgba(0,0,0,.14);
}
.pl-shelf::before,.pl-shelf::after{
  content:'';position:absolute;top:-8px;width:18px;height:18px;border-radius:50%;
  background:radial-gradient(circle at 35% 28%, #e07a68, #b5453a 58%, #6e2a20);
  box-shadow:inset 0 -3px 0 rgba(0,0,0,.22), 0 2px 3px rgba(0,0,0,.28);
  z-index:2;
}
.pl-shelf::before{left:14%}
.pl-shelf::after{left:auto;right:14%}
.pl-shelf h4{
  color:#2b2b2b;margin:0 0 .25rem;font-size:calc(1.02rem * var(--fs-t,1));
  letter-spacing:.03em;border-bottom:2px solid #2b2b2b;padding-bottom:.2rem;
}
.pl-shelf .sub{
  color:#8d7a55;font-size:calc(.5rem * var(--fs,1));letter-spacing:.3em;margin-bottom:.4rem;
}
.pl-shelf .content{
  color:#6b5c45;font-size:calc(.68rem * var(--fs-c,1));line-height:1.75;letter-spacing:.02em;margin-bottom:.35rem;
}
.pl-shelf .badge-tags{
  background:transparent;border-radius:0;padding:.1rem 0;
  box-shadow:none;margin-top:.35rem;display:flex;flex-direction:column;gap:0;
}
/* 三列对齐：规则名 | 切换指令 | 群名片指令；每行底部细分隔线模拟置物架层板 */
.rc-triple{
  display:flex;align-items:baseline;width:100%;margin:.12em 0;line-height:1.5;
  font-size:calc(.72rem * var(--fs-l,1));
  border-bottom:1px solid rgba(0,0,0,.07);padding-bottom:.1rem;
}
.rc-triple:last-child{border-bottom:none;padding-bottom:0}
.rc-triple .rc-triple-name{
  flex:0 0 26%;text-align:left;padding-right:.7em;font-weight:700;color:#2b2b2b;white-space:nowrap;
}
.rc-triple .rc-triple-cmd{
  flex:0 0 40%;text-align:left;padding-right:.7em;color:#3d3d3d;
}
.rc-triple .rc-triple-sn{
  flex:1;text-align:left;color:#6b5c45;
}
/* 覆盖 .badge-tags span 通用胶囊样式，防止金色细边/圆角继承到三列文字 */
.pl-shelf .badge-tags span{
  border:none;background:none;border-radius:0;padding:0;
}

/* ==================== 拖动优化（2026-08-16）：拖动中抑制其他物件 hover 位移/缩放/工具栏，减少重绘
   注意：此处禁止用 !important 覆盖 transform——内联 style 的拖动位移必须保持最高优先级，
   否则被拖物件 hover 时位移被覆盖导致"乱飞"（2026-08-16 已踩坑） ==================== */
body.dragging .item, body.dragging .pin-note{
  transition:none !important;
}
body.dragging .item:hover, body.dragging .pin-note:hover{
  transform:rotate(var(--r,0deg));
}
body.dragging .rc-toolbar, body.dragging .rc-resize{
  display:none !important;
}
