{
  "timestamp": "2026-06-20T05:36:55.091Z",
  "version": "3.0",
  "backupType": "design",
  "data": {
    "blog_settings": [
      {
        "key": "theme",
        "value": "{\"primary\":\"#0f172a\",\"secondary\":\"#64748b\",\"bodyBackground\":{\"type\":\"js\",\"value\":\"js\",\"jsCode\":\"(function() {\\n    const canvas = document.getElementById('bg-canvas');\\n    if (!canvas) return;\\n    const ctx = canvas.getContext('2d');\\n    const shapes = [];\\n\\n    function resize() {\\n        canvas.width = window.innerWidth;\\n        canvas.height = window.innerHeight;\\n    }\\n    window.addEventListener('resize', resize);\\n    resize();\\n\\n    for(let i = 0; i < 25; i++) {\\n        shapes.push({\\n            x: Math.random() * canvas.width,\\n            y: Math.random() * canvas.height,\\n            size: Math.random() * 80 + 20,\\n            angle: Math.random() * Math.PI * 2,\\n            rot: Math.random() * 0.02,\\n            v: Math.random() * 0.5\\n        });\\n    }\\n\\n    function animate() {\\n        ctx.clearRect(0, 0, canvas.width, canvas.height);\\n        shapes.forEach(s => {\\n            s.angle += s.rot;\\n            s.y -= s.v;\\n            if(s.y < -s.size) {\\n                s.y = canvas.height + s.size;\\n                s.x = Math.random() * canvas.width;\\n            }\\n            \\n            ctx.save();\\n            ctx.translate(s.x, s.y);\\n            ctx.rotate(s.angle);\\n            ctx.strokeStyle = \\\"rgba(100, 10, 10, 0.1)\\\";\\n            ctx.strokeRect(-s.size/2, -s.size/2, s.size, s.size);\\n            ctx.restore();\\n        });\\n        requestAnimationFrame(animate);\\n    }\\n    animate();\\n})();\",\"jsConfig\":{},\"opacity\":1,\"blur\":0,\"layerBlur\":0,\"overlayColor\":\"#000000\",\"overlayOpacity\":0,\"allowMobile\":false,\"fallbackColor\":\"#ffffff\"},\"text\":\"#1c1917\",\"accent\":\"#0f172a\",\"cardBg\":\"#NaNNaNNaN\",\"border\":\"#e7e5e4\",\"sideMargin\":\"0.1rem\",\"fontFamily\":\"Georgia, Noto Serif KR, serif\",\"googleFontName\":\"Playfair Display\",\"baseFontSize\":\"16px\",\"mobileBaseFontSize\":\"14px\",\"maxWidth\":\"1200px\",\"headerBodySpacing\":\"1rem\",\"bodyFooterSpacing\":\"1rem\",\"widgetItemStyle\":{\"fontSize\":\"0.95rem\",\"fontWeight\":\"600\",\"color\":\"#0f172a\",\"fontFamily\":\"\"},\"widgetTitleStyle\":{\"fontSize\":\"1.1rem\",\"fontWeight\":\"700\",\"color\":\"\",\"fontFamily\":\"\"},\"headerBodySpacingMobile\":\"8px\",\"bodyFooterSpacingMobile\":\"8px\",\"mobileSideMargin\":\"12px\"}",
        "updated_at": "1781897329"
      },
      {
        "key": "header",
        "value": "{\"logoText\":{\"ko\":\"Sveltekitblog Engine\",\"en\":\"Sveltekitblog Engine\",\"ja\":\"Sveltekitblog Engine\"},\"logoFont\":\"serif\",\"logoFontSize\":\"3rem\",\"logoAlignment\":\"center\",\"sideMargin\":\"1rem\",\"showBorderBottom\":false,\"logoPadding\":{\"top\":25,\"right\":0,\"bottom\":25,\"left\":0},\"navPadding\":{\"top\":0,\"right\":0,\"bottom\":0,\"left\":0},\"logoColor\":{\"type\":\"gradient\",\"value\":\"linear-gradient(90deg, oklch(36% 0.4 70), oklch(51% 0.33 206))\",\"jsCode\":\"\",\"jsConfig\":{},\"opacity\":0.9,\"blur\":20,\"layerBlur\":5,\"overlayColor\":\"oklch(85% 0.27 37 / 0.92)\",\"overlayOpacity\":1,\"allowMobile\":false,\"fallbackColor\":\"\"},\"logoFontWeight\":\"700\",\"logoLetterSpacing\":\"0px\",\"navAlignment\":\"center\",\"headerLayout\":\"two-line\",\"logoVerticalAlignment\":\"middle\",\"navVerticalAlignment\":\"middle\",\"scrolledLogoVerticalAlignment\":\"middle\",\"scrolledLogoAlignment\":\"left\",\"scrolledNavAlignment\":\"right\",\"scrolledNavVerticalAlignment\":\"middle\",\"scrolledHeight\":\"120px\",\"scrolledMaxWidth\":\"1200px\",\"scrolledNavSpacing\":\"1rem\",\"scrolledLogoPadding\":{\"top\":0,\"right\":0,\"bottom\":5,\"left\":40},\"scrolledNavPadding\":{\"top\":0,\"right\":25,\"bottom\":0,\"left\":0},\"navSpacing\":\"1rem\",\"navTextColor\":\"#57534e\",\"navHoverBackground\":{\"type\":\"solid\",\"value\":\"transparent\"},\"navHoverTextColor\":\"#1c1917\",\"showCategories\":false,\"showLanguageSwitcher\":true,\"headerBackground\":{\"type\":\"gradient\",\"value\":\"linear-gradient(180deg, oklch(92% 0.4 69 / 0.12), oklch(92% 0.4 69 / 0.12), oklch(72% 0.27 76 / 0.65), oklch(72% 0.27 76))\",\"jsCode\":\"\",\"jsConfig\":{},\"opacity\":0.75,\"blur\":12,\"layerBlur\":3,\"overlayColor\":\"oklch(92% 0.4 69 / 0.12)\",\"overlayOpacity\":0.8,\"allowMobile\":false,\"fallbackColor\":\"\"},\"headerBackgroundBlur\":0,\"headerBackgroundOpacity\":1,\"useBottomFade\":false,\"bottomFadeStrength\":20,\"useTextShadow\":false,\"headerBackgroundOverlayColor\":\"#000000\",\"headerBackgroundOverlayOpacity\":0,\"height\":\"11.5rem\",\"borderRadius\":{\"topLeft\":10,\"topRight\":10,\"bottomLeft\":10,\"bottomRight\":10},\"boxShadow\":\"0px 0px 1px 2px oklch(55% 0.208 25.33)\",\"mobile\":{\"height\":\"55px\",\"logoFontSize\":\"1.8rem\",\"logoPadding\":{\"top\":0,\"right\":0,\"bottom\":0,\"left\":15},\"navPadding\":{\"top\":0,\"right\":15,\"bottom\":0,\"left\":0},\"navSpacing\":\"\",\"logoAlignment\":\"left\",\"logoVerticalAlignment\":\"middle\",\"navAlignment\":\"right\",\"navVerticalAlignment\":\"middle\",\"showLanguageSwitcher\":true,\"menuItems\":[{\"id\":1,\"type\":\"link\",\"label\":{\"ko\":\"Home\",\"en\":\"Home\",\"ja\":\"Home\"},\"url\":\"/\",\"icon\":\"Home\"},{\"id\":2,\"type\":\"link\",\"label\":{\"ko\":\"Posts\",\"en\":\"Posts\",\"ja\":\"Posts\"},\"url\":\"/posts\",\"icon\":\"FileText\"},{\"id\":3,\"type\":\"category_drawer\",\"label\":{\"ko\":\"Categories\",\"en\":\"Categories\",\"ja\":\"Categories\"},\"url\":\"/\",\"icon\":\"Menu\"}]},\"safeTopMargin\":\"1rem\",\"safeSideMargin\":\"1rem\",\"safeTopMarginMobile\":\"8px\",\"safeSideMarginMobile\":\"12px\"}",
        "updated_at": "1781897329"
      },
      {
        "key": "footer",
        "value": "{\"showBorderTop\":false,\"navFontSize\":\"0.85rem\",\"navColor\":\"#44403c\",\"navHoverColor\":\"#1c1917\",\"footerBackground\":{\"type\":\"inherit\",\"value\":\"\",\"jsCode\":\"!(function() {\\n    // 1. 안전하게 body 확보\\n    if (!document.body) {\\n        document.write('<body></body>');\\n    }\\n\\n    // 2. 캔버스 생성 및 화면 고정 + 강력한 흐림(Blur) 필터 적용\\n    const canvas = document.createElement('canvas');\\n    canvas.style.cssText = `\\n        position: fixed;\\n        top: 0;\\n        left: 0;\\n        width: 100%;\\n        height: 100%;\\n        z-index: -1;\\n        display: block;\\n        background: #000;\\n        /* 픽셀 각을 완전히 녹여버리는 치트키: 블러 효과 */\\n        filter: blur(32px) scale(1.1);\\n        transform-origin: center;\\n    `;\\n    document.body.appendChild(canvas);\\n\\n    const ctx = canvas.getContext('2d');\\n\\n    // 3. 다채로운 색상 영역 구분을 위한 적절한 해상도 설정\\n    const viewWidth = 32;\\n    const viewHeight = 32;\\n    canvas.width = viewWidth;\\n    canvas.height = viewHeight;\\n\\n    // 4. 수학적 스케일 조절 (색상이 더 다채롭고 웅장하게 섞이도록 분모 조정)\\n    const calcR = (x, y, t) => Math.floor(200 + 27 * Math.cos((x * x - y * y) / 180 + t));\\n    const calcG = (x, y, t) => Math.floor(200 + 25 * Math.sin((x * x * Math.cos(t / 3) + y * y * Math.sin(t / 2)) / 200));\\n    const calcB = (x, y, t) => Math.floor(200 + 27 * Math.sin(3 * Math.sin(t / 5) + ((x - 20) * (x - 20) + (y - 20) * (y - 20)) / 100));\\n\\n    let time = 0;\\n\\n    function renderLoop() {\\n        requestAnimationFrame(renderLoop);\\n        \\n        // 40x40 영역을 촘촘히 채워 다채로운 색상 맵을 만듭니다.\\n        for (let x = 0; x < viewWidth; x++) {\\n            for (let y = 0; y < viewHeight; y++) {\\n                ctx.fillStyle = `rgb(${calcR(x, y, time)},${calcG(x, y, time)},${calcB(x, y, time)})`;\\n                ctx.fillRect(x, y, 1, 1);\\n            }\\n        }\\n        time += 0.04; // 부드럽고 몽환적인 움직임 속도\\n    }\\n    renderLoop();\\n})();\",\"jsConfig\":{},\"opacity\":1,\"blur\":0,\"layerBlur\":0,\"overlayColor\":\"#000000\",\"overlayOpacity\":0,\"allowMobile\":false,\"fallbackColor\":\"\"},\"text\":{\"color\":\"#57534e\",\"fontSize\":\"0.85rem\"},\"borderRadius\":{\"topLeft\":0,\"topRight\":0,\"bottomLeft\":0,\"bottomRight\":0},\"boxShadow\":\"0px 0px 0px 0px #3b82f6\",\"footerBackgroundBlur\":0,\"footerBackgroundOpacity\":1,\"shareDesign\":true,\"mobile\":{\"copyright\":{\"ko\":\"\",\"en\":\"\",\"ja\":\"\"},\"navLinks\":[],\"navFontSize\":\"\",\"navColor\":\"\",\"navHoverColor\":\"\",\"text\":{\"color\":\"\",\"fontSize\":\"\"},\"borderRadius\":{\"topLeft\":0,\"topRight\":0,\"bottomLeft\":0,\"bottomRight\":0},\"boxShadow\":\"\"}}",
        "updated_at": "1781897329"
      },
      {
        "key": "widget_shadow_global",
        "value": "{\"enabled\":true,\"normal\":\"0px 0px 0px 1px oklch(63.68% 0.208 25.33)\",\"hover\":\"0px 0px 4px 2px oklch(64% 0.208 25.33)\",\"hoverTranslateY\":0}",
        "updated_at": "1781897329"
      }
    ],
    "layouts": [
      {
        "id": 1,
        "name": "미니멀 싱글 레이아웃",
        "column_count": 2,
        "column_widths": "1fr 4fr",
        "mobile_column_count": 1,
        "mobile_column_widths": "1fr",
        "is_active": 1,
        "created_at": "2026-06-15 16:19:49",
        "updated_at": "1781897330"
      }
    ],
    "widgets": [
      {
        "id": 1,
        "name": "최신 포스트",
        "type": "RecentPosts",
        "config": "{\"shadow\":{\"useGlobal\":true,\"normal\":\"none\",\"hover\":\"none\",\"hoverTranslateY\":-2}}",
        "created_at": "2026-06-15 16:19:49",
        "updated_at": "2026-06-15 16:19:49"
      },
      {
        "id": 2,
        "name": "카테고리",
        "type": "CategoryMenu",
        "config": "{\"shadow\":{\"useGlobal\":true,\"normal\":\"none\",\"hover\":\"none\",\"hoverTranslateY\":-2}}",
        "created_at": "2026-06-15 16:19:49",
        "updated_at": "2026-06-15 16:19:49"
      },
      {
        "id": 3,
        "name": "인기 포스트",
        "type": "PopularPosts",
        "config": "{\"shadow\":{\"useGlobal\":true,\"normal\":\"none\",\"hover\":\"none\",\"hoverTranslateY\":-2}}",
        "created_at": "2026-06-15 16:19:49",
        "updated_at": "2026-06-15 16:19:49"
      },
      {
        "id": 4,
        "name": "태그",
        "type": "TagCloud",
        "config": "{\"mobile\":{\"sortOrder\":\"popular\",\"maxTags\":10},\"desktop\":{\"sortOrder\":\"popular\",\"maxTags\":20}}",
        "created_at": "2026-06-15 16:19:49",
        "updated_at": "2026-06-15 16:19:49"
      },
      {
        "id": 5,
        "name": "본문",
        "type": "PostContent",
        "config": "{\"desktop\":{\"columns\":1,\"layout\":\"horizontal\",\"imageRatio\":25,\"badgeBg\":\"#e2e8f0\",\"badgeColor\":\"#475569\",\"cardBg\":\"transparent\",\"cardTextColor\":\"#1c1917\",\"cardFontSize\":\"1.2rem\",\"itemsPerPage\":6,\"hoverEffect\":\"glow\",\"paginationStyle\":\"default\",\"cardHeight\":\"200px\",\"glowColor\":\"#000000\"},\"mobile\":{\"columns\":1,\"layout\":\"horizontal\",\"imageRatio\":20,\"badgeBg\":\"#e2e8f0\",\"badgeColor\":\"#475569\",\"cardBg\":\"transparent\",\"cardTextColor\":\"#1c1917\",\"cardFontSize\":\"1rem\",\"itemsPerPage\":4,\"hoverEffect\":\"none\",\"paginationStyle\":\"default\",\"cardHeight\":\"170px\",\"glowColor\":\"#000000\"},\"shadow\":{\"useGlobal\":true,\"normal\":\"none\",\"hover\":\"none\",\"hoverTranslateY\":-2}}",
        "created_at": "2026-06-15 16:19:49",
        "updated_at": "2026-06-15 16:19:49"
      },
      {
        "id": 6,
        "name": "댓글",
        "type": "RecentComments",
        "config": "{\"shadow\":{\"useGlobal\":true,\"normal\":\"0px 0px 4px 2px #3b82f6\",\"hover\":\"0px 0px 4px 2px #3b82f6\",\"hoverTranslateY\":-2}}",
        "created_at": "2026-06-15 16:25:50",
        "updated_at": "2026-06-15 16:25:50"
      },
      {
        "id": 7,
        "name": "최신 방명록",
        "type": "RecentGuestbooks",
        "config": "{\"shadow\":{\"useGlobal\":true,\"normal\":\"none\",\"hover\":\"none\",\"hoverTranslateY\":-2}}",
        "created_at": "2026-06-15 16:26:01",
        "updated_at": "2026-06-15 16:26:01"
      }
    ],
    "layout_widgets": [
      {
        "id": 1673,
        "layout_id": 1,
        "widget_id": 2,
        "column_index": 0,
        "sort_order": 0,
        "custom_title": "{\"ko\":\"카테고리\",\"en\":\"Categories\",\"ja\":\"カテゴリー\"}",
        "device": "desktop"
      },
      {
        "id": 1674,
        "layout_id": 1,
        "widget_id": 6,
        "column_index": 0,
        "sort_order": 1,
        "custom_title": "{\"ko\":\"최근 댓글\",\"en\":\"Recent Comments\",\"ja\":\"最近のコメント\"}",
        "device": "desktop"
      },
      {
        "id": 1675,
        "layout_id": 1,
        "widget_id": 7,
        "column_index": 0,
        "sort_order": 2,
        "custom_title": "{\"ko\":\"최근 방명록\",\"en\":\"Recent Guestbooks\",\"ja\":\"最近のゲストブック\"}",
        "device": "desktop"
      },
      {
        "id": 1676,
        "layout_id": 1,
        "widget_id": 4,
        "column_index": 0,
        "sort_order": 3,
        "custom_title": "{\"ko\":\"태그\",\"en\":\"Tags\",\"ja\":\"タグ\"}",
        "device": "desktop"
      },
      {
        "id": 1677,
        "layout_id": 1,
        "widget_id": 5,
        "column_index": 1,
        "sort_order": 0,
        "custom_title": "{\"ko\":\"저널\",\"en\":\"Journal\",\"ja\":\"ジャーナル\"}",
        "device": "desktop"
      },
      {
        "id": 1678,
        "layout_id": 1,
        "widget_id": 4,
        "column_index": 1,
        "sort_order": 1,
        "custom_title": "{\"ko\":\"태그\",\"en\":\"Tags\",\"ja\":\"タグ\"}",
        "device": "desktop"
      },
      {
        "id": 1679,
        "layout_id": 1,
        "widget_id": 5,
        "column_index": 0,
        "sort_order": 0,
        "custom_title": "{\"ko\":\"저널\",\"en\":\"Journal\",\"ja\":\"ジャーナル\"}",
        "device": "mobile"
      },
      {
        "id": 1680,
        "layout_id": 1,
        "widget_id": 4,
        "column_index": 0,
        "sort_order": 1,
        "custom_title": "{\"ko\":\"태그\",\"en\":\"Tags\",\"ja\":\"タグ\"}",
        "device": "mobile"
      }
    ],
    "languages": [
      {
        "code": "ko",
        "name": "한국어",
        "is_default": 1,
        "sort_order": 1,
        "fallback_message": "이 포스트는 한국어로 작성되었습니다."
      },
      {
        "code": "en",
        "name": "English",
        "is_default": 0,
        "sort_order": 2,
        "fallback_message": "This post is written in English."
      },
      {
        "code": "ja",
        "name": "日本語",
        "is_default": 0,
        "sort_order": 3,
        "fallback_message": "この投稿は日本語で書かれています。"
      }
    ]
  }
}