{
  "schemaVersion": 1,
  "date": "2026-11-02",
  "source": "current runtime hub.css + ink-hub.css",
  "provenance": "原CSS在隔离DOM中由Chrome真实渲染；不是原稿透明切图，不使用AI重画。",
  "coordinateSpace": "CSS pixels, deviceScaleFactor=1, viewport 390x844, transparent page background",
  "components": [
    {
      "id": "decor-frame-preview-390x844",
      "type": "reference-preview-only",
      "selector": ".frame-preview",
      "size": [
        390,
        844
      ],
      "use": "仅用于对比完整边框；禁止将整图拉长作为正式屏幕框线",
      "recipe": {
        "frameInset": 7,
        "line": "1px solid #b9914855",
        "cornerSize": [
          23,
          23
        ],
        "frameMinHeight": "calc(100dvh - 14px)",
        "zIndex": 22
      }
    },
    {
      "id": "decor-corner-top-left",
      "type": "code-render-export",
      "selector": ".peripheral-frame i:nth-child(1)",
      "size": [
        23,
        23
      ],
      "sourceCSS": "ink-hub.css:6-8",
      "use": "固定逻辑尺寸23x23；移到父框top-left -2,-2；包含before/after，不含旁边全框线"
    },
    {
      "id": "decor-corner-top-right",
      "type": "code-render-export",
      "selector": ".peripheral-frame i:nth-child(2)",
      "size": [
        23,
        23
      ],
      "sourceCSS": "ink-hub.css:6-9",
      "use": "已旋转90度；不要再次旋转；固定尺寸"
    },
    {
      "id": "decor-corner-bottom-left",
      "type": "code-render-export",
      "selector": ".peripheral-frame i:nth-child(3)",
      "size": [
        23,
        23
      ],
      "sourceCSS": "ink-hub.css:6-8,10",
      "use": "已旋转-90度；不要再次旋转；固定尺寸"
    },
    {
      "id": "decor-corner-bottom-right",
      "type": "code-render-export",
      "selector": ".peripheral-frame i:nth-child(4)",
      "size": [
        23,
        23
      ],
      "sourceCSS": "ink-hub.css:6-8,11",
      "use": "已旋转180度；不要再次旋转；固定尺寸"
    },
    {
      "id": "decor-sun-home",
      "type": "code-render-export",
      "selector": ".scene-sun",
      "size": [
        78,
        78
      ],
      "sourceCSS": "ink-hub.css:24",
      "use": "以home-stage为父，right2% top32%，同原z层"
    },
    {
      "id": "decor-sun-tower",
      "type": "code-render-export",
      "selector": ".is-tower .scene-sun",
      "size": [
        63,
        63
      ],
      "sourceCSS": "ink-hub.css:24,27",
      "use": "以home-stage为父，right2% top48%，同原z层"
    },
    {
      "id": "decor-paper-composite-preview",
      "type": "reference-preview-only",
      "selector": ".paper-preview",
      "size": [
        390,
        844
      ],
      "sourceCSS": "ink-hub.css:4",
      "use": "纸纹加原渐变的组合示例；不能整屏拉伸。正式使用paper-texture.png按600px周期平铺，上叠原渐变。"
    }
  ],
  "unityComposition": {
    "frame": "四角固定23x23逻辑尺寸，边线1px独立横向/纵向伸缩；相对于app-shell内容区inset7。尺寸转换必须按实际CanvasScaler，不直接套物理屏幕像素。",
    "cornerPNG": "透明图片alpha必须保留，不重复描边；Unity过滤/压缩/PPU由目标工程读取复核。",
    "sun": "保存实际半透明渐变；以指定父容器定位，不对整屏取百分比。",
    "paper": "已有v25-paper-texture原图保持像素；repeat纹理和渐变单独处理。"
  },
  "gates": {
    "cssSource": "verified",
    "browserRendered": "verified",
    "visualMatchesTarget": "needs-review",
    "UnityRuntime": "not-performed"
  }
}