/* TerseLink 官网 · 账号中心（依赖 site.css） */
.who-band{display:flex;align-items:center;gap:18px}
.who-band .avatar{width:64px;height:64px;font-size:26px;box-shadow:0 0 0 3px #fff,0 0 0 4px var(--line-2),0 18px 30px -18px rgba(0,77,161,.6)}
.who-band h1{font-size:clamp(26px,3vw,36px)}
.who-band .meta{display:flex;align-items:center;gap:10px;margin-top:6px;flex-wrap:wrap;font-size:14px;color:var(--mute)}
.band-act{display:flex;gap:10px;flex-wrap:wrap}

.av-edit{display:flex;align-items:center;gap:18px;padding:18px;border:1px dashed var(--line-2);border-radius:14px;background:var(--paper);margin-bottom:22px}
.av-edit .avatar{width:72px;height:72px;font-size:28px;cursor:pointer;position:relative}
.av-edit .avatar::after{content:"更换";position:absolute;inset:0;border-radius:50%;background:rgba(7,16,29,.55);color:#fff;font-size:12px;font-weight:600;display:grid;place-items:center;opacity:0;transition:opacity .2s}
.av-edit .avatar:hover::after{opacity:1}
.av-edit b{display:block;font-size:15px}
.av-edit p{font-size:13px;color:var(--mute);margin:2px 0 10px}
.av-edit .btns{display:flex;gap:8px;flex-wrap:wrap}

.pwd-steps{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--mute);margin:18px 0}
.pwd-steps span{display:flex;align-items:center;gap:7px}
.pwd-steps i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-family:var(--mono);font-size:11.5px;border:1px solid var(--line-2);background:#fff}
.pwd-steps span.on{color:var(--ink);font-weight:600}
.pwd-steps span.on i{background:var(--ink);color:#fff;border-color:var(--ink)}
.pwd-steps span.done i{background:var(--save);color:#fff;border-color:var(--save)}
.pwd-steps em{width:40px;height:1px;background:var(--line-2)}
.pwd-form{max-width:640px}
.pwd-form .form-grid{grid-template-columns:1fr}

.quota{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center;padding:24px 28px;border:1px solid var(--line);border-radius:14px;background:#fff}
.q-ring{width:92px;height:92px;position:relative}
.q-ring svg{width:92px;height:92px;transform:rotate(-90deg)}
.q-ring b{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--mono);font-size:26px;font-weight:700;letter-spacing:-.03em}
.q-ring b small{font-size:12px;color:var(--mute);font-weight:500;display:block;margin-top:-26px}
.q-txt b{display:block;font-size:16px;margin-bottom:4px}
.q-txt p{font-size:14px;color:var(--ink-2)}
.q-txt .hint{margin-top:6px}
.apply{margin-top:16px;display:flex;align-items:center;gap:16px;padding:18px;border-radius:14px;background:var(--warn-bg);border:1px solid rgba(183,121,31,.22)}
.apply.ok{background:var(--save-bg);border-color:rgba(11,155,106,.2)}
.apply.pending{background:var(--blue-bg);border-color:rgba(0,118,191,.16)}
.apply .ai{width:40px;height:40px;border-radius:10px;background:#fff;display:grid;place-items:center;flex:none;color:var(--warn)}
.apply.ok .ai{color:var(--save)}
.apply.pending .ai{color:var(--blue)}
.apply .ai svg{width:20px;height:20px}
.apply b{display:block;font-size:15px}
.apply p{font-size:13.5px;color:var(--ink-2)}
.apply .btn{margin-left:auto;flex:none}
.rules{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
.rules div{font-size:13px;color:var(--ink-2);padding:12px 14px;border-radius:10px;background:var(--paper);border:1px solid var(--line)}
.rules b{display:block;font-size:13.5px;color:var(--ink);margin-bottom:2px}

.dev-empty{padding:22px;text-align:center;border:1px dashed var(--line-2);border-radius:12px;color:var(--mute);font-size:14px}
.dev-empty a{margin-left:4px}

/* chat */
.chat{max-width:520px}
.chat-body{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 20px;display:flex;flex-direction:column;gap:12px;max-height:340px;overflow:auto;margin-top:16px}
.bub{max-width:84%;padding:11px 14px;border-radius:14px;font-size:14px;line-height:1.65;white-space:pre-wrap}
.bub small{display:block;font-size:11.5px;margin-top:4px;opacity:.65;font-family:var(--mono)}
.bub.sup{background:#fff;border:1px solid var(--line);border-top-left-radius:4px;align-self:flex-start}
.bub.me{background:var(--ink);color:#fff;border-top-right-radius:4px;align-self:flex-end}
.chat-st{align-self:center;font-size:12.5px;color:var(--mute);background:#fff;border:1px solid var(--line);padding:4px 12px;border-radius:999px}
.chat-foot{padding:16px 20px 20px}
.chat-foot textarea{min-height:96px}
.chat-row{display:flex;align-items:center;justify-content:space-between;margin-top:10px;gap:12px}
.chat-row .hint.err{color:var(--err)}

@media (max-width:720px){
  .rules{grid-template-columns:1fr}
  .apply{flex-wrap:wrap}
  .apply .btn{margin-left:0;width:100%}
  .quota{grid-template-columns:1fr;justify-items:start}
}
#profileForm .form-grid,#profileForm .av-edit{max-width:920px}

/* 授权等级：同一账号可并存多档套餐，逐档一张卡片 */
.plan-cards{display:flex;flex-wrap:wrap;gap:10px}
.plan-card{flex:1 1 170px;min-width:170px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.plan-card b{display:block;font-size:14.5px;color:var(--ink)}
.plan-card small{display:block;margin-top:3px;font-size:12.5px;color:var(--mute);font-family:var(--mono)}
.plan-card.free{background:var(--paper);border-style:dashed}

/* 头像裁剪弹窗 */
.crop{max-width:380px}
.crop-view{position:relative;width:264px;height:264px;margin:0 auto;border-radius:14px;overflow:hidden;background:var(--paper);cursor:grab;touch-action:none;user-select:none}
.crop-view.drag{cursor:grabbing}
.crop-view img{position:absolute;max-width:none;pointer-events:none;user-select:none}
.crop-circle{position:absolute;inset:0;border-radius:50%;outline:1px solid rgba(255,255,255,.85);box-shadow:0 0 0 9999px rgba(7,16,29,.42);pointer-events:none}
.crop-tip{position:absolute;inset:0;display:grid;place-items:center;padding:0 18px;text-align:center;font-size:13px;color:var(--mute);background:var(--paper)}
.crop-tip[hidden]{display:none}
.crop-zoom{display:flex;align-items:center;gap:12px;margin-top:16px;font-size:15px;color:var(--mute)}
.crop-zoom input{flex:1;accent-color:var(--blue)}
@media (max-width:480px){.crop-view{width:220px;height:220px}}
