/*
 * Koi Change I 重建：创作者主页「全新自定义外壳」皮肤。
 * 展示模式下 author.php 输出全新 kprof-* markup（不复用 B2 .author-* 类、不挂 author.js），
 * 故本文件用全新命名空间，天然不与用户内联 extra.css(.author-*) 冲突；无需 !important 大战。
 * --koi-accent 由 koi-profile-shell.js 依 layout.theme.accent 注入到 #kprof-app（缺省回退站点主色）。
 */
:root{ --koi-accent: var(--b2color, #ff7a59); }
.kprof-root{ --koi-accent: var(--b2color, #ff7a59); }

/* ===================== Hero（现代风：banner + 白底信息卡 + 头像压边） ===================== */
.kprof-root{ max-width:1100px; margin:0 auto; }
.kprof-hero{ background:var(--b2background,#fff); border-radius:var(--b2radius,12px); box-shadow:0 1px 3px rgba(0,0,0,.06); position:relative; }
.kprof-banner{ position:relative; height:210px; border-radius:var(--b2radius,12px) var(--b2radius,12px) 0 0; background:#dfe2e8 center/cover no-repeat; overflow:hidden; }
@media (max-width:768px){ .kprof-banner{ height:140px; } }
.kprof-cover-edit{ position:absolute; right:14px; bottom:14px; z-index:2; display:inline-flex; align-items:center; gap:5px; border:0; cursor:pointer; padding:6px 12px; border-radius:999px; font-size:13px; background:rgba(0,0,0,.45); color:#fff; }
.kprof-cover-edit:hover{ background:rgba(0,0,0,.65); }

.kprof-info{ padding:0 24px 4px; position:relative; }
.kprof-info-top{ display:flex; align-items:flex-end; justify-content:space-between; gap:12px; }
.kprof-avatar{ width:112px; height:112px; min-width:112px; margin-top:-52px; border-radius:50%; border:4px solid var(--b2background,#fff); background:var(--b2-grey,#ddd) center/cover no-repeat; box-shadow:0 2px 10px rgba(0,0,0,.12); position:relative; }
.kprof-avatar-edit{ position:absolute; inset:0; border:0; cursor:pointer; border-radius:50%; background:rgba(0,0,0,.4); color:#fff; font-size:20px; opacity:0; transition:opacity .15s; }
.kprof-avatar:hover .kprof-avatar-edit{ opacity:1; }
.kprof-hero-actions{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; padding-bottom:8px; }
.kprof-name{ margin:12px 0 0; font-size:22px; color:var(--b2fontcolor,#1a1a1a); display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.kprof-lv{ display:inline-flex; align-items:center; gap:4px; }
/* 认证：认证称号行（b2_title 非空即认证）。统一深灰盾形图标(b2-shield-user-line)在称号前；
   不用 B2 原生 b2-vrenzhengguanli（其 CSS position:absolute 会把图标飘到信息卡右边缘）。 */
.kprof-verify-line{ display:flex; align-items:center; gap:5px; margin:6px 0 0; font-size:13px; }
.kprof-verify-line i{ font-size:15px; line-height:1; color:#5b6168; }
.kprof-verify-line span{ color:#3a3f45; font-weight:500; }
/* 行内统计：作品/粉丝/关注 */
.kprof-stats{ display:flex; gap:24px; margin:12px 0 0; }
.kprof-stats:empty{ display:none; }
.kprof-stat{ display:flex; align-items:baseline; gap:5px; text-decoration:none; color:inherit; cursor:pointer; }
.kprof-stat b{ font-size:16px; color:var(--b2fontcolor,#1a1a1a); }
.kprof-stat span{ font-size:13px; color:var(--b2fontcolor-light,#8a8f99); }
.kprof-stat:hover b, .kprof-stat:hover span{ color:var(--koi-accent); }
.kprof-identity{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:12px; }
.kprof-identity:empty{ display:none; }
.kprof-bio{ margin:10px 0 0; font-size:13px; color:var(--b2fontcolor-light,#7a7f88); max-width:680px; line-height:1.6; }
@media (max-width:768px){
    .kprof-info{ padding:0 14px 4px; }
    .kprof-avatar{ width:88px; height:88px; min-width:88px; margin-top:-44px; }
    .kprof-stats{ gap:18px; }
}
/* 操作按钮(编辑资料/编辑主页 或 关注/私信/约稿)：桌面绝对定位到信息卡右上(与头像同区)；移动端落到简介下方独占一行右对齐 */
@media (min-width:769px){
    .kprof-hero-actions{ position:absolute; top:24px; right:24px; z-index:3; padding-bottom:0; margin:0; }
}
@media (max-width:768px){
    .kprof-hero-actions{ width:100%; justify-content:flex-end; padding-bottom:0; margin-top:12px; }
}

/* role chips + 外部链接（白底，深色样式） */
.kprof-role-chip{ display:inline-flex; align-items:center; gap:4px; padding:3px 11px; border-radius:999px; font-size:12px; line-height:1.7; font-weight:600; color:var(--koi-accent); background:color-mix(in srgb, var(--koi-accent) 13%, transparent); }
.kprof-tagline{ font-size:13px; color:var(--b2fontcolor,#444); font-weight:500; }
.kprof-link{ display:inline-flex; align-items:center; gap:4px; padding:3px 11px; border-radius:999px; font-size:12px; text-decoration:none; color:var(--b2fontcolor,#444); background:var(--b2-grey,#f1f2f4); }
.kprof-link:hover{ color:var(--koi-accent); background:color-mix(in srgb, var(--koi-accent) 14%, transparent); }

/* 操作按钮 */
.kprof-btn{ display:inline-flex; align-items:center; gap:5px; cursor:pointer; border:0; border-radius:999px; padding:8px 16px; font-size:14px; font-weight:600; background:var(--b2-grey,#f1f2f4); color:var(--b2fontcolor,#333); }
.kprof-btn.primary{ background:var(--koi-accent); color:#fff; }
.kprof-btn.primary:hover{ filter:brightness(1.05); }
.kprof-btn.following{ background:var(--b2-grey,#eceef1); color:var(--b2fontcolor-light,#888); }
.kprof-btn:hover{ filter:brightness(.97); }

/* ===================== 横向导航 ===================== */
.kprof-nav{ display:flex; align-items:center; gap:8px; padding:8px 14px 6px; margin-top:14px; border-top:1px solid var(--b2border,#f0f1f3); position:relative; }
.kprof-tabscroll{ display:flex; align-items:center; gap:4px; flex:1; min-width:0; overflow-x:auto; scrollbar-width:thin; }
.kprof-tabscroll::-webkit-scrollbar{ height:4px; }
.kprof-tab{ display:inline-flex; align-items:center; gap:5px; white-space:nowrap; padding:8px 14px; border-radius:999px; font-size:14px; color:var(--b2fontcolor,#333); text-decoration:none; border:0; background:none; cursor:pointer; transition:background .15s,color .15s; }
.kprof-tab i{ font-size:15px; }
.kprof-tab:hover{ background:color-mix(in srgb, var(--koi-accent) 12%, transparent); }
.kprof-tab.active{ background:var(--koi-accent); color:#fff; }
.kprof-tab.active i{ color:#fff; }
.kprof-manage{ position:relative; flex:0 0 auto; }
.kprof-manage-menu{ position:absolute; right:0; top:calc(100% + 4px); background:var(--b2background,#fff); border:1px solid var(--b2border,#eee); border-radius:10px; box-shadow:0 6px 20px rgba(0,0,0,.12); padding:6px; min-width:120px; display:none; z-index:50; }
.kprof-manage.open .kprof-manage-menu{ display:block; }
.kprof-manage-menu a{ display:block; padding:8px 12px; border-radius:7px; font-size:13px; color:var(--b2fontcolor,#333); text-decoration:none; white-space:nowrap; }
.kprof-manage-menu a:hover{ background:var(--b2-grey,#f4f5f7); color:var(--koi-accent); }
.kprof-manage-menu a.active{ color:var(--koi-accent); }

/* ===================== 内容区 ===================== */
.kprof-content{ margin-top:16px; transition:opacity .15s; } /* Ajax 切 Tab 淡入淡出 */
.kprof-mount{ min-height:120px; }
.kprof-loading,.kprof-empty{ text-align:center; color:var(--b2fontcolor-light,#9aa0aa); font-size:14px; padding:40px 0; }

/* 作品/卡片网格 */
.kprof-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:14px; }
@media (max-width:560px){ .kprof-grid{ grid-template-columns:repeat(2,1fr); gap:10px; } }
.kprof-card{ position:relative; background:var(--b2background,#fff); border-radius:var(--b2radius,10px); overflow:hidden; box-shadow:0 1px 3px rgba(0,0,0,.06); transition:transform .15s,box-shadow .15s; }
.kprof-card:hover{ transform:translateY(-2px); box-shadow:0 6px 18px rgba(0,0,0,.1); }
.kprof-card-link{ position:absolute; inset:0; z-index:1; }
.kprof-card-thumb{ display:block; width:100%; aspect-ratio:1/0.82; background:var(--b2-grey,#f1f2f4) center/cover no-repeat; }
.kprof-card-body{ padding:9px 11px 11px; }
.kprof-card-title{ font-size:14px; font-weight:600; color:var(--b2fontcolor,#222); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.kprof-card-meta{ display:flex; align-items:center; gap:12px; margin-top:6px; font-size:12px; color:var(--b2fontcolor-light,#9aa0aa); }
.kprof-card-meta span{ display:inline-flex; align-items:center; gap:3px; }
.kprof-pin-badge{ position:absolute; left:8px; top:8px; z-index:2; background:var(--koi-accent); color:#fff; font-size:11px; padding:2px 8px; border-radius:999px; }
.kprof-pin-toggle{ position:absolute; right:8px; top:8px; z-index:3; border:0; cursor:pointer; font-size:11px; padding:3px 9px; border-radius:999px; background:rgba(0,0,0,.5); color:#fff; opacity:0; transition:opacity .15s; }
.kprof-card:hover .kprof-pin-toggle{ opacity:1; }
.kprof-dc-blur{ filter:blur(18px); }

/* 关注/粉丝 用户卡 */
.kprof-users{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:12px; }
.kprof-usercard{ display:flex; align-items:center; gap:12px; background:var(--b2background,#fff); border-radius:var(--b2radius,10px); padding:12px 14px; box-shadow:0 1px 3px rgba(0,0,0,.06); position:relative; }
.kprof-usercard-av{ width:48px; height:48px; min-width:48px; border-radius:50%; background:var(--b2-grey,#eee) center/cover no-repeat; }
.kprof-usercard-main{ flex:1; min-width:0; }
.kprof-usercard-name{ font-size:14px; font-weight:600; color:var(--b2fontcolor,#222); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.kprof-usercard-sub{ font-size:12px; color:var(--b2fontcolor-light,#9aa0aa); margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.kprof-usercard-link{ position:absolute; inset:0; }
.kprof-usercard-follow{ position:relative; z-index:2; }

/* 资料 about：身份 + 统计 + 模块 */
.kprof-about-stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(90px,1fr)); gap:10px; background:var(--b2background,#fff); border-radius:var(--b2radius,12px); padding:16px; box-shadow:0 1px 3px rgba(0,0,0,.06); margin-bottom:16px; }
.kprof-stat{ text-align:center; }
.kprof-stat b{ display:block; font-size:20px; color:var(--b2fontcolor,#222); }
.kprof-stat span{ font-size:12px; color:var(--b2fontcolor-light,#9aa0aa); }
.kprof-module{ margin-bottom:18px; }
.kprof-module-head{ display:flex; align-items:center; justify-content:space-between; margin:0 2px 10px; }
.kprof-module-head h3{ margin:0; font-size:16px; font-weight:700; display:flex; align-items:center; gap:6px; }
.kprof-module-head h3::before{ content:''; width:4px; height:15px; border-radius:2px; background:var(--koi-accent); }
.kprof-module-more{ font-size:12px; color:var(--b2fontcolor-light,#9aa0aa); text-decoration:none; }
.kprof-module-more:hover{ color:var(--koi-accent); }

/* ===================== 编辑抽屉（body 层） ===================== */
.kprof-editor-mask{ position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:9998; }
.kprof-editor{ position:fixed; top:0; right:0; height:100%; width:390px; max-width:92vw; z-index:9999; background:var(--b2background,#fff); box-shadow:-4px 0 24px rgba(0,0,0,.18); display:flex; flex-direction:column; overflow:hidden; }
.kprof-editor-hd{ display:flex; align-items:center; justify-content:space-between; padding:14px 16px; border-bottom:1px solid var(--b2border,#eee); }
.kprof-editor-hd b{ font-size:15px; }
.kprof-editor-hd .kprof-x{ cursor:pointer; font-size:20px; line-height:1; border:0; background:none; color:var(--b2fontcolor-light,#888); }
.kprof-editor-bd{ flex:1; overflow-y:auto; padding:14px 16px; }
.kprof-editor-ft{ padding:12px 16px; border-top:1px solid var(--b2border,#eee); display:flex; gap:8px; }
.kprof-editor-ft button{ flex:1; border:0; border-radius:var(--b2radius,8px); padding:9px; font-size:14px; cursor:pointer; }
.kprof-save{ background:var(--koi-accent); color:#fff; font-weight:600; }
.kprof-cancel{ background:var(--b2-grey,#f1f2f4); color:var(--b2fontcolor,#333); }
.kprof-sec{ margin-bottom:18px; }
.kprof-sec > label{ display:block; font-size:13px; font-weight:600; margin-bottom:7px; }
.kprof-input{ width:100%; box-sizing:border-box; padding:8px 10px; border:1px solid var(--b2border,#ddd); border-radius:8px; font-size:13px; background:transparent; color:inherit; }
textarea.kprof-input{ min-height:72px; resize:vertical; }
.kprof-rows{ display:flex; flex-direction:column; gap:7px; }
.kprof-row{ display:flex; gap:6px; align-items:center; }
.kprof-row .kprof-input{ flex:1; }
.kprof-row button, .kprof-addrow{ border:0; background:var(--b2-grey,#f1f2f4); border-radius:8px; padding:7px 10px; cursor:pointer; font-size:13px; color:var(--b2fontcolor,#333); }
.kprof-addrow{ margin-top:7px; color:var(--koi-accent); }
.kprof-sortlist{ display:flex; flex-direction:column; gap:6px; }
.kprof-sortitem{ display:flex; align-items:center; gap:8px; padding:8px 10px; border:1px solid var(--b2border,#eee); border-radius:8px; background:var(--b2-grey,#fafafb); }
.kprof-sortitem .kprof-name{ flex:1; font-size:13px; }
.kprof-sortitem.off .kprof-name{ color:var(--b2fontcolor-light,#aaa); text-decoration:line-through; }
.kprof-eye{ cursor:pointer; border:0; background:none; font-size:13px; color:var(--koi-accent); }
.kprof-mv{ border:0; background:var(--b2-grey,#eef0f2); border-radius:6px; width:26px; height:26px; cursor:pointer; font-size:13px; color:var(--b2fontcolor,#333); }
.kprof-mv:disabled{ opacity:.35; cursor:default; }
.kprof-swatches{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.kprof-swatch{ width:26px; height:26px; border-radius:50%; cursor:pointer; border:2px solid transparent; }
.kprof-swatch.sel{ border-color:var(--b2fontcolor,#333); }
.kprof-hex{ width:96px; }
.kprof-editavatar{ display:flex; gap:12px; align-items:center; margin-bottom:8px; }
.kprof-editavatar .av{ width:64px; height:64px; border-radius:50%; background:var(--b2-grey,#eee) center/cover no-repeat; }
.kprof-editavatar .cov{ flex:1; height:64px; border-radius:8px; background:var(--b2-grey,#eee) center/cover no-repeat; }

/* ===================== 批次2 增补 ===================== */
/* 工具条 + 布局切换（瀑布/网格） */
.kprof-toolbar{ display:flex; align-items:center; justify-content:flex-end; gap:8px; margin-bottom:12px; }
.kprof-segt{ display:inline-flex; background:var(--b2-grey,#f1f2f4); border-radius:999px; padding:3px; }
.kprof-segt button{ border:0; background:none; cursor:pointer; font-size:13px; padding:5px 14px; border-radius:999px; color:var(--b2fontcolor-light,#888); }
.kprof-segt button.on{ background:var(--b2background,#fff); color:var(--koi-accent); font-weight:600; box-shadow:0 1px 2px rgba(0,0,0,.08); }

/* 瀑布流（按图片原比例，JS 分桶均衡；列数由 JS 按视口决定，规避 CSS column-fill:balance 尾列塌陷） */
.kprof-waterfall{ display:flex; gap:14px; align-items:flex-start; }
.kprof-wf-col{ flex:1 1 0; min-width:0; display:flex; flex-direction:column; gap:14px; }
@media (max-width:760px){ .kprof-waterfall{ gap:10px; } .kprof-wf-col{ gap:10px; } }
.kprof-card-img{ display:block; width:100%; height:auto; background:var(--b2-grey,#f1f2f4); }

/* 不适宜内容：模糊 + 文字提示 */
.kprof-card-thumb.kprof-dc-blur, .kprof-card-img.kprof-dc-blur{ filter:blur(20px); }
.kprof-dc-notice{ position:absolute; left:0; right:0; top:0; bottom:0; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; color:#fff; text-align:center; pointer-events:none; text-shadow:0 1px 3px rgba(0,0,0,.6); }
.kprof-dc-notice .ic{ font-size:22px; }
.kprof-dc-notice .tx{ font-size:12px; opacity:.95; }
.kprof-card .kprof-card-thumbwrap{ position:relative; display:block; overflow:hidden; }

/* 收藏 子类型切换（画作/圈子/问答/约稿，自实现） */
.kprof-subtabs{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
.kprof-subtab{ border:0; cursor:pointer; background:var(--b2-grey,#f1f2f4); color:var(--b2fontcolor,#444); border-radius:999px; padding:7px 16px; font-size:13px; }
.kprof-subtab.on{ background:var(--koi-accent); color:#fff; font-weight:600; }

/* 编辑器 ↑↓ 箭头居中修复 */
.kprof-mv{ display:inline-flex; align-items:center; justify-content:center; line-height:1; padding:0; }

/* ===================== 批次3 增补：搜索 / 收藏夹 / 详情头 ===================== */
.kprof-searchbar{ margin-bottom:14px; }
.kprof-search{ width:100%; max-width:320px; box-sizing:border-box; padding:9px 14px; border:1px solid var(--b2border,#e3e5e8); border-radius:999px; font-size:13px; background:var(--b2-grey,#f7f8fa); color:inherit; }
.kprof-search:focus{ outline:none; border-color:var(--koi-accent); }
/* 收藏夹卡 */
.kprof-foldercard{ cursor:pointer; background:var(--b2background,#fff); border-radius:var(--b2radius,10px); overflow:hidden; box-shadow:0 1px 3px rgba(0,0,0,.06); transition:transform .15s,box-shadow .15s; }
.kprof-foldercard:hover{ transform:translateY(-2px); box-shadow:0 6px 18px rgba(0,0,0,.1); }
.kprof-folder-cover{ display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:1/0.7; background:var(--b2-grey,#eceef1) center/cover no-repeat; }
.kprof-folder-ic{ font-size:30px; opacity:.55; }
.kprof-folder-cover[style] .kprof-folder-ic{ display:none; }
.kprof-folder-meta{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:9px 11px; }
.kprof-folder-name{ font-size:14px; font-weight:600; color:var(--b2fontcolor,#222); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.kprof-folder-count{ font-size:12px; color:var(--b2fontcolor-light,#9aa0aa); flex:0 0 auto; }
/* 详情头（收藏夹详情返回） */
.kprof-detailhead{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.kprof-back{ border:0; cursor:pointer; background:var(--b2-grey,#f1f2f4); color:var(--b2fontcolor,#444); border-radius:999px; padding:7px 14px; font-size:13px; }
.kprof-back:hover{ color:var(--koi-accent); }
.kprof-detailname{ font-size:15px; font-weight:600; color:var(--b2fontcolor,#222); }
