/* Irivi · static/app/detail.css（REFACTOR_PLAN 3.1b 详情组件；取代 detail_experience.css 与旧 .lightbox 布局）
   宽屏：左黑底看图（原图 / 镜像 / 旋转 / 关闭、左右切换）+ 右信息栏 360px；
   竖屏（max-aspect-ratio:1/1）：大图 + 底部细栏 44px（左上传者、右点赞、中间拉手），上拉展开，左上“⋯”菜单。
   旧样式（style.css / engagement_v2_02_08.css 等）对 .lightbox-* 有大量 !important，这里用 html body #lightbox 提高优先级。 */

html body #lightbox.irivi-detail{position:fixed;inset:0;z-index:100;display:grid;grid-template-columns:minmax(0,1fr) 360px;padding:0;background:#16121C;color:#fff;place-items:stretch;
  height:var(--detail-height,100dvh);top:var(--detail-top,0px);animation:iriviDetailIn var(--t-slow) var(--ease-out)}
html body #lightbox.irivi-detail[hidden]{display:none!important}
@keyframes iriviDetailIn{from{opacity:0}to{opacity:1}}
html body:has(#lightbox.irivi-detail:not([hidden])) #iriviTabbar{display:none!important}
html body #lightbox .detail-ic{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* ===== 看图区 ===== */
html body #lightbox .detail-stage{position:relative;display:grid;place-items:center;min-width:0;min-height:0;padding:60px 76px 24px;overflow:hidden}
html body #lightbox .detail-stagebar{position:absolute;left:20px;right:20px;top:14px;z-index:3;display:flex;align-items:center;gap:8px;color:#fff;font-size:13px}
html body #lightbox .detail-counter{margin-right:auto;opacity:.7;font-variant-numeric:tabular-nums}
html body #lightbox .detail-pill{position:static!important;display:inline-flex!important;align-items:center;gap:6px;height:32px!important;min-height:0!important;width:auto;margin:0!important;padding:0 12px!important;border:0!important;border-radius:var(--r-pill)!important;
  background:rgba(255,255,255,.12)!important;color:#fff!important;box-shadow:none!important;font:inherit!important;font-size:13px!important;font-weight:700!important;cursor:pointer;outline:0;transition:background-color var(--t-fast) var(--ease-out)}
html body #lightbox .detail-pill:hover{background:rgba(255,255,255,.2)!important}
html body #lightbox .detail-pill:focus-visible{outline:2px solid #fff!important;outline-offset:2px}
html body #lightbox .detail-pill[aria-pressed="true"]{background:rgba(255,255,255,.28)!important}
html body #lightbox .detail-pill[hidden]{display:none!important}
/* 旧 style.css 给 #lightboxClose / #lightboxPrev / #lightboxNext 画的伪元素箭头与 × 不再使用（图标在按钮内） */
html body #lightbox #lightboxClose::before,html body #lightbox #lightboxClose::after,html body #lightbox #lightboxPrev::before,html body #lightbox #lightboxNext::before,
html body #lightbox #lightboxPrev::after,html body #lightbox #lightboxNext::after{content:none!important;display:none!important}
html body #lightbox #lightboxClose{position:static!important;top:auto!important;right:auto!important;width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;flex:0 0 32px!important;border-radius:50%!important;font-size:13px!important;line-height:1!important;display:inline-flex!important;place-items:center;justify-content:center}
html body #lightbox .detail-close{width:32px;padding:0!important;justify-content:center;margin-left:8px!important}
html body #lightbox .detail-more-btn{display:none!important}
html body #lightbox .detail-more-menu{position:absolute;left:12px;top:54px;z-index:4;min-width:150px;padding:6px;border-radius:var(--r-md);background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.35);animation:iriviPopIn var(--t-base) var(--ease-out)}
html body #lightbox .detail-more-menu[hidden]{display:none}
html body #lightbox .detail-more-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;border-radius:var(--r-sm);background:none;color:var(--ink);font:inherit;font-size:14px;font-weight:700;text-align:left;cursor:pointer}
html body #lightbox .detail-more-menu button+button{border-top:1px solid var(--line)}
html body #lightbox .detail-more-menu button[hidden]{display:none}
html body #lightbox .detail-more-menu .detail-ic{width:18px;height:18px;color:var(--ink-2)}
html body #lightbox .detail-nav{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;z-index:2;display:grid;place-items:center;width:44px!important;height:44px!important;padding:0!important;border:0!important;border-radius:50%!important;
  background:rgba(255,255,255,.12)!important;color:#fff!important;font-size:0!important;cursor:pointer;touch-action:manipulation;transition:background-color var(--t-fast)}
html body #lightbox .detail-nav:hover{background:rgba(255,255,255,.22)!important}
html body #lightbox .detail-nav .detail-ic{width:22px;height:22px}
html body #lightbox .detail-nav.is-prev{left:16px!important;right:auto!important}
html body #lightbox .detail-nav.is-next{right:16px!important;left:auto!important}
html body #lightbox.is-single .detail-nav{display:none!important}
html body #lightbox .detail-picture{position:relative;z-index:0;display:grid!important;place-items:center;width:100%;height:100%;max-width:none!important;max-height:none!important;min-height:0;gap:0!important}
html body #lightbox #lightboxSingleView{display:grid;place-items:center;width:100%;height:100%;min-height:0}
html body #lightbox #lightboxSingleView[hidden],html body #lightbox #lightingCompareView[hidden]{display:none!important}
html body #lightbox #lightboxImage{display:block;max-width:100%!important;max-height:calc(var(--detail-height,100vh) - 96px)!important;width:auto;height:auto;object-fit:contain;border-radius:4px!important;
  rotate:var(--detail-rotate,0deg);transition:rotate var(--t-base) var(--ease-out)}
html body #lightbox.is-rotated-side #lightboxImage{max-width:calc(var(--detail-height,100vh) - 96px)!important;max-height:min(100%,calc(100vw - 512px))!important}
html body #lightbox #lightingCompareView{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%;height:100%;min-height:0}
html body #lightbox .lighting-compare-pane{display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;min-height:0;place-items:center}
html body #lightbox .lighting-compare-label{font-size:12px;font-weight:700;color:rgba(255,255,255,.7)}
html body #lightbox .lighting-compare-pane img{max-width:100%;max-height:calc(var(--detail-height,100vh) - 130px);object-fit:contain;border-radius:4px}
html body #lightbox .detail-takendown{display:none}
html body #lightbox.is-taken-down .detail-takendown{display:grid;place-items:center;width:min(360px,80%);aspect-ratio:3/4;border-radius:var(--r-md);background:rgba(255,255,255,.08);color:rgba(255,255,255,.75);font-size:18px;font-weight:800}
html body #lightbox.is-taken-down #lightboxSingleView,html body #lightbox.is-taken-down #lightingCompareView,html body #lightbox.is-taken-down #detailOriginalBtn,
html body #lightbox.is-taken-down #lightboxMirror,html body #lightbox.is-taken-down #detailRotateBtn,html body #lightbox.is-taken-down .detail-more-btn{display:none!important}

/* ===== 信息栏 ===== */
html body #lightbox .detail-info{position:relative;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;background:#fff;color:var(--ink)}
html body #lightbox .detail-handle,html body #lightbox .detail-mbar{display:none}
html body #lightbox .detail-full{padding:22px 22px 28px}
html body #lightbox .detail-by{display:flex;align-items:center;gap:10px;min-height:44px}
html body #lightbox .detail-uploader{display:flex;align-items:center;gap:10px;min-width:0;color:var(--ink)!important;text-decoration:none!important}
html body #lightbox .detail-uploader[hidden]{display:none}
html body #lightbox .detail-avatar{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:50%;overflow:hidden;background:var(--candy);color:#3A1626;font-weight:900}
html body #lightbox .detail-avatar img{width:100%;height:100%;object-fit:cover}
html body #lightbox .detail-avatar.is-small{flex-basis:24px;width:24px;height:24px;font-size:11px}
html body #lightbox .detail-uploader-copy{min-width:0}
html body #lightbox .detail-uploader-copy b{display:block;font-size:15px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body #lightbox .detail-uploader-copy small{display:block;font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums}
html body #lightbox .detail-follow{margin-left:auto;flex:none;height:32px;padding:0 16px;border:0;border-radius:var(--r-pill);background:var(--brand);color:#fff;font:inherit;font-size:13px;font-weight:800;cursor:pointer;transition:background-color var(--t-base),transform var(--t-fast)}
html body #lightbox .detail-follow.is-on,html body #lightbox .detail-follow.is-ghost{background:var(--soft);color:var(--ink-2)}
html body #lightbox .detail-follow:active{transform:scale(.96)}
html body #lightbox .detail-follow[hidden]{display:none}
/* 已赞 / 收藏 / 加入例图队列 */
html body #lightbox .detail-acts{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:18px;justify-content:stretch!important;position:relative}
html body #lightbox .detail-acts .lightbox-social-actions{display:contents!important}
html body #lightbox .detail-acts .lightbox-like,html body #lightbox .detail-acts .lightbox-favorite,html body #lightbox .detail-queue{position:static!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:6px;width:100%!important;height:42px!important;min-height:0!important;margin:0!important;padding:0 10px!important;
  border:0!important;border-radius:var(--r-sm)!important;background:var(--soft)!important;color:var(--ink)!important;box-shadow:none!important;font:inherit!important;font-size:14px!important;font-weight:800!important;cursor:pointer;transform:none!important;transition:background-color var(--t-base),transform var(--t-fast)}
html body #lightbox .detail-acts .lightbox-like:active,html body #lightbox .detail-acts .lightbox-favorite:active,html body #lightbox .detail-queue:active{transform:scale(.97)!important}
html body #lightbox .detail-acts .lightbox-like .detail-ic{width:18px;height:18px}
html body #lightbox .detail-acts .lightbox-like em{font-style:normal;font-variant-numeric:tabular-nums;color:var(--ink-3);font-weight:700}
html body #lightbox .detail-acts .lightbox-like{position:relative!important;font-family:inherit}
html body #lightbox .detail-acts .lightbox-like em{font-family:var(--f-num)}
html body #lightbox .detail-acts .lightbox-like.is-liked{color:var(--pink)!important;background:#FFF0F4!important}
html body #lightbox .detail-acts .lightbox-like.is-liked .detail-ic{fill:currentColor}
html body #lightbox .detail-acts .lightbox-like.is-pop .detail-ic{animation:iriviHeartPop .45s var(--ease-spring)}
html body #lightbox .detail-acts .lightbox-favorite.is-favorite{background:#FFF8DF!important;color:#8B6500!important}
html body #lightbox .detail-acts .lightbox-favorite[hidden]{display:none!important}
html body #lightbox .detail-acts .lightbox-like:disabled{opacity:.65}
html body #lightbox .detail-queue{grid-column:span 2;background:var(--candy)!important;color:#3A1626!important}
html body #lightbox .detail-queue .detail-ic{width:18px;height:18px}
html body #lightbox .detail-acts:has(.lightbox-favorite[hidden]) .lightbox-like{grid-column:span 2}
html body #lightbox .detail-queue-picker{position:absolute;left:0;right:0;top:100%;z-index:5;margin-top:6px;padding:8px;border-radius:var(--r-md);background:#fff;box-shadow:var(--shadow-pop);animation:iriviPopIn var(--t-base) var(--ease-out)}
html body #lightbox .detail-queue-title{padding:4px 8px 8px;font-size:13px;font-weight:900}
html body #lightbox .detail-queue-note{margin:0;padding:6px 8px 10px;font-size:13px;color:var(--ink-3)}
html body #lightbox .detail-queue-list{display:grid;gap:2px;max-height:240px;overflow:auto}
html body #lightbox .detail-queue-item{display:flex;align-items:center;gap:8px;width:100%;min-height:38px;padding:0 10px;border:0;border-radius:var(--r-xs);background:none;color:var(--ink);font:inherit;font-size:14px;font-weight:700;text-align:left;cursor:pointer}
html body #lightbox .detail-queue-item span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body #lightbox .detail-queue-item small{color:var(--ink-3);font-size:12px}
html body #lightbox .detail-queue-item:hover{background:var(--soft)}
html body #lightbox .detail-queue-manage{display:block;margin-top:6px;padding:8px 10px;border-top:1px solid var(--line);color:var(--brand);font-size:13px;font-weight:800;text-decoration:none}
/* 区块 */
html body #lightbox .detail-blk{margin-top:22px}
html body #lightbox .detail-blk h4{margin:0 0 10px;font-size:15px;font-weight:900;color:var(--ink)}
html body #lightbox .detail-blk h4 b{color:var(--brand)}
html body #lightbox #lightboxTags.detail-tagset{display:flex!important;flex-wrap:wrap;gap:6px;justify-content:flex-start!important;max-width:none}
html body #lightbox #lightboxTags .chip{display:inline-flex;align-items:center;gap:6px;height:auto;margin:0!important;padding:3px 11px!important;border:1.5px solid var(--c,var(--brand))!important;border-radius:var(--r-pill)!important;background:#fff!important;
  color:color-mix(in srgb,var(--c,var(--brand)) 85%,#000)!important;box-shadow:none!important;font-size:13px!important;font-weight:700!important;line-height:1.5;cursor:default;outline:0!important;transform:none!important}
html body #lightbox .ai-artwork-notice{margin:10px 0 0;text-align:left;color:#B5852A}
html body #lightbox .detail-tools{display:grid;gap:8px}
html body #lightbox .detail-tools.is-3{grid-template-columns:repeat(3,1fr)}
html body #lightbox .detail-tools.is-2{grid-template-columns:repeat(2,1fr)}
html body #lightbox .detail-tool{position:relative;display:flex!important;flex-direction:column;align-items:flex-start;gap:6px;width:auto!important;min-height:0!important;height:auto!important;margin:0!important;padding:12px!important;border:0!important;border-radius:var(--r-sm)!important;
  background:var(--tbg,var(--soft))!important;color:var(--ink)!important;box-shadow:none!important;font:inherit!important;font-size:13px!important;font-weight:800!important;text-align:left;cursor:pointer;transition:transform var(--t-fast) var(--ease-out),filter var(--t-base)}
html body #lightbox .detail-tool:hover{filter:brightness(.97)}
html body #lightbox .detail-tool:active{transform:scale(.97)}
html body #lightbox .detail-tool .detail-ic{width:22px;height:22px;color:var(--tc,var(--brand))}
html body #lightbox .detail-tool[hidden]{display:none!important}
html body #lightbox .detail-tools.is-2:has(> .detail-tool[hidden]) > .detail-tool:not([hidden]){grid-column:span 2}
html body #lightbox .detail-tool:disabled{opacity:.55;cursor:not-allowed;transform:none}
html body #lightbox .detail-tool.active{box-shadow:inset 0 0 0 2px var(--tc,var(--brand))!important}
html body #lightbox .detail-pending{position:absolute;right:8px;top:8px;padding:0 6px;border-radius:var(--r-pill);background:rgba(255,255,255,.8);color:var(--ink-3);font-size:10px;font-style:normal;font-weight:700}
/* 管理（负责人 2026-10-30）：编辑 Tag / 删除图片两个并排区块按钮，外观同点赞 / 收藏；更换 / 删除灯位图（对比视图里）放在下面一行小字 */
html body #lightbox .detail-admin:not(:has(button:not([hidden]):not(.permission-hidden))){display:none}
html body #lightbox .detail-admin-acts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
html body #lightbox .detail-admin-acts:not(:has(button:not([hidden]):not(.permission-hidden))){display:none}
html body #lightbox .detail-admin-btn{position:static!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:6px;width:100%!important;height:42px!important;min-height:0!important;margin:0!important;padding:0 10px!important;
  border:0!important;border-radius:var(--r-sm)!important;background:var(--soft)!important;color:var(--ink)!important;box-shadow:none!important;font:inherit!important;font-size:14px!important;font-weight:800!important;cursor:pointer;transform:none!important;transition:background-color var(--t-base),transform var(--t-fast)}
html body #lightbox .detail-admin-btn .detail-ic{width:18px;height:18px}
html body #lightbox .detail-admin-btn:hover{background:color-mix(in srgb,var(--ink) 8%,var(--soft))!important}
html body #lightbox .detail-admin-btn:active{transform:scale(.97)!important}
html body #lightbox .detail-admin-btn.is-danger{background:color-mix(in srgb,var(--danger) 9%,#fff)!important;color:var(--danger)!important}
html body #lightbox .detail-admin-btn.is-danger:hover{background:color-mix(in srgb,var(--danger) 15%,#fff)!important}
html body #lightbox .detail-admin-btn:disabled{opacity:.6;cursor:progress}
html body #lightbox .detail-admin-acts:has(> .detail-admin-btn[hidden]) .detail-admin-btn:not([hidden]){grid-column:span 2}
html body #lightbox .detail-admin-acts:has(> .detail-admin-btn.permission-hidden) .detail-admin-btn:not(.permission-hidden){grid-column:span 2}
html body #lightbox .detail-admin-btn[hidden],html body #lightbox .detail-admin-btn.permission-hidden{display:none!important}
html body #lightbox .detail-admin-lighting{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:10px}
html body #lightbox .detail-admin-lighting:not(:has(button:not([hidden]))){display:none}
html body #lightbox .detail-admin-link{position:static!important;display:inline-flex!important;width:auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:2px 0!important;border:0!important;background:none!important;color:var(--ink-2)!important;box-shadow:none!important;font:inherit!important;font-size:12px!important;font-weight:700!important;cursor:pointer;transform:none!important}
html body #lightbox .detail-admin-link:hover{color:var(--brand)!important}
html body #lightbox .detail-admin-link.is-danger{color:var(--danger)!important}
html body #lightbox .detail-admin-link[hidden]{display:none!important}
/* 编辑 Tag 面板里不再有删除图片（节点保留给 search.js 的绑定） */
html body #editPanel #editDelete{display:none!important}
/* 工具按钮的两套文字：查看 / 生成（上传）/ 无；灰色不可点的“当前无灯位图” */
html body #lightbox .detail-tool [data-detail-label][hidden]{display:none!important}
html body #lightbox .detail-tool.is-empty{background:var(--soft)!important;color:var(--ink-3)!important;opacity:1}
html body #lightbox .detail-tool.is-empty .detail-ic{color:var(--ink-3)}
html body #lightbox .detail-takendown-info{display:none}
html body #lightbox.is-taken-down .detail-full>*:not(.detail-takendown-info){display:none!important}
html body #lightbox.is-taken-down .detail-takendown-info{display:grid;gap:12px;justify-items:start;padding-top:8px}
html body #lightbox.is-taken-down .detail-takendown-info p{margin:0;font-size:18px;font-weight:900}
html body #lightbox.is-taken-down .detail-takendown-info .detail-follow{margin-left:0}

/* ===== 灯位弹窗（原 detail_lighting_library 注入的样式；层级高于详情与动作弹窗） ===== */
html body .detail-lighting-v20511{position:fixed;inset:0;z-index:2400;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(22,18,28,.58)}
html body .detail-lighting-v20511[hidden]{display:none!important}
html body .detail-lighting-card-v20511{width:min(560px,94vw);max-height:88vh;overflow:auto;padding:22px;border-radius:var(--r-lg);background:#fff;color:var(--ink);box-shadow:var(--shadow-pop);animation:iriviPopIn var(--t-base) var(--ease-out)}
html body .detail-lighting-title-v20511{margin:0 0 8px;font-size:18px;font-weight:900}
html body .detail-lighting-copy-v20511{margin:0 0 16px;color:var(--ink-2)}
html body .detail-lighting-actions-v20511{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
html body .detail-lighting-source-v20511{display:grid;grid-template-columns:1fr 1fr;gap:12px}
html body .detail-lighting-source-v20511 button{min-height:88px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--soft);color:var(--ink);font:inherit;font-weight:800;cursor:pointer}
html body .detail-lighting-source-v20511 button:hover{border-color:var(--brand);background:var(--brand-soft)}
html body .detail-lighting-library-v20511{display:flex;flex-direction:column;gap:10px;margin-top:12px}
html body .detail-lighting-row-v20511{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:9px;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;text-align:left;cursor:pointer}
html body .detail-lighting-row-v20511:hover{border-color:var(--brand);background:var(--brand-soft)}
html body .detail-lighting-row-v20511 figure{margin:0;min-width:0}
html body .detail-lighting-row-v20511 figcaption{margin-bottom:5px;font-size:12px;font-weight:700;color:var(--ink-3)}
html body .detail-lighting-row-v20511 img{display:block;width:100%;height:180px;object-fit:contain;border-radius:var(--r-sm);background:var(--soft)}
html body .detail-lighting-empty-v20511{padding:30px 8px;text-align:center;color:var(--ink-3)}
html body .detail-lighting-status-v20511{margin-top:10px;color:var(--ink-2);font-size:13px}

/* ===== 竖屏 = 手机版 ===== */
@media (max-aspect-ratio:1/1){
  html body #lightbox.irivi-detail{display:block}
  html body #lightbox .detail-stage{position:absolute;inset:0 0 calc(44px + var(--safe-bottom)) 0;padding:0}
  html body #lightbox .detail-stagebar{top:calc(12px + env(safe-area-inset-top,0px));left:12px;right:12px}
  html body #lightbox .detail-stagebar>.detail-pill:not(.detail-close):not(.detail-more-btn){display:none!important}
  html body #lightbox .detail-more-btn{display:inline-flex!important;width:36px;padding:0!important;justify-content:center}
  html body #lightbox .detail-counter{position:absolute;left:50%;transform:translateX(-50%);margin:0}
  html body #lightbox .detail-close{margin-left:auto!important}
  html body #lightbox .detail-nav{display:none!important}
  html body #lightbox .detail-picture{height:100%}
  html body #lightbox #lightboxImage{width:100%;height:100%;max-height:none!important;max-width:100%!important;border-radius:0!important}
  html body #lightbox.is-rotated-side #lightboxImage{width:auto;height:auto;max-width:calc(var(--detail-height,100vh) - 44px)!important;max-height:100vw!important}
  html body #lightbox #lightingCompareView{grid-template-columns:1fr;grid-template-rows:1fr 1fr;gap:8px;padding:64px 8px 8px}
  html body #lightbox .lighting-compare-pane img{max-height:calc((var(--detail-height,100vh) - 160px)/2)}
  /* 底部面板：用高度做动画（收起 = 细栏，展开 = 屏高 - 24vh），拖动时 JS 写内联高度跟手，松手后过渡到目标高度。
     clip-path 向上留出拉手的位置，其余超出面板的内容裁掉（负责人 2026-10-28）。 */
  html body #lightbox .detail-info{position:absolute;left:0;right:0;bottom:0;top:auto;display:flex;flex-direction:column;height:calc(44px + var(--safe-bottom));overflow:visible;clip-path:inset(-20px 0 0 0);padding-bottom:var(--safe-bottom);border-radius:0;transition:height .36s cubic-bezier(.22,.8,.24,1),border-radius .36s;will-change:height}
  html body #lightbox .detail-handle{display:block;position:absolute;left:50%;top:-14px;transform:translateX(-50%);width:64px;height:15px;padding:0;border:0;border-radius:14px 14px 0 0;background:#fff;cursor:grab;touch-action:none}
  html body #lightbox .detail-handle::after{content:"";position:absolute;left:50%;top:6px;width:24px;height:4px;margin-left:-12px;border-radius:2px;background:#CFC7DD}
  html body #lightbox .detail-mbar{display:flex;flex:none;align-items:center;gap:8px;height:44px;padding:0 14px;overflow:hidden;touch-action:none;transition:height .36s cubic-bezier(.22,.8,.24,1),opacity .2s}
  html body #lightbox .detail-mbar-who{display:flex;align-items:center;gap:8px;min-width:0;flex:1;padding:0;border:0;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
  html body #lightbox .detail-mbar-who b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  html body #lightbox .detail-mbar-like{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;background:none;color:var(--ink-3);cursor:pointer}
  html body #lightbox .detail-mbar-like .detail-ic{width:22px;height:22px}
  html body #lightbox .detail-mbar-like.is-liked{color:var(--pink)}
  html body #lightbox .detail-mbar-like.is-liked .detail-ic{fill:currentColor}
  /* 详情内容一直在面板里（拖动时跟着露出来）；收起后等动画结束再隐藏，避免能被键盘 / 读屏聚焦 */
  html body #lightbox .detail-full{display:block;flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:8px 16px 28px;visibility:visible}
  html body #lightbox:not(.is-expanded):not(.is-sheet-moving):not(.is-taken-down) .detail-full{visibility:hidden;transition:visibility 0s linear .36s}
  html body #lightbox.is-expanded .detail-mbar{height:0;opacity:0;pointer-events:none}
  html body #lightbox:is(.is-expanded,.is-sheet-moving) .detail-info{border-radius:var(--r-lg) var(--r-lg) 0 0}
  html body #lightbox.is-expanded .detail-info{height:calc(var(--detail-height,100vh) - 24vh)}
  html body #lightbox.is-expanded .detail-stage{bottom:auto;height:30vh}
  html body #lightbox.is-taken-down .detail-mbar{display:none}
  html body #lightbox.is-taken-down .detail-info{height:auto;max-height:calc(var(--detail-height,100vh) - 24vh)}
}
@media (prefers-reduced-motion:reduce){html body #lightbox #lightboxImage{transition:none}html body #lightbox :is(.detail-info,.detail-mbar){transition:none}}

/* ===== 动作弹窗与编辑面板（原 detail_experience.css 第 23–65、79 行，规则原样保留：分页一次只显示一页、前置相机全屏对照、紧凑控件） ===== */
/* A single visible guidance page prevents horizontal nested scrollbars. */
html body #poseResultModal #poseResultBody{display:block!important;overflow:auto!important;min-width:0!important;min-height:0!important;flex:1 1 auto!important;scroll-snap-type:none!important}
html body #poseResultModal .pose-photo-page{width:100%!important;height:auto!important;overflow:visible!important}
html body #poseResultModal #poseResultBody :is(.pose-photo-page,.pose-result-copy)[hidden]{display:none!important}
html body #poseResultModal #poseResultImage{max-width:100%!important;max-height:65dvh!important;width:100%!important;height:auto!important;object-fit:contain!important}
html body #poseResultModal #poseResultBody .pose-result-copy{width:100%!important;height:auto!important;min-width:0!important;box-sizing:border-box!important;overflow-wrap:anywhere;overflow:visible!important}
html body #poseResultModal .pose-page-nav:not([hidden]){display:flex!important;gap:8px}
html body #poseResultModal .pose-page-nav button{flex:1}
/* Edge-to-edge comparison; both media share one aspect-matched viewing frame. */
html body #poseResultModal.is-camera-comparing{padding:0!important;background:#111!important}
html body #poseResultModal.is-camera-comparing .pose-modal-card{position:fixed!important;inset:0!important;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;border:0!important;border-radius:0!important;padding:0!important;margin:0!important;overflow:hidden!important;background:#111!important;display:block!important}
html body #poseResultModal.is-camera-comparing .pose-modal-card>*:not(.pose-camera-comparison):not(.edit-panel-head):not(.pose-camera-status){display:none!important}
html body #poseResultModal.is-camera-comparing .edit-panel-head{position:absolute!important;inset:0!important;pointer-events:none;z-index:4;margin:0!important;padding:0!important;border:0!important}
html body #poseResultModal.is-camera-comparing .edit-panel-head>*:not(#poseResultClose){display:none!important}
html body #poseResultModal.is-camera-comparing #poseResultClose{pointer-events:auto;position:absolute!important;top:max(12px,env(safe-area-inset-top),env(safe-area-inset-right))!important;right:max(12px,env(safe-area-inset-top),env(safe-area-inset-right))!important;left:auto!important;bottom:auto!important;margin:0!important;background:#ffffffdf!important;z-index:5}
html body #poseResultModal .pose-camera-comparison:not([hidden]){position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr);gap:2px;width:100%;height:100%;background:#16131b}
html body #poseResultModal .pose-camera-comparison.is-landscape{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(0,1fr)}
html body #poseResultModal .pose-camera-comparison>div{position:relative;display:grid;place-items:center;min-width:0;min-height:0;overflow:hidden;border-radius:0;background:#16131b}
html body #poseResultModal .pose-camera-comparison :is(img,video){position:absolute;width:var(--camera-frame-width,100%)!important;height:var(--camera-frame-height,100%)!important;max-width:100%;max-height:100%;flex:none;background:#16131b;object-fit:contain}
html body #poseResultModal .pose-camera-comparison video{object-fit:cover}
html body #poseResultModal .pose-camera-comparison span{position:absolute;bottom:max(10px,env(safe-area-inset-bottom));left:12px;z-index:2;padding:5px 9px;border-radius:9px;color:#fff;background:#171320a6;font-size:12px}
html body #poseResultModal.is-camera-comparing .pose-camera-status{position:absolute;left:12px;bottom:12px;right:12px;color:white;z-index:3;text-align:center;pointer-events:none}
html body #poseResultModal.is-camera-comparing.has-camera-stream .pose-camera-status{display:none}
html body #poseResultModal.is-camera-comparing #poseResultBody{display:none!important}
/* Compact controls leave the reference image room on phone-sized screens. */
html body :is(#poseResultModal,#editPanel){--dialog-control:38px;--dialog-inset:16px}
html body :is(#poseResultModal,#editPanel) .edit-panel-head{margin-bottom:12px!important;gap:10px!important}
html body :is(#poseResultModal,#editPanel) h2{font-size:22px!important;font-weight:700!important}
html body :is(#poseResultModal,#editPanel) button.btn{font-size:14px!important;font-weight:500!important;line-height:1.35!important;min-height:36px!important;padding:7px 12px!important;border-radius:12px!important;width:auto!important}
html body :is(#poseResultClose,#editClose){padding:0!important;font-size:24px!important}
html body #poseResultModal .pose-page-nav{gap:6px!important;margin:0 0 10px!important}
html body #poseResultModal .pose-page-nav button{padding:8px 12px!important;min-height:36px!important}
html body #poseResultModal .pose-field-actions{margin:0 0 10px!important;gap:6px!important}
html body #poseResultModal .pose-sketch-panel{margin:10px 0 0!important;padding:0!important}
html body #poseResultModal .pose-sketch-actions{display:flex!important;flex-wrap:wrap;gap:6px!important;justify-content:flex-start!important}
html body #poseResultModal .pose-sketch-actions button{flex:0 1 auto!important;width:auto!important}
html body #poseResultModal :is(.pose-sketch-status,.pose-sketch-note){font-size:13px!important;line-height:1.6!important}
html body #editPanel #editSelected{gap:5px!important}
html body #editPanel #editSelected>*{font-size:13px!important;padding:4px 7px!important;line-height:1.35!important;border-radius:9px!important}
html body #editPanel .edit-actions{gap:8px!important;margin-top:12px!important}
html body #editPanel .edit-rotation-controls{gap:8px!important;margin:10px 0 0!important}
html body #poseResultModal #poseResultBody[hidden]{display:none!important}

/* ===== 单作品页 /artwork/<编号>（REFACTOR_PLAN 3.4，取代 artwork_detail.html 里的内联样式）：
   不显示顶栏 / 页头 / 回到顶部，深色底；详情单张（.is-single 已隐藏左右切换）；加载中与失败提示居中 ===== */
html body:has(#artworkPage){background:#151621}
html body:has(#artworkPage) :is(#nav,main>.page-header,#topBtn){display:none!important}
html body #lightbox.is-artwork .detail-nav{display:none!important}
.artwork-page{min-height:100dvh;display:grid;place-content:center;justify-items:center;gap:14px;padding:24px 16px;box-sizing:border-box;text-align:center}
.artwork-status{margin:0;color:#e9e6f2;font-size:14px;line-height:1.6}
html body .artwork-page :is(.artwork-status,.artwork-back)[hidden]{display:none!important}
html body .artwork-page .artwork-back{display:inline-flex;align-items:center;min-height:40px;padding:0 20px;border-radius:999px;border:1px solid #ffffff40;background:#ffffff14;color:#fff;font-weight:600;text-decoration:none}
html body .artwork-page .artwork-back:hover{background:#ffffff26}
/* 作者处 @识别码（负责人 2026-10-28；不显示 UID 2026-10-30） */
html body #lightbox .detail-uploader-copy .detail-uploader-id{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body #lightbox .detail-uploader-copy .detail-uploader-id:empty{display:none}

/* 动作弹窗按入口只显示一种内容：姿势骨架只看图片页、动作引导只看文字引导，都不显示分页与“前置相机”（负责人 2026-10-28） */
html body #poseResultModal:is([data-pose-view="sketch"],[data-pose-view="guide"]) :is(.pose-page-nav,.pose-field-actions){display:none!important}
/* 图片页的图点一下全屏，只能点右上角 × 退出 */
html body #poseResultModal .pose-result-media img{cursor:zoom-in}
html body .pose-zoom{position:fixed;inset:0;z-index:4000;display:grid;place-items:center;background:#0E0B12;touch-action:pinch-zoom}
html body .pose-zoom img{max-width:100vw;max-height:100vh;max-height:100dvh;object-fit:contain}
html body .pose-zoom-close{position:absolute;top:calc(12px + env(safe-area-inset-top,0px));right:12px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:28px;line-height:1;cursor:pointer}
html body .pose-zoom-close:focus-visible{outline:2px solid #fff;outline-offset:2px}
