/* =====================================================================
 * Carnet · 文字贴与「添加」菜单   （样式 6 / 16）
 * ---------------------------------------------------------------------
 * ① 文字贴本体与选中态
 * ② 右上角「添加」菜单与双页选页那一行
 * ③ 编辑文字时的底部工具栏（会跟着输入法抬起）
 *
 * 说明：样式拆分成多个文件后靠 <link> 顺序层叠，脱离这块上下文单独看时请留意。
 * ===================================================================== */
/* ============ 文字贴 ============ */
.ptext-wrap .ptxt{
  width:100%;height:100%;overflow:hidden;white-space:pre-wrap;word-break:break-word;
  line-height:1.32;border-radius:3px;outline:none;
  font-size:calc(var(--pw,340px) * .055);color:var(--ink)
}
.ptext-wrap .ptxt.placeholder{color:#a7adc0}
.ptext-wrap.editing{outline:2px dashed var(--accent);outline-offset:2px;z-index:7;cursor:text}
.ptext-wrap.editing .ptxt{
  cursor:text;user-select:text;-webkit-user-select:text;touch-action:auto;
  box-shadow:0 0 0 1px rgba(224,102,138,.55);background:rgba(255,255,255,.5);overflow:auto
}
.ptext-wrap.editing .hdl{display:none}
.ptext-wrap.editing .img-del{display:none !important}
/* 文字贴：默认固定；只有长按解锁后才进入「调整」模式 —— 四角拉伸 + 顶边删除 */
.ptext-wrap.adjust{outline:2px solid var(--accent);outline-offset:2px;z-index:6}
.ptext-wrap.adjust .hdl{display:block}
.ptext-wrap.adjust .img-del{display:grid}
.ptext-wrap.locked{cursor:default}
.ptext-wrap.locked .hdl,.ptext-wrap.locked .img-del{display:none !important}
.pnum{position:absolute;bottom:9px;font-size:11px;color:#9aa1b5;z-index:3;letter-spacing:.1em}
.page-slot.right .pnum,.leaf-face.front .pnum{right:14px}
.page-slot.left .pnum,.leaf-face.back .pnum{left:14px}
/* ===== 右上角「添加」菜单 ===== */
.addmenu{
  position:absolute;right:12px;top:calc(100% - 6px);z-index:40;min-width:132px;padding:5px;
  border-radius:14px;background:var(--frost);border:1px solid var(--frost-bd);
  backdrop-filter:var(--frost-fx);-webkit-backdrop-filter:var(--frost-fx);
  box-shadow:0 18px 40px -14px rgba(0,0,0,.75);
  display:none;flex-direction:column;gap:2px;
  opacity:0;transform:translateY(-6px) scale(.97);transform-origin:top right;
  transition:opacity .16s ease,transform .18s cubic-bezier(.3,.9,.3,1)
}
.addmenu.show{display:flex;opacity:1;transform:none}
.addmenu button{
  display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:10px;white-space:nowrap;
  color:#fff;font-size:13.5px;text-align:left;transition:background .16s
}
.addmenu button:hover,.addmenu button:active{background:rgba(255,255,255,.14)}
.addmenu button svg{flex:none;opacity:.85}
.addmenu .am-t{font-weight:800;font-family:Georgia,"Times New Roman",serif;width:15px;text-align:center}
.addmenu .am-p{font-size:11px;opacity:.6;margin-left:5px;letter-spacing:.02em}
.addmenu .am-p:empty{display:none}
/* 双页模式下选「加到哪一页」 */
.addmenu .am-row{display:flex;gap:4px;padding:3px;margin-bottom:3px;border-radius:10px;background:rgba(255,255,255,.07)}
.addmenu .am-row.hide{display:none}
.addmenu .am-side{
  flex:1;justify-content:center;gap:0;padding:7px 6px;border-radius:8px;
  font-size:12.5px;color:#fff;opacity:.62;text-align:center
}
.addmenu .am-side.on{background:rgba(255,255,255,.92);color:#22242f;font-weight:700;opacity:1}
.addmenu .am-side[disabled]{opacity:.26}
/* 删除页：单独一档危险色，跟上面三项区分开 */
.addmenu .am-del{color:#ff9b9b}
.addmenu .am-del:hover,.addmenu .am-del:active{background:rgba(255,86,86,.22)}

/* 编辑文字时，底栏换成文字工具栏 */
.tstyle{
  display:none;align-items:center;gap:8px;flex-wrap:nowrap;width:100%;padding:0 2px;
  overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch
}
/* 工具栏居中：用两端 auto 外边距而不是 justify-content:center，
   后者在可横向滚动的容器里会把左边超出的一截裁掉、滚不到 */
.tstyle>*:first-child{margin-left:auto}
.tstyle>*:last-child{margin-right:auto}
.tstyle::-webkit-scrollbar{display:none}
.rbot.editing .tstyle{display:flex;animation:tstyleIn .2s ease}
/* 编辑文字时整条底栏一起跟着输入法抬起：收紧内边距 + 垫一层底，视觉上是一条贴着键盘的栏 */
.rbot.editing{
  padding-top:7px;padding-bottom:7px;
  background:linear-gradient(180deg,rgba(14,16,28,0),rgba(14,16,28,.42) 42%,rgba(14,16,28,.62))
}
.rbot.editing #prevBtn,.rbot.editing #pager,.rbot.editing #nextBtn{display:none}
@keyframes tstyleIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.tstyle .ts-group{
  display:flex;align-items:center;gap:3px;padding:4px;border-radius:999px;
  background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
  backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4)
}
.tstyle button{
  min-width:36px;height:36px;padding:0 11px;border-radius:999px;color:#fff;font-size:14.5px;
  display:grid;place-items:center;
  transition:background .18s,transform .14s,box-shadow .18s
}
.tstyle button:hover{background:rgba(255,255,255,.26)}
.tstyle button:active{transform:scale(.94)}
.tstyle button.on{background:var(--accent);box-shadow:0 4px 14px -4px rgba(224,102,138,.9)}
.tstyle .sw{
  width:30px;height:30px;min-width:0;padding:0;border-radius:50%;
  border:2px solid rgba(255,255,255,.6);transition:transform .16s,box-shadow .16s,border-color .16s
}
.tstyle .sw:hover{transform:scale(1.12)}
.tstyle .sw.on{border-color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.35),0 0 0 4px var(--accent)}
.tstyle .ts-bold{font-weight:800;font-family:Georgia,"Times New Roman",serif;font-size:16px}
.tstyle .ts-size{font-weight:600;letter-spacing:.02em}
.tstyle .ts-align svg{display:block}
/* 窄屏：整条压进一行，不换行 */
@media (max-width:480px){
  .tstyle{gap:4px;padding:0}
  .tstyle .ts-group{padding:3px;gap:1px}
  .tstyle button{min-width:29px;height:29px;padding:0 7px;font-size:12.5px}
  .tstyle .ts-bold{font-size:14px}
  .tstyle .sw{width:24px;height:24px;border-width:2px}
  .tstyle .pill-btn{padding:0 9px;height:29px;font-size:12px}
}

/* 日历模板 */

.rbot{
  position:relative;
  display:flex;align-items:center;justify-content:center;gap:10px;
  padding:12px 16px;padding-bottom:calc(20px + env(safe-area-inset-bottom));
  transition:transform .22s cubic-bezier(.32,.86,.3,1);will-change:transform
}
.pill-btn{
  padding:9px 16px;border-radius:999px;background:var(--glass);border:1px solid var(--glass-bd);
  font-size:13px;backdrop-filter:blur(10px);transition:background .2s,transform .15s;white-space:nowrap
}
.pill-btn:hover{background:rgba(255,255,255,.24)}
.pill-btn:active{transform:scale(.96)}
.pill-btn:disabled{opacity:.35}
.icon-btn.on{background:rgba(255,255,255,.26);border-color:rgba(255,255,255,.4)}
.pager{
  font-size:12.5px;opacity:.78;min-width:96px;text-align:center;letter-spacing:.06em;
  font-variant-numeric:tabular-nums;display:grid;place-items:center;min-height:34px;
  touch-action:none;user-select:none;-webkit-user-select:none
}
.pager.jumpable{cursor:pointer;opacity:.9;padding:0 10px;border-radius:999px;transition:background .2s,opacity .2s}
.pager.jumpable:hover{background:rgba(255,255,255,.14);opacity:1}
.pager.pressing{background:rgba(255,255,255,.2);opacity:1}

