/* Irivi 创作者卡片 · 编辑器修正与新内容块（界面修正 2026-10-29 §17，预览 13_卡片编辑修正/editor.html）
   编辑器（creator_editor.html）与公开页（creator_public.html）都在 creator.css 之后加载本文件。
   1. 编辑版面 = 预览版面：可编辑提示只用 outline（1.5px 淡紫虚线，offset 4px，不改变尺寸），选中块 2px 墨色实线；
      .cw.is-preview（眼睛按钮）去掉 outline、头像小笔与“＋ 添加内容”。
   2. 平台：48 圆 + 平台名；有官方图标素材（.cw-official）时不叠平台色、不反白。
   3. 填充色组件、4. 文本面板、5. 添加内容面板与新块（作品墙 / 出展日程 / 价目表 / 视频）。 */
.cw{--cw-edit-line:#B9B2CC;--cw-tile-ink:#9A93A8;--cw-tile-mid:#B9B2C6}

/* ===== 1. 编辑提示只用 outline（不占位）；版面与预览一致 ===== */
.cw:not(.cw-pub) .cw-eb>.cw-blk,.cw:not(.cw-pub) .cw-eb>.cw-pics3,.cw:not(.cw-pub) .cw-eb>.cw-swipe,
.cw:not(.cw-pub) .cw-nm h1,.cw:not(.cw-pub) .cw-avatar,.cw:not(.cw-pub) .cw-socials.cw-ed{outline:1.5px dashed var(--cw-edit-line);outline-offset:4px}
.cw:not(.cw-pub) .cw-socials.cw-ed{border-radius:12px}
.th-light:not(.cw-pub) .cw-eb>.cw-blk,.th-light:not(.cw-pub) .cw-nm h1,.th-light:not(.cw-pub) .cw-avatar,.th-light:not(.cw-pub) .cw-socials.cw-ed,
.lay-ticket:not(.cw-pub) .cw-eb>.cw-blk{outline-color:rgba(255,255,255,.45)}
.cw .cw-eb.sel>.cw-blk,.cw .cw-eb.sel>.cw-pics3,.cw .cw-eb.sel>.cw-swipe{outline:2px solid var(--ink)!important;outline-offset:4px}
.th-light .cw-eb.sel>.cw-blk,.lay-ticket .cw-eb.sel>.cw-blk{outline-color:#fff!important}
.cw-nm-edit{color:inherit;text-decoration:none;display:inline-block;max-width:100%}
.cw-nm-edit h1{cursor:pointer}
/* 页内预览（眼睛）：同一版面，只去掉编辑提示 */
.cw.is-preview .cw-eb>.cw-blk,.cw.is-preview .cw-eb>.cw-pics3,.cw.is-preview .cw-eb>.cw-swipe,
.cw.is-preview .cw-nm h1,.cw.is-preview .cw-avatar,.cw.is-preview .cw-socials.cw-ed{outline:0!important;cursor:auto}
.cw.is-preview .cw-addbig,.cw.is-preview .cw-cam,.cw.is-preview .cw-flag,.cw.is-preview .cw-empty{display:none!important}
.cw.is-preview .cw-eb{touch-action:auto}
.cw-wb.on{background:var(--ink);border-color:var(--ink);color:#fff}
/* 块角标：会员到期隐藏 / 草稿预览 */
.cw-flag{position:absolute;left:12px;top:-10px;z-index:3;font-style:normal;font-size:10px;font-weight:900;line-height:18px;padding:0 8px;border-radius:999px;background:var(--ink-3);color:#fff;pointer-events:none}
.cw-flag.draft{background:var(--candy);color:#3A1626}

/* ===== 2. 平台图标 ===== */
.cw-so .cw-official,.cw-blk.link .lg .cw-official{width:100%;height:100%;object-fit:cover;border-radius:50%;filter:none}
.cw-so.has-official,.cw-blk.link.has-official .lg,.cw-pub .cw-so.has-official,.cw-pub .cw-blk.link.has-official .lg{background:transparent}
.cw-plats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px 6px;margin:4px 0 6px}
.cw-plt{display:flex;flex-direction:column;align-items:center;gap:6px;padding:4px 0;border:0;background:none;font:inherit;font-size:11px;font-weight:800;color:var(--ink-2);cursor:pointer;min-width:0}
.cw-plt span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cw-plt i{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--a,#64748B);color:#fff;font-style:normal;font-size:16px;font-weight:900;overflow:hidden}
.cw-plt i img{width:24px;height:24px;filter:brightness(0) invert(1)}
.cw-plt i.is-official{background:transparent}.cw-plt i.is-official img{width:100%;height:100%;filter:none}
.cw-plt.on{color:var(--ink)}
.cw-plt.on i{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--ink)}
.cw-plt.more i{background:var(--soft);color:var(--ink-2)}.cw-plt.more i svg{width:20px;height:20px}
.cw-plats .more-item{display:none}.cw-plats.is-open .more-item{display:flex}

/* ===== 3. 填充色组件（按钮、文本框共用） ===== */
.cw-sw{display:flex;flex-wrap:wrap;gap:10px}
.cw-dot{width:34px;height:34px;border-radius:50%;border:0;padding:0;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);position:relative}
.cw-dot.on{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--ink)}
.cw-dot.cus{background:conic-gradient(#FF5F6D,#FFC371,#7BE495,#5BC0EB,#9B5DE5,#FF5F6D)}
.cw-dot.cus:after{content:"";position:absolute;inset:5px;border-radius:50%;background:#fff}
.cw-dot.cus b{position:absolute;inset:0;display:grid;place-items:center;z-index:1;font-size:16px;font-weight:900;color:var(--ink)}
.cw-picker{margin-top:12px;border:1px solid var(--line);border-radius:16px;padding:12px}
.cw-sv{--hue:#FF0000;height:120px;border-radius:10px;position:relative;touch-action:none;cursor:crosshair;background:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,var(--hue))}
.cw-sv i{position:absolute;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.3);box-sizing:border-box;pointer-events:none}
.cw-hue{height:14px;border-radius:7px;margin:12px 0;position:relative;touch-action:none;cursor:pointer;background:linear-gradient(90deg,red,#ff0,lime,cyan,blue,#f0f,red)}
.cw-hue i{position:absolute;top:-3px;width:20px;height:20px;margin-left:-10px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.3);pointer-events:none}
.cw-hexr{display:flex;gap:8px;align-items:center}
.cw-cur{width:40px;height:40px;border-radius:10px;flex:none;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.cw-hex{font-family:var(--f-mono);font-weight:800;text-transform:uppercase}
.cw-grads{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.cw-grads button{height:34px;border-radius:17px;border:0;padding:0;cursor:pointer}
.cw-grads button.on{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--ink)}

/* ===== 4. 文本面板 ===== */
.cw-fpills{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 2px 4px;margin:0 -2px}
.cw-fpills::-webkit-scrollbar{display:none}
.cw-fp{flex:none;height:44px;padding:0 16px;border-radius:22px;border:1.5px solid #E2DEE8;background:#fff;display:inline-flex;align-items:center;gap:6px;font-size:16px;font-weight:600;color:var(--ink);cursor:pointer;white-space:nowrap}
.cw-fp.on{border:2px solid var(--ink)}
.cw-fp .cw-vip{margin:0;height:18px;padding:0 6px;font-family:var(--f-ui)}
.cw-fp.font-system{font-family:var(--f-ui)}.cw-fp.font-serif{font-family:Georgia,"Noto Serif CJK SC",serif}.cw-fp.font-mono{font-family:var(--f-mono)}
.cw-fp.font-rounded{font-family:"Arial Rounded MT Bold","Hiragino Maru Gothic ProN",system-ui,sans-serif}
.cw-fp.font-song{font-family:"Noto Serif CJK SC","Songti SC",serif}.cw-fp.font-kai{font-family:"KaiTi","STKaiti","LXGW WenKai",serif}
.cw-fp.font-handwriting{font-family:"Segoe Script","Bradley Hand",cursive}.cw-fp.font-pixel{font-family:"Press Start 2P",monospace;font-size:12px}
.cw-tb2{display:flex;align-items:center;gap:8px;margin-top:14px;flex-wrap:nowrap}
.cw-step{display:inline-flex;align-items:center;height:40px;border-radius:20px;border:1.5px solid #E2DEE8;flex:none}
.cw-step button{width:36px;height:100%;border:0;background:none;font:inherit;font-size:18px;font-weight:800;color:var(--ink-2);cursor:pointer}
.cw-step b{min-width:30px;text-align:center;font-size:15px;font-weight:800}
.cw-bold{width:40px;height:40px;border-radius:50%;border:1.5px solid #E2DEE8;background:#fff;display:grid;place-items:center;font:inherit;font-weight:900;font-size:16px;color:var(--ink);cursor:pointer;flex:none}
.cw-bold.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.cw-tb2 .cw-sg{margin-left:auto;border-radius:20px;flex:none}
.cw-tb2 .cw-sg button{min-width:40px;height:34px;border-radius:17px;display:grid;place-items:center;padding:0 10px}
.cw-tb2 .cw-sg button svg{width:18px;height:18px;stroke-width:2.4}
.cw-tb2 .cw-sg button.on{background:var(--ink);color:#fff}

/* ===== 5. 添加内容：示意图加深、只写名称 ===== */
.cw-types2 .cw-ty{position:relative;padding:10px 10px 12px;border-radius:16px}
.cw-types2 .cw-ty b{font-size:15px;margin-top:10px}
.cw-types2 .cw-ty>.cw-vip{position:absolute;right:8px;top:8px;margin:0;z-index:1}
.cw-types2 .cw-pvw{height:64px;background:var(--soft);padding:0 12px;gap:6px}
.cw-types2 .cw-pvw i{background:var(--cw-tile-mid)}
.cw-types2 .cw-pvw .b1{width:100%;height:12px;background:var(--cw-tile-ink)}
.cw-types2 .cw-pvw .tx1{width:90%;height:6px}.cw-types2 .cw-pvw .tx2{width:70%;height:6px}.cw-types2 .cw-pvw .tx3{width:80%;height:6px;display:block;border-radius:6px;background:var(--cw-tile-mid)}
.cw-types2 .cw-pvw .p1{width:100%;height:40px}
.cw-types2 .cw-pvw .hd{width:50%;height:12px;background:var(--cw-tile-ink)!important;opacity:1}
.cw-types2 .cw-pvw .gp{width:100%;height:6px;background:#D9D5E0;opacity:1}
.cw-types2 .cw-pvw.p3w,.cw-types2 .cw-pvw.p4w,.cw-types2 .cw-pvw.sw{flex-direction:row}
.cw-types2 .cw-pvw.p3w i,.cw-types2 .cw-pvw.p4w i,.cw-types2 .cw-pvw.sw i{flex:1;width:auto;height:40px}
.cw-types2 .cw-pvw.sw i.half{flex:.5}
.cw-types2 .cw-pvw.cal{flex-direction:row;justify-content:flex-start}
.cw-types2 .cw-pvw.cal .d{width:26px;height:30px;flex:none;background:var(--ink-2)}
.cw-types2 .cw-pvw.cal>span{flex:1;display:flex;flex-direction:column;gap:5px}
.cw-types2 .cw-pvw.prc{align-items:stretch}
.cw-types2 .cw-pvw.prc>span{display:flex;justify-content:space-between}
.cw-types2 .cw-pvw.prc .n{width:50%;height:6px;background:var(--cw-tile-ink)}.cw-types2 .cw-pvw.prc .n.s{width:40%}
.cw-types2 .cw-pvw.prc .v{width:20%;height:6px;background:var(--cw-tile-ink)}
.cw-types2 .cw-pvw .play{width:30px;height:30px;border-radius:50%;background:var(--ink-2);position:relative}
.cw-types2 .cw-pvw .play:after{content:"";position:absolute;left:12px;top:9px;border-left:9px solid #fff;border-top:6px solid transparent;border-bottom:6px solid transparent}

/* ===== 新块（编辑器与公开页同一套类名） ===== */
/* Irivi 作品墙：4 列方图 */
.cw-blk.works{padding:0;background:none}.cw-blk.works:before{display:none}
.cw-works{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.cw-works>a,.cw-works>.cw-wk{display:block;aspect-ratio:1;border-radius:10px;overflow:hidden;background:rgba(255,255,255,.45)}
.cw-works img{width:100%;height:100%;object-fit:cover;display:block}
.cw-works-empty{display:block;margin-top:8px;font-size:12px;color:var(--tx2);text-align:center}
/* 出展日程：日期色块 + 漫展 / 场馆 + 角色 */
.cw-blk.sched{padding:6px 12px;text-align:left}
.cw-sch{display:flex;align-items:center;gap:12px;padding:8px 0}
.cw-sch+.cw-sch{border-top:1px solid rgba(36,33,42,.08)}
.cw-date{width:46px;min-height:50px;flex:none;border-radius:12px;background:var(--ink);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}
.cw-date small{font-size:10px;font-weight:800;opacity:.75}
.cw-date b{font-family:var(--f-num);font-size:18px;font-weight:900}
.cw-date b i{font-style:normal;font-size:11px;font-weight:800;opacity:.8}
.cw-date.is-empty{background:var(--soft);color:var(--ink-3);font-size:11px;font-weight:800}
.cw-sch.is-past{opacity:.45}
.cw-sch-t{min-width:0;flex:1}
.cw-sch-t b{display:block;font-size:14px;font-weight:900;line-height:1.35;overflow-wrap:anywhere}
.cw-sch-t small{display:block;font-size:12px;color:var(--btx2,var(--tx2));margin-top:2px}
/* 价目表：项目名 + 右对齐价格（Inter 数字） */
.cw-blk.prices{padding:6px 16px;text-align:left}
.cw-pr{display:flex;align-items:baseline;gap:12px;padding:10px 0}
.cw-pr+.cw-pr{border-top:1px solid rgba(36,33,42,.08)}
.cw-pr-n{flex:1;min-width:0}
.cw-pr-n b{display:block;font-size:14px;font-weight:800;overflow-wrap:anywhere}
.cw-pr-n small{display:block;font-size:12px;color:var(--btx2,var(--tx2));margin-top:2px}
.cw-pr-v{flex:none;font-family:var(--f-num);font-size:16px;font-weight:900;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.cw-pr-foot{margin:2px 0 10px;font-size:12px;color:var(--btx2,var(--tx2));white-space:pre-wrap}
/* 视频：先封面 + 播放按钮，点击才加载播放器 */
.cw-blk.video{padding:0;overflow:hidden;border-radius:16px}
.cw-blk.video:before{display:none}
.cw-vcover{position:relative;aspect-ratio:16/9;width:100%;display:flex;align-items:center;justify-content:center;border:0;padding:0;margin:0;font:inherit;color:#fff;cursor:pointer;background:linear-gradient(135deg,#2A2633,#4A4458)}
.cw-blk.video[data-provider="bilibili"] .cw-vcover{background:linear-gradient(135deg,#0B6E8F,#00A1D6)}
.cw-blk.video[data-provider="douyin"] .cw-vcover{background:linear-gradient(135deg,#161823,#3A1D3A)}
.cw-blk.video[data-provider="youtube"] .cw-vcover{background:linear-gradient(135deg,#3B0A0A,#B31212)}
.cw-vplay{width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--ink);display:grid;place-items:center;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.cw-vplay svg{width:26px;height:26px;margin-left:3px}
.cw-vmeta{position:absolute;left:14px;right:14px;bottom:12px;text-align:left;text-shadow:0 1px 6px rgba(0,0,0,.35)}
.cw-vmeta b{display:block;font-size:14px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cw-vmeta small{font-size:11px;font-weight:800;opacity:.85}
.cw-vframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:#000}
.cw-vout{display:block;padding:8px 14px;font-size:12px;font-weight:800;color:var(--btx2,var(--tx2));text-align:right}

/* 面板：日程 / 价目表的逐行编辑 */
.cw-rows{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.cw-row{position:relative;display:flex;flex-direction:column;gap:6px;padding:10px 44px 10px 10px;border:1.5px solid var(--line);border-radius:14px}
.cw-row2{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.cw-row2 label{display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:800;color:var(--ink-3)}
.cw-row-x{position:absolute;right:8px;top:8px;width:30px;height:30px;border-radius:50%;border:0;background:var(--soft);color:var(--ink-2);display:grid;place-items:center;cursor:pointer}
.cw-row-x svg{width:16px;height:16px}
.cw-row-add{margin-top:10px;display:inline-flex;align-items:center;gap:4px}
.cw-row-add svg{width:16px;height:16px}
.cw-ta2{height:auto;min-height:64px;padding:10px 12px;resize:vertical}
.cw-hint2.is-error{color:var(--danger)}

@media (max-aspect-ratio:1/1){
  .cw-plats{gap:12px 4px}
  .cw-tb2{gap:6px}
  .cw-tb2 .cw-sg button{min-width:36px;padding:0 8px}
}
