feat: update design from ref
@@ -1,5 +1,9 @@
|
|||||||
// @ts-check
|
// @ts-check
|
||||||
import { defineConfig } from 'astro/config';
|
import { defineConfig } from 'astro/config';
|
||||||
|
import tailwindcss from '@tailwindcss/vite';
|
||||||
|
|
||||||
// https://astro.build/config
|
export default defineConfig({
|
||||||
export default defineConfig({});
|
vite: {
|
||||||
|
plugins: [tailwindcss()],
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|||||||
@@ -8,7 +8,9 @@
|
|||||||
"name": "lopata",
|
"name": "lopata",
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"astro": "^6.4.6"
|
"@tailwindcss/vite": "^4.3.0",
|
||||||
|
"astro": "^6.4.6",
|
||||||
|
"tailwindcss": "^4.3.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=22.12.0"
|
"node": ">=22.12.0"
|
||||||
@@ -1067,12 +1069,51 @@
|
|||||||
"url": "https://opencollective.com/libvips"
|
"url": "https://opencollective.com/libvips"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@jridgewell/gen-mapping": {
|
||||||
|
"version": "0.3.13",
|
||||||
|
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
|
||||||
|
"integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@jridgewell/sourcemap-codec": "^1.5.0",
|
||||||
|
"@jridgewell/trace-mapping": "^0.3.24"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@jridgewell/remapping": {
|
||||||
|
"version": "2.3.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz",
|
||||||
|
"integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@jridgewell/gen-mapping": "^0.3.5",
|
||||||
|
"@jridgewell/trace-mapping": "^0.3.24"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@jridgewell/resolve-uri": {
|
||||||
|
"version": "3.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
|
||||||
|
"integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@jridgewell/sourcemap-codec": {
|
"node_modules/@jridgewell/sourcemap-codec": {
|
||||||
"version": "1.5.5",
|
"version": "1.5.5",
|
||||||
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
|
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
|
||||||
"integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
|
"integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/@jridgewell/trace-mapping": {
|
||||||
|
"version": "0.3.31",
|
||||||
|
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
|
||||||
|
"integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@jridgewell/resolve-uri": "^3.1.0",
|
||||||
|
"@jridgewell/sourcemap-codec": "^1.4.14"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@oslojs/encoding": {
|
"node_modules/@oslojs/encoding": {
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-1.1.0.tgz",
|
||||||
@@ -1526,6 +1567,263 @@
|
|||||||
"integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==",
|
"integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/@tailwindcss/node": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.3.0.tgz",
|
||||||
|
"integrity": "sha512-aFb4gUhFOgdh9AXo4IzBEOzBkkAxm9VigwDJnMIYv3lcfXCJVesNfbEaBl4BNgVRyid92AmdviqwBUBRKSeY3g==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@jridgewell/remapping": "^2.3.5",
|
||||||
|
"enhanced-resolve": "^5.21.0",
|
||||||
|
"jiti": "^2.6.1",
|
||||||
|
"lightningcss": "1.32.0",
|
||||||
|
"magic-string": "^0.30.21",
|
||||||
|
"source-map-js": "^1.2.1",
|
||||||
|
"tailwindcss": "4.3.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@tailwindcss/oxide": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.3.0.tgz",
|
||||||
|
"integrity": "sha512-F7HZGBeN9I0/AuuJS5PwcD8xayx5ri5GhjYUDBEVYUkexyA/giwbDNjRVrxSezE3T250OU2K/wp/ltWx3UOefg==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 20"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@tailwindcss/oxide-android-arm64": "4.3.0",
|
||||||
|
"@tailwindcss/oxide-darwin-arm64": "4.3.0",
|
||||||
|
"@tailwindcss/oxide-darwin-x64": "4.3.0",
|
||||||
|
"@tailwindcss/oxide-freebsd-x64": "4.3.0",
|
||||||
|
"@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.0",
|
||||||
|
"@tailwindcss/oxide-linux-arm64-gnu": "4.3.0",
|
||||||
|
"@tailwindcss/oxide-linux-arm64-musl": "4.3.0",
|
||||||
|
"@tailwindcss/oxide-linux-x64-gnu": "4.3.0",
|
||||||
|
"@tailwindcss/oxide-linux-x64-musl": "4.3.0",
|
||||||
|
"@tailwindcss/oxide-wasm32-wasi": "4.3.0",
|
||||||
|
"@tailwindcss/oxide-win32-arm64-msvc": "4.3.0",
|
||||||
|
"@tailwindcss/oxide-win32-x64-msvc": "4.3.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@tailwindcss/oxide-android-arm64": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.3.0.tgz",
|
||||||
|
"integrity": "sha512-TJPiq67tKlLuObP6RkwvVGDoxCMBVtDgKkLfa/uyj7/FyxvQwHS+UOnVrXXgbEsfUaMgiVvC4KbJnRr26ho4Ng==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"android"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 20"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@tailwindcss/oxide-darwin-arm64": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.3.0.tgz",
|
||||||
|
"integrity": "sha512-oMN/WZRb+SO37BmUElEgeEWuU8E/HXRkiODxJxLe1UTHVXLrdVSgfaJV7pSlhRGMSOiXLuxTIjfsF3wYvz8cgQ==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"darwin"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 20"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@tailwindcss/oxide-darwin-x64": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.3.0.tgz",
|
||||||
|
"integrity": "sha512-N6CUmu4a6bKVADfw77p+iw6Yd9Q3OBhe0veaDX+QazfuVYlQsHfDgxBrsjQ/IW+zywL8mTrNd0SdJT/zgtvMdA==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"darwin"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 20"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@tailwindcss/oxide-freebsd-x64": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.3.0.tgz",
|
||||||
|
"integrity": "sha512-zDL5hBkQdH5C6MpqbK3gQAgP80tsMwSI26vjOzjJtNCMUo0lFgOItzHKBIupOZNQxt3ouPH7RPhvNhiTfCe5CQ==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"freebsd"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 20"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.3.0.tgz",
|
||||||
|
"integrity": "sha512-R06HdNi7A7OEoMsf6d4tjZ71RCWnZQPHj2mnotSFURjNLdBC+cIgXQ7l81CqeoiQftjf6OOblxXMInMgN2VzMA==",
|
||||||
|
"cpu": [
|
||||||
|
"arm"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 20"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@tailwindcss/oxide-linux-arm64-gnu": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.3.0.tgz",
|
||||||
|
"integrity": "sha512-qTJHELX8jetjhRQHCLilkVLmybpzNQAtaI/gaoVoidn/ufbNDbAo8KlK2J+yPoc8wQxvDxCmh/5lr8nC1+lTbg==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 20"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@tailwindcss/oxide-linux-arm64-musl": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.3.0.tgz",
|
||||||
|
"integrity": "sha512-Z6sukiQsngnWO+l39X4pPbiWT81IC+PLKF+PHxIlyZbGNb9MODfYlXEVlFvej5BOZInWX01kVyzeLvHsXhfczQ==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 20"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@tailwindcss/oxide-linux-x64-gnu": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.3.0.tgz",
|
||||||
|
"integrity": "sha512-DRNdQRpSGzRGfARVuVkxvM8Q12nh19l4BF/G7zGA1oe+9wcC6saFBHTISrpIcKzhiXtSrlSrluCfvMuledoCTQ==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 20"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@tailwindcss/oxide-linux-x64-musl": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.3.0.tgz",
|
||||||
|
"integrity": "sha512-Z0IADbDo8bh6I7h2IQMx601AdXBLfFpEdUotft86evd/8ZPflZe9COPO8Q1vw+pfLWIUo9zN/JGZvwuAJqduqg==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 20"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@tailwindcss/oxide-wasm32-wasi": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.3.0.tgz",
|
||||||
|
"integrity": "sha512-HNZGOUxEmElksYR7S6sC5jTeNGpobAsy9u7Gu0AskJ8/20FR9GqebUyB+HBcU/ax6BHuiuJi+Oda4B+YX6H1yA==",
|
||||||
|
"bundleDependencies": [
|
||||||
|
"@napi-rs/wasm-runtime",
|
||||||
|
"@emnapi/core",
|
||||||
|
"@emnapi/runtime",
|
||||||
|
"@tybys/wasm-util",
|
||||||
|
"@emnapi/wasi-threads",
|
||||||
|
"tslib"
|
||||||
|
],
|
||||||
|
"cpu": [
|
||||||
|
"wasm32"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@emnapi/core": "^1.10.0",
|
||||||
|
"@emnapi/runtime": "^1.10.0",
|
||||||
|
"@emnapi/wasi-threads": "^1.2.1",
|
||||||
|
"@napi-rs/wasm-runtime": "^1.1.4",
|
||||||
|
"@tybys/wasm-util": "^0.10.1",
|
||||||
|
"tslib": "^2.8.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=14.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@tailwindcss/oxide-win32-arm64-msvc": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.3.0.tgz",
|
||||||
|
"integrity": "sha512-Pe+RPVTi1T+qymuuRpcdvwSVZjnll/f7n8gBxMMh3xLTctMDKqpdfGimbMyioqtLhUYZxdJ9wGNhV7MKHvgZsQ==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"win32"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 20"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@tailwindcss/oxide-win32-x64-msvc": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.3.0.tgz",
|
||||||
|
"integrity": "sha512-Mvrf2kXW/yeW/OTezZlCGOirXRcUuLIBx/5Y12BaPM7wJoryG6dfS/NJL8aBPqtTEx/Vm4T4vKzFUcKDT+TKUA==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"win32"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 20"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@tailwindcss/vite": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.3.0.tgz",
|
||||||
|
"integrity": "sha512-t6J3OrB5Fc0ExuhohouH0fWUGMYL6PTLhW+E7zIk/pdbnJARZDCwjBznFnkh5ynRnIRSI4YjtTH0t6USjJISrw==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@tailwindcss/node": "4.3.0",
|
||||||
|
"@tailwindcss/oxide": "4.3.0",
|
||||||
|
"tailwindcss": "4.3.0"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"vite": "^5.2.0 || ^6 || ^7 || ^8"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@types/debug": {
|
"node_modules/@types/debug": {
|
||||||
"version": "4.1.13",
|
"version": "4.1.13",
|
||||||
"resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz",
|
"resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz",
|
||||||
@@ -2004,7 +2302,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
|
||||||
"integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
|
"integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"optional": true,
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
@@ -2113,6 +2410,19 @@
|
|||||||
"node": ">=4"
|
"node": ">=4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/enhanced-resolve": {
|
||||||
|
"version": "5.23.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.23.0.tgz",
|
||||||
|
"integrity": "sha512-yJN/BOOLxcOW2aQgeif9mSnaUB8KtvmMMp56oA1kx1CRfBKbhZm2pJ+NBY+3eOboHxix8lfjWpHE0Ei5U8RbSA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"graceful-fs": "^4.2.4",
|
||||||
|
"tapable": "^2.3.3"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10.13.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/entities": {
|
"node_modules/entities": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz",
|
||||||
@@ -2308,6 +2618,12 @@
|
|||||||
"integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==",
|
"integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==",
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
|
"node_modules/graceful-fs": {
|
||||||
|
"version": "4.2.11",
|
||||||
|
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
|
||||||
|
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
|
||||||
|
"license": "ISC"
|
||||||
|
},
|
||||||
"node_modules/h3": {
|
"node_modules/h3": {
|
||||||
"version": "1.15.11",
|
"version": "1.15.11",
|
||||||
"resolved": "https://registry.npmjs.org/h3/-/h3-1.15.11.tgz",
|
"resolved": "https://registry.npmjs.org/h3/-/h3-1.15.11.tgz",
|
||||||
@@ -2608,6 +2924,16 @@
|
|||||||
"url": "https://github.com/sponsors/sindresorhus"
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/jiti": {
|
||||||
|
"version": "2.7.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz",
|
||||||
|
"integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
|
"bin": {
|
||||||
|
"jiti": "lib/jiti-cli.mjs"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/js-yaml": {
|
"node_modules/js-yaml": {
|
||||||
"version": "4.2.0",
|
"version": "4.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz",
|
||||||
@@ -2636,6 +2962,256 @@
|
|||||||
"integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==",
|
"integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/lightningcss": {
|
||||||
|
"version": "1.32.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz",
|
||||||
|
"integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==",
|
||||||
|
"license": "MPL-2.0",
|
||||||
|
"peer": true,
|
||||||
|
"dependencies": {
|
||||||
|
"detect-libc": "^2.0.3"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 12.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/parcel"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"lightningcss-android-arm64": "1.32.0",
|
||||||
|
"lightningcss-darwin-arm64": "1.32.0",
|
||||||
|
"lightningcss-darwin-x64": "1.32.0",
|
||||||
|
"lightningcss-freebsd-x64": "1.32.0",
|
||||||
|
"lightningcss-linux-arm-gnueabihf": "1.32.0",
|
||||||
|
"lightningcss-linux-arm64-gnu": "1.32.0",
|
||||||
|
"lightningcss-linux-arm64-musl": "1.32.0",
|
||||||
|
"lightningcss-linux-x64-gnu": "1.32.0",
|
||||||
|
"lightningcss-linux-x64-musl": "1.32.0",
|
||||||
|
"lightningcss-win32-arm64-msvc": "1.32.0",
|
||||||
|
"lightningcss-win32-x64-msvc": "1.32.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/lightningcss-android-arm64": {
|
||||||
|
"version": "1.32.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz",
|
||||||
|
"integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"license": "MPL-2.0",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"android"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 12.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/parcel"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/lightningcss-darwin-arm64": {
|
||||||
|
"version": "1.32.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz",
|
||||||
|
"integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"license": "MPL-2.0",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"darwin"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 12.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/parcel"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/lightningcss-darwin-x64": {
|
||||||
|
"version": "1.32.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz",
|
||||||
|
"integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"license": "MPL-2.0",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"darwin"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 12.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/parcel"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/lightningcss-freebsd-x64": {
|
||||||
|
"version": "1.32.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz",
|
||||||
|
"integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"license": "MPL-2.0",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"freebsd"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 12.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/parcel"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/lightningcss-linux-arm-gnueabihf": {
|
||||||
|
"version": "1.32.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz",
|
||||||
|
"integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==",
|
||||||
|
"cpu": [
|
||||||
|
"arm"
|
||||||
|
],
|
||||||
|
"license": "MPL-2.0",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 12.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/parcel"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/lightningcss-linux-arm64-gnu": {
|
||||||
|
"version": "1.32.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz",
|
||||||
|
"integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"license": "MPL-2.0",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 12.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/parcel"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/lightningcss-linux-arm64-musl": {
|
||||||
|
"version": "1.32.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz",
|
||||||
|
"integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"license": "MPL-2.0",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 12.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/parcel"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/lightningcss-linux-x64-gnu": {
|
||||||
|
"version": "1.32.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz",
|
||||||
|
"integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"license": "MPL-2.0",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 12.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/parcel"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/lightningcss-linux-x64-musl": {
|
||||||
|
"version": "1.32.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz",
|
||||||
|
"integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"license": "MPL-2.0",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 12.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/parcel"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/lightningcss-win32-arm64-msvc": {
|
||||||
|
"version": "1.32.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz",
|
||||||
|
"integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"license": "MPL-2.0",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"win32"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 12.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/parcel"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/lightningcss-win32-x64-msvc": {
|
||||||
|
"version": "1.32.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz",
|
||||||
|
"integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"license": "MPL-2.0",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"win32"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 12.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/parcel"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/longest-streak": {
|
"node_modules/longest-streak": {
|
||||||
"version": "3.1.0",
|
"version": "3.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz",
|
||||||
@@ -4225,6 +4801,25 @@
|
|||||||
"url": "https://opencollective.com/svgo"
|
"url": "https://opencollective.com/svgo"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/tailwindcss": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.0.tgz",
|
||||||
|
"integrity": "sha512-y6nxMGB1nMW9R6k96e5gdIFzcfL/gTJRNaqGes1YvkLnPVXzWgbqFF2yLC0T8G774n24cx3Pe8XrKoniCOAH+Q==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
|
"node_modules/tapable": {
|
||||||
|
"version": "2.3.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz",
|
||||||
|
"integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/webpack"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/tiny-inflate": {
|
"node_modules/tiny-inflate": {
|
||||||
"version": "1.0.3",
|
"version": "1.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz",
|
||||||
|
|||||||
@@ -12,6 +12,8 @@
|
|||||||
"astro": "astro"
|
"astro": "astro"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"astro": "^6.4.6"
|
"@tailwindcss/vite": "^4.3.0",
|
||||||
|
"astro": "^6.4.6",
|
||||||
|
"tailwindcss": "^4.3.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
|
After Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 2.1 MiB |
|
After Width: | Height: | Size: 2.5 MiB |
|
After Width: | Height: | Size: 2.0 MiB |
|
After Width: | Height: | Size: 585 B |
|
After Width: | Height: | Size: 566 B |
@@ -0,0 +1,26 @@
|
|||||||
|
<svg width="180" height="180" viewBox="0 0 180 180" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<style>
|
||||||
|
@media (prefers-color-scheme: light) {
|
||||||
|
.background { fill: black; }
|
||||||
|
.foreground { fill: white; }
|
||||||
|
}
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
.background { fill: white; }
|
||||||
|
.foreground { fill: black; }
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<g clip-path="url(#clip0_7960_43945)">
|
||||||
|
<rect class="background" width="180" height="180" rx="37" />
|
||||||
|
<g style="transform: scale(95%); transform-origin: center">
|
||||||
|
<path class="foreground"
|
||||||
|
d="M101.141 53H136.632C151.023 53 162.689 64.6662 162.689 79.0573V112.904H148.112V79.0573C148.112 78.7105 148.098 78.3662 148.072 78.0251L112.581 112.898C112.701 112.902 112.821 112.904 112.941 112.904H148.112V126.672H112.941C98.5504 126.672 86.5638 114.891 86.5638 100.5V66.7434H101.141V100.5C101.141 101.15 101.191 101.792 101.289 102.422L137.56 66.7816C137.255 66.7563 136.945 66.7434 136.632 66.7434H101.141V53Z" />
|
||||||
|
<path class="foreground"
|
||||||
|
d="M65.2926 124.136L14 66.7372H34.6355L64.7495 100.436V66.7372H80.1365V118.47C80.1365 126.278 70.4953 129.958 65.2926 124.136Z" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_7960_43945">
|
||||||
|
<rect width="180" height="180" fill="white" />
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 568 B |
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="215" height="48" fill="none"><path fill="#000" d="M57.588 9.6h6L73.828 38h-5.2l-2.36-6.88h-11.36L52.548 38h-5.2l10.24-28.4Zm7.16 17.16-4.16-12.16-4.16 12.16h8.32Zm23.694-2.24c-.186-1.307-.706-2.32-1.56-3.04-.853-.72-1.866-1.08-3.04-1.08-1.68 0-2.986.613-3.92 1.84-.906 1.227-1.36 2.947-1.36 5.16s.454 3.933 1.36 5.16c.934 1.227 2.24 1.84 3.92 1.84 1.254 0 2.307-.373 3.16-1.12.854-.773 1.387-1.867 1.6-3.28l5.12.24c-.186 1.68-.733 3.147-1.64 4.4-.906 1.227-2.08 2.173-3.52 2.84-1.413.667-2.986 1-4.72 1-2.08 0-3.906-.453-5.48-1.36-1.546-.907-2.76-2.2-3.64-3.88-.853-1.68-1.28-3.627-1.28-5.84 0-2.24.427-4.187 1.28-5.84.88-1.68 2.094-2.973 3.64-3.88 1.574-.907 3.4-1.36 5.48-1.36 1.68 0 3.227.32 4.64.96 1.414.64 2.56 1.56 3.44 2.76.907 1.2 1.454 2.6 1.64 4.2l-5.12.28Zm11.486-7.72.12 3.4c.534-1.227 1.307-2.173 2.32-2.84 1.04-.693 2.267-1.04 3.68-1.04 1.494 0 2.76.387 3.8 1.16 1.067.747 1.827 1.813 2.28 3.2.507-1.44 1.294-2.52 2.36-3.24 1.094-.747 2.414-1.12 3.96-1.12 1.414 0 2.64.307 3.68.92s1.84 1.52 2.4 2.72c.56 1.2.84 2.667.84 4.4V38h-4.96V25.92c0-1.813-.293-3.187-.88-4.12-.56-.96-1.413-1.44-2.56-1.44-.906 0-1.68.213-2.32.64-.64.427-1.133 1.053-1.48 1.88-.32.827-.48 1.84-.48 3.04V38h-4.56V25.92c0-1.2-.133-2.213-.4-3.04-.24-.827-.626-1.453-1.16-1.88-.506-.427-1.133-.64-1.88-.64-.906 0-1.68.227-2.32.68-.64.427-1.133 1.053-1.48 1.88-.32.827-.48 1.827-.48 3V38h-4.96V16.8h4.48Zm26.723 10.6c0-2.24.427-4.187 1.28-5.84.854-1.68 2.067-2.973 3.64-3.88 1.574-.907 3.4-1.36 5.48-1.36 1.84 0 3.494.413 4.96 1.24 1.467.827 2.64 2.08 3.52 3.76.88 1.653 1.347 3.693 1.4 6.12v1.32h-15.08c.107 1.813.614 3.227 1.52 4.24.907.987 2.134 1.48 3.68 1.48.987 0 1.88-.253 2.68-.76a4.803 4.803 0 0 0 1.84-2.2l5.08.36c-.64 2.027-1.84 3.64-3.6 4.84-1.733 1.173-3.733 1.76-6 1.76-2.08 0-3.906-.453-5.48-1.36-1.573-.907-2.786-2.2-3.64-3.88-.853-1.68-1.28-3.627-1.28-5.84Zm15.16-2.04c-.213-1.733-.76-3.013-1.64-3.84-.853-.827-1.893-1.24-3.12-1.24-1.44 0-2.6.453-3.48 1.36-.88.88-1.44 2.12-1.68 3.72h9.92ZM163.139 9.6V38h-5.04V9.6h5.04Zm8.322 7.2.24 5.88-.64-.36c.32-2.053 1.094-3.56 2.32-4.52 1.254-.987 2.787-1.48 4.6-1.48 2.32 0 4.107.733 5.36 2.2 1.254 1.44 1.88 3.387 1.88 5.84V38h-4.96V25.92c0-1.253-.12-2.28-.36-3.08-.24-.8-.64-1.413-1.2-1.84-.533-.427-1.253-.64-2.16-.64-1.44 0-2.573.48-3.4 1.44-.8.933-1.2 2.307-1.2 4.12V38h-4.96V16.8h4.48Zm30.003 7.72c-.186-1.307-.706-2.32-1.56-3.04-.853-.72-1.866-1.08-3.04-1.08-1.68 0-2.986.613-3.92 1.84-.906 1.227-1.36 2.947-1.36 5.16s.454 3.933 1.36 5.16c.934 1.227 2.24 1.84 3.92 1.84 1.254 0 2.307-.373 3.16-1.12.854-.773 1.387-1.867 1.6-3.28l5.12.24c-.186 1.68-.733 3.147-1.64 4.4-.906 1.227-2.08 2.173-3.52 2.84-1.413.667-2.986 1-4.72 1-2.08 0-3.906-.453-5.48-1.36-1.546-.907-2.76-2.2-3.64-3.88-.853-1.68-1.28-3.627-1.28-5.84 0-2.24.427-4.187 1.28-5.84.88-1.68 2.094-2.973 3.64-3.88 1.574-.907 3.4-1.36 5.48-1.36 1.68 0 3.227.32 4.64.96 1.414.64 2.56 1.56 3.44 2.76.907 1.2 1.454 2.6 1.64 4.2l-5.12.28Zm11.443 8.16V38h-5.6v-5.32h5.6Z"/><path fill="#171717" fill-rule="evenodd" d="m7.839 40.783 16.03-28.054L20 6 0 40.783h7.839Zm8.214 0H40L27.99 19.894l-4.02 7.032 3.976 6.914H20.02l-3.967 6.943Z" clip-rule="evenodd"/></svg>
|
||||||
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.0 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="1200" fill="none"><rect width="1200" height="1200" fill="#EAEAEA" rx="3"/><g opacity=".5"><g opacity=".5"><path fill="#FAFAFA" d="M600.709 736.5c-75.454 0-136.621-61.167-136.621-136.62 0-75.454 61.167-136.621 136.621-136.621 75.453 0 136.62 61.167 136.62 136.621 0 75.453-61.167 136.62-136.62 136.62Z"/><path stroke="#C9C9C9" stroke-width="2.418" d="M600.709 736.5c-75.454 0-136.621-61.167-136.621-136.62 0-75.454 61.167-136.621 136.621-136.621 75.453 0 136.62 61.167 136.62 136.621 0 75.453-61.167 136.62-136.62 136.62Z"/></g><path stroke="url(#a)" stroke-width="2.418" d="M0-1.209h553.581" transform="scale(1 -1) rotate(45 1163.11 91.165)"/><path stroke="url(#b)" stroke-width="2.418" d="M404.846 598.671h391.726"/><path stroke="url(#c)" stroke-width="2.418" d="M599.5 795.742V404.017"/><path stroke="url(#d)" stroke-width="2.418" d="m795.717 796.597-391.441-391.44"/><path fill="#fff" d="M600.709 656.704c-31.384 0-56.825-25.441-56.825-56.824 0-31.384 25.441-56.825 56.825-56.825 31.383 0 56.824 25.441 56.824 56.825 0 31.383-25.441 56.824-56.824 56.824Z"/><g clip-path="url(#e)"><path fill="#666" fill-rule="evenodd" d="M616.426 586.58h-31.434v16.176l3.553-3.554.531-.531h9.068l.074-.074 8.463-8.463h2.565l7.18 7.181V586.58Zm-15.715 14.654 3.698 3.699 1.283 1.282-2.565 2.565-1.282-1.283-5.2-5.199h-6.066l-5.514 5.514-.073.073v2.876a2.418 2.418 0 0 0 2.418 2.418h26.598a2.418 2.418 0 0 0 2.418-2.418v-8.317l-8.463-8.463-7.181 7.181-.071.072Zm-19.347 5.442v4.085a6.045 6.045 0 0 0 6.046 6.045h26.598a6.044 6.044 0 0 0 6.045-6.045v-7.108l1.356-1.355-1.282-1.283-.074-.073v-17.989h-38.689v23.43l-.146.146.146.147Z" clip-rule="evenodd"/></g><path stroke="#C9C9C9" stroke-width="2.418" d="M600.709 656.704c-31.384 0-56.825-25.441-56.825-56.824 0-31.384 25.441-56.825 56.825-56.825 31.383 0 56.824 25.441 56.824 56.825 0 31.383-25.441 56.824-56.824 56.824Z"/></g><defs><linearGradient id="a" x1="554.061" x2="-.48" y1=".083" y2=".087" gradientUnits="userSpaceOnUse"><stop stop-color="#C9C9C9" stop-opacity="0"/><stop offset=".208" stop-color="#C9C9C9"/><stop offset=".792" stop-color="#C9C9C9"/><stop offset="1" stop-color="#C9C9C9" stop-opacity="0"/></linearGradient><linearGradient id="b" x1="796.912" x2="404.507" y1="599.963" y2="599.965" gradientUnits="userSpaceOnUse"><stop stop-color="#C9C9C9" stop-opacity="0"/><stop offset=".208" stop-color="#C9C9C9"/><stop offset=".792" stop-color="#C9C9C9"/><stop offset="1" stop-color="#C9C9C9" stop-opacity="0"/></linearGradient><linearGradient id="c" x1="600.792" x2="600.794" y1="403.677" y2="796.082" gradientUnits="userSpaceOnUse"><stop stop-color="#C9C9C9" stop-opacity="0"/><stop offset=".208" stop-color="#C9C9C9"/><stop offset=".792" stop-color="#C9C9C9"/><stop offset="1" stop-color="#C9C9C9" stop-opacity="0"/></linearGradient><linearGradient id="d" x1="404.85" x2="796.972" y1="403.903" y2="796.02" gradientUnits="userSpaceOnUse"><stop stop-color="#C9C9C9" stop-opacity="0"/><stop offset=".208" stop-color="#C9C9C9"/><stop offset=".792" stop-color="#C9C9C9"/><stop offset="1" stop-color="#C9C9C9" stop-opacity="0"/></linearGradient><clipPath id="e"><path fill="#fff" d="M581.364 580.535h38.689v38.689h-38.689z"/></clipPath></defs></svg>
|
||||||
|
After Width: | Height: | Size: 3.2 KiB |
@@ -0,0 +1,57 @@
|
|||||||
|
---
|
||||||
|
import type { Dossier } from '../lib/dossiers'
|
||||||
|
import Stamp from './Stamp.astro'
|
||||||
|
|
||||||
|
interface Props {
|
||||||
|
d: Dossier
|
||||||
|
rotate?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
const { d, rotate } = Astro.props as Props
|
||||||
|
|
||||||
|
const classColor: Record<string, string> = {
|
||||||
|
'СОВ. СЕКРЕТНО': 'text-primary',
|
||||||
|
'СЕКРЕТНО': 'stamp-ink',
|
||||||
|
'ДСП': 'stamp-ink',
|
||||||
|
'РАССЕКРЕЧЕНО': 'stamp-ink opacity-60',
|
||||||
|
}
|
||||||
|
---
|
||||||
|
|
||||||
|
<a
|
||||||
|
href={`/dossier/${d.slug}`}
|
||||||
|
style={{ rotate }}
|
||||||
|
class="paper group relative flex flex-col gap-3 p-5 transition-all duration-200 hover:-translate-y-1 hover:rotate-0 hover:shadow-[0_26px_50px_-22px_rgba(40,25,15,0.7)]"
|
||||||
|
>
|
||||||
|
<span class="tape -top-3 left-1/2 -translate-x-1/2 -rotate-2" aria-hidden="true" />
|
||||||
|
|
||||||
|
<div class="flex items-start justify-between gap-2">
|
||||||
|
<div>
|
||||||
|
<p class="font-mono text-[0.65rem] uppercase tracking-widest text-muted-foreground">
|
||||||
|
Дело № {d.code}
|
||||||
|
</p>
|
||||||
|
<p class="mt-0.5 font-heading text-[0.7rem] uppercase tracking-wider text-primary">
|
||||||
|
{d.category}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<Stamp class={`px-1.5 py-0.5 text-[0.55rem] ${classColor[d.classification] ?? ''}`}>
|
||||||
|
{d.classification}
|
||||||
|
</Stamp>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3 class="font-heading text-xl font-700 uppercase leading-none tracking-tight transition-colors group-hover:text-primary">
|
||||||
|
{d.name}
|
||||||
|
</h3>
|
||||||
|
<p class="text-xs italic leading-snug text-muted-foreground">
|
||||||
|
{d.fullName}
|
||||||
|
</p>
|
||||||
|
<p class="text-sm leading-relaxed text-foreground/90">{d.summary}</p>
|
||||||
|
|
||||||
|
<div class="mt-auto flex items-center justify-between border-t border-dashed border-border pt-3">
|
||||||
|
<span class="font-mono text-[0.65rem] uppercase tracking-wider text-muted-foreground">
|
||||||
|
Угроза: <span class="text-foreground">{d.threat}</span>
|
||||||
|
</span>
|
||||||
|
<span class="font-heading text-[0.7rem] font-600 uppercase tracking-wider text-primary opacity-0 transition-opacity group-hover:opacity-100">
|
||||||
|
Открыть дело →
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
---
|
||||||
|
interface Props {
|
||||||
|
label?: string
|
||||||
|
value?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
const { label, value } = Astro.props as Props
|
||||||
|
---
|
||||||
|
|
||||||
|
<div class="grid grid-cols-1 gap-1 border-b border-dashed border-border py-3 sm:grid-cols-[200px_1fr] sm:gap-4">
|
||||||
|
<dt class="font-heading text-xs font-600 uppercase tracking-wider text-muted-foreground">
|
||||||
|
{label}
|
||||||
|
</dt>
|
||||||
|
<dd class="text-sm leading-relaxed text-foreground" set:html={value}></dd>
|
||||||
|
</div>
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
---
|
||||||
|
interface Props {
|
||||||
|
children?: any
|
||||||
|
class?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
const { children, class: className } = Astro.props as Props
|
||||||
|
---
|
||||||
|
|
||||||
|
<span
|
||||||
|
aria-hidden="true"
|
||||||
|
class:list={[
|
||||||
|
'stamp-overlay pointer-events-none select-none px-4 py-2 font-heading text-2xl sm:text-4xl',
|
||||||
|
className,
|
||||||
|
]}
|
||||||
|
>
|
||||||
|
{children}
|
||||||
|
</span>
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
---
|
||||||
|
interface Props {
|
||||||
|
class?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
const { class: className } = Astro.props as Props
|
||||||
|
---
|
||||||
|
|
||||||
|
<div
|
||||||
|
aria-hidden="true"
|
||||||
|
class:list={[
|
||||||
|
'flex h-4 w-full items-center justify-between overflow-hidden px-2 opacity-60',
|
||||||
|
className,
|
||||||
|
]}
|
||||||
|
>
|
||||||
|
{
|
||||||
|
Array.from({ length: 60 }).map(() => (
|
||||||
|
<span class="h-1.5 w-1.5 shrink-0 rounded-full bg-background shadow-[inset_0_1px_2px_rgba(0,0,0,0.35)]" />
|
||||||
|
))
|
||||||
|
}
|
||||||
|
</div>
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
---
|
||||||
|
interface Props {
|
||||||
|
children?: any
|
||||||
|
}
|
||||||
|
|
||||||
|
const { children } = Astro.props as Props
|
||||||
|
---
|
||||||
|
|
||||||
|
<span class="redacted px-1">{children}</span>
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
interface Props {
|
||||||
|
children?: any
|
||||||
|
index: string
|
||||||
|
}
|
||||||
|
|
||||||
|
const { children, index } = Astro.props as Props
|
||||||
|
---
|
||||||
|
|
||||||
|
<h2 class="mb-4 flex items-baseline gap-3 font-heading text-lg font-700 uppercase tracking-wide">
|
||||||
|
<span class="flex h-7 min-w-7 items-center justify-center bg-primary px-1.5 text-sm text-primary-foreground">
|
||||||
|
{index}
|
||||||
|
</span>
|
||||||
|
<span class="flex-1 border-b border-foreground/30 pb-1">
|
||||||
|
{children}
|
||||||
|
</span>
|
||||||
|
</h2>
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
<footer class="mt-16 border-t border-foreground/25 bg-card/60">
|
||||||
|
<div class="mx-auto max-w-5xl px-4 py-8 sm:px-6">
|
||||||
|
<div class="flex flex-col justify-between gap-4 text-[0.7rem] uppercase tracking-wider text-muted-foreground sm:flex-row">
|
||||||
|
<p>
|
||||||
|
© <span class="text-foreground">Дачно-Наблюдательный Трибунал №7</span>
|
||||||
|
· Кооператив «Заря-9»
|
||||||
|
</p>
|
||||||
|
<p>Форма А-13 · Хранить вечно · Не выносить за периметр</p>
|
||||||
|
</div>
|
||||||
|
<p class="mt-4 max-w-2xl text-[0.7rem] leading-relaxed text-muted-foreground">
|
||||||
|
Все материалы являются художественным вымыслом. Любое совпадение с
|
||||||
|
реальными грядками, соседями и небесными телами случайно. Разглашение
|
||||||
|
преследуется лишением компоста.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
<header class="sticky top-0 z-30 border-b border-foreground/25 bg-card/85 backdrop-blur-sm shadow-[0_2px_12px_-8px_rgba(40,25,15,0.6)]">
|
||||||
|
<div class="mx-auto flex max-w-5xl flex-col gap-4 px-4 py-4 sm:flex-row sm:items-center sm:justify-between sm:px-6">
|
||||||
|
<a href="/" class="flex items-center gap-3">
|
||||||
|
<img
|
||||||
|
src="/emblem.png"
|
||||||
|
alt="Эмблема Трибунала"
|
||||||
|
width="52"
|
||||||
|
height="52"
|
||||||
|
class="h-12 w-12 mix-blend-multiply"
|
||||||
|
/>
|
||||||
|
<div class="leading-tight">
|
||||||
|
<p class="font-heading text-base font-700 uppercase tracking-wide sm:text-lg">
|
||||||
|
Архив ДНТ-7
|
||||||
|
</p>
|
||||||
|
<p class="text-[0.65rem] uppercase tracking-widest text-muted-foreground">
|
||||||
|
Дачно-Наблюдательный Трибунал
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<nav class="flex flex-wrap items-center gap-x-5 gap-y-1 font-heading text-xs font-600 uppercase tracking-wider">
|
||||||
|
<a href="/" class="relative text-foreground/80 transition-colors hover:text-primary">Картотека</a>
|
||||||
|
<a href="/dossier/directive-kompot" class="relative text-foreground/80 transition-colors hover:text-primary">Уставы</a>
|
||||||
|
<a href="/dossier/lopata-bs-3000" class="relative text-foreground/80 transition-colors hover:text-primary">Инвентарь</a>
|
||||||
|
<a href="/protocol" class="relative text-foreground/80 transition-colors hover:text-primary">Протокол</a>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
---
|
||||||
|
interface Props {
|
||||||
|
children?: any
|
||||||
|
class?: string
|
||||||
|
skew?: boolean
|
||||||
|
variant?: 'red' | 'ink'
|
||||||
|
}
|
||||||
|
|
||||||
|
const { children, class: className, skew = true, variant = 'red' } = Astro.props as Props
|
||||||
|
---
|
||||||
|
|
||||||
|
<span
|
||||||
|
class:list={[
|
||||||
|
'stamp px-2 py-1 text-[0.65rem] sm:text-xs',
|
||||||
|
variant === 'ink' && 'stamp-ink',
|
||||||
|
skew && 'stamp-skew',
|
||||||
|
className,
|
||||||
|
]}
|
||||||
|
>
|
||||||
|
{children}
|
||||||
|
</span>
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
---
|
||||||
|
import '../styles/globals.css'
|
||||||
|
|
||||||
|
interface Props {
|
||||||
|
title: string
|
||||||
|
description?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
const { title, description } = Astro.props as Props
|
||||||
|
---
|
||||||
|
|
||||||
|
<!doctype html>
|
||||||
|
<html lang="ru" class="bg-background">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||||
|
<link rel="icon" href="/favicon.ico" />
|
||||||
|
<meta name="viewport" content="width=device-width" />
|
||||||
|
<meta name="generator" content={Astro.generator} />
|
||||||
|
<title>{title}</title>
|
||||||
|
{description && <meta name="description" content={description} />}
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||||||
|
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&family=Oswald:wght@400;500;600;700&display=swap" rel="stylesheet" />
|
||||||
|
</head>
|
||||||
|
<body class="font-mono antialiased">
|
||||||
|
<slot />
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,205 @@
|
|||||||
|
---
|
||||||
|
import BaseLayout from './base.astro'
|
||||||
|
import SiteHeader from '../components/SiteHeader.astro'
|
||||||
|
import SiteFooter from '../components/SiteFooter.astro'
|
||||||
|
import OverlayStamp from '../components/OverlayStamp.astro'
|
||||||
|
import FieldRow from '../components/FieldRow.astro'
|
||||||
|
import Perforation from '../components/Perforation.astro'
|
||||||
|
import { DOSSIERS, getDossier } from '../lib/dossiers'
|
||||||
|
|
||||||
|
interface Props {
|
||||||
|
title: string
|
||||||
|
fullName?: string
|
||||||
|
code?: string
|
||||||
|
category?: string
|
||||||
|
classification?: string
|
||||||
|
threat?: string
|
||||||
|
hasBlueprint?: boolean
|
||||||
|
hasPhoto?: boolean
|
||||||
|
fields?: { label: string; value: string }[]
|
||||||
|
}
|
||||||
|
|
||||||
|
const frontmatter = Astro.props as Props
|
||||||
|
const slug = Astro.url.pathname.replace('/dossier/', '').replace('/', '')
|
||||||
|
const dossier = getDossier(slug)
|
||||||
|
const allDossiers = DOSSIERS
|
||||||
|
---
|
||||||
|
|
||||||
|
<BaseLayout title={`${frontmatter.title} // Архив ДНТ-7`} description={frontmatter.fullName}>
|
||||||
|
<div class="min-h-screen">
|
||||||
|
<SiteHeader />
|
||||||
|
|
||||||
|
<div class="banner-classified border-y border-foreground/30">
|
||||||
|
<div class="mx-auto flex max-w-4xl items-center justify-between gap-4 px-4 py-1.5 text-[0.65rem] font-700 uppercase tracking-[0.2em] sm:px-6">
|
||||||
|
<span>{frontmatter.classification}</span>
|
||||||
|
<span class="hidden sm:inline">Дело № {frontmatter.code}</span>
|
||||||
|
<span>Экз. № 1</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<main class="mx-auto max-w-4xl px-4 py-8 sm:px-6">
|
||||||
|
<a
|
||||||
|
href="/"
|
||||||
|
class="font-heading text-xs font-600 uppercase tracking-wider text-muted-foreground hover:text-primary"
|
||||||
|
>
|
||||||
|
← Вернуться в картотеку
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<article class="paper relative mt-4 -rotate-[0.3deg] p-6 sm:p-10">
|
||||||
|
<span class="tape -top-3 left-1/2 hidden -translate-x-1/2 rotate-1 sm:block" aria-hidden="true" />
|
||||||
|
|
||||||
|
<div class="pointer-events-none absolute right-3 top-4 rotate-[9deg] sm:right-8 sm:top-10">
|
||||||
|
<OverlayStamp class="text-xl sm:text-3xl">
|
||||||
|
{frontmatter.classification}
|
||||||
|
</OverlayStamp>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<header class="pb-5">
|
||||||
|
<p class="font-mono text-[0.7rem] uppercase tracking-[0.25em] text-muted-foreground">
|
||||||
|
{frontmatter.category} · Дело № {frontmatter.code} · Угроза {frontmatter.threat}
|
||||||
|
</p>
|
||||||
|
<h1 class="mt-3 max-w-2xl text-balance font-heading text-3xl font-700 uppercase leading-[0.95] tracking-tight sm:text-5xl">
|
||||||
|
{frontmatter.title}
|
||||||
|
</h1>
|
||||||
|
<p class="mt-3 max-w-2xl text-sm italic leading-relaxed text-muted-foreground">
|
||||||
|
{frontmatter.fullName}
|
||||||
|
</p>
|
||||||
|
<hr class="rule rule-red mt-5" />
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<section class="mt-2">
|
||||||
|
<dl>
|
||||||
|
{frontmatter.fields?.map((f) => (
|
||||||
|
<FieldRow label={f.label} value={f.value} />
|
||||||
|
))}
|
||||||
|
</dl>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
{frontmatter.hasBlueprint && (
|
||||||
|
<figure class="paper paper-strong mt-8 p-3">
|
||||||
|
<img
|
||||||
|
src="/blueprint-lopata.png"
|
||||||
|
alt={`Технический чертёж изделия ${frontmatter.title}`}
|
||||||
|
width="1200"
|
||||||
|
height="800"
|
||||||
|
class="h-auto w-full mix-blend-multiply"
|
||||||
|
/>
|
||||||
|
<figcaption class="mt-2 border-t border-dashed border-border pt-2 text-center font-mono text-[0.65rem] uppercase tracking-wider text-muted-foreground">
|
||||||
|
Рис. 1 — Чертёж общего вида · ГОСТ-садовый 12-86
|
||||||
|
</figcaption>
|
||||||
|
</figure>
|
||||||
|
)}
|
||||||
|
|
||||||
|
{frontmatter.hasPhoto && (
|
||||||
|
<figure class="paper paper-strong mt-8 max-w-sm rotate-1 p-2">
|
||||||
|
<img
|
||||||
|
src="/classified-photo.png"
|
||||||
|
alt="Рассекреченный фотоматериал"
|
||||||
|
width="600"
|
||||||
|
height="600"
|
||||||
|
class="h-auto w-full grayscale"
|
||||||
|
/>
|
||||||
|
<figcaption class="mt-2 border-t border-dashed border-border pt-2 font-mono text-[0.6rem] uppercase tracking-wider text-muted-foreground">
|
||||||
|
Фотоматериал · участок №6 · 03:14
|
||||||
|
</figcaption>
|
||||||
|
</figure>
|
||||||
|
)}
|
||||||
|
|
||||||
|
<div class="mt-10 prose-custom">
|
||||||
|
<slot />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="mt-12 grid grid-cols-1 gap-6 border-t border-dashed border-border pt-6 sm:grid-cols-2">
|
||||||
|
<div>
|
||||||
|
<p class="text-[0.7rem] uppercase tracking-wider text-muted-foreground">
|
||||||
|
Утвердил
|
||||||
|
</p>
|
||||||
|
<p class="mt-3 font-heading text-base font-600">
|
||||||
|
Председатель Трибунала
|
||||||
|
</p>
|
||||||
|
<p class="mt-1 border-b border-foreground/50 pb-1 font-mono text-sm text-muted-foreground">
|
||||||
|
подпись: [ИЗЪЯТО]
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="flex items-start justify-end">
|
||||||
|
<img
|
||||||
|
src="/emblem.png"
|
||||||
|
alt=""
|
||||||
|
width="90"
|
||||||
|
height="90"
|
||||||
|
class="h-20 w-20 rotate-6 opacity-80 mix-blend-multiply"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<section class="mt-10">
|
||||||
|
<h2 class="mb-1 font-heading text-lg font-700 uppercase tracking-wide">
|
||||||
|
См. также
|
||||||
|
</h2>
|
||||||
|
<hr class="rule mb-5 w-40" />
|
||||||
|
<div class="grid grid-cols-1 gap-3 sm:grid-cols-2">
|
||||||
|
{allDossiers.filter((d) => d.slug !== slug).slice(0, 4).map((d) => (
|
||||||
|
<a
|
||||||
|
href={`/dossier/${d.slug}`}
|
||||||
|
class="paper flex items-center justify-between px-3 py-2.5 text-sm transition-all hover:-translate-y-0.5 hover:text-primary"
|
||||||
|
>
|
||||||
|
<span class="font-heading uppercase tracking-wide">{d.name}</span>
|
||||||
|
<span class="font-mono text-[0.65rem] text-muted-foreground">{d.code}</span>
|
||||||
|
</a>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<div class="mt-12">
|
||||||
|
<Perforation />
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<SiteFooter />
|
||||||
|
</div>
|
||||||
|
</BaseLayout>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.prose-custom h2 {
|
||||||
|
font-family: var(--font-heading);
|
||||||
|
font-weight: 700;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.05em;
|
||||||
|
font-size: 1.125rem;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
padding-bottom: 0.25rem;
|
||||||
|
border-bottom: 1px solid oklch(0.45 0.04 56 / 0.3);
|
||||||
|
}
|
||||||
|
.prose-custom h2 + * {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
.prose-custom p,
|
||||||
|
.prose-custom li {
|
||||||
|
font-size: 0.875rem;
|
||||||
|
line-height: 1.625;
|
||||||
|
color: oklch(0.28 0.03 52 / 0.9);
|
||||||
|
}
|
||||||
|
.prose-custom p {
|
||||||
|
margin-bottom: 0.75rem;
|
||||||
|
}
|
||||||
|
.prose-custom ol,
|
||||||
|
.prose-custom ul {
|
||||||
|
margin-left: 1rem;
|
||||||
|
margin-bottom: 0.75rem;
|
||||||
|
}
|
||||||
|
.prose-custom ol {
|
||||||
|
list-style: decimal;
|
||||||
|
}
|
||||||
|
.prose-custom ul {
|
||||||
|
list-style: disc;
|
||||||
|
}
|
||||||
|
.prose-custom li {
|
||||||
|
margin-bottom: 0.25rem;
|
||||||
|
}
|
||||||
|
.prose-custom ol ::marker,
|
||||||
|
.prose-custom ul ::marker {
|
||||||
|
color: var(--primary);
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
---
|
|
||||||
const { frontmatter } = Astro.props;
|
|
||||||
---
|
|
||||||
|
|
||||||
<!doctype html>
|
|
||||||
<html lang="ru">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
|
||||||
<title>{frontmatter.title}</title>
|
|
||||||
<style>
|
|
||||||
body {
|
|
||||||
font-family: sans-serif;
|
|
||||||
background: #fafafa;
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
main {
|
|
||||||
max-width: 800px;
|
|
||||||
margin: 0 auto;
|
|
||||||
padding: 2rem;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<header>
|
|
||||||
<a href="/">Главная</a>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<main>
|
|
||||||
<slot />
|
|
||||||
</main>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -0,0 +1,87 @@
|
|||||||
|
export type Classification = 'СОВ. СЕКРЕТНО' | 'СЕКРЕТНО' | 'ДСП' | 'РАССЕКРЕЧЕНО'
|
||||||
|
|
||||||
|
export type Dossier = {
|
||||||
|
slug: string
|
||||||
|
code: string
|
||||||
|
name: string
|
||||||
|
fullName: string
|
||||||
|
category: 'ИНВЕНТАРЬ' | 'ПЕРСОНА' | 'ОБЪЕКТ' | 'ДИРЕКТИВА'
|
||||||
|
classification: Classification
|
||||||
|
threat: string
|
||||||
|
summary: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export const DOSSIERS: Dossier[] = [
|
||||||
|
{
|
||||||
|
slug: 'lopata-bs-3000',
|
||||||
|
code: 'ИНВ-001',
|
||||||
|
name: 'Л.О.П.А.Т.А.',
|
||||||
|
fullName:
|
||||||
|
'Локализатор Органических Признаков Анунаков Трансгрессивного Адаптера',
|
||||||
|
category: 'ИНВЕНТАРЬ',
|
||||||
|
classification: 'СОВ. СЕКРЕТНО',
|
||||||
|
threat: 'КАТ. III',
|
||||||
|
summary:
|
||||||
|
'Модель БС-3000 (Садово-Боевая). Обнуление маскировочных био-голограмм и принудительное заземление внеземных агентов в полевых условиях.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
slug: 'subject-ogurec',
|
||||||
|
code: 'ОБЪ-014',
|
||||||
|
name: 'СУБЪЕКТ «ОГУРЕЦ»',
|
||||||
|
fullName: 'Биомаскировочная единица класса «Парниковый»',
|
||||||
|
category: 'ОБЪЕКТ',
|
||||||
|
classification: 'СЕКРЕТНО',
|
||||||
|
threat: 'КАТ. II',
|
||||||
|
summary:
|
||||||
|
'Рептилоидный агент, выявленный при инвентаризации теплицы участка №6. Демаскирован при пониженной температуре грунта.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
slug: 'directive-kompot',
|
||||||
|
code: 'ДИР-007',
|
||||||
|
name: 'ДИРЕКТИВА «КОМПОТ»',
|
||||||
|
fullName: 'Устав полевого противодействия чешуйчатому личному составу',
|
||||||
|
category: 'ДИРЕКТИВА',
|
||||||
|
classification: 'ДСП',
|
||||||
|
threat: 'КАТ. I',
|
||||||
|
summary:
|
||||||
|
'Свод обязательных предписаний для дачников-наблюдателей при контакте с предполагаемым агентом планеты Нибиру.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
slug: 'agent-baba-zina',
|
||||||
|
code: 'ПЕР-003',
|
||||||
|
name: 'АГЕНТ «БАБА ЗИНА»',
|
||||||
|
fullName: 'Старший полевой оператор, участок №3, кооператив «Заря-9»',
|
||||||
|
category: 'ПЕРСОНА',
|
||||||
|
classification: 'РАССЕКРЕЧЕНО',
|
||||||
|
threat: '—',
|
||||||
|
summary:
|
||||||
|
'Кавалер ордена Трудовой Грядки. Лично заземлила 14 (четырнадцать) подтверждённых рептилоидных единиц. Личность охраняется.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
slug: 'object-nibiru',
|
||||||
|
code: 'ОБЪ-000',
|
||||||
|
name: 'ПЛАНЕТА НИБИРУ',
|
||||||
|
fullName: 'Источник трансгрессивной угрозы садоводческим территориям',
|
||||||
|
category: 'ОБЪЕКТ',
|
||||||
|
classification: 'СОВ. СЕКРЕТНО',
|
||||||
|
threat: 'КАТ. IV',
|
||||||
|
summary:
|
||||||
|
'Внесистемное тело. Период сближения совпадает с пиком урожайности. Координаты [ДАННЫЕ ИЗЪЯТЫ].',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
slug: 'equipment-vedro',
|
||||||
|
code: 'ИНВ-022',
|
||||||
|
name: 'В.Е.Д.Р.О.',
|
||||||
|
fullName:
|
||||||
|
'Высокочастотный Экранирующий Дезинтегратор Рептилоидных Оболочек',
|
||||||
|
category: 'ИНВЕНТАРЬ',
|
||||||
|
classification: 'СЕКРЕТНО',
|
||||||
|
threat: 'КАТ. II',
|
||||||
|
summary:
|
||||||
|
'Оцинкованный контур-ловушка. Накрывается на голову агента для блокировки телепатического канала с орбитой.',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
export function getDossier(slug: string) {
|
||||||
|
return DOSSIERS.find((d) => d.slug === slug)
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
---
|
||||||
|
layout: ../../layouts/dossier.astro
|
||||||
|
title: АГЕНТ «БАБА ЗИНА»
|
||||||
|
fullName: Старший полевой оператор, участок №3, кооператив «Заря-9»
|
||||||
|
code: ПЕР-003
|
||||||
|
category: ПЕРСОНА
|
||||||
|
classification: РАССЕКРЕЧЕНО
|
||||||
|
threat: "—"
|
||||||
|
fields:
|
||||||
|
- label: Позывной
|
||||||
|
value: "Агент «Баба Зина»"
|
||||||
|
- label: Должность
|
||||||
|
value: "Старший полевой оператор"
|
||||||
|
- label: Участок
|
||||||
|
value: "№3, кооператив «Заря-9»"
|
||||||
|
- label: Заслуги
|
||||||
|
value: "Орден Трудовой Грядки I степени"
|
||||||
|
- label: Подтверждённых заземлений
|
||||||
|
value: "14 (четырнадцать)"
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Характеристика
|
||||||
|
|
||||||
|
Образцовый полевой оператор. Лично разработала метод демаскировки «соль в три щепоти». Передаёт опыт молодым дачникам. Личность охраняется, фотоматериалы <span class="redacted px-1">ДАННЫЕ ИЗЪЯТЫ</span> в целях безопасности оператора и его теплицы.
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
---
|
||||||
|
layout: ../../layouts/dossier.astro
|
||||||
|
title: ДИРЕКТИВА «КОМПОТ»
|
||||||
|
fullName: Устав полевого противодействия чешуйчатому личному составу
|
||||||
|
code: ДИР-007
|
||||||
|
category: ДИРЕКТИВА
|
||||||
|
classification: ДСП
|
||||||
|
threat: КАТ. I
|
||||||
|
fields:
|
||||||
|
- label: Обозначение
|
||||||
|
value: "Директива «Компот»"
|
||||||
|
- label: Тип документа
|
||||||
|
value: "Устав полевого противодействия"
|
||||||
|
- label: Действует с
|
||||||
|
value: "01.05.1986"
|
||||||
|
- label: Гриф
|
||||||
|
value: "Для служебного пользования"
|
||||||
|
---
|
||||||
|
|
||||||
|
## I. Общие положения
|
||||||
|
|
||||||
|
Настоящий устав определяет обязательный порядок действий дачника-наблюдателя при установлении контакта с предполагаемым агентом планеты Нибиру на территории садоводческого товарищества. Незнание устава не освобождает от дежурства по сторожке.
|
||||||
|
|
||||||
|
## II. Обязанности наблюдателя
|
||||||
|
|
||||||
|
1. Сохранять бдительность в часы пик урожайности.
|
||||||
|
2. Иметь при себе исправный инвентарь (см. дело ИНВ-001).
|
||||||
|
3. Не вступать с агентом в переговоры о рассаде.
|
||||||
|
4. Докладывать о любом немигающем соседе незамедлительно.
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
---
|
||||||
|
layout: ../../layouts/dossier.astro
|
||||||
|
title: В.Е.Д.Р.О.
|
||||||
|
fullName: Высокочастотный Экранирующий Дезинтегратор Рептилоидных Оболочек
|
||||||
|
code: ИНВ-022
|
||||||
|
category: ИНВЕНТАРЬ
|
||||||
|
classification: СЕКРЕТНО
|
||||||
|
threat: КАТ. II
|
||||||
|
fields:
|
||||||
|
- label: Наименование
|
||||||
|
value: В.Е.Д.Р.О.
|
||||||
|
- label: Полное название
|
||||||
|
value: Высокочастотный Экранирующий Дезинтегратор Рептилоидных Оболочек
|
||||||
|
- label: Материал
|
||||||
|
value: "Сталь оцинкованная, контур-ловушка"
|
||||||
|
- label: Объём
|
||||||
|
value: "12 л (стандарт кооператива)"
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Назначение
|
||||||
|
|
||||||
|
Оцинкованный контур-ловушка для блокировки телепатического канала агента с орбитой. Накрывается на голову локализованной единицы, создавая экранирующую клетку Фарадея кустарного исполнения.
|
||||||
|
|
||||||
|
## 2. Применение в связке
|
||||||
|
|
||||||
|
Используется совместно с изделием Л.О.П.А.Т.А. (дело ИНВ-001): сперва заземление, затем экранирование. Эффективность связки подтверждена агентом «Баба Зина».
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
---
|
||||||
|
layout: ../../layouts/dossier.astro
|
||||||
|
title: Л.О.П.А.Т.А.
|
||||||
|
fullName: Локализатор Органических Признаков Анунаков Трансгрессивного Адаптера
|
||||||
|
code: ИНВ-001
|
||||||
|
category: ИНВЕНТАРЬ
|
||||||
|
classification: СОВ. СЕКРЕТНО
|
||||||
|
threat: КАТ. III
|
||||||
|
hasBlueprint: true
|
||||||
|
fields:
|
||||||
|
- label: Наименование изделия
|
||||||
|
value: Л.О.П.А.Т.А.
|
||||||
|
- label: Индекс
|
||||||
|
value: "Модель БС-3000 / Садово-Боевая"
|
||||||
|
- label: Полное инж. название
|
||||||
|
value: Локализатор Органических Признаков Анунаков Трансгрессивного Адаптера
|
||||||
|
- label: Изготовитель
|
||||||
|
value: "Артель «Острый Штык», цех №4"
|
||||||
|
- label: Масса снаряжённая
|
||||||
|
value: "2,7 кг ± 0,3 кг"
|
||||||
|
- label: Заточка
|
||||||
|
value: "Двухсторонняя, угол 23°"
|
||||||
|
- label: Ресурс
|
||||||
|
value: "не менее 400 (четырёхсот) заземлений"
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Назначение
|
||||||
|
|
||||||
|
Изделие предназначено для обнуления маскировочных био-голограмм, принудительного заземления внеземных агентов и демаскировки чешуйчатого личного состава в полевых условиях. Допускается применение по прямому хозяйственному назначению (вскапывание грунта) в целях сохранения легенды оператора.
|
||||||
|
|
||||||
|
## 2. Принцип действия
|
||||||
|
|
||||||
|
Рабочее полотно изделия выполнено из заземлённого сплава «ЧУГ-7». При плотном контакте с поверхностью агента происходит срыв голографической оболочки и отвод паразитных нибируанских токов в грунт через черенок-токоотвод.
|
||||||
|
|
||||||
|
Эффект демаскировки достигается за 1 (один) уверенный удар плашмя. Повторные удары наносятся до полного проявления чешуи либо до признания агентом своей внеземной природы.
|
||||||
|
|
||||||
|
## 3. Порядок применения
|
||||||
|
|
||||||
|
1. Убедиться в отсутствии посторонних дачников на смежных участках.
|
||||||
|
2. Принять стойку «Прополка боевая»: ноги на ширину грядки, черенок у пояса.
|
||||||
|
3. При первых признаках маскировки (немигающий взгляд, любовь к солнцу, неприятие соли) — нанести заземляющий удар.
|
||||||
|
4. Зафиксировать результат в журнале формы Б-2 и доложить старшему по кооперативу.
|
||||||
|
|
||||||
|
## 4. Меры безопасности
|
||||||
|
|
||||||
|
Запрещается заземлять агента при влажной обуви оператора. Запрещается оставлять изделие в борще. Хранить в сарае под охраной кота. При появлении на полотне зелёного свечения — изделие подлежит сдаче в артель для перезаточки и <span class="redacted px-1">ДАННЫЕ ИЗЪЯТЫ</span>.
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
---
|
||||||
|
layout: ../../layouts/dossier.astro
|
||||||
|
title: ПЛАНЕТА НИБИРУ
|
||||||
|
fullName: Источник трансгрессивной угрозы садоводческим территориям
|
||||||
|
code: ОБЪ-000
|
||||||
|
category: ОБЪЕКТ
|
||||||
|
classification: СОВ. СЕКРЕТНО
|
||||||
|
threat: КАТ. IV
|
||||||
|
fields:
|
||||||
|
- label: Обозначение
|
||||||
|
value: "Планета Нибиру"
|
||||||
|
- label: Класс угрозы
|
||||||
|
value: "КАТ. IV (трансгрессивная)"
|
||||||
|
- label: Период сближения
|
||||||
|
value: "совпадает с пиком урожайности"
|
||||||
|
- label: Координаты
|
||||||
|
value: <span class="redacted px-1">ДАННЫЕ ИЗЪЯТЫ</span>
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Описание объекта
|
||||||
|
|
||||||
|
Внесистемное небесное тело, признанное источником трансгрессивной угрозы садоводческим территориям. По данным наблюдений с водонапорной башни, сближение объекта вызывает аномальный рост сорняков и активизацию замаскированных агентов.
|
||||||
|
|
||||||
|
## 2. Рекомендации
|
||||||
|
|
||||||
|
В период сближения усилить дежурства, проверять рассаду на чешую, держать инвентарь заточенным. Дальнейшие сведения изъяты по грифу «Сов. Секретно».
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
---
|
||||||
|
layout: ../../layouts/dossier.astro
|
||||||
|
title: СУБЪЕКТ «ОГУРЕЦ»
|
||||||
|
fullName: Биомаскировочная единица класса «Парниковый»
|
||||||
|
code: ОБЪ-014
|
||||||
|
category: ОБЪЕКТ
|
||||||
|
classification: СЕКРЕТНО
|
||||||
|
threat: КАТ. II
|
||||||
|
hasPhoto: true
|
||||||
|
fields:
|
||||||
|
- label: Обозначение
|
||||||
|
value: "Субъект «Огурец»"
|
||||||
|
- label: Класс
|
||||||
|
value: "Биомаскировочная единица «Парниковый»"
|
||||||
|
- label: Место выявления
|
||||||
|
value: "Теплица, участок №6"
|
||||||
|
- label: Состояние
|
||||||
|
value: "Локализован, заземлён"
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Обстоятельства выявления
|
||||||
|
|
||||||
|
Субъект обнаружен при плановой инвентаризации теплицы. Демаскирован при понижении температуры грунта ниже +8°C, при котором маскировочная оболочка теряет тургор и проявляется чешуйчатая структура. Реагировал на соль крайне нехарактерным для овоща образом.
|
||||||
|
|
||||||
|
## 2. Признаки внеземного происхождения
|
||||||
|
|
||||||
|
- Отсутствие семян при наличии идеальной формы.
|
||||||
|
- Поворот к наблюдателю независимо от положения солнца.
|
||||||
|
- Слабый запах озона и <span class="redacted px-1">ДАННЫЕ ИЗЪЯТЫ</span>.
|
||||||
@@ -1,17 +1,116 @@
|
|||||||
---
|
---
|
||||||
|
import BaseLayout from '../layouts/base.astro'
|
||||||
|
import SiteHeader from '../components/SiteHeader.astro'
|
||||||
|
import SiteFooter from '../components/SiteFooter.astro'
|
||||||
|
import Stamp from '../components/Stamp.astro'
|
||||||
|
import OverlayStamp from '../components/OverlayStamp.astro'
|
||||||
|
import Perforation from '../components/Perforation.astro'
|
||||||
|
import DossierCard from '../components/DossierCard.astro'
|
||||||
|
import { DOSSIERS } from '../lib/dossiers'
|
||||||
|
|
||||||
|
const tilts = ['-0.6deg', '0.5deg', '-0.4deg', '0.7deg', '-0.5deg', '0.4deg']
|
||||||
|
---
|
||||||
|
|
||||||
---
|
<BaseLayout title="АРХИВ ДНТ-7 // Дачно-Наблюдательный Трибунал" description="Рассекреченный архив Дачно-Наблюдательного Трибунала №7. Документы, инструкции и уставы по противодействию рептилоидным агентам планеты Нибиру.">
|
||||||
|
<div class="min-h-screen">
|
||||||
|
<SiteHeader />
|
||||||
|
|
||||||
<html lang="en">
|
<div class="banner-classified border-y border-foreground/30">
|
||||||
<head>
|
<div class="mx-auto flex max-w-5xl items-center justify-between gap-4 px-4 py-1.5 text-[0.65rem] font-700 uppercase tracking-[0.2em] sm:px-6">
|
||||||
<meta charset="utf-8" />
|
<span>Сов. Секретно</span>
|
||||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
<span class="hidden sm:inline">Экз. № 1 из 3</span>
|
||||||
<link rel="icon" href="/favicon.ico" />
|
<span>Хранить вечно</span>
|
||||||
<meta name="viewport" content="width=device-width" />
|
</div>
|
||||||
<meta name="generator" content={Astro.generator} />
|
</div>
|
||||||
<title>Astro</title>
|
|
||||||
</head>
|
<main class="mx-auto max-w-5xl px-4 py-10 sm:px-6">
|
||||||
<body>
|
<section class="paper relative mb-12 -rotate-[0.4deg] p-6 sm:p-10">
|
||||||
<h1>LOPATA</h1>
|
<span class="tape -top-3 left-10 rotate-3" aria-hidden="true" />
|
||||||
</body>
|
<span class="tape -top-3 right-12 -rotate-2" aria-hidden="true" />
|
||||||
</html>
|
|
||||||
|
<div class="pointer-events-none absolute right-4 top-4 sm:right-8 sm:top-8">
|
||||||
|
<img
|
||||||
|
src="/emblem.png"
|
||||||
|
alt=""
|
||||||
|
width="120"
|
||||||
|
height="120"
|
||||||
|
class="h-20 w-20 opacity-90 mix-blend-multiply sm:h-28 sm:w-28"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="font-mono text-xs uppercase tracking-[0.3em] text-muted-foreground">
|
||||||
|
Союз Садоводческих Кооперативов · Отдел «Грядка»
|
||||||
|
</p>
|
||||||
|
<h1 class="mt-3 max-w-2xl text-balance font-heading text-3xl font-700 uppercase leading-[0.95] tracking-tight sm:text-5xl">
|
||||||
|
Архив Дачно-Наблюдательного Трибунала №7
|
||||||
|
</h1>
|
||||||
|
<p class="mt-4 max-w-xl text-pretty text-sm leading-relaxed text-foreground/90">
|
||||||
|
Рассекреченный свод документов, инструкций и уставов по
|
||||||
|
противодействию рептилоидным агентам планеты{' '}
|
||||||
|
<span class="font-600 text-primary">Нибиру</span> на территориях
|
||||||
|
садоводческих товариществ. Допуск согласно форме А-13.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div class="mt-6 flex flex-wrap items-center gap-3">
|
||||||
|
<Stamp>Рассекречено · 06.07.2026</Stamp>
|
||||||
|
<Stamp variant="ink" skew={false}>Подлежит изучению</Stamp>
|
||||||
|
<span class="font-mono text-[0.65rem] uppercase tracking-wider text-muted-foreground">
|
||||||
|
Регистр. № ДНТ-7/04-1986
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="pointer-events-none absolute -bottom-3 right-6 rotate-[8deg] sm:right-16">
|
||||||
|
<OverlayStamp>Архивъ · ДНТ-7</OverlayStamp>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="mb-12 grid grid-cols-2 gap-4 sm:grid-cols-4">
|
||||||
|
{[
|
||||||
|
{ k: 'Дел в картотеке', v: '147' },
|
||||||
|
{ k: 'Заземлено агентов', v: '38' },
|
||||||
|
{ k: 'Активных участков', v: '9' },
|
||||||
|
{ k: 'Уровень тревоги', v: 'III' },
|
||||||
|
].map((s, i) => (
|
||||||
|
<div
|
||||||
|
key={s.k}
|
||||||
|
class="paper px-4 py-5 text-center"
|
||||||
|
style={{ rotate: tilts[i] }}
|
||||||
|
>
|
||||||
|
<p class="font-heading text-3xl font-700 text-primary">
|
||||||
|
{s.v}
|
||||||
|
</p>
|
||||||
|
<p class="mt-1 text-[0.65rem] uppercase tracking-wider text-muted-foreground">
|
||||||
|
{s.k}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
))}
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<div class="mb-8 flex items-end justify-between">
|
||||||
|
<div>
|
||||||
|
<h2 class="font-heading text-2xl font-700 uppercase tracking-wide">
|
||||||
|
Картотека дел
|
||||||
|
</h2>
|
||||||
|
<hr class="rule rule-red mt-2 w-48" />
|
||||||
|
</div>
|
||||||
|
<p class="font-mono text-[0.65rem] uppercase tracking-wider text-muted-foreground">
|
||||||
|
Опись · лист 1
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3">
|
||||||
|
{DOSSIERS.map((d, i) => (
|
||||||
|
<DossierCard d={d} rotate={tilts[i % tilts.length]} />
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<div class="mt-12">
|
||||||
|
<Perforation />
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<SiteFooter />
|
||||||
|
</div>
|
||||||
|
</BaseLayout>
|
||||||
|
|||||||
@@ -0,0 +1,128 @@
|
|||||||
|
---
|
||||||
|
import BaseLayout from '../layouts/base.astro'
|
||||||
|
import SiteHeader from '../components/SiteHeader.astro'
|
||||||
|
import SiteFooter from '../components/SiteFooter.astro'
|
||||||
|
import Stamp from '../components/Stamp.astro'
|
||||||
|
import SectionTitle from '../components/SectionTitle.astro'
|
||||||
|
import Perforation from '../components/Perforation.astro'
|
||||||
|
|
||||||
|
const STEPS = [
|
||||||
|
{
|
||||||
|
n: '01',
|
||||||
|
t: 'Обнаружение',
|
||||||
|
d: 'Зафиксировать признаки маскировки: немигающий взгляд, любовь к солнцу, неприятие соли, идеальная рассада без труда.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
n: '02',
|
||||||
|
t: 'Доклад',
|
||||||
|
d: 'Сообщить старшему по кооперативу через условный сигнал (три удара по бочке с водой).',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
n: '03',
|
||||||
|
t: 'Локализация',
|
||||||
|
d: 'Применить изделие Л.О.П.А.Т.А. (ИНВ-001) для заземления. Соблюдать меры безопасности.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
n: '04',
|
||||||
|
t: 'Экранирование',
|
||||||
|
d: 'Накрыть изделием В.Е.Д.Р.О. (ИНВ-022) для блокировки канала связи с орбитой.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
n: '05',
|
||||||
|
t: 'Регистрация',
|
||||||
|
d: 'Внести запись в журнал формы Б-2. Присвоить делу номер. Хранить вечно.',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
---
|
||||||
|
|
||||||
|
<BaseLayout title="Протокол противодействия // Архив ДНТ-7" description="Единый полевой протокол Дачно-Наблюдательного Трибунала №7">
|
||||||
|
<div class="min-h-screen">
|
||||||
|
<SiteHeader />
|
||||||
|
|
||||||
|
<div class="banner-classified border-y border-foreground/30">
|
||||||
|
<div class="mx-auto flex max-w-4xl items-center justify-between gap-4 px-4 py-1.5 text-[0.65rem] font-700 uppercase tracking-[0.2em] sm:px-6">
|
||||||
|
<span>Для служебного пользования</span>
|
||||||
|
<span class="hidden sm:inline">Форма Б-2</span>
|
||||||
|
<span>Изучить под роспись</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<main class="mx-auto max-w-4xl px-4 py-8 sm:px-6">
|
||||||
|
<article class="paper relative -rotate-[0.3deg] p-6 sm:p-10">
|
||||||
|
<span class="tape -top-3 left-1/2 hidden -translate-x-1/2 rotate-1 sm:block" aria-hidden="true" />
|
||||||
|
<div class="pointer-events-none absolute right-4 top-4 sm:right-8 sm:top-10">
|
||||||
|
<img
|
||||||
|
src="/emblem.png"
|
||||||
|
alt=""
|
||||||
|
width="90"
|
||||||
|
height="90"
|
||||||
|
class="h-16 w-16 opacity-80 mix-blend-multiply sm:h-20 sm:w-20"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<header class="pb-5">
|
||||||
|
<p class="font-mono text-[0.7rem] uppercase tracking-[0.25em] text-muted-foreground">
|
||||||
|
Единый полевой протокол · ДНТ-7
|
||||||
|
</p>
|
||||||
|
<h1 class="mt-3 max-w-xl text-balance font-heading text-3xl font-700 uppercase leading-[0.95] tracking-tight sm:text-5xl">
|
||||||
|
Протокол противодействия
|
||||||
|
</h1>
|
||||||
|
<div class="mt-4 flex flex-wrap gap-3">
|
||||||
|
<Stamp>Обязательно к исполнению</Stamp>
|
||||||
|
<Stamp variant="ink" skew={false}>Ред. 1986</Stamp>
|
||||||
|
</div>
|
||||||
|
<hr class="rule rule-red mt-5" />
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<section class="mt-8">
|
||||||
|
<SectionTitle index="§">Порядок действий</SectionTitle>
|
||||||
|
<ol class="space-y-4">
|
||||||
|
{STEPS.map((s, i) => (
|
||||||
|
<li
|
||||||
|
key={s.n}
|
||||||
|
class="paper flex gap-4 p-4"
|
||||||
|
style={{ rotate: i % 2 === 0 ? '-0.4deg' : '0.4deg' }}
|
||||||
|
>
|
||||||
|
<span class="font-heading text-3xl font-700 leading-none text-primary">
|
||||||
|
{s.n}
|
||||||
|
</span>
|
||||||
|
<div>
|
||||||
|
<h3 class="font-heading text-base font-600 uppercase tracking-wide">
|
||||||
|
{s.t}
|
||||||
|
</h3>
|
||||||
|
<p class="mt-1 text-sm leading-relaxed text-foreground/90">
|
||||||
|
{s.d}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
))}
|
||||||
|
</ol>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="mt-10">
|
||||||
|
<SectionTitle index="!">Памятка наблюдателю</SectionTitle>
|
||||||
|
<div class="grid grid-cols-1 gap-4 sm:grid-cols-3">
|
||||||
|
{[
|
||||||
|
'Соль — табельное средство демаскировки.',
|
||||||
|
'Инвентарь держать заточенным и заземлённым.',
|
||||||
|
'О немигающих соседях докладывать немедленно.',
|
||||||
|
].map((p) => (
|
||||||
|
<p
|
||||||
|
key={p}
|
||||||
|
class="paper border-l-4 border-l-primary p-3 text-sm leading-relaxed"
|
||||||
|
>
|
||||||
|
{p}
|
||||||
|
</p>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<div class="mt-12">
|
||||||
|
<Perforation />
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<SiteFooter />
|
||||||
|
</div>
|
||||||
|
</BaseLayout>
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
---
|
|
||||||
layout: ../layouts/lopata.astro
|
|
||||||
title: "Моя кастомная страница"
|
|
||||||
---
|
|
||||||
|
|
||||||
# СИСТЕМА Л.О.П.А.Т.А.
|
|
||||||
@@ -0,0 +1,215 @@
|
|||||||
|
@import 'tailwindcss';
|
||||||
|
|
||||||
|
@custom-variant dark (&:is(.dark *));
|
||||||
|
|
||||||
|
@theme inline {
|
||||||
|
--font-heading: 'Oswald', sans-serif;
|
||||||
|
--font-sans: 'IBM Plex Mono', monospace;
|
||||||
|
--font-mono: 'IBM Plex Mono', monospace;
|
||||||
|
--color-sidebar-ring: var(--sidebar-ring);
|
||||||
|
--color-sidebar-border: var(--sidebar-border);
|
||||||
|
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
||||||
|
--color-sidebar-accent: var(--sidebar-accent);
|
||||||
|
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
||||||
|
--color-sidebar-primary: var(--sidebar-primary);
|
||||||
|
--color-sidebar-foreground: var(--sidebar-foreground);
|
||||||
|
--color-sidebar: var(--sidebar);
|
||||||
|
--color-chart-5: var(--chart-5);
|
||||||
|
--color-chart-4: var(--chart-4);
|
||||||
|
--color-chart-3: var(--chart-3);
|
||||||
|
--color-chart-2: var(--chart-2);
|
||||||
|
--color-chart-1: var(--chart-1);
|
||||||
|
--color-ring: var(--ring);
|
||||||
|
--color-input: var(--input);
|
||||||
|
--color-border: var(--border);
|
||||||
|
--color-destructive: var(--destructive);
|
||||||
|
--color-accent-foreground: var(--accent-foreground);
|
||||||
|
--color-accent: var(--accent);
|
||||||
|
--color-muted-foreground: var(--muted-foreground);
|
||||||
|
--color-muted: var(--muted);
|
||||||
|
--color-secondary-foreground: var(--secondary-foreground);
|
||||||
|
--color-secondary: var(--secondary);
|
||||||
|
--color-primary-foreground: var(--primary-foreground);
|
||||||
|
--color-primary: var(--primary);
|
||||||
|
--color-popover-foreground: var(--popover-foreground);
|
||||||
|
--color-popover: var(--popover);
|
||||||
|
--color-card-foreground: var(--card-foreground);
|
||||||
|
--color-card: var(--card);
|
||||||
|
--color-foreground: var(--foreground);
|
||||||
|
--color-background: var(--background);
|
||||||
|
--color-stamp: var(--stamp);
|
||||||
|
--color-ink: var(--ink);
|
||||||
|
--color-ink-soft: var(--ink-soft);
|
||||||
|
--radius-sm: calc(var(--radius) * 0.6);
|
||||||
|
--radius-md: calc(var(--radius) * 0.8);
|
||||||
|
--radius-lg: var(--radius);
|
||||||
|
--radius-xl: calc(var(--radius) * 1.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
:root {
|
||||||
|
--background: oklch(0.9 0.028 78);
|
||||||
|
--foreground: oklch(0.32 0.03 52);
|
||||||
|
--card: oklch(0.945 0.024 84);
|
||||||
|
--card-foreground: oklch(0.32 0.03 52);
|
||||||
|
--popover: oklch(0.945 0.024 84);
|
||||||
|
--popover-foreground: oklch(0.32 0.03 52);
|
||||||
|
--primary: oklch(0.47 0.16 30);
|
||||||
|
--primary-foreground: oklch(0.95 0.022 88);
|
||||||
|
--secondary: oklch(0.86 0.03 78);
|
||||||
|
--secondary-foreground: oklch(0.34 0.03 52);
|
||||||
|
--muted: oklch(0.87 0.026 80);
|
||||||
|
--muted-foreground: oklch(0.5 0.028 56);
|
||||||
|
--accent: oklch(0.47 0.16 30);
|
||||||
|
--accent-foreground: oklch(0.95 0.022 88);
|
||||||
|
--destructive: oklch(0.47 0.16 30);
|
||||||
|
--border: oklch(0.56 0.035 58 / 0.45);
|
||||||
|
--input: oklch(0.56 0.035 58 / 0.45);
|
||||||
|
--ring: oklch(0.47 0.16 30);
|
||||||
|
--stamp: oklch(0.46 0.17 30);
|
||||||
|
--ink: oklch(0.32 0.03 52);
|
||||||
|
--ink-soft: oklch(0.5 0.028 56);
|
||||||
|
--chart-1: oklch(0.47 0.16 30);
|
||||||
|
--chart-2: oklch(0.5 0.02 60);
|
||||||
|
--chart-3: oklch(0.4 0.02 55);
|
||||||
|
--chart-4: oklch(0.6 0.05 80);
|
||||||
|
--chart-5: oklch(0.3 0.02 55);
|
||||||
|
--radius: 0.125rem;
|
||||||
|
--sidebar: oklch(0.9 0.022 84);
|
||||||
|
--sidebar-foreground: oklch(0.32 0.03 52);
|
||||||
|
--sidebar-primary: oklch(0.47 0.16 30);
|
||||||
|
--sidebar-primary-foreground: oklch(0.95 0.022 88);
|
||||||
|
--sidebar-accent: oklch(0.86 0.03 78);
|
||||||
|
--sidebar-accent-foreground: oklch(0.34 0.03 52);
|
||||||
|
--sidebar-border: oklch(0.56 0.035 58 / 0.45);
|
||||||
|
--sidebar-ring: oklch(0.47 0.16 30);
|
||||||
|
}
|
||||||
|
|
||||||
|
@layer base {
|
||||||
|
* {
|
||||||
|
@apply border-border;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
@apply bg-background text-foreground;
|
||||||
|
background-image:
|
||||||
|
radial-gradient(
|
||||||
|
130% 120% at 50% 0%,
|
||||||
|
transparent 55%,
|
||||||
|
oklch(0.3 0.04 52 / 0.12) 100%
|
||||||
|
),
|
||||||
|
radial-gradient(oklch(0.3 0.03 52 / 0.05) 1px, transparent 1.4px),
|
||||||
|
radial-gradient(oklch(0.3 0.03 52 / 0.04) 1px, transparent 1.4px),
|
||||||
|
linear-gradient(180deg, oklch(0.91 0.03 80), oklch(0.88 0.03 76));
|
||||||
|
background-size: 100% 100%, 16px 16px, 22px 22px, 100% 100%;
|
||||||
|
background-position: 0 0, 0 0, 8px 11px, 0 0;
|
||||||
|
background-attachment: fixed;
|
||||||
|
}
|
||||||
|
html {
|
||||||
|
@apply font-mono;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@layer utilities {
|
||||||
|
.font-heading {
|
||||||
|
font-family: var(--font-heading);
|
||||||
|
}
|
||||||
|
|
||||||
|
.paper {
|
||||||
|
position: relative;
|
||||||
|
background-color: var(--card);
|
||||||
|
background-image:
|
||||||
|
linear-gradient(
|
||||||
|
oklch(0.5 0.03 56 / 0.05) 1px,
|
||||||
|
transparent 1px
|
||||||
|
),
|
||||||
|
radial-gradient(oklch(0.3 0.03 52 / 0.04) 1px, transparent 1.3px);
|
||||||
|
background-size: 100% 30px, 18px 18px;
|
||||||
|
border: 1px solid oklch(0.5 0.04 56 / 0.35);
|
||||||
|
box-shadow:
|
||||||
|
0 1px 0 oklch(1 0 0 / 0.4) inset,
|
||||||
|
0 18px 40px -24px oklch(0.25 0.04 52 / 0.55),
|
||||||
|
0 2px 6px -3px oklch(0.25 0.04 52 / 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
.paper-strong {
|
||||||
|
background-color: oklch(0.5 0.04 56 / 0.06);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tape {
|
||||||
|
position: absolute;
|
||||||
|
height: 1.6rem;
|
||||||
|
width: 6.5rem;
|
||||||
|
background: oklch(0.78 0.06 92 / 0.55);
|
||||||
|
box-shadow: 0 1px 4px oklch(0.25 0.04 52 / 0.25);
|
||||||
|
backdrop-filter: blur(0.5px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.rule {
|
||||||
|
border: 0;
|
||||||
|
border-top: 1px solid oklch(0.45 0.04 56 / 0.5);
|
||||||
|
box-shadow: 0 3px 0 -2px oklch(0.45 0.04 56 / 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
.rule-red {
|
||||||
|
border-top-color: var(--primary);
|
||||||
|
box-shadow: 0 3px 0 -2px var(--primary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.stamp {
|
||||||
|
--c: var(--stamp);
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
border: 2.5px solid var(--c);
|
||||||
|
color: var(--c);
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.1em;
|
||||||
|
font-weight: 700;
|
||||||
|
border-radius: 3px;
|
||||||
|
box-shadow: inset 0 0 0 1.5px var(--c);
|
||||||
|
opacity: 0.78;
|
||||||
|
mix-blend-mode: multiply;
|
||||||
|
-webkit-mask-image: radial-gradient(oklch(0 0 0) 60%, transparent 62%),
|
||||||
|
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='40'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1.4 1.1'/%3E%3C/filter%3E%3Crect width='80' height='40' filter='url(%23n)'/%3E%3C/svg%3E");
|
||||||
|
-webkit-mask-composite: source-over;
|
||||||
|
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='40'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1.4 1.1'/%3E%3C/filter%3E%3Crect width='80' height='40' filter='url(%23n)'/%3E%3C/svg%3E");
|
||||||
|
mask-mode: luminance;
|
||||||
|
}
|
||||||
|
|
||||||
|
.stamp-skew {
|
||||||
|
transform: rotate(-7deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
.stamp-ink {
|
||||||
|
--c: var(--ink-soft);
|
||||||
|
}
|
||||||
|
|
||||||
|
.stamp-overlay {
|
||||||
|
color: var(--stamp);
|
||||||
|
border: 4px solid var(--stamp);
|
||||||
|
opacity: 0.22;
|
||||||
|
mix-blend-mode: multiply;
|
||||||
|
text-transform: uppercase;
|
||||||
|
font-weight: 700;
|
||||||
|
letter-spacing: 0.12em;
|
||||||
|
border-radius: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.redacted {
|
||||||
|
background: var(--ink);
|
||||||
|
color: transparent;
|
||||||
|
user-select: none;
|
||||||
|
border-radius: 1px;
|
||||||
|
box-shadow: 0 0 1px 1px oklch(0.3 0.03 52 / 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
.banner-classified {
|
||||||
|
background:
|
||||||
|
repeating-linear-gradient(
|
||||||
|
45deg,
|
||||||
|
oklch(0.42 0.16 30),
|
||||||
|
oklch(0.42 0.16 30) 14px,
|
||||||
|
oklch(0.38 0.15 30) 14px,
|
||||||
|
oklch(0.38 0.15 30) 28px
|
||||||
|
);
|
||||||
|
color: var(--primary-foreground);
|
||||||
|
}
|
||||||
|
}
|
||||||