/* 向阳学院 · tool 模块样式（由 code18.txt 第333-390行拆分） */
/* v3.3 换肤：日出橙主导 —— 工具页/弹窗顶栏橙渐变白字；悬浮按钮上移避让客服气泡 */
/* ===== 教程页 Prompt悬浮窗 ===== */
#promptFloatingBtn { position: fixed; right: 16px; bottom: calc(138px + env(safe-area-inset-bottom, 0px)); z-index: 96; display: none; width: 50px; height: 50px; border: none; border-radius: 50%; background: linear-gradient(135deg, #F8A83C, #FC6C3C); color: #fff; font-size: 9px; line-height: 1.2; cursor: pointer; -webkit-tap-highlight-color: transparent; flex-direction: column; align-items: center; justify-content: center; gap: 0; }
#promptFloatingBtn .pf-icon { font-size: 18px; }
#promptFloatingBtn:active { transform: scale(.9); }
body.desktop #promptFloatingBtn:hover { transform: scale(1.08); }

/* ===== Prompt工具全屏页 ===== */
#toolPage {
  position: fixed; left:0; right:0; top:0; bottom:0; z-index: 99;
  background: #fff;
  display: none; flex-direction: column;
  padding-top: env(safe-area-inset-top, 0px);
  overflow: hidden;
}
#toolPage.show { display: flex; }
.tool-header { background: linear-gradient(135deg,#F8A83C,#FC6C3C); color: #fff; padding: 10px 12px; flex-shrink: 0; display: flex; align-items: center; gap: 8px; }
.tool-header .back, .tool-header .hbtn { border: 1px solid rgba(255,255,255,.35); background: rgba(255,255,255,.12); color: #fff; border-radius: 18px; padding: 6px 12px; font-size: 12px; cursor: pointer; white-space: nowrap; -webkit-tap-highlight-color: transparent; }
.tool-header .back:active, .tool-header .hbtn:active { background: rgba(255,255,255,.30); }
.tool-header h2 { flex: 1; font-size: 15px; font-size: clamp(14px, 3.8vw, 17px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 80px; }
.tool-body { flex: 1; min-height: 0; overflow-y: auto; padding: 12px 12px calc(80px + env(safe-area-inset-bottom, 0px)); -webkit-overflow-scrolling: touch; position: relative; }
body.desktop .tool-body { max-width: 760px; margin: 0 auto; width: 100%; }

/* ===== 教程页 Prompt弹窗 ===== */
#promptModal { position: fixed; left:0; right:0; top:0; bottom:0; z-index: 97; display: none; align-items: flex-end; justify-content: center; background: rgba(30,20,12,.5); }
#promptModal.show { display: flex; }
#promptModalContent { width: 100%; height: 80%; background: #fff; border-radius: 18px 18px 0 0; display: flex; flex-direction: column; overflow: hidden; animation: slideUp .28s ease; }
@keyframes slideUp { from { transform: translateY(100%); } to { transform: translateY(0); } }
#promptModalHeader { flex-shrink: 0; background: linear-gradient(135deg,#F8A83C,#FC6C3C); color: #fff; padding: 10px 12px; display: flex; align-items: center; gap: 8px; }
#promptModalHeader h3 { flex: 1; font-size: 15px; font-size: clamp(14px, 3.8vw, 16px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 70px; }
#promptModalHeader .hbtn { border: 1px solid rgba(255,255,255,.35); background: rgba(255,255,255,.12); color: #fff; border-radius: 18px; padding: 5px 12px; font-size: 12px; cursor: pointer; -webkit-tap-highlight-color: transparent; white-space: nowrap; }
#promptModalHeader .hbtn:active { background: rgba(255,255,255,.30); }
#promptModalBody { flex: 1; min-height: 0; overflow-y: auto; padding: 12px 12px calc(80px + env(safe-area-inset-bottom, 0px)); -webkit-overflow-scrolling: touch; position: relative; }
body.desktop #promptModalContent { max-width: 760px; margin: 0 auto; }
body.desktop #promptModalBody { padding: 12px 24px calc(80px + env(safe-area-inset-bottom, 0px)); }

/* ===== 工具内容通用组件 ===== */
.inp-group { background:#F5F6F7; border-radius:16px; padding:12px 14px; margin-bottom:12px; }
.inp-group label { display:flex; align-items:center; gap:6px; font-size:13px; font-weight:700; margin-bottom:6px; color:#D9541F; }
.inp-group label .hint { font-weight:400; font-size:11px; color:#A89C90; }
.inp-group textarea { width:100%; border:1px solid #E7E9E9; border-radius:10px; padding:10px 12px; font-size:16px; font-family:inherit; min-height:88px; resize:vertical; outline:none; background:#fff; color:#241E18; line-height:1.6; }
.inp-group textarea:focus { border-color:#FC6C3C; background:#fff; }

.result-box { background:#F5F6F7; border-radius:16px; padding:12px 14px; margin-bottom:12px; }
.result-box .hd { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.result-box .hd b { font-size:13px; color:#FC6C3C; }
.result-box pre { font-family:inherit; font-size:13px; color:#4A3E34; line-height:1.7; white-space:pre-wrap; word-break:break-all; background:#fff; border:1px solid #E7E9E9; border-radius:10px; padding:12px; max-height:260px; overflow-y:auto; }
.no-prompt-tip { text-align:center; color:#A89C90; padding:40px 20px; font-size:14px; line-height:1.8; }

/* ===== 悬浮复制按钮（固定悬浮屏幕底部，不随内容滚动） ===== */
.floating-copy-wrap { position:fixed; left:0; right:0; bottom:0; z-index:5; padding:10px 14px calc(10px + env(safe-area-inset-bottom, 0px)); background:linear-gradient(to top, rgba(255,255,255,1) 70%, rgba(255,255,255,0)); }
body.desktop .floating-copy-wrap { max-width:760px; margin:0 auto; }
.copy-bar { display:flex; gap:10px; }
.copy-main { flex:1; min-width:0; border:none; border-radius:22px; padding:15px; font-size:15px; font-weight:700; color:#fff; background:linear-gradient(135deg,#F8A83C,#FC6C3C); cursor:pointer; -webkit-tap-highlight-color:transparent; }
.copy-main:active { transform:scale(.97); }
/* v4.0 上一页按钮（复制按钮右侧） */
.copy-prev { flex-shrink:0; width:92px; border:1px solid #F2C9A8; border-radius:22px; background:#fff; color:#D9541F; font-size:14px; font-weight:600; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.copy-prev:active { background:#FFF3E9; }

/* toast */
#toast { position:fixed; left:50%; bottom:calc(90px + env(safe-area-inset-bottom, 0px)); transform:translateX(-50%) translateY(20px); z-index:200; background:rgba(23,52,42,.92); color:#fff; border-radius:20px; padding:10px 22px; font-size:13px; opacity:0; pointer-events:none; transition:all .25s; max-width:80vw; }
#toast.show { opacity:1; transform:translateX(-50%) translateY(0); }

/* 通用确认弹窗 */
#confirmMask { position:fixed; inset:0; background:rgba(20,14,8,.5); z-index:2200; display:none; align-items:center; justify-content:center; padding:24px; }
#confirmMask.show { display:flex; }
#confirmBox { background:#fff; border-radius:12px; max-width:340px; width:100%; padding:28px 24px 16px; text-align:center; }
#confirmBox .confirm-icon { font-size:36px; margin-bottom:8px; }
#confirmBox .confirm-title { font-size:17px; font-weight:700; color:#17342A; margin-bottom:10px; }
#confirmBox .confirm-msg { font-size:13px; color:#666; line-height:1.6; margin-bottom:20px; text-align:left; }
#confirmBox .confirm-actions { display:flex; gap:10px; }
#confirmBox .confirm-btn { flex:1; border:none; border-radius:8px; padding:11px 0; font-size:15px; font-weight:600; cursor:pointer; }
#confirmBox .confirm-btn.cancel { background:#f0f0f0; color:#666; }
#confirmBox .confirm-btn.ok { background:linear-gradient(135deg,#F8A83C,#FC6C3C); color:#fff; }
#confirmBox .confirm-btn.ok.danger { background:linear-gradient(135deg,#F8A83C,#FC6C3C); }

/* 退出登录加载遮罩 */
#logoutMask { position:fixed; inset:0; background:rgba(20,14,8,.45); z-index:2300; display:none; align-items:center; justify-content:center; }
#logoutMask.show { display:flex; }
#logoutSpinnerBox { display:flex; flex-direction:column; align-items:center; }
#logoutSpinner { width:38px; height:38px; border:3.5px solid rgba(255,255,255,.25); border-top-color:#FC6C3C; border-radius:50%; animation:logoutSpin .7s linear infinite; }
@keyframes logoutSpin { to { transform:rotate(360deg); } }
#logoutTip { color:#fff; font-size:13px; margin-top:14px; opacity:.9; }
