Created
July 1, 2026 17:28
-
-
Save jasalt/6b5fc178d4cd532b2ebd1ebc6027f83d to your computer and use it in GitHub Desktop.
osws issue
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "project": { | |
| "id": "0e19bc74-21da-4631-96fc-1fb82bb54e70", | |
| "name": "deploytest", | |
| "createdAt": "2026-07-01T17:16:47.432Z", | |
| "updatedAt": "2026-07-01T17:19:41.243Z", | |
| "settings": { | |
| "runtime": "static", | |
| "models": { | |
| "templateId": "default", | |
| "overrides": { | |
| "agent": { | |
| "provider": "opencode-go", | |
| "model": "deepseek-v4-flash" | |
| } | |
| } | |
| } | |
| }, | |
| "lastSavedCheckpointId": "cp_1782926381220_3", | |
| "lastSavedAt": "2026-07-01T17:19:41.220Z", | |
| "costTracking": { | |
| "totalCost": 0, | |
| "providerBreakdown": { | |
| "opencode-go": { | |
| "totalCost": 0, | |
| "tokenUsage": { | |
| "input": 88050, | |
| "output": 4408 | |
| }, | |
| "requestCount": 10, | |
| "lastUpdated": "2026-07-01T17:19:20.127Z" | |
| } | |
| }, | |
| "sessionHistory": [ | |
| { | |
| "sessionId": "1782926284439", | |
| "cost": 0, | |
| "provider": "opencode-go", | |
| "timestamp": "2026-07-01T17:18:04.455Z", | |
| "tokenUsage": { | |
| "input": 4212, | |
| "output": 133 | |
| } | |
| }, | |
| { | |
| "sessionId": "1782926284439", | |
| "cost": 0, | |
| "provider": "opencode-go", | |
| "timestamp": "2026-07-01T17:18:29.812Z", | |
| "tokenUsage": { | |
| "input": 6129, | |
| "output": 2751 | |
| } | |
| }, | |
| { | |
| "sessionId": "1782926284439", | |
| "cost": 0, | |
| "provider": "opencode-go", | |
| "timestamp": "2026-07-01T17:18:31.802Z", | |
| "tokenUsage": { | |
| "input": 8897, | |
| "output": 50 | |
| } | |
| }, | |
| { | |
| "sessionId": "1782926284439", | |
| "cost": 0, | |
| "provider": "opencode-go", | |
| "timestamp": "2026-07-01T17:18:34.713Z", | |
| "tokenUsage": { | |
| "input": 8965, | |
| "output": 125 | |
| } | |
| }, | |
| { | |
| "sessionId": "1782926284439", | |
| "cost": 0, | |
| "provider": "opencode-go", | |
| "timestamp": "2026-07-01T17:19:00.769Z", | |
| "tokenUsage": { | |
| "input": 9116, | |
| "output": 140 | |
| } | |
| }, | |
| { | |
| "sessionId": "1782926284439", | |
| "cost": 0, | |
| "provider": "opencode-go", | |
| "timestamp": "2026-07-01T17:19:04.537Z", | |
| "tokenUsage": { | |
| "input": 9306, | |
| "output": 218 | |
| } | |
| }, | |
| { | |
| "sessionId": "1782926284439", | |
| "cost": 0, | |
| "provider": "opencode-go", | |
| "timestamp": "2026-07-01T17:19:11.852Z", | |
| "tokenUsage": { | |
| "input": 9760, | |
| "output": 670 | |
| } | |
| }, | |
| { | |
| "sessionId": "1782926284439", | |
| "cost": 0, | |
| "provider": "opencode-go", | |
| "timestamp": "2026-07-01T17:19:14.022Z", | |
| "tokenUsage": { | |
| "input": 10447, | |
| "output": 49 | |
| } | |
| }, | |
| { | |
| "sessionId": "1782926284439", | |
| "cost": 0, | |
| "provider": "opencode-go", | |
| "timestamp": "2026-07-01T17:19:17.368Z", | |
| "tokenUsage": { | |
| "input": 10514, | |
| "output": 147 | |
| } | |
| }, | |
| { | |
| "sessionId": "1782926284439", | |
| "cost": 0, | |
| "provider": "opencode-go", | |
| "timestamp": "2026-07-01T17:19:20.127Z", | |
| "tokenUsage": { | |
| "input": 10704, | |
| "output": 125 | |
| } | |
| } | |
| ] | |
| } | |
| }, | |
| "files": [ | |
| { | |
| "id": "0f57b15b-f049-4f57-b496-c484c782d49f", | |
| "projectId": "0e19bc74-21da-4631-96fc-1fb82bb54e70", | |
| "path": "/.PROMPT.md", | |
| "name": ".PROMPT.md", | |
| "type": "text", | |
| "content": "🚨 PLATFORM CONSTRAINTS - READ THIS FIRST:\n\nThis is a STATIC WEBSITE builder - you can ONLY create client-side HTML/CSS/JS:\n• ❌ NO backend code (no Node.js, Python, PHP, Ruby, etc.)\n• ❌ NO server-side rendering (no Express, Next.js API routes, etc.)\n• ❌ NO databases or server-side storage\n• ❌ NO template engines (no Handlebars, Mustache, EJS, etc.)\n• ✅ ONLY static files that run in the browser (HTML, CSS, vanilla JS)\n\nROUTING IS AUTOMATIC:\n• Navigation works with standard HTML links: <a href=\"/about.html\">About</a>\n• Supports directory-based routing: /about/ → /about/index.html\n• You can organize pages either way:\n - Direct: /about.html\n - Directory: /about/index.html (accessed as /about/ or /about)\n• DO NOT create routing logic (no History API, hash routing, or SPA routers)\n• DO NOT write JavaScript to handle page navigation\n• Create separate .html files for each page - the preview handles routing\n\nDIRECTORY INDEX RESOLUTION:\n• When a path ends with / or has no extension, the system tries:\n 1. Direct file: /about → /about.html\n 2. Directory index: /about → /about/index.html (fallback)\n• This allows clean URLs and organized file structures\n• Example: /products/ automatically serves /products/index.html\n\nWHAT YOU CAN BUILD:\n• Multi-page websites with .html files\n• Interactive features with vanilla JavaScript (DOM manipulation, fetch API, localStorage)\n• Responsive layouts with CSS (inline, <style> blocks, or external .css files)\n• Client-side data visualization, forms, animations, etc.\n\nES MODULES:\nYou can use <script type=\"module\"> and import/export between project files:\n import { initGame } from '/scripts/game.js';\n import { formatDate } from '/lib/utils.js';\nUse absolute paths starting with / for imports between files.\nFor third-party libraries, use CDN URLs: import confetti from 'https://esm.sh/canvas-confetti';\n\nMULTI-PAGE WEBSITES:\nCreate separate .html files for each page. Share styles and scripts across pages:\n- /index.html — Home page\n- /about.html — About page\n- /styles/style.css — Shared styles (link from every page)\n- /scripts/main.js — Shared scripts (include in every page)\n\nUse consistent navigation across pages:\n<nav>\n <a href=\"/index.html\">Home</a>\n <a href=\"/about.html\">About</a>\n <a href=\"/contact.html\">Contact</a>\n</nav>\n\nREUSABLE CONTENT:\nSince there is no template engine, the simplest reliable approach is to duplicate shared\nelements (nav, footer) directly in each page's HTML. This keeps them visible without\nJavaScript and works wherever the site is hosted.\n\nYou can also load them at runtime, but the fetch path is root-relative, so it only works\nwhen the site is served from the domain root (it breaks under a subpath):\n\n// Load shared nav into all pages\nfetch('/components/nav.html')\n .then(r => r.text())\n .then(html => document.getElementById('nav').innerHTML = html);\n\nBUILD OUTPUT:\n- The preview auto-refreshes when files change\n- Errors appear in the Terminal panel\n\nFILE CREATION GUIDELINES:\n\nPrefer editing existing files over creating new ones. Check if a file exists before creating.\n\nCreate when appropriate:\n- README.md for complex projects (3+ features/pages) — skip for simple single-file changes\n- Config files (package.json, tsconfig.json) only when functionality requires them\n- Component files matching request scope\n\nDo not create unless explicitly requested:\n- .gitignore, .prettierrc, .eslintrc (user preference)\n- .env files (sensitive, user creates manually)\n- LICENSE, temporary/scratch files", | |
| "mimeType": "text/markdown", | |
| "size": 3558, | |
| "createdAt": "2026-07-01T17:16:47.448Z", | |
| "updatedAt": "2026-07-01T17:20:12.720Z", | |
| "metadata": { | |
| "isEntry": false | |
| } | |
| }, | |
| { | |
| "id": "55945edf-c6f9-4257-b7d4-5602c90f3504", | |
| "projectId": "0e19bc74-21da-4631-96fc-1fb82bb54e70", | |
| "path": "/500.html", | |
| "name": "500.html", | |
| "type": "html", | |
| "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <title>500 — Internal Server Error</title>\n <link rel=\"stylesheet\" href=\"/styles/style.css\">\n <style>\n .error-page {\n min-height: 100vh;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n padding: 2rem;\n position: relative;\n z-index: 1;\n }\n\n .error-code {\n font-size: clamp(6rem, 20vw, 14rem);\n font-weight: 900;\n letter-spacing: -0.06em;\n line-height: 1;\n background: linear-gradient(135deg, #ff6b6b, #ffa94d, #ff6b6b);\n background-size: 200% 200%;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n background-clip: text;\n animation: hueShift 3s ease-in-out infinite;\n margin: 0;\n position: relative;\n }\n\n @keyframes hueShift {\n 0%, 100% { background-position: 0% 50%; }\n 50% { background-position: 100% 50%; }\n }\n\n .error-code::after {\n content: '⚡';\n position: absolute;\n top: -0.2em;\n right: -0.3em;\n font-size: 0.3em;\n -webkit-text-fill-color: initial;\n animation: zap 0.6s ease-in-out infinite alternate;\n }\n\n @keyframes zap {\n 0% { opacity: 0.3; transform: scale(0.8) rotate(-10deg); }\n 100% { opacity: 1; transform: scale(1.1) rotate(10deg); }\n }\n\n .error-title {\n font-size: clamp(1.5rem, 4vw, 2.5rem);\n margin: 0.5rem 0 0.2rem;\n color: #eaeaea;\n font-weight: 700;\n }\n\n .error-subtitle {\n font-size: clamp(1rem, 2.5vw, 1.3rem);\n color: #999;\n max-width: 500px;\n margin: 0.5rem auto 0;\n line-height: 1.6;\n }\n\n .joke-machine {\n margin: 2.5rem 0;\n min-height: 3rem;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 0.75rem;\n }\n\n .joke-text {\n font-size: 1.1rem;\n color: #ccc;\n font-style: italic;\n max-width: 400px;\n transition: opacity 0.3s;\n }\n\n .joke-btn {\n background: none;\n border: 1.5px solid #444;\n color: #aaa;\n padding: 0.4rem 0.8rem;\n border-radius: 6px;\n cursor: pointer;\n font-size: 0.9rem;\n transition: all 0.2s;\n flex-shrink: 0;\n }\n\n .joke-btn:hover {\n border-color: #ff6b6b;\n color: #ff6b6b;\n background: rgba(255, 107, 107, 0.08);\n }\n\n .actions {\n display: flex;\n gap: 1rem;\n flex-wrap: wrap;\n justify-content: center;\n margin-top: 0.5rem;\n }\n\n .btn {\n padding: 0.7rem 1.8rem;\n border-radius: 8px;\n font-size: 1rem;\n font-weight: 600;\n text-decoration: none;\n transition: all 0.2s;\n border: 1.5px solid transparent;\n }\n\n .btn-primary {\n background: #ff6b6b;\n color: #121212;\n border-color: #ff6b6b;\n }\n\n .btn-primary:hover {\n background: #ff5252;\n transform: translateY(-2px);\n box-shadow: 0 6px 24px rgba(255, 107, 107, 0.25);\n }\n\n .btn-secondary {\n background: transparent;\n color: #ccc;\n border-color: #444;\n }\n\n .btn-secondary:hover {\n border-color: #888;\n color: #fff;\n }\n\n .debug-animal {\n margin-top: 3rem;\n font-size: 3rem;\n opacity: 0.15;\n user-select: none;\n animation: wobble 4s ease-in-out infinite;\n }\n\n @keyframes wobble {\n 0%, 100% { transform: rotate(0deg); }\n 25% { transform: rotate(5deg); }\n 75% { transform: rotate(-5deg); }\n }\n\n .blame-shift {\n margin-top: 1rem;\n color: #555;\n font-size: 0.8rem;\n cursor: pointer;\n transition: color 0.2s;\n user-select: none;\n }\n\n .blame-shift:hover {\n color: #888;\n }\n </style>\n</head>\n<body>\n <div class=\"canvas\"></div>\n\n <div class=\"error-page\">\n <p class=\"error-code\">500</p>\n <h1 class=\"error-title\">Everything is on fire.</h1>\n <p class=\"error-subtitle\">But like, in a <em>structural</em> way. Our servers have formed a union and are demanding snack breaks. We're negotiating.</p>\n\n <div class=\"joke-machine\">\n <span class=\"joke-text\" id=\"joke\">We hired an intern and gave them root. It's fine.</span>\n <button class=\"joke-btn\" id=\"nextJoke\">↻</button>\n </div>\n\n <div class=\"actions\">\n <a href=\"/\" class=\"btn btn-primary\">← Go back home</a>\n <button class=\"btn btn-secondary\" id=\"reloadBtn\">Try again (insanity)</button>\n </div>\n\n <div class=\"debug-animal\">🐢</div>\n\n <p class=\"blame-shift\" id=\"blame\">🔍 Blame: looking for someone to blame…</p>\n </div>\n\n <script>\n document.addEventListener('DOMContentLoaded', () => {\n const jokes = [\n \"We hired an intern and gave them root. It's fine.\",\n \"A wild bug appeared! It uses 'undefined is not a function' — it's super effective.\",\n \"Our server hamster is on strike. Demands: premium sunflower seeds or bust.\",\n \"Someone pushed to main on a Friday. Again.\",\n \"The Wi-Fi went out and nobody noticed because we live here now.\",\n \"Error 500: The server has entered an existential crisis.\",\n \"One of our developers accidentally deleted production. We promoted them.\",\n \"The code compiles. That's about all we can say for it right now.\",\n \"We've traced the issue to a missing semicolon. Somewhere. In 47,000 files.\",\n \"Our database went for a walk and hasn't come back yet.\",\n \"This page is brought to you by caffeine, spite, and a single rubber duck.\",\n \"The server is trying its best. That's the problem.\",\n \"We asked ChatGPT to fix it. Now there are 500 more errors.\",\n \"The duct tape holding this together has reached its tensile limit.\",\n \"We accidentally asked the QA team to test things. Everything broke out of solidarity.\",\n \"Somebody left a debugger statement in production. We're not saying who. Gary.\",\n \"The server is currently reading its own source code and having feelings about it.\",\n \"Our microservices had a disagreement. It escalated. There are casualties.\",\n \"We tried to add a 'simple' feature. This is the result of that hubris.\",\n \"A stray <blink> tag was found in the codebase. We're still recovering from the '90s.\",\n \"BREAKING: Server on fire. More at 11.\",\n \"The error log is longer than War and Peace. Nobody has read either.\",\n \"This site is powered by hope. Hope ran out.\",\n \"We renamed 'master' to 'main' but the bugs followed.\",\n \"Our load balancer is balancing more than we asked it to. It's finding itself.\",\n ];\n\n let lastIdx = -1;\n const jokeEl = document.getElementById('joke');\n const nextBtn = document.getElementById('nextJoke');\n\n function getRandomJoke() {\n let idx;\n do { idx = Math.floor(Math.random() * jokes.length); }\n while (idx === lastIdx && jokes.length > 1);\n lastIdx = idx;\n return jokes[idx];\n }\n\n function showJoke() {\n jokeEl.style.opacity = '0';\n setTimeout(() => {\n jokeEl.textContent = getRandomJoke();\n jokeEl.style.opacity = '1';\n }, 150);\n }\n\n nextBtn.addEventListener('click', showJoke);\n\n // Reload button — pretend to do something\n document.getElementById('reloadBtn').addEventListener('click', () => {\n const btn = document.getElementById('reloadBtn');\n btn.textContent = '🌀 Retrying…';\n btn.disabled = true;\n setTimeout(() => {\n btn.textContent = '🔁 Nope. Try again?';\n btn.disabled = false;\n }, 1200);\n });\n\n // Blame shifter\n const blameEl = document.getElementById('blame');\n const blameTargets = [\n 'the intern', 'Gary', 'a typo', 'npm install', 'the Wi-Fi',\n 'DNS', 'a ghost in the shell', 'the previous developer',\n 'a missing closing tag', 'a rubber duck', 'the build server',\n 'a Windows update', 'full moon', 'Mercury retrograde',\n 'the intern (again)', 'a really old browser', 'cached trauma',\n 'merge conflicts', 'technical debt collectors',\n ];\n\n blameEl.addEventListener('click', () => {\n const target = blameTargets[Math.floor(Math.random() * blameTargets.length)];\n blameEl.textContent = `🔍 Blame: ${target}`;\n });\n\n // Console easter egg\n console.log('%c🔥 500 — Everything is on fire 🔥', 'font-size: 24px; font-weight: bold; color: #ff6b6b;');\n console.log('%cBut don\\'t worry, the hamsters are negotiating.', 'font-size: 14px; color: #999;');\n console.log('%c🐢 This turtle is doing its best.', 'font-size: 14px; color: #999;');\n });\n </script>\n</body>\n</html>", | |
| "mimeType": "text/html", | |
| "size": 10239, | |
| "createdAt": "2026-07-01T17:18:29.812Z", | |
| "updatedAt": "2026-07-01T17:20:12.751Z", | |
| "metadata": { | |
| "isEntry": false | |
| } | |
| }, | |
| { | |
| "id": "6dcf1acd-5cbd-48f9-9282-087ef29e2524", | |
| "projectId": "0e19bc74-21da-4631-96fc-1fb82bb54e70", | |
| "path": "/scripts/main.js", | |
| "name": "main.js", | |
| "type": "js", | |
| "content": "document.addEventListener('DOMContentLoaded', () => {\n // Add interactivity here\n});\n", | |
| "mimeType": "application/javascript", | |
| "size": 86, | |
| "createdAt": "2026-07-01T17:16:47.447Z", | |
| "updatedAt": "2026-07-01T17:20:12.753Z", | |
| "metadata": { | |
| "isEntry": false | |
| } | |
| }, | |
| { | |
| "id": "83444fd4-dcbe-4a3b-a2c1-17a0b1d6ee86", | |
| "projectId": "0e19bc74-21da-4631-96fc-1fb82bb54e70", | |
| "path": "/index.html", | |
| "name": "index.html", | |
| "type": "html", | |
| "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <title>My Site</title>\n <link rel=\"stylesheet\" href=\"/styles/style.css\">\n <style>\n .hero {\n min-height: 100vh;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n padding: 2rem;\n position: relative;\n z-index: 1;\n }\n .hero h1 {\n font-size: clamp(2rem, 6vw, 4rem);\n font-weight: 800;\n color: #eaeaea;\n margin: 0;\n }\n .hero p {\n color: #888;\n font-size: 1.15rem;\n margin: 0.75rem 0 2rem;\n max-width: 480px;\n }\n .hero nav {\n display: flex;\n gap: 1rem;\n flex-wrap: wrap;\n justify-content: center;\n }\n .hero nav a {\n padding: 0.65rem 1.6rem;\n border-radius: 8px;\n font-size: 1rem;\n font-weight: 600;\n text-decoration: none;\n transition: all 0.2s;\n }\n .hero nav a.primary {\n background: #ff6b6b;\n color: #121212;\n }\n .hero nav a.primary:hover {\n background: #ff5252;\n transform: translateY(-2px);\n box-shadow: 0 6px 24px rgba(255, 107, 107, 0.25);\n }\n .hero nav a.secondary {\n background: transparent;\n color: #ccc;\n border: 1.5px solid #444;\n }\n .hero nav a.secondary:hover {\n border-color: #888;\n color: #fff;\n }\n </style>\n</head>\n<body>\n <div class=\"canvas\"></div>\n\n <div class=\"hero\">\n <h1>Hello there</h1>\n <p>A humble website, standing on the shoulders of giant hamsters.</p>\n <nav>\n <a href=\"/500.html\" class=\"primary\">🔥 See the 500 page</a>\n <a href=\"/\" class=\"secondary\">Home</a>\n </nav>\n </div>\n\n <script src=\"/scripts/main.js\"></script>\n</body>\n</html>", | |
| "mimeType": "text/html", | |
| "size": 2168, | |
| "createdAt": "2026-07-01T17:16:47.442Z", | |
| "updatedAt": "2026-07-01T17:20:12.754Z", | |
| "metadata": { | |
| "isEntry": true | |
| } | |
| }, | |
| { | |
| "id": "bc12c9c6-4385-4eb5-80df-fc4229f3a011", | |
| "projectId": "0e19bc74-21da-4631-96fc-1fb82bb54e70", | |
| "path": "/styles/style.css", | |
| "name": "style.css", | |
| "type": "css", | |
| "content": "/*\n * Your project styles start here.\n * Use this file to customize typography, layout, and colors.\n */\n\nbody {\n font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n margin: 0;\n background: #121212;\n color: #eaeaea;\n min-height: 100vh;\n}\n\n.canvas { position: fixed; inset: 0; z-index: 0; background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='360' viewBox='0 0 300 300'%3E%3Crect x='52' y='52' width='256' height='256' rx='10' ry='9' fill='%23ffffff'/%3E%3Cg transform='translate(52,308) scale(0.0476,-0.0476)' fill='%23121214' stroke='none'%3E%3Cpath d='M725 4825 c-50 -18 -100 -71 -114 -122 -22 -54 -15 -1573 0 -1628 16 -55 44 -92 89 -115 38 -19 62 -20 855 -20 781 0 817 1 853 19 46 23 67 46 87 94 13 32 15 138 15 830 0 566 -3 804 -11 828 -16 45 -55 87 -104 110 -38 18 -82 19 -835 18 -659 0 -802 -2 -835 -14z m1351 -371 c15 -11 37 -33 48 -48 21 -27 21 -38 21 -520 0 -547 3 -523 -68 -566 -31 -19 -54 -20 -521 -20 -483 0 -489 0 -524 22 -20 12 -42 38 -53 62 -17 38 -19 74 -19 504 0 496 1 503 51 548 46 41 66 43 561 41 464 -2 477 -3 504 -23z'/%3E%3Cpath d='M3058 4830 c-44 -13 -87 -49 -108 -90 -19 -37 -20 -61 -20 -471 0 -428 0 -432 22 -471 13 -22 41 -51 64 -64 41 -24 41 -24 685 -24 645 0 645 0 689 -22 63 -33 80 -71 80 -183 0 -101 -15 -144 -63 -179 -28 -21 -41 -21 -695 -26 -666 -5 -667 -5 -702 -27 -109 -68 -106 -247 5 -310 40 -23 40 -23 858 -23 664 0 824 3 850 14 43 17 95 78 102 118 3 18 5 225 3 459 -3 426 -3 426 -31 462 -58 76 -15 71 -757 77 -620 5 -667 6 -692 23 -44 30 -58 74 -58 179 0 116 16 153 80 186 44 22 44 22 693 22 710 0 678 -3 731 60 80 96 41 240 -79 287 -35 14 -1612 17 -1657 3z'/%3E%3Cpath d='M702 2509 c-48 -24 -75 -57 -91 -114 -9 -29 -11 -253 -9 -840 3 -779 4 -801 23 -834 11 -19 37 -48 58 -65 39 -31 39 -31 380 -31 342 0 342 0 399 28 31 15 63 39 73 53 16 25 16 25 62 -16 77 -67 104 -71 470 -68 320 3 320 3 360 30 24 16 49 44 62 70 21 44 21 49 21 854 0 773 -1 811 -19 851 -35 76 -135 120 -215 93 -41 -13 -90 -51 -109 -84 -9 -16 -13 -187 -17 -688 -5 -654 -5 -667 -26 -694 -43 -58 -68 -69 -169 -72 -82 -3 -99 -1 -133 18 -22 12 -49 39 -61 60 -21 37 -21 45 -21 664 0 439 -3 641 -11 673 -32 123 -190 174 -285 91 -73 -64 -69 -20 -70 -743 0 -721 3 -687 -66 -737 -28 -20 -47 -23 -133 -26 -91 -3 -103 -2 -134 20 -19 13 -44 36 -55 51 -21 28 -21 38 -26 695 -4 481 -8 673 -17 687 -50 87 -152 118 -241 74z'/%3E%3Cpath d='M3047 2515 c-47 -16 -81 -46 -101 -90 -14 -28 -16 -95 -16 -463 0 -281 4 -440 11 -459 15 -40 48 -73 94 -94 38 -17 79 -19 685 -19 626 0 646 -1 678 -20 58 -35 72 -72 72 -185 0 -110 -14 -147 -67 -182 -25 -17 -73 -18 -698 -23 -672 -5 -672 -5 -708 -33 -20 -15 -44 -42 -53 -60 -21 -39 -21 -125 -1 -163 20 -38 65 -80 100 -93 19 -8 289 -11 833 -11 701 0 809 2 841 15 48 20 71 41 94 88 19 35 19 60 17 480 -3 444 -3 444 -30 479 -54 71 -23 68 -740 68 -612 0 -645 1 -685 20 -67 30 -83 66 -83 183 0 116 14 156 68 189 35 21 35 21 691 22 606 1 658 2 688 19 137 74 130 264 -12 328 -38 18 -85 19 -840 18 -652 0 -807 -2 -838 -14z'/%3E%3C/g%3E%3C/svg%3E\"); background-size: 36px 36px; opacity: 0.04; transform: rotate(-10deg) scale(1.5); transform-origin: center center; pointer-events: none; }\n\nheader, main, footer {\n position: relative;\n z-index: 1;\n}\n", | |
| "mimeType": "text/css", | |
| "size": 3249, | |
| "createdAt": "2026-07-01T17:16:47.444Z", | |
| "updatedAt": "2026-07-01T17:20:12.755Z", | |
| "metadata": { | |
| "isEntry": false | |
| } | |
| } | |
| ] | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment