{
  "schema": "jb-catalog/1",
  "note": "商品目录的数据契约。字段名是结构，值才是业务事实——所有业务事实一律 null，由品牌方填。前端读本文件渲染列表/详情/对比/询单，填完即上线，加 SKU 不改代码。字段集本身也待品牌方确认增删（见 spec_groups[].pending_fieldset）。2026-07-31：接入甲方清单里三件在售小件；spec_groups 增加 applies_to——小件与整娃的购买决策不同（看图冲动 vs 长决策反复比较），套同一张规格表会一边空洞一边信息不足。 2026-08-04：品牌方回填第一批业务事实（规格 / 材质 / 交期 / 物流 / 价格口径 / 定制口径），落到 items[].specs 与 specs_i18n。价格一律不标、指向所在地区代理，是品牌方的定价策略而非未填；plum 一件仍全空——品牌方在回填表里把这一格对应到清单中的一件头身一体半身件（45cm / 18kg / 一体不可换头），与本站 plum 位现用的素材（整娃，有腿全身）对不上；未经品牌方确认孰对孰错之前不填。⚠ 这里刻意不写产品中文名：那几个名字仍在 leak-check 的禁用词表里，词表要不要为对外正式名开口子，是品牌方未拍板的事（见 _build/leak-check.sh 的词表注释）。 2026-08-04（二）：品牌方选定方案 A——对外正式名照写，但只在年龄门之后出现，门前一律用中性代号。leak-check 词表随之分两层（NEVER / GATED），并新增门前页面、社交预览 meta、链接三处的专项检查，见 _build/leak-check.sh。plum 一件：**角色名有了，商品没有**。这两件事 2026-08-04 之前一直被我混着处理，以致连角色名也空着——那是错的。角色名「雪姬」出自品牌方 2026-07-25 的产品清单原话，2026-07-28 又目验确认本站在用的整娃素材与之同款、可挂该名下使用，两处都是品牌方自己说的。仍然未知的是商品这一层：给品牌方看的 plum 缩略图（cat-plum）派生自另一件「头身一体」的官图，2026-08-04 品牌方两次确认该图原图不是全身，与 plum 位现用的整娃素材（浴缸那组）分属两件；所以他们给的 45cm / 18kg / 胸围 121 属于「头身一体」，不属于 plum。整娃那件是否单独在售、多大多重，一概未知，已进第二批表第一节。⚠ 在那个答案回来之前，plum 位的 specs 保持全空，也不要改它的 category/story_href——两种可能的结构（整娃单独上架 / 整娃只作形象展示）导向的改法不同，先改必返工。 2026-08-07：第二批回填到齐，上面那个 ⚠ 解除。品牌方答「要，单独作为一件商品」⇒ plum 保留购买入口、category/story_href 不动，规格照他们给的字逐条落地。同时**在册从 5 件变 6 件**：他们要求「头身一体」那件单开一档，于是 items[] 增 bust、category 维度增第三个选项 halfbody、spec_groups 增 halfbody_spec。连带一处**事实纠错**：`cat-plum.jpg` 派生自「雪姬头身一体官图」，拍的是半身那件，却一直挂在整娃卡上；现在它归位成 items[bust] 的卡图（复制为 cat-bust.jpg），整娃卡换成浴缸那组的全身帧重新派生。四件产品的外文名也已回填（见各 items[].name_i18n），雪姬两件的外文名品牌方未给——第二批表只问了当时在册的四件。",
  "pending_owner": "品牌方",
  "facets": [
    {
      "key": "category",
      "label": "看哪一类",
      "ready": true,
      "naming_pending": "这三类对外叫什么",
      "options": [
        {
          "value": "doll",
          "label": "整娃",
          "hint": "全身",
          "label_i18n": {
            "zh-TW": "全身娃",
            "ja": "フルドール",
            "ko": "풀돌",
            "en": "Full doll"
          },
          "hint_i18n": {
            "zh-TW": "全身",
            "ja": "全身",
            "ko": "전신",
            "en": "Full body"
          }
        },
        {
          "value": "halfbody",
          "label": "头身一体",
          "hint": "有头的半身",
          "label_i18n": {
            "zh-TW": "頭身一體",
            "ja": "ヘッド一体ボディ",
            "ko": "헤드 일체형 바디",
            "en": "Head-and-bust"
          },
          "hint_i18n": {
            "zh-TW": "有頭的半身",
            "ja": "頭部付きハーフボディ",
            "ko": "머리가 있는 하프바디",
            "en": "Half body with a head"
          }
        },
        {
          "value": "piece",
          "label": "小件",
          "hint": "手持器物",
          "label_i18n": {
            "zh-TW": "小件",
            "ja": "パーツ",
            "ko": "파츠",
            "en": "Piece"
          },
          "hint_i18n": {
            "zh-TW": "手持器物",
            "ja": "手に持つパーツ",
            "ko": "손에 드는 파츠",
            "en": "Held pieces"
          }
        }
      ],
      "label_i18n": {
        "zh-TW": "看哪一類",
        "ja": "どちらの種類",
        "ko": "어떤 종류",
        "en": "Which kind"
      },
      "naming_pending_internal": "对外品类名待定：现用「整娃 / 头身一体 / 小件」是按形态分的工作口径，不是品牌方措辞。组标签原来写的是「品类」——那是零售/运营行话，2026-08-05 甲方直接问「品类和世界是啥啊」，换成一句人话。组标签是界面文案（我可以写），品类名是业务事实（只能等品牌方），两件事。 2026-08-07 增第三档「头身一体」：品牌方在第二批表里明确「单开一档」——它有头有脸但不是整娃，也不是手持小件，塞进任何一档都会让那一档的规格表说谎（整娃那张要身高体型骨架，小件那张要通道清洁）。"
    },
    {
      "key": "world",
      "label": "哪一个她",
      "applies_to": [
        "doll"
      ],
      "ready": true,
      "options": [
        {
          "value": "ember",
          "label": "花姬",
          "hint": "热的那个",
          "hint_i18n": {
            "zh-TW": "熱的那個",
            "ja": "熱いほう",
            "ko": "뜨거운 쪽",
            "en": "The warm one"
          }
        },
        {
          "value": "plum",
          "label": "雪姬",
          "hint": "冷的那个",
          "hint_i18n": {
            "zh-TW": "冷的那個",
            "ja": "冷たいほう",
            "ko": "차가운 쪽",
            "en": "The cool one"
          }
        }
      ],
      "label_i18n": {
        "zh-TW": "哪一個她",
        "ja": "どちらの彼女",
        "ko": "어느 쪽 그녀",
        "en": "Which one"
      },
      "options_note": "选项名＝角色名，与 items[].name 同源；改名要两处一起改，_build/e2e/naming.mjs 会比对。",
      "label_note": "沿用玄关那句「两个她，先见哪一个？」的说法；原标签「世界」是内部叙事口径，客人读不懂。",
      "ui_note": "只在选了整娃之后才出现。原来品类=全部时它也在，于是「全部 5 / 花姬 1 / 雪姬 1」——5 和 1+1 对不上，因为三件小件根本没有 world 值，这一维切不动整册。一个加不起来的数目列比不给数目更糟：它在邀请人做一道会算错的加法。 2026-08-07：新增的「头身一体」一档也归雪姬名下（items[bust].world = plum），但 applies_to **故意不加 halfbody**——那一档只有一件，放出这一维会得到「花姬 0（禁用）/ 雪姬 1」，一个恒为零的死按钮。等那一档进了第二个角色的款，加上去即成立。"
    },
    {
      "key": "height_band",
      "label": "身高档",
      "applies_to": [
        "doll"
      ],
      "ready": false,
      "options": [],
      "pending": "身高分档区间",
      "label_i18n": {
        "zh-TW": "身高級距",
        "ja": "身長帯",
        "ko": "신장대",
        "en": "Height range"
      }
    },
    {
      "key": "body_type",
      "label": "体型",
      "applies_to": [
        "doll"
      ],
      "ready": false,
      "options": [],
      "pending": "体型分类口径",
      "label_i18n": {
        "zh-TW": "體型",
        "ja": "体型",
        "ko": "체형",
        "en": "Body type"
      }
    },
    {
      "key": "material",
      "label": "材质",
      "applies_to": [
        "doll",
        "halfbody",
        "piece"
      ],
      "ready": true,
      "options": [
        {
          "value": "silicone",
          "label": "全硅胶",
          "label_i18n": {
            "zh-TW": "全矽膠",
            "ja": "オールシリコン",
            "ko": "올실리콘",
            "en": "Full silicone"
          }
        }
      ],
      "label_i18n": {
        "zh-TW": "材質",
        "ja": "素材",
        "ko": "소재",
        "en": "Material"
      },
      "single_option_note": "只有一个选项，因此不作筛选用，渲染成册例（见 catalog.js 的三分规则）。数目现算：在册 6 件里 5 件由品牌方回填确认为全硅胶（2026-08-07 起 plum 也确认「身体全硅胶材质，不锈钢骨架」）；剩下 bust 一件品牌方没答材质，所以它没有这一维的值——宁可显示「5」外加一条显式缺口，也不写「在册全是全硅胶」。将来进 TPE 款，加一项选项它就自动变回真筛选。"
    },
    {
      "key": "skin_tone",
      "label": "肤色",
      "applies_to": [
        "doll"
      ],
      "ready": false,
      "options": [],
      "pending": "肤色选项",
      "label_i18n": {
        "zh-TW": "膚色",
        "ja": "肌色",
        "ko": "피부톤",
        "en": "Skin tone"
      }
    }
  ],
  "spec_groups": [
    {
      "key": "physique",
      "label": "体格",
      "pending_fieldset": true,
      "fields": [
        {
          "key": "height",
          "label": "身高",
          "ph": "身高",
          "label_i18n": {
            "zh-TW": "身高",
            "ja": "身長",
            "ko": "신장",
            "en": "Height"
          }
        },
        {
          "key": "weight",
          "label": "净重",
          "ph": "净重",
          "label_i18n": {
            "zh-TW": "淨重",
            "ja": "重量",
            "ko": "중량",
            "en": "Net weight"
          }
        },
        {
          "key": "bust_waist_hip",
          "label": "三围",
          "ph": "三围",
          "label_i18n": {
            "zh-TW": "三圍",
            "ja": "スリーサイズ",
            "ko": "신체 치수",
            "en": "Measurements"
          }
        },
        {
          "key": "cup",
          "label": "罩杯",
          "ph": "罩杯",
          "label_i18n": {
            "zh-TW": "罩杯",
            "ja": "カップサイズ",
            "ko": "컵 사이즈",
            "en": "Cup size"
          }
        },
        {
          "key": "standing",
          "label": "可站立",
          "ph": "是否含站立脚钉",
          "label_i18n": {
            "zh-TW": "可站立",
            "ja": "自立可否",
            "ko": "자립 가능 여부",
            "en": "Can stand"
          }
        }
      ],
      "applies_to": [
        "doll"
      ],
      "label_i18n": {
        "zh-TW": "體格",
        "ja": "体格",
        "ko": "체격",
        "en": "Physique"
      }
    },
    {
      "key": "build",
      "label": "构造",
      "pending_fieldset": true,
      "fields": [
        {
          "key": "body_material",
          "label": "娃体材质",
          "ph": "娃体材质",
          "label_i18n": {
            "zh-TW": "娃體材質",
            "ja": "ボディ素材",
            "ko": "바디 소재",
            "en": "Body material"
          }
        },
        {
          "key": "head_material",
          "label": "头部材质",
          "ph": "头部材质",
          "label_i18n": {
            "zh-TW": "頭部材質",
            "ja": "ヘッド素材",
            "ko": "헤드 소재",
            "en": "Head material"
          }
        },
        {
          "key": "skeleton",
          "label": "骨架",
          "ph": "骨架类型",
          "label_i18n": {
            "zh-TW": "骨架",
            "ja": "骨格",
            "ko": "골격",
            "en": "Skeleton"
          }
        },
        {
          "key": "joints",
          "label": "关节",
          "ph": "关节活动范围",
          "label_i18n": {
            "zh-TW": "關節",
            "ja": "関節",
            "ko": "관절",
            "en": "Joints"
          }
        },
        {
          "key": "neck_mount",
          "label": "颈接口",
          "ph": "颈接口标准（可换头与否）",
          "label_i18n": {
            "zh-TW": "頸部接口",
            "ja": "首ジョイント",
            "ko": "넥 조인트",
            "en": "Neck connector"
          }
        }
      ],
      "applies_to": [
        "doll"
      ],
      "label_i18n": {
        "zh-TW": "構造",
        "ja": "構造",
        "ko": "구조",
        "en": "Build"
      }
    },
    {
      "key": "look",
      "label": "外观",
      "pending_fieldset": true,
      "fields": [
        {
          "key": "skin_tone",
          "label": "肤色",
          "ph": "肤色",
          "label_i18n": {
            "zh-TW": "膚色",
            "ja": "肌色",
            "ko": "피부톤",
            "en": "Skin tone"
          }
        },
        {
          "key": "eyes",
          "label": "眼色",
          "ph": "眼色选项",
          "label_i18n": {
            "zh-TW": "眼色",
            "ja": "瞳の色",
            "ko": "눈 색상",
            "en": "Eye colour"
          }
        },
        {
          "key": "hair",
          "label": "发型",
          "ph": "发型/植发方式",
          "label_i18n": {
            "zh-TW": "髮型",
            "ja": "ヘアスタイル",
            "ko": "헤어스타일",
            "en": "Hairstyle"
          }
        },
        {
          "key": "makeup",
          "label": "妆面",
          "ph": "妆面方案",
          "label_i18n": {
            "zh-TW": "妝容",
            "ja": "メイク",
            "ko": "메이크업",
            "en": "Makeup"
          }
        }
      ],
      "applies_to": [
        "doll"
      ],
      "label_i18n": {
        "zh-TW": "外觀",
        "ja": "外観",
        "ko": "외관",
        "en": "Appearance"
      }
    },
    {
      "key": "halfbody_spec",
      "label": "本体",
      "applies_to": [
        "halfbody"
      ],
      "pending_fieldset": true,
      "fieldset_why": "2026-08-07 新增。为什么不复用现成的两张表：整娃那张（体格/构造/外观）要身高、体型、骨架、关节、可站立——一件 45cm 的头身一体件，这些字段一半无意义、一半永远填不上，整页会渲染成一列〔待品牌方〕，和真正待填的字段长得一模一样；小件那张（器物）没有胸围、也没有「头能不能拆」，而那恰恰是这一档与整娃的分界。字段只取「这一档真有、且客人会问」的那几个。",
      "fields": [
        {
          "key": "height",
          "label": "通高",
          "ph": "通高",
          "label_i18n": {
            "zh-TW": "全高",
            "ja": "全高",
            "ko": "전체 높이",
            "en": "Overall height"
          }
        },
        {
          "key": "weight",
          "label": "净重",
          "ph": "净重",
          "label_i18n": {
            "zh-TW": "淨重",
            "ja": "重量",
            "ko": "중량",
            "en": "Net weight"
          }
        },
        {
          "key": "bust",
          "label": "胸围",
          "ph": "胸围",
          "label_i18n": {
            "zh-TW": "胸圍",
            "ja": "バスト",
            "ko": "가슴둘레",
            "en": "Bust"
          }
        },
        {
          "key": "material",
          "label": "材质",
          "ph": "材质",
          "label_i18n": {
            "zh-TW": "材質",
            "ja": "素材",
            "ko": "소재",
            "en": "Material"
          }
        },
        {
          "key": "neck_mount",
          "label": "头与身体",
          "ph": "头和身体是不是分开的",
          "label_i18n": {
            "zh-TW": "頭與身體",
            "ja": "ヘッドとボディ",
            "ko": "헤드와 바디",
            "en": "Head and body"
          }
        },
        {
          "key": "channels",
          "label": "通道",
          "ph": "通道数量与规格",
          "label_i18n": {
            "zh-TW": "通道",
            "ja": "挿入口",
            "ko": "삽입구",
            "en": "Channel"
          }
        },
        {
          "key": "care",
          "label": "清洁保养",
          "ph": "清洁方式与注意事项",
          "label_i18n": {
            "zh-TW": "清潔保養",
            "ja": "お手入れ",
            "ko": "세척·관리",
            "en": "Cleaning & care"
          }
        }
      ],
      "label_i18n": {
        "zh-TW": "本體",
        "ja": "本体",
        "ko": "본체",
        "en": "The piece"
      }
    },
    {
      "key": "piece_spec",
      "label": "器物",
      "applies_to": [
        "piece"
      ],
      "pending_fieldset": true,
      "fields": [
        {
          "key": "size",
          "label": "尺寸",
          "ph": "长×宽×高",
          "label_i18n": {
            "zh-TW": "尺寸",
            "ja": "サイズ",
            "ko": "크기",
            "en": "Dimensions"
          }
        },
        {
          "key": "weight",
          "label": "净重",
          "ph": "净重",
          "label_i18n": {
            "zh-TW": "淨重",
            "ja": "重量",
            "ko": "중량",
            "en": "Net weight"
          }
        },
        {
          "key": "material",
          "label": "材质",
          "ph": "材质",
          "label_i18n": {
            "zh-TW": "材質",
            "ja": "素材",
            "ko": "소재",
            "en": "Material"
          }
        },
        {
          "key": "channels",
          "label": "通道",
          "ph": "通道数量与规格",
          "label_i18n": {
            "zh-TW": "通道",
            "ja": "挿入口",
            "ko": "삽입구",
            "en": "Channel"
          }
        },
        {
          "key": "care",
          "label": "清洁保养",
          "ph": "清洁方式与注意事项",
          "label_i18n": {
            "zh-TW": "清潔保養",
            "ja": "お手入れ",
            "ko": "세척·관리",
            "en": "Cleaning & care"
          }
        }
      ],
      "label_i18n": {
        "zh-TW": "器物",
        "ja": "製品仕様",
        "ko": "제품 사양",
        "en": "Item"
      }
    },
    {
      "key": "commerce",
      "label": "商务",
      "pending_fieldset": true,
      "fields": [
        {
          "key": "price",
          "label": "价格",
          "ph": "定价与含税口径",
          "label_i18n": {
            "zh-TW": "價格",
            "ja": "価格",
            "ko": "가격",
            "en": "Price"
          }
        },
        {
          "key": "lead_time",
          "label": "交期",
          "ph": "生产与发货周期",
          "label_i18n": {
            "zh-TW": "交期",
            "ja": "納期",
            "ko": "납기",
            "en": "Lead time"
          }
        },
        {
          "key": "shipping",
          "label": "物流",
          "ph": "物流方式与包装形态",
          "label_i18n": {
            "zh-TW": "物流",
            "ja": "配送",
            "ko": "배송",
            "en": "Shipping"
          }
        }
      ],
      "applies_to": [
        "doll",
        "halfbody",
        "piece"
      ],
      "label_i18n": {
        "zh-TW": "商務",
        "ja": "取引",
        "ko": "거래",
        "en": "Commerce"
      },
      "removed_fields_note": "原有 warranty（保修）与 after_sale（售后）两个字段，2026-08-04 品牌方对「坏了 / 不满意怎么处理」明确答复「不写」，故整行撤除。⚠ 这是品牌方的商务决定，不是遗漏——要恢复请先跟品牌方确认，别当成 bug 补回来。"
    }
  ],
  "inquiry_topics": [
    {
      "key": "price",
      "label": "报价与付款方式",
      "label_i18n": {
        "zh-TW": "報價與付款方式",
        "ja": "見積りと支払方法",
        "ko": "견적 및 결제 방법",
        "en": "Quotation and payment"
      }
    },
    {
      "key": "customization",
      "label": "定制项与加价",
      "label_i18n": {
        "zh-TW": "客製項目與加價",
        "ja": "カスタム項目と追加料金",
        "ko": "커스텀 항목 및 추가 요금",
        "en": "Customisation and surcharges"
      }
    },
    {
      "key": "lead_time",
      "label": "交期与发货",
      "label_i18n": {
        "zh-TW": "交期與出貨",
        "ja": "納期と出荷",
        "ko": "납기 및 출고",
        "en": "Lead time and dispatch"
      }
    },
    {
      "key": "shipping",
      "label": "物流与清关",
      "label_i18n": {
        "zh-TW": "物流與清關",
        "ja": "配送と通関",
        "ko": "배송 및 통관",
        "en": "Shipping and customs"
      }
    },
    {
      "key": "after_sale",
      "label": "保修与售后",
      "label_i18n": {
        "zh-TW": "保固與售後",
        "ja": "保証とアフターサービス",
        "ko": "보증 및 애프터서비스",
        "en": "Warranty and after-sales"
      }
    },
    {
      "key": "care",
      "label": "清洁与收纳",
      "label_i18n": {
        "zh-TW": "清潔與收納",
        "ja": "お手入れと保管",
        "ko": "세척과 보관",
        "en": "Cleaning and storage"
      }
    }
  ],
  "items": [
    {
      "sku": "ember",
      "world": "ember",
      "code": "EMBER",
      "name": "花姬",
      "name_ph": "对外产品名",
      "tagline": "热的那个。她站在灯旁边。",
      "hero": "../assets/img/cat-ember.jpg?v=1",
      "gallery": [
        "../assets/img/ember-gal-eye.jpg?v=3",
        "../assets/img/ember-gal-lip.jpg?v=3",
        "../assets/img/ember-gal-back.jpg?v=3",
        "../assets/img/ember-gal-anklet.jpg?v=3"
      ],
      "level": "L1",
      "story_href": "../ember/",
      "story_label": "看她的一晚",
      "facet_values": {
        "world": "ember",
        "category": "doll",
        "material": "silicone"
      },
      "specs": {
        "height": "172 cm",
        "weight": "49 kg ±2 kg",
        "bust_waist_hip": "117 / 75 / 110 cm",
        "body_material": "全硅胶",
        "head_material": "全硅胶",
        "skeleton": "304 不锈钢",
        "neck_mount": "可换头。同一具身体可搭配多个头雕。",
        "price": "不标价。请向所在地区的授权代理询价。",
        "lead_time": "订单确认后约 45 天制作周期。",
        "shipping": "自中国东莞发货。无标识外包装，从外观看不出内容物。到货时间视目的地而定。"
      },
      "customization": [
        "定制需求请与所在地区的授权代理对接。"
      ],
      "customization_ph": "可定制范围（妆面/眼色/发型/骨架等）",
      "hero_fy": "30%",
      "category": "doll",
      "tagline_i18n": {
        "zh-TW": "熱的那個。她站在燈旁邊。",
        "ja": "熱いほう。彼女は灯りのそばに立っている。",
        "ko": "뜨거운 쪽. 그녀는 등불 곁에 서 있다.",
        "en": "The warm one. She stands beside the lamp."
      },
      "story_label_i18n": {
        "zh-TW": "看她的一晚",
        "ja": "彼女の一夜を見る",
        "ko": "그녀의 하룻밤을 보다",
        "en": "See her evening"
      },
      "specs_i18n": {
        "zh-TW": {
          "height": "172 cm",
          "weight": "49 kg ±2 kg",
          "bust_waist_hip": "117 / 75 / 110 cm",
          "body_material": "全矽膠",
          "head_material": "全矽膠",
          "skeleton": "304 不鏽鋼",
          "neck_mount": "可換頭。同一具身體可搭配多個頭雕。",
          "price": "不標價。請向所在地區的授權代理詢價。",
          "lead_time": "訂單確認後約 45 天製作週期。",
          "shipping": "自中國東莞發貨。無標識外包裝，從外觀看不出內容物。到貨時間視目的地而定。"
        },
        "ja": {
          "height": "172 cm",
          "weight": "49 kg ±2 kg",
          "bust_waist_hip": "117 / 75 / 110 cm",
          "body_material": "オールシリコン",
          "head_material": "オールシリコン",
          "skeleton": "304 ステンレス鋼",
          "neck_mount": "ヘッド交換可。ひとつのボディに複数のヘッドを組み合わせられます。",
          "price": "価格は掲載しておりません。お住まいの地域の正規代理店へお問い合わせください。",
          "lead_time": "ご注文確定後、製作期間はおよそ 45 日です。",
          "shipping": "中国・東莞より発送。外装は無地で、中身がわからない梱包です。到着までの日数はお届け先によって異なります。"
        },
        "ko": {
          "height": "172 cm",
          "weight": "49 kg ±2 kg",
          "bust_waist_hip": "117 / 75 / 110 cm",
          "body_material": "올실리콘",
          "head_material": "올실리콘",
          "skeleton": "304 스테인리스 스틸",
          "neck_mount": "헤드 교체 가능. 하나의 바디에 여러 헤드를 조합할 수 있습니다.",
          "price": "가격은 공개하지 않습니다. 해당 지역 공식 대리점에 문의해 주세요.",
          "lead_time": "주문 확정 후 제작 기간은 약 45일입니다.",
          "shipping": "중국 둥관에서 발송합니다. 무표시 외포장으로 겉에서는 내용물을 알 수 없습니다. 도착 기간은 배송지에 따라 다릅니다."
        },
        "en": {
          "height": "172 cm",
          "weight": "49 kg ±2 kg",
          "bust_waist_hip": "117 / 75 / 110 cm",
          "body_material": "Full silicone",
          "head_material": "Full silicone",
          "skeleton": "304 stainless steel",
          "neck_mount": "Interchangeable head — one body takes multiple head sculpts.",
          "price": "Price not listed. Please ask your regional authorised distributor.",
          "lead_time": "About 45 days of production time after the order is confirmed.",
          "shipping": "Ships from Dongguan, China, in unmarked outer packaging that gives no indication of the contents. Transit time depends on the destination."
        }
      },
      "customization_i18n": {
        "zh-TW": [
          "定制需求請與所在地區的授權代理對接。"
        ],
        "ja": [
          "カスタマイズのご相談は、お住まいの地域の正規代理店を通じてお願いいたします。"
        ],
        "ko": [
          "커스터마이즈 문의는 해당 지역 공식 대리점을 통해 주시기 바랍니다."
        ],
        "en": [
          "For customisation, please work through your regional authorised distributor."
        ]
      },
      "name_i18n": {
        "zh-TW": "花姬",
        "ja": "花姫",
        "ko": "화희",
        "en": "Flower Hime 172"
      },
      "name_note": "中文名品牌方 2026-08-04 回填；外文名 2026-08-07 第二批回填，原话：英「Flower Hime 172」／日「花姫（はなひめ / ファージー）」／韩「화희（Hwahui）」。⚠ 日韩两栏括号里的是**读音注**（假名两读、罗马字），不是名字本身，所以页面上只显示括号前的正题名，原话完整留在本注里。日文用的是「姫」不是「姬」——是品牌方写的字，别当错别字改回去。",
      "name_i18n_pending": "日/韩两个名字的读音注要不要一起显示（现在只显示正题名）"
    },
    {
      "sku": "plum",
      "world": "plum",
      "code": "PLUM",
      "name": "雪姬（172）",
      "name_ph": "对外产品名",
      "tagline": "冷的那个。她的一天，从下午开始。",
      "hero": "../assets/img/cat-plum.jpg?v=20260807",
      "gallery": [
        "../assets/img/plum-detail-face.jpg?v=1",
        "../assets/img/plum-detail-skin.jpg?v=1",
        "../assets/img/plum-detail-hair.jpg?v=1",
        "../assets/img/plum-film-3.jpg?v=1"
      ],
      "level": "L1",
      "story_href": "../plum/",
      "story_label": "看她的一天",
      "facet_values": {
        "world": "plum",
        "category": "doll",
        "material": "silicone"
      },
      "specs": {
        "height": "172 cm（带头）",
        "weight": "49 kg + 2 kg",
        "bust_waist_hip": "胸围 117 cm（2-1 下垂后 112 cm）· 下胸围 62 cm · 腰围 75 cm",
        "body_material": "全硅胶",
        "skeleton": "不锈钢",
        "neck_mount": "可换头。同一具身体可搭配多个头雕。",
        "price": "不标价。请向所在地区的授权代理询价。",
        "lead_time": "订单确认后约 45 天制作周期。",
        "shipping": "自中国东莞发货。无标识外包装，从外观看不出内容物。到货时间视目的地而定。"
      },
      "customization": [
        "定制需求请与所在地区的授权代理对接。"
      ],
      "customization_ph": "可定制范围（妆面/眼色/发型/骨架等）",
      "hero_fy": "22%",
      "category": "doll",
      "tagline_i18n": {
        "zh-TW": "冷的那個。她的一天，從午後開始。",
        "ja": "冷たいほう。彼女の一日は、午後から始まる。",
        "ko": "차가운 쪽. 그녀의 하루는 오후에 시작된다.",
        "en": "The cool one. Her day begins in the afternoon."
      },
      "story_label_i18n": {
        "zh-TW": "看她的一天",
        "ja": "彼女の一日を見る",
        "ko": "그녀의 하루를 보다",
        "en": "See her day"
      },
      "specs_i18n": {
        "zh-TW": {
          "height": "172 cm（含頭）",
          "weight": "49 kg + 2 kg",
          "bust_waist_hip": "胸圍 117 cm（2-1 下垂後 112 cm）· 下胸圍 62 cm · 腰圍 75 cm",
          "body_material": "全矽膠",
          "skeleton": "不鏽鋼",
          "neck_mount": "可換頭。同一具身體可搭配多個頭雕。",
          "price": "不標價。請向所在地區的授權代理詢價。",
          "lead_time": "訂單確認後約 45 天製作週期。",
          "shipping": "自中國東莞發貨。無標識外包裝，從外觀看不出內容物。到貨時間視目的地而定。"
        },
        "ja": {
          "height": "172 cm（ヘッド込み）",
          "weight": "49 kg + 2 kg",
          "bust_waist_hip": "バスト 117 cm（2-1、垂れた状態で 112 cm）・アンダーバスト 62 cm・ウエスト 75 cm",
          "body_material": "オールシリコン",
          "skeleton": "ステンレス鋼",
          "neck_mount": "ヘッド交換可。ひとつのボディに複数のヘッドを組み合わせられます。",
          "price": "価格は掲載しておりません。お住まいの地域の正規代理店へお問い合わせください。",
          "lead_time": "ご注文確定後、製作期間はおよそ 45 日です。",
          "shipping": "中国・東莞より発送。外装は無地で、中身がわからない梱包です。到着までの日数はお届け先によって異なります。"
        },
        "ko": {
          "height": "172 cm（헤드 포함）",
          "weight": "49 kg + 2 kg",
          "bust_waist_hip": "가슴둘레 117 cm（2-1, 처진 상태 112 cm）· 밑가슴둘레 62 cm · 허리둘레 75 cm",
          "body_material": "올실리콘",
          "skeleton": "스테인리스 스틸",
          "neck_mount": "헤드 교체 가능. 하나의 바디에 여러 헤드를 조합할 수 있습니다.",
          "price": "가격은 공개하지 않습니다. 해당 지역 공식 대리점에 문의해 주세요.",
          "lead_time": "주문 확정 후 제작 기간은 약 45일입니다.",
          "shipping": "중국 둥관에서 발송합니다. 무표시 외포장으로 겉에서는 내용물을 알 수 없습니다. 도착 기간은 배송지에 따라 다릅니다."
        },
        "en": {
          "height": "172 cm (with head)",
          "weight": "49 kg + 2 kg",
          "bust_waist_hip": "Bust 117 cm (2-1, 112 cm when hanging) · Underbust 62 cm · Waist 75 cm",
          "body_material": "Full silicone",
          "skeleton": "Stainless steel",
          "neck_mount": "Interchangeable head — one body takes multiple head sculpts.",
          "price": "Price not listed. Please ask your regional authorised distributor.",
          "lead_time": "About 45 days of production time after the order is confirmed.",
          "shipping": "Ships from Dongguan, China, in unmarked outer packaging that gives no indication of the contents. Transit time depends on the destination."
        }
      },
      "customization_i18n": {
        "zh-TW": [
          "定制需求請與所在地區的授權代理對接。"
        ],
        "ja": [
          "カスタマイズのご相談は、お住まいの地域の正規代理店を通じてお願いいたします。"
        ],
        "ko": [
          "커스터마이즈 문의는 해당 지역 공식 대리점을 통해 주시기 바랍니다."
        ],
        "en": [
          "For customisation, please work through your regional authorised distributor."
        ]
      },
      "name_note": "角色名「雪姬」出自品牌方 2026-07-25 产品清单原话，2026-07-28 目验确认素材归属。2026-08-07 第二批回填给出这一件的**商品名**原话「雪姬（172）」，并确认「要，单独作为一件商品」——所以本页保留购买入口。同一角色下另有一件商品（items[bust]「雪姬头身一体半身」），角色名与商品名从此是两层：导航/门卡写角色名「雪姬」，目录卡与询单写商品名。外文名未给（第二批表只问了四件，这一件当时还不算商品），暂回落中文。",
      "specs_source": "2026-08-07 第二批回填第一节，原话逐条：身高「带头身高172cm」／净重「49kg+2kg」／三围「胸围117cm （2-1下垂后112cm） 下胸围62cm 腰围75cm」／材质「身体全硅胶材质，不锈钢骨架」／头身「分开的，一个身体能配好几个头」。价格·交期·物流沿用品牌方 2026-08-04 给的全线统一口径。**没给的一律不填**：头部材质、罩杯、可站立、关节、肤色眼色发型妆面，全部仍是占位。",
      "specs_pending_reading": [
        "「49kg+2kg」怎么读：是「身体 49 kg ＋ 头 2 kg」，还是像 EMBER 那样的「49 kg ±2 kg」公差？两种读法客人拿到手的重量不一样，现按原样照登，没替品牌方选。",
        "「2-1」是什么：品牌方在胸围括号里写的代号，未解释。现按不透明代号原样保留，没翻译也没删。"
      ]
    },
    {
      "sku": "bust",
      "world": "plum",
      "code": "BUST",
      "name": "雪姬头身一体半身",
      "name_ph": "对外产品名",
      "form": "有头有脸的上半身：头、颈、肩、胸，胸腔以下截断。头与身体一体成型。",
      "tagline": null,
      "tagline_ph": "一句话卖点",
      "hero": "../assets/img/cat-bust.jpg?v=20260807",
      "gallery": [],
      "gallery_pending": "本件的画廊图：可用源是项目外「雪姬头身一体官图」那 33 张，尚未逐张定级，一张都不敢先放上来（分级规程见 CLAUDE.md）。现在只有卡图一张——它正是 2026-08-04 给品牌方看、并由品牌方确认「原图不是全身的」那一张，归属没有疑问。",
      "level": "L1",
      "facet_values": {
        "world": "plum",
        "category": "halfbody",
        "material": null
      },
      "specs": {
        "height": "45 cm",
        "weight": "18 kg",
        "bust": "121 cm",
        "neck_mount": "一体成型，头和身体不可分。",
        "price": "不标价。请向所在地区的授权代理询价。",
        "lead_time": "订单确认后约 45 天制作周期。",
        "shipping": "自中国东莞发货。无标识外包装，从外观看不出内容物。到货时间视目的地而定。"
      },
      "customization": [
        "定制需求请与所在地区的授权代理对接。"
      ],
      "customization_ph": "可定制范围（妆面/眼色/发型等）",
      "hero_fy": "34%",
      "category": "halfbody",
      "form_i18n": {
        "zh-TW": "有頭有臉的上半身：頭、頸、肩、胸，胸腔以下截斷。頭與身體一體成型。",
        "ja": "頭部と顔のある上半身——頭・首・肩・胸まで。胸郭より下はない。ヘッドとボディは一体成型。",
        "ko": "머리와 얼굴이 있는 상반신 — 머리·목·어깨·가슴까지이며 흉곽 아래는 없다. 헤드와 바디는 일체 성형.",
        "en": "An upper body with a head and face — head, neck, shoulders and chest; nothing below the ribcage. Head and body are moulded as one."
      },
      "specs_i18n": {
        "zh-TW": {
          "height": "45 cm",
          "weight": "18 kg",
          "bust": "121 cm",
          "neck_mount": "一體成型，頭和身體不可分。",
          "price": "不標價。請向所在地區的授權代理詢價。",
          "lead_time": "訂單確認後約 45 天製作週期。",
          "shipping": "自中國東莞發貨。無標識外包裝，從外觀看不出內容物。到貨時間視目的地而定。"
        },
        "ja": {
          "height": "45 cm",
          "weight": "18 kg",
          "bust": "121 cm",
          "neck_mount": "一体成型。ヘッドとボディは分離できません。",
          "price": "価格は掲載しておりません。お住まいの地域の正規代理店へお問い合わせください。",
          "lead_time": "ご注文確定後、製作期間はおよそ 45 日です。",
          "shipping": "中国・東莞より発送。外装は無地で、中身がわからない梱包です。到着までの日数はお届け先によって異なります。"
        },
        "ko": {
          "height": "45 cm",
          "weight": "18 kg",
          "bust": "121 cm",
          "neck_mount": "일체 성형으로 헤드와 바디를 분리할 수 없습니다.",
          "price": "가격은 공개하지 않습니다. 해당 지역 공식 대리점에 문의해 주세요.",
          "lead_time": "주문 확정 후 제작 기간은 약 45일입니다.",
          "shipping": "중국 둥관에서 발송합니다. 무표시 외포장으로 겉에서는 내용물을 알 수 없습니다. 도착 기간은 배송지에 따라 다릅니다."
        },
        "en": {
          "height": "45 cm",
          "weight": "18 kg",
          "bust": "121 cm",
          "neck_mount": "Moulded as one piece — the head does not come off.",
          "price": "Price not listed. Please ask your regional authorised distributor.",
          "lead_time": "About 45 days of production time after the order is confirmed.",
          "shipping": "Ships from Dongguan, China, in unmarked outer packaging that gives no indication of the contents. Transit time depends on the destination."
        }
      },
      "customization_i18n": {
        "zh-TW": [
          "定制需求請與所在地區的授權代理對接。"
        ],
        "ja": [
          "カスタマイズのご相談は、お住まいの地域の正規代理店を通じてお願いいたします。"
        ],
        "ko": [
          "커스터마이즈 문의는 해당 지역 공식 대리점을 통해 주시기 바랍니다."
        ],
        "en": [
          "For customisation, please work through your regional authorised distributor."
        ]
      },
      "name_note": "2026-08-07 第二批回填新登记的一件。品牌方原话：这一件「单开一档」，叫法「雪姬头身一体半身」。它和 items[plum] 是同一角色下的两件商品——2026-08-04 品牌方两次确认「右边那张（官图）原图不是全身的」，与浴缸那组的有腿全身娃分属两件，共用同一个头雕。规格 45 cm / 18 kg / 胸围 121 是品牌方 2026-08-04 回填的，当时被我错记在 plum 名下（配错了图），现归位。外文名未给。",
      "specs_pending": "材质、通道、清洁保养这一件没给，保持占位。价格·交期·物流三条**是沿用的**，依据是第一批表的问法：价格那题逐件问了五遍、五遍都答「不标价，问代理」；发货与包装（`co_ship` / `co_pack`）整张表只问了一遍，是站级口径不是单件事实。⇒ 沿用不是推广，是把整站口径落到新条目上。"
    },
    {
      "sku": "lips",
      "category": "piece",
      "code": "LIPS",
      "name": "口交杯",
      "name_ph": "对外产品名",
      "form": "面部下半的杯体——鼻、唇、舌造型，内为通道。",
      "tagline": "一张不说话的嘴",
      "tagline_ph": "想让人记住的一句",
      "hero": "../assets/img/cat-lips.jpg?v=20260731c",
      "gallery": [
        "../assets/img/lips-gal-1.jpg?v=20260731c",
        "../assets/img/lips-gal-2.jpg?v=20260731c",
        "../assets/img/lips-gal-3.jpg?v=20260731c",
        "../assets/img/lips-gal-4.jpg?v=20260731c"
      ],
      "level": "L1",
      "facet_values": {
        "category": "piece",
        "material": "silicone"
      },
      "specs": {
        "size": "23.2 × 9.92 × 11.4 cm",
        "weight": "1 kg",
        "material": "全硅胶",
        "price": "不标价。请向所在地区的授权代理询价。",
        "lead_time": "订单确认后约 45 天制作周期。",
        "shipping": "自中国东莞发货。无标识外包装，从外观看不出内容物。到货时间视目的地而定。"
      },
      "customization": [
        "请向所在地区的授权代理咨询。"
      ],
      "customization_ph": "可定制范围（尺寸/肤色/通道规格等）",
      "hero_fy": "48%",
      "form_i18n": {
        "zh-TW": "面部下半的杯體——鼻、唇、舌造型，內為通道。",
        "ja": "顔の下半分を模したカップ——鼻・唇・舌の造形で、内部は挿入口。",
        "ko": "얼굴 아랫부분을 본뜬 컵 — 코·입술·혀 조형이며, 내부는 삽입구.",
        "en": "A cup modelled on the lower face — nose, lips and tongue, with an internal channel."
      },
      "plates": [
        {
          "img": "../assets/img/lips-detail-1.jpg?v=20260731c",
          "kicker": "造型",
          "line": "凑近了才看见唇上那些纹。抵上去的时候，它先到。",
          "kicker_i18n": {
            "zh-TW": "造型",
            "ja": "造形",
            "ko": "조형",
            "en": "Form"
          },
          "line_i18n": {
            "zh-TW": "湊近了才看見唇上那些紋。抵上去的時候，它先到。",
            "ja": "近づいて初めて、唇の細かなしわが見える。押しあてたとき、まずそれが触れる。",
            "ko": "가까이서야 입술의 잔결이 보인다. 밀어붙이면, 그것이 먼저 닿는다.",
            "en": "Only up close do you see the fine grain on the lips. Press in, and it reaches you first."
          }
        }
      ],
      "video": {
        "src": "../assets/vid/piece-lips.mp4?v=20260731c",
        "poster": "../assets/img/piece-lips-poster.jpg?v=20260731c",
        "kicker": "动态",
        "line": "球停在唇上，还没进去。你已经知道它接下来去哪。",
        "kicker_i18n": {
          "zh-TW": "動態",
          "ja": "動き",
          "ko": "움직임",
          "en": "Motion"
        },
        "line_i18n": {
          "zh-TW": "球停在唇上，還沒進去。你已經知道它接下來去哪。",
          "ja": "玉は唇に触れたまま、まだ入らない。この先どこへ行くかは、もう分かっている。",
          "ko": "구슬은 입술에 닿은 채 아직 들어가지 않았다. 다음에 어디로 갈지는 이미 알고 있다.",
          "en": "The bead rests on the lips, not yet in. You already know where it is going."
        }
      },
      "tagline_i18n": {
        "zh-TW": "一張不說話的嘴",
        "ja": "何も言わない口",
        "ko": "말하지 않는 입",
        "en": "A mouth that doesn't talk"
      },
      "tagline_source": "建站方暂用，沿用玄关器物屏已确认的三句体感；品牌方可整句替换（原占位见 tagline_ph）",
      "specs_i18n": {
        "zh-TW": {
          "size": "23.2 × 9.92 × 11.4 cm",
          "weight": "1 kg",
          "material": "全矽膠",
          "price": "不標價。請向所在地區的授權代理詢價。",
          "lead_time": "訂單確認後約 45 天製作週期。",
          "shipping": "自中國東莞發貨。無標識外包裝，從外觀看不出內容物。到貨時間視目的地而定。"
        },
        "ja": {
          "size": "23.2 × 9.92 × 11.4 cm",
          "weight": "1 kg",
          "material": "オールシリコン",
          "price": "価格は掲載しておりません。お住まいの地域の正規代理店へお問い合わせください。",
          "lead_time": "ご注文確定後、製作期間はおよそ 45 日です。",
          "shipping": "中国・東莞より発送。外装は無地で、中身がわからない梱包です。到着までの日数はお届け先によって異なります。"
        },
        "ko": {
          "size": "23.2 × 9.92 × 11.4 cm",
          "weight": "1 kg",
          "material": "올실리콘",
          "price": "가격은 공개하지 않습니다. 해당 지역 공식 대리점에 문의해 주세요.",
          "lead_time": "주문 확정 후 제작 기간은 약 45일입니다.",
          "shipping": "중국 둥관에서 발송합니다. 무표시 외포장으로 겉에서는 내용물을 알 수 없습니다. 도착 기간은 배송지에 따라 다릅니다."
        },
        "en": {
          "size": "23.2 × 9.92 × 11.4 cm",
          "weight": "1 kg",
          "material": "Full silicone",
          "price": "Price not listed. Please ask your regional authorised distributor.",
          "lead_time": "About 45 days of production time after the order is confirmed.",
          "shipping": "Ships from Dongguan, China, in unmarked outer packaging that gives no indication of the contents. Transit time depends on the destination."
        }
      },
      "customization_i18n": {
        "zh-TW": [
          "請向所在地區的授權代理諮詢。"
        ],
        "ja": [
          "お住まいの地域の正規代理店へお問い合わせください。"
        ],
        "ko": [
          "해당 지역 공식 대리점에 문의해 주세요."
        ],
        "en": [
          "Please ask your regional authorised distributor."
        ]
      },
      "name_i18n": {
        "zh-TW": "口交杯",
        "ja": "舌舐めオナホール",
        "ko": "혀 핥기 오나홀",
        "en": "Blowjob Masturbator Cup"
      },
      "name_note": "中文名品牌方 2026-08-04 回填；外文名 2026-08-07 第二批回填。韩文栏原话给了两个写法「혀 핥기 오나홀 / 텅 리킹 오나홀」（前者本土说法、后者英文音译），页面取前者，原话留在这里。"
    },
    {
      "sku": "torso",
      "category": "piece",
      "code": "TORSO",
      "name": "三交半身",
      "name_ph": "对外产品名",
      "form": "含胸的躯干——双乳、腹、臀，肩部以上切断，无头无脸。",
      "tagline": "从胸口到臀，一整段",
      "tagline_ph": "想让人记住的一句",
      "hero": "../assets/img/cat-torso.jpg?v=20260731c",
      "gallery": [
        "../assets/img/torso-gal-1.jpg?v=20260731c",
        "../assets/img/torso-gal-2.jpg?v=20260731c",
        "../assets/img/torso-gal-3.jpg?v=20260731c",
        "../assets/img/torso-gal-4.jpg?v=20260731c",
        "../assets/img/torso-gal-5.jpg?v=20260731c",
        "../assets/img/torso-gal-6.jpg?v=20260731c"
      ],
      "level": "L1",
      "facet_values": {
        "category": "piece",
        "material": "silicone"
      },
      "specs": {
        "size": "45 × 40 × 20 cm",
        "weight": "13 kg",
        "material": "全硅胶",
        "channels": "请向所在地区的授权代理咨询。",
        "price": "不标价。请向所在地区的授权代理询价。",
        "lead_time": "订单确认后约 45 天制作周期。",
        "shipping": "自中国东莞发货。无标识外包装，从外观看不出内容物。到货时间视目的地而定。"
      },
      "customization": [
        "请向所在地区的授权代理咨询。"
      ],
      "customization_ph": "可定制范围（尺寸/肤色/通道规格等）",
      "hero_fy": "46%",
      "form_i18n": {
        "zh-TW": "含胸的軀幹——雙乳、腹、臀，肩部以上截斷，無頭無臉。",
        "ja": "胸を含むトルソー——バスト・腹部・ヒップ。肩から上はなく、頭部も顔もない。",
        "ko": "가슴을 포함한 토르소 — 가슴·복부·엉덩이. 어깨 위는 없으며 머리와 얼굴이 없다.",
        "en": "A torso including the chest — breasts, abdomen and hips; cut off above the shoulders, with no head or face."
      },
      "plates": [
        {
          "img": "../assets/img/torso-detail-1.jpg?v=20260731c",
          "kicker": "形体",
          "line": "从腰到臀是一整块，中间没有接缝。手滑下去，中途不会被绊住。",
          "kicker_i18n": {
            "zh-TW": "形體",
            "ja": "フォルム",
            "ko": "형태",
            "en": "Body"
          },
          "line_i18n": {
            "zh-TW": "從腰到臀是一整塊，中間沒有接縫。手滑下去，中途不會被絆住。",
            "ja": "腰から尻までひと続きで、継ぎ目がない。手を滑らせても、途中で引っかからない。",
            "ko": "허리에서 엉덩이까지 하나로 이어져 이음매가 없다. 손을 미끄러뜨려도 도중에 걸리지 않는다.",
            "en": "Waist to hip is one piece, no seam. Run your hand down and nothing catches."
          }
        },
        {
          "img": "../assets/img/torso-detail-2.jpg?v=20260731c",
          "kicker": "软硬",
          "line": "镯子只是搁着，就陷下去一圈。手指按上去，会陷得更深。",
          "kicker_i18n": {
            "zh-TW": "軟硬",
            "ja": "硬さ",
            "ko": "경도",
            "en": "Give"
          },
          "line_i18n": {
            "zh-TW": "鐲子只是擱著，就陷下去一圈。手指按上去，會陷得更深。",
            "ja": "腕輪はただ置いただけで、輪の分だけ沈む。指で押せば、もっと深く沈む。",
            "ko": "팔찌는 얹어 두기만 해도 그만큼 가라앉는다. 손가락으로 누르면 더 깊이 들어간다.",
            "en": "The bangle sinks a ring deep just lying there. A finger goes deeper."
          }
        }
      ],
      "tagline_i18n": {
        "zh-TW": "從胸口到臀，一整段",
        "ja": "胸から臀まで、ひと続き",
        "ko": "가슴에서 엉덩이까지, 한 덩이",
        "en": "Chest to hips, in one piece"
      },
      "tagline_source": "建站方暂用，沿用玄关器物屏已确认的三句体感；品牌方可整句替换（原占位见 tagline_ph）",
      "specs_i18n": {
        "zh-TW": {
          "size": "45 × 40 × 20 cm",
          "weight": "13 kg",
          "material": "全矽膠",
          "channels": "請向所在地區的授權代理諮詢。",
          "price": "不標價。請向所在地區的授權代理詢價。",
          "lead_time": "訂單確認後約 45 天製作週期。",
          "shipping": "自中國東莞發貨。無標識外包裝，從外觀看不出內容物。到貨時間視目的地而定。"
        },
        "ja": {
          "size": "45 × 40 × 20 cm",
          "weight": "13 kg",
          "material": "オールシリコン",
          "channels": "お住まいの地域の正規代理店へお問い合わせください。",
          "price": "価格は掲載しておりません。お住まいの地域の正規代理店へお問い合わせください。",
          "lead_time": "ご注文確定後、製作期間はおよそ 45 日です。",
          "shipping": "中国・東莞より発送。外装は無地で、中身がわからない梱包です。到着までの日数はお届け先によって異なります。"
        },
        "ko": {
          "size": "45 × 40 × 20 cm",
          "weight": "13 kg",
          "material": "올실리콘",
          "channels": "해당 지역 공식 대리점에 문의해 주세요.",
          "price": "가격은 공개하지 않습니다. 해당 지역 공식 대리점에 문의해 주세요.",
          "lead_time": "주문 확정 후 제작 기간은 약 45일입니다.",
          "shipping": "중국 둥관에서 발송합니다. 무표시 외포장으로 겉에서는 내용물을 알 수 없습니다. 도착 기간은 배송지에 따라 다릅니다."
        },
        "en": {
          "size": "45 × 40 × 20 cm",
          "weight": "13 kg",
          "material": "Full silicone",
          "channels": "Please ask your regional authorised distributor.",
          "price": "Price not listed. Please ask your regional authorised distributor.",
          "lead_time": "About 45 days of production time after the order is confirmed.",
          "shipping": "Ships from Dongguan, China, in unmarked outer packaging that gives no indication of the contents. Transit time depends on the destination."
        }
      },
      "customization_i18n": {
        "zh-TW": [
          "請向所在地區的授權代理諮詢。"
        ],
        "ja": [
          "お住まいの地域の正規代理店へお問い合わせください。"
        ],
        "ko": [
          "해당 지역 공식 대리점에 문의해 주세요."
        ],
        "en": [
          "Please ask your regional authorised distributor."
        ]
      },
      "name_i18n": {
        "zh-TW": "三交半身",
        "ja": "3WAY仕様 ハーフボディオナホール（パイズリ・膣・アナル）",
        "ko": "3WAY 하프바디 오나홀（파이즈리·질·애널）",
        "en": "3-Way Half-Body Sex Doll Torso (Breast / Vaginal / Anal)"
      },
      "name_note": "中文名品牌方 2026-08-04 回填；外文名 2026-08-07 第二批回填，原样照登。这三个外文名都把三个通道写进了名字里——那是品牌方的选择，不是我们加的说明。"
    },
    {
      "sku": "hips",
      "category": "piece",
      "code": "HIPS",
      "name": "肛交臀模",
      "name_ph": "对外产品名",
      "form": "只有臀的模型，无胸。",
      "tagline": "只留最要紧的一段",
      "tagline_ph": "想让人记住的一句",
      "hero": "../assets/img/cat-hips.jpg?v=20260731c",
      "gallery": [
        "../assets/img/hips-gal-1.jpg?v=20260731c",
        "../assets/img/hips-gal-2.jpg?v=20260731c",
        "../assets/img/hips-gal-3.jpg?v=20260731c"
      ],
      "level": "L1",
      "facet_values": {
        "category": "piece",
        "material": "silicone"
      },
      "specs": {
        "size": "46 × 26 × 16 cm",
        "weight": "11 kg",
        "material": "全硅胶",
        "channels": "请向所在地区的授权代理咨询。",
        "price": "不标价。请向所在地区的授权代理询价。",
        "lead_time": "订单确认后约 45 天制作周期。",
        "shipping": "自中国东莞发货。无标识外包装，从外观看不出内容物。到货时间视目的地而定。"
      },
      "customization": [
        "请向所在地区的授权代理咨询。"
      ],
      "customization_ph": "可定制范围（尺寸/肤色/通道规格等）",
      "hero_fy": "50%",
      "form_i18n": {
        "zh-TW": "只有臀部的模型，無胸。",
        "ja": "ヒップのみのモデル。胸部はない。",
        "ko": "엉덩이만 있는 모델. 가슴은 없다.",
        "en": "A hips-only model, with no chest."
      },
      "plates": [
        {
          "img": "../assets/img/hips-detail-1.jpg?v=20260731c",
          "kicker": "表面",
          "line": "水停在上面，圆着不走。掌心压下去，它才散开。",
          "kicker_i18n": {
            "zh-TW": "表面",
            "ja": "表面",
            "ko": "표면",
            "en": "Surface"
          },
          "line_i18n": {
            "zh-TW": "水停在上面，圓著不走。掌心壓下去，它才散開。",
            "ja": "水は丸いまま留まって流れない。掌で押して、はじめて崩れる。",
            "ko": "물은 둥근 채 머물러 흐르지 않는다. 손바닥으로 눌러야 비로소 흩어진다.",
            "en": "The water stays beaded and will not run. Only a palm breaks it."
          }
        },
        {
          "img": "../assets/img/hips-detail-2.jpg?v=20260731c",
          "kicker": "贴合",
          "line": "金镯的一侧被表面吃住了。你贴上去，它也这样吃住你。",
          "kicker_i18n": {
            "zh-TW": "貼合",
            "ja": "密着",
            "ko": "밀착",
            "en": "Contact"
          },
          "line_i18n": {
            "zh-TW": "金鐲的一側被表面吃住了。你貼上去，它也這樣吃住你。",
            "ja": "腕輪の片側は表面に呑み込まれている。身を寄せれば、同じように呑み込まれる。",
            "ko": "팔찌 한쪽은 표면에 삼켜져 있다. 몸을 대면, 똑같이 삼켜진다.",
            "en": "One side of the bangle is swallowed by the surface. Press against it and it takes you the same way."
          }
        }
      ],
      "video": {
        "src": "../assets/vid/piece-hips.mp4?v=20260731c",
        "poster": "../assets/img/piece-hips-poster.jpg?v=20260731c",
        "kicker": "动态",
        "line": "镜头从腰上滑下去，一路没停。",
        "kicker_i18n": {
          "zh-TW": "動態",
          "ja": "動き",
          "ko": "움직임",
          "en": "Motion"
        },
        "line_i18n": {
          "zh-TW": "鏡頭從腰上滑下去，一路沒停。",
          "ja": "カメラは腰から滑り落ちて、途中で止まらない。",
          "ko": "카메라는 허리에서 미끄러져 내려가, 도중에 멈추지 않는다.",
          "en": "The camera slips down from the waist and does not stop on the way."
        }
      },
      "tagline_i18n": {
        "zh-TW": "只留最要緊的一段",
        "ja": "いちばん要るところだけ",
        "ko": "가장 필요한 곳만",
        "en": "Only the part that matters"
      },
      "tagline_source": "建站方暂用，沿用玄关器物屏已确认的三句体感；品牌方可整句替换（原占位见 tagline_ph）",
      "specs_i18n": {
        "zh-TW": {
          "size": "46 × 26 × 16 cm",
          "weight": "11 kg",
          "material": "全矽膠",
          "channels": "請向所在地區的授權代理諮詢。",
          "price": "不標價。請向所在地區的授權代理詢價。",
          "lead_time": "訂單確認後約 45 天製作週期。",
          "shipping": "自中國東莞發貨。無標識外包裝，從外觀看不出內容物。到貨時間視目的地而定。"
        },
        "ja": {
          "size": "46 × 26 × 16 cm",
          "weight": "11 kg",
          "material": "オールシリコン",
          "channels": "お住まいの地域の正規代理店へお問い合わせください。",
          "price": "価格は掲載しておりません。お住まいの地域の正規代理店へお問い合わせください。",
          "lead_time": "ご注文確定後、製作期間はおよそ 45 日です。",
          "shipping": "中国・東莞より発送。外装は無地で、中身がわからない梱包です。到着までの日数はお届け先によって異なります。"
        },
        "ko": {
          "size": "46 × 26 × 16 cm",
          "weight": "11 kg",
          "material": "올실리콘",
          "channels": "해당 지역 공식 대리점에 문의해 주세요.",
          "price": "가격은 공개하지 않습니다. 해당 지역 공식 대리점에 문의해 주세요.",
          "lead_time": "주문 확정 후 제작 기간은 약 45일입니다.",
          "shipping": "중국 둥관에서 발송합니다. 무표시 외포장으로 겉에서는 내용물을 알 수 없습니다. 도착 기간은 배송지에 따라 다릅니다."
        },
        "en": {
          "size": "46 × 26 × 16 cm",
          "weight": "11 kg",
          "material": "Full silicone",
          "channels": "Please ask your regional authorised distributor.",
          "price": "Price not listed. Please ask your regional authorised distributor.",
          "lead_time": "About 45 days of production time after the order is confirmed.",
          "shipping": "Ships from Dongguan, China, in unmarked outer packaging that gives no indication of the contents. Transit time depends on the destination."
        }
      },
      "customization_i18n": {
        "zh-TW": [
          "請向所在地區的授權代理諮詢。"
        ],
        "ja": [
          "お住まいの地域の正規代理店へお問い合わせください。"
        ],
        "ko": [
          "해당 지역 공식 대리점에 문의해 주세요."
        ],
        "en": [
          "Please ask your regional authorised distributor."
        ]
      },
      "name_i18n": {
        "zh-TW": "肛交臀模",
        "ja": "2穴仕様 ヒップ型オナホール（アナル＋膣）",
        "ko": "2구멍 힙 오나홀（애널＋질）",
        "en": "Dual-Channel Anal Hip Masturbator (Anal + Vaginal)"
      },
      "name_note": "中文名品牌方 2026-08-04 回填；外文名 2026-08-07 第二批回填，原样照登。"
    }
  ],
  "roster_note": "在册 6 款：2 款整娃（与站内两条叙事线一一对应）+ 1 件头身一体（2026-08-07 品牌方要求单开一档）+ 3 件小件（甲方 2026-07-25 清单的 1/2/3，均在售）。两款整娃里，雪姬那款与头身一体那件是同一角色下的两件商品，共用头雕。清单里的 172 全皮纹身体、168/168max、165 身体尚无任何照片（后两者 10 月上市），没有照片就做不出商品页。其余型号由品牌方补入 items[]，页面按条目数自适应。",
  "media_note": "三件小件的演示视频实测分别为 L3 / L2 / L3，一条都不能上站，所以小件线是纯静图。HIPS 线可用图只有 2 张（全库最薄），画廊仅 1 张——不足处不用 L2 顶替，L2 的门还没开。",
  "facets_note": "facets[].applies_to 与 spec_groups[].applies_to 同义：该维度只对这些品类有意义。缺省＝对所有品类都有意义。前端在选定品类后隐藏不适用的维度，并清掉它已有的筛选值——留一个看不见却在生效的过滤器，比留一个必然筛空的维度更难查。",
  "roster_note_i18n": {
    "zh-TW": "在冊 6 款：2 款全身娃（與站內兩條敘事線一一對應）+ 1 件頭身一體（2026-08-07 品牌方要求單開一檔）+ 3 件小件（品牌方 2026-07-25 清單的 1/2/3，均在售）。兩款全身娃裡，雪姬那款與頭身一體那件是同一角色下的兩件商品，共用頭雕。清單裡的 172 全皮紋身體、168/168max、165 身體尚無任何照片（後兩者 10 月上市），沒有照片就做不出商品頁。其餘型號由品牌方補入 items[]，頁面依條目數自適應。",
    "ja": "登録 6 点：フルドール 2 点（サイト内の 2 本の物語ラインに対応）＋ ヘッド一体ボディ 1 点（2026-08-07 ブランド側の指示で独立カテゴリ）＋ パーツ 3 点（ブランド側 2026-07-25 リストの 1/2/3、いずれも販売中）。フルドール 2 点のうち 1 点とヘッド一体ボディは、同じキャラクターの別商品でヘッドを共有する。リストにある 172 フルスキンタトゥーボディ、168/168max、165 ボディは写真が一枚もない（後の 2 点は 10 月発売）。写真がなければ商品ページは作れない。その他の型番はブランド側が items[] に追記し、ページは件数に応じて版を切り替える。",
    "ko": "등록 6종: 풀돌 2종(사이트의 두 서사 라인과 일대일 대응) + 헤드 일체형 바디 1종(2026-08-07 브랜드 측 요청으로 별도 분류) + 파츠 3종(브랜드 측 2026-07-25 목록의 1/2/3, 모두 판매 중). 풀돌 2종 중 한 종과 헤드 일체형 바디는 같은 캐릭터의 두 상품으로 헤드를 공유한다. 목록의 172 풀스킨 타투 바디, 168/168max, 165 바디는 사진이 전혀 없다(뒤의 두 종은 10월 출시). 사진이 없으면 상품 페이지를 만들 수 없다. 나머지 모델은 브랜드 측이 items[]에 추가하며, 페이지는 항목 수에 따라 레이아웃이 바뀐다.",
    "en": "Six entries on the roster: 2 full dolls (one for each narrative line on this site) + 1 head-and-bust piece (given its own category at the brand's request on 2026-08-07) + 3 pieces (items 1/2/3 on the brand's 2026-07-25 list, all in production). One of the two full dolls and the head-and-bust piece are two products of the same character, sharing a head sculpt. The list's 172 full-skin tattooed body, 168/168max and 165 body have no photographs at all (the latter two launch in October); without photographs there is no product page. Remaining models are to be added to items[] by the brand, and the page adapts its layout to the number of entries."
  },
  "media_note_i18n": {
    "zh-TW": "三件小件的示範影片實測分別為 L3 / L2 / L3，一條都不能上站，所以小件線是純靜圖。HIPS 線可用圖只有 2 張（全庫最薄），圖庫僅 1 張——不足之處不用 L2 頂替，L2 的門還沒開。",
    "ja": "パーツ 3 点のデモ動画は実測でそれぞれ L3 / L2 / L3。1 本も掲載できないため、パーツのラインは静止画のみ。HIPS は使用可能な画像が 2 点（全ライブラリ中最少）でギャラリーは 1 点のみ——不足を L2 で埋めることはしない。L2 はまだ解禁していない。",
    "ko": "파츠 3종의 데모 영상은 실측 결과 각각 L3 / L2 / L3으로 한 편도 게시할 수 없어, 파츠 라인은 정지 이미지만 사용한다. HIPS는 사용 가능한 이미지가 2장(전체 라이브러리 중 최소)이고 갤러리는 1장뿐 — 부족분을 L2로 대체하지 않는다. L2는 아직 개방되지 않았다.",
    "en": "The three pieces' demo videos measured L3 / L2 / L3 — none of them can go on the site, so the piece line is stills only. HIPS has just 2 usable images (the thinnest in the library) and its gallery holds only one; the gap is not filled with L2, because L2 is not open yet."
  },
  "i18n_note": "带 _i18n 后缀的字段是同名字段的多语言表（zh-TW / ja / ko / en），zh-CN 用原字段本身。范围只含**结构标签与已核实的事实描述**——占位项名（.ph 的 data-ph）故意保持中文，因为那些字的读者是品牌方不是访客（判据见 js/i18n.js 第 399 行的既有决定）；产品名与卖点文案是业务事实，null 到品牌方给出为止，不做任何语种的示例文案（红线 3）。",
  "preview_only_notes": [
    "censor_note",
    "media_note",
    "piece_note",
    "roster_note"
  ],
  "preview_only_note_why": "这两段是产品线现状说明（含内部文件路径与分级代号），对设计预览有用，对最终访客没有意义——上线前删掉或换成对外措辞。标在数据里而不是只写进文档，是为了让「该删而没删」可被机器查到。 2026-08-01：改为只在 ?preview=1 时渲染（catalog.js），并由 _build/e2e/preview-notes.mjs 机器守——原先「可被机器查到」是意图，实际零检查在读这个字段。",
  "reshoot_spec_ref": "_index/新品拍摄规范.md（内部指引，不渲染到页面）",
  "piece_guide": {
    "note": "只列现在能确定的差别。「体量」是按形态推出的相对次序，不是实测值；虚线行等品牌方给数。",
    "note_i18n": {
      "zh-TW": "只列現在能確定的差別。「體量」是按形態推出的相對次序，不是實測值；虛線列等品牌方給數。",
      "ja": "現時点で確かな差だけを載せる。「大きさ」は形状から導いた相対順で、実測値ではない。破線の行はブランド側の数値待ち。",
      "ko": "지금 확실한 차이만 싣는다. 「부피」는 형태에서 추론한 상대 순서이며 실측값이 아니다. 점선 행은 브랜드 측 수치를 기다린다.",
      "en": "Only the differences we can state today. “Bulk” is a relative order inferred from form, not a measurement; dashed rows await the brand's figures."
    },
    "rows": [
      {
        "key": "takes",
        "label": "取身体的哪一段",
        "label_i18n": {
          "zh-TW": "取身體的哪一段",
          "ja": "身体のどの部分か",
          "ko": "신체의 어느 부분인가",
          "en": "Which part of the body"
        },
        "values": {
          "lips": "面部下半",
          "torso": "胸 · 腹 · 臀",
          "hips": "仅臀"
        },
        "values_i18n": {
          "zh-TW": {
            "lips": "面部下半",
            "torso": "胸 · 腹 · 臀",
            "hips": "僅臀"
          },
          "ja": {
            "lips": "顔の下半分",
            "torso": "胸 · 腹 · 尻",
            "hips": "尻のみ"
          },
          "ko": {
            "lips": "얼굴 아랫부분",
            "torso": "가슴 · 복부 · 엉덩이",
            "hips": "엉덩이만"
          },
          "en": {
            "lips": "Lower face",
            "torso": "Chest · belly · hips",
            "hips": "Hips only"
          }
        }
      },
      {
        "key": "bulk",
        "label": "体量（相对）",
        "label_i18n": {
          "zh-TW": "體量（相對）",
          "ja": "大きさ（相対）",
          "ko": "부피（상대）",
          "en": "Bulk (relative)"
        },
        "values": {
          "lips": "最小",
          "torso": "最大",
          "hips": "居中"
        },
        "values_i18n": {
          "zh-TW": {
            "lips": "最小",
            "torso": "最大",
            "hips": "居中"
          },
          "ja": {
            "lips": "最小",
            "torso": "最大",
            "hips": "中間"
          },
          "ko": {
            "lips": "가장 작음",
            "torso": "가장 큼",
            "hips": "중간"
          },
          "en": {
            "lips": "Smallest",
            "torso": "Largest",
            "hips": "In between"
          }
        }
      }
    ],
    "pending_rows": [
      {
        "key": "size",
        "label": "尺寸",
        "label_i18n": {
          "zh-TW": "尺寸",
          "ja": "サイズ",
          "ko": "크기",
          "en": "Dimensions"
        }
      },
      {
        "key": "weight",
        "label": "净重",
        "label_i18n": {
          "zh-TW": "淨重",
          "ja": "重量",
          "ko": "중량",
          "en": "Net weight"
        }
      },
      {
        "key": "channels",
        "label": "通道",
        "label_i18n": {
          "zh-TW": "通道",
          "ja": "挿入口",
          "ko": "삽입구",
          "en": "Channels"
        }
      },
      {
        "key": "price",
        "label": "价格",
        "label_i18n": {
          "zh-TW": "價格",
          "ja": "価格",
          "ko": "가격",
          "en": "Price"
        }
      }
    ]
  },
  "piece_note": "小件页的 plates 与 piece_guide 两块是 2026-07-31 加的。plates 的 line 是**照片里能直接看到的观察**（唇纹、压痕、水珠形态），不是业务承诺——红线 3 管的是价格/材质/规格/物流那类只有品牌方知道的事实，它们仍然全是 .ph。另有过一节 piece_concerns「你大概想问」（四个问句按钮，点一下入询单篮），2026-08-01 品牌方判定没意义，整节撤掉；话题按钮仍在询单页自己那一排。",
  "censor_note": "小件的部分画廊图与两条视频是**打码派生件**：原片因含器官被判 L2，遮罩由 _build/censor.py 烘焙进像素后按派生件重判为 L1，只在年龄门后出现，永不进 og:image 与门前。配方与逐件复核见 _index/derived/README.md。TORSO 没有动态板是查过之后的结论，不是漏了：那条 23.9s 原片只有 0.70–1.62s 干净，而那段是锁定机位（1280 宽上只漂移约 7px，等于静图，塞进 <video> 是假动态）；2.0s 之后褶皱里有不透明结块状白色残留（体液，判定顺序第 ① 条），且横贯画面中部，胶囊遮罩盖不住。要补动态只能补拍。 2026-08-01 追加：品牌方要求**乳头也要打禁码**，口径按本项目判例定为「盖乳晕不只盖乳尖」（07-26 那批误判全是乳晕在外被当合格）。回扫了全部 58 张站体图 + 3 条整娃视频 45 帧，露乳头的只有 torso-gal-4/5/6 三张，已补打；两个整娃全程被乳贴/比基尼盖着，无需处理。"
}
