diff --git a/ai-chat.js b/ai-chat.js deleted file mode 100644 index 3cef125..0000000 --- a/ai-chat.js +++ /dev/null @@ -1,195 +0,0 @@ -(() => { - const introMessage = - "Witaj, jestem twoim wirtualnym agentem Krzak.org, w czym mogę Ci pomóc?"; - const baseReplies = [ - "Niestety, nie umiem jeszcze tego zrobić", - "Nie jestem pewien o co Ci chodzi", - ]; - const offerFrom = [ - "pedałów", - "pajaca", - "noży", - "gwoździ", - "przypraw", - "słoika", - "słoików", - "tabletek", - "spreju", - "narzędzi", - "samolotu", - "ostrzałki", - "szafki", - "pojemnika", - "pojemników", - "ładowarki", - "ładowarek", - "wieszaków", - "wieszaka", - "półki", - "półek", - "ryby", - "migdałów", - "baterii", - "kościanych guzików", - "mieszadła", - "kleju", - ]; - const offerTo = [ - "gwoździ", - "roweru", - "krojenia cebuli", - "pedałów", - "latania", - "łatania", - "podatków", - "sprzątania", - "wyrywania zębów", - "zmywarki", - "śmieci", - "krojenia chleba", - "krojenia ogórków", - "krojenia pomidorów", - "krojenia cebuli", - "krojenia ogórków", - "krojenia pomidorów", - "jedzenia", - "picia", - "kuchni", - "książek", - "ryb", - "migdałów", - "komputera", - "internetu", - "koszul", - "butów", - ]; - - const chatRoot = document.createElement("div"); - chatRoot.className = "ai-chat"; - chatRoot.innerHTML = ` - - - `; - document.body.appendChild(chatRoot); - - const fab = chatRoot.querySelector(".ai-chat__fab"); - const panel = chatRoot.querySelector(".ai-chat__panel"); - const closeBtn = chatRoot.querySelector(".ai-chat__close"); - const messages = chatRoot.querySelector(".ai-chat__messages"); - const form = chatRoot.querySelector(".ai-chat__form"); - const input = chatRoot.querySelector(".ai-chat__input"); - const sendBtn = chatRoot.querySelector(".ai-chat__send"); - const backToTop = document.getElementById("back-to-top"); - const viewport = window.visualViewport; - - function addMessage(text, fromUser) { - const bubble = document.createElement("p"); - bubble.className = fromUser - ? "ai-chat__bubble ai-chat__bubble--user" - : "ai-chat__bubble"; - bubble.textContent = text; - messages.appendChild(bubble); - messages.scrollTop = messages.scrollHeight; - } - - function openChat() { - panel.classList.add("is-open"); - panel.setAttribute("aria-hidden", "false"); - fab.setAttribute("aria-expanded", "true"); - if (!messages.hasChildNodes()) { - addMessage(introMessage, false); - } - input.focus(); - syncKeyboardOffset(); - } - - function closeChat() { - panel.classList.remove("is-open"); - panel.setAttribute("aria-hidden", "true"); - fab.setAttribute("aria-expanded", "false"); - syncKeyboardOffset(); - } - - function randomItem(items) { - return items[Math.floor(Math.random() * items.length)]; - } - - function buildReply() { - return `${randomItem(baseReplies)}, ale mogę Ci zaoferować kupno ${randomItem(offerFrom)} do ${randomItem(offerTo)}.`; - } - - function syncChatPosition() { - if (!backToTop) { - chatRoot.classList.remove("ai-chat--raised"); - return; - } - chatRoot.classList.toggle( - "ai-chat--raised", - backToTop.classList.contains("visible"), - ); - } - - function syncKeyboardOffset() { - if (!viewport) { - chatRoot.style.setProperty("--ai-chat-keyboard-offset", "0px"); - return; - } - const offset = Math.max( - 0, - Math.round(window.innerHeight - viewport.height - viewport.offsetTop), - ); - chatRoot.style.setProperty("--ai-chat-keyboard-offset", `${offset}px`); - } - - fab.addEventListener("click", () => { - if (panel.classList.contains("is-open")) { - closeChat(); - return; - } - openChat(); - }); - - closeBtn.addEventListener("click", closeChat); - sendBtn.addEventListener("pointerdown", (event) => { - // Keep focus on the input so mobile keyboards stay open after sending. - event.preventDefault(); - }); - - form.addEventListener("submit", (event) => { - event.preventDefault(); - const text = input.value.trim(); - if (!text) { - return; - } - addMessage(text, true); - addMessage(buildReply(), false); - input.value = ""; - input.focus({ preventScroll: true }); - }); - - if (backToTop) { - const observer = new MutationObserver(syncChatPosition); - observer.observe(backToTop, { - attributes: true, - attributeFilter: ["class"], - }); - window.addEventListener("resize", syncChatPosition); - } - if (viewport) { - viewport.addEventListener("resize", syncKeyboardOffset); - viewport.addEventListener("scroll", syncKeyboardOffset); - } - window.addEventListener("resize", syncKeyboardOffset); - syncChatPosition(); - syncKeyboardOffset(); -})(); diff --git a/animations.js b/animations.js deleted file mode 100644 index c4bdd03..0000000 --- a/animations.js +++ /dev/null @@ -1,31 +0,0 @@ -(function () { - const backToTopButton = document.getElementById("back-to-top"); - - if (backToTopButton) { - function toggleBackToTop() { - if (window.pageYOffset > 300) { - backToTopButton.classList.add("visible"); - } else { - backToTopButton.classList.remove("visible"); - } - } - - backToTopButton.addEventListener("click", function () { - window.scrollTo({ - top: 0, - behavior: "smooth", - }); - }); - - window.addEventListener("scroll", toggleBackToTop); - - toggleBackToTop(); - } - - const listItems = document.querySelectorAll("li"); - listItems.forEach((item, index) => { - if (!item.style.animationDelay) { - item.style.animationDelay = `${0.1 + index * 0.05}s`; - } - }); -})(); diff --git a/applications.html b/applications.html deleted file mode 100644 index 821b95a..0000000 --- a/applications.html +++ /dev/null @@ -1,202 +0,0 @@ - - - - Krzak.org - Recommended Applications - - - - - - - - - - - - - - - - - - - - -
-

- - krzak.org - - Recommended Apps -

-

- If you know of better applications, let me know! -

- -
-

Fediverse

- -
- -
-

Matrix

- -
- -
-

Music

- -
- -
- - -
- - Indexed by - LibreCounter - - - LibreCounter - -
-
- - - - - - - - - diff --git a/community/index.html b/community/index.html index cd4f59b..847b7a8 100644 --- a/community/index.html +++ b/community/index.html @@ -84,12 +84,6 @@ Safespace ULtd. -
  • - - Fluxer - fluxer.gg/UzaWKyPN - -
  • discord.gg/CY3Zr6baD7
  • -
  • +
  • Back
  • - - - - - - - diff --git a/contact.html b/contact.html index a7799af..5e807be 100644 --- a/contact.html +++ b/contact.html @@ -15,40 +15,30 @@ Krzak.org -

    Contact:

    -
    -

    Support:

    @@ -62,7 +52,13 @@
    - + + Indexed by LibreCounter - - LibreCounter -
    - - - - - - - diff --git a/dc.html b/dc.html deleted file mode 100644 index 8ee4dc9..0000000 --- a/dc.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - Community | Krzak.org - - - - - - -
    -

    - - krzak.org - - Krzak.org -

    -

    Redirecting to the community page...

    -

    - If you are not redirected automatically, open - /community/. -

    - - - -
    - - diff --git a/discord.html b/discord.html deleted file mode 100644 index 425e085..0000000 --- a/discord.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - Community | Krzak.org - - - - - - - - - - - - - - - - - - - - - - - - - -
    -

    - - krzak.org - - Krzak.org -

    -

    Join the community on Discord or Matrix

    - - - - - - - - -
    - - diff --git a/favicons/favicon.svg b/favicons/favicon.svg index 5df6e06..7e11f96 100755 --- a/favicons/favicon.svg +++ b/favicons/favicon.svg @@ -1,11 +1,11 @@ - + - + - \ No newline at end of file + diff --git a/index.html b/index.html index c3ef6c1..1330762 100755 --- a/index.html +++ b/index.html @@ -69,122 +69,117 @@ -
    -

    - - krzak.org - - Krzak.org -

    -

    Hi, welcome to krzak.org

    - -

    - If you want an account on any of these, want to suggest - something new or get a subdomain, just message me -

    +
    +
    +
    + + krzak.org + +
    +

    Krzak.org

    +

    Hi, welcome to krzak.org

    +
    +
    +
    -
    - +
    +

    Main services

    + +
    + +
    +

    Tools

    + +
    + +
    +

    Pages

    + +
    + +
    +

    + If you want an account on any of these, want to suggest + something new or get a subdomain, just message me +

    + +
    + +
    + + Indexed by LibreCounter - - LibreCounter -
    - - - - - - - diff --git a/manifest.json b/manifest.json deleted file mode 100755 index a2ba498..0000000 --- a/manifest.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "Krzak.org", - "short_name": "Krzak", - "icons": [ - { - "src": "/favicons/favicon-192x192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "/favicons/favicon-512x512.png", - "sizes": "512x512", - "type": "image/png" - } - ], - "theme_color": "#2a1a5e", - "background_color": "#2a1a5e", - "display": "standalone" -} diff --git a/mc.html b/mc.html deleted file mode 100644 index 4135cec..0000000 --- a/mc.html +++ /dev/null @@ -1,654 +0,0 @@ - - - - Krzak.org - Minecraft - - - - - - - -
    -

    - - krzak.org - - Krzak.org - Minecraft -

    - -
    -
    -
    - Loading server status... -
    -
    - -
    -

    Instrukcja

    -
      -
    1. Zainstalujcie fabric 1.21.10
    2. -
    3. Zainstalujcie moda AutoModpack
    4. -
    5. - Dołączcie na krzak.org i, kiedy o to zapyta, wklejcie - tekst z pliku automodpack_fingerprint.txt -
    6. -
    -

    Polecam też dodać nasz resourcepack

    -

    - Do skinów polecam ely.by jak ktoś nie ma premium (nie musi) -

    -
    - -
    -
    -
    AutoModpack Fingerprint
    -
    -
    - 3b180a41fe913487c1c86ad79c6dc085d01a272ac2da556f4bf7379ee3a535f8 -
    - -
    -
    -
    - - - - -
    - - Indexed by - LibreCounter - - - LibreCounter - -
    -
    - - - - - - - - - - diff --git a/mc/pack.zip b/mc/pack.zip deleted file mode 100644 index efa09cd..0000000 Binary files a/mc/pack.zip and /dev/null differ diff --git a/n.png b/n.png deleted file mode 100755 index ef001cc..0000000 Binary files a/n.png and /dev/null differ diff --git a/refresh.js b/refresh.js deleted file mode 100644 index 22a8441..0000000 --- a/refresh.js +++ /dev/null @@ -1,72 +0,0 @@ -(function () { - const SSE_PORT = 8765; - const RECONNECT_DELAY = 5000; // milliseconds - - let eventSource = null; - let reconnectTimer = null; - - function reloadStylesheets() { - // Force reload all stylesheets - const links = document.querySelectorAll('link[rel="stylesheet"]'); - links.forEach((link) => { - const href = link.href.split("?")[0]; - link.href = href + "?t=" + new Date().getTime(); - }); - } - - function connect() { - if (reconnectTimer) { - clearTimeout(reconnectTimer); - reconnectTimer = null; - } - - if (eventSource) { - eventSource.close(); - } - - const url = `${window.location.protocol}//${window.location.hostname}:${SSE_PORT}/events`; - eventSource = new EventSource(url); - - eventSource.onmessage = function (event) { - try { - const data = JSON.parse(event.data); - if (data.type === "reload") { - console.log("Repository updated, reloading page..."); - - // First reload stylesheets - reloadStylesheets(); - - // Then hard reload the page after a brief delay - setTimeout(() => { - window.location.reload(true); - }, 100); - } - } catch (e) { - console.error("Error parsing SSE message:", e); - } - }; - - eventSource.onerror = function (error) { - console.log("SSE connection error, will reconnect..."); - eventSource.close(); - // Attempt to reconnect - reconnectTimer = setTimeout(connect, RECONNECT_DELAY); - }; - - eventSource.onopen = function () { - console.log("Connected to auto-refresh service"); - }; - } - - if (document.readyState === "loading") { - document.addEventListener("DOMContentLoaded", connect); - } else { - connect(); - } - - window.addEventListener("beforeunload", function () { - if (eventSource) { - eventSource.close(); - } - }); -})(); diff --git a/sitemap.xml b/sitemap.xml index 8109338..a102788 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1,27 +1,23 @@ - + https://krzak.org/ - 2025-11-19 + 2026-05-05 https://krzak.org/applications.html - 2025-11-19 + 2026-05-05 https://krzak.org/contact.html - 2025-11-19 + 2026-05-05 https://krzak.org/community/ - 2026-02-19 - - - https://krzak.org/discord.html - 2026-02-19 + 2026-05-05 https://krzak.org/mc.html - 2025-11-19 + 2026-05-05 diff --git a/styles.css b/styles.css index 0e1ebff..09897d1 100644 --- a/styles.css +++ b/styles.css @@ -1,26 +1,23 @@ :root { - /* Deep Twilight Palette */ - --bg-gradient-1: #1a103c; - --bg-gradient-2: #4a2c4e; - --bg-gradient-3: #8b4789; - --bg-gradient-4: #f4a261; - - /* Glass Effect Variables */ - --container-bg: rgba(30, 20, 60, 0.65); - --container-border: rgba(255, 255, 255, 0.1); + --bg: #120d22; + --bg-top: #1a1130; + --panel: rgba(28, 20, 53, 0.94); + --panel-soft: rgba(255, 255, 255, 0.025); + --panel-strong: rgba(255, 255, 255, 0.05); + --container-bg: var(--panel); + --container-border: rgba(105, 80, 164, 0.55); --container-highlight: rgba(255, 255, 255, 0.05); - - /* Text & Accents */ - --text-color: #fff0e0; - --text-muted: #d0c0e0; - --accent-color: #f4a261; - --accent-glow: rgba(244, 162, 97, 0.5); - - /* Link Styles */ - --link-bg: rgba(255, 255, 255, 0.05); - --link-hover-bg: rgba(255, 255, 255, 0.1); - --link-border: rgba(255, 255, 255, 0.08); - --link-hover-border: rgba(244, 162, 97, 0.5); + --text-color: #f7ecd6; + --text-muted: #c9bc9b; + --accent-color: #e0a05b; + --accent-glow: rgba(224, 160, 91, 0.2); + --link-bg: var(--panel-soft); + --link-hover-bg: rgba(224, 160, 91, 0.09); + --link-border: rgba(105, 80, 164, 0.45); + --link-hover-border: rgba(224, 160, 91, 0.48); + --success: #8fc17d; + --danger: #ea7a7a; + --shadow: rgba(0, 0, 0, 0.35); } * { @@ -32,1054 +29,458 @@ html { } body { - background: linear-gradient( - -45deg, - var(--bg-gradient-1), - var(--bg-gradient-2), - var(--bg-gradient-3), - var(--bg-gradient-4) - ); - background-size: 400% 400%; - animation: gradientBG 20s ease infinite; - color: var(--text-color); - font-family: - system-ui, - -apple-system, - BlinkMacSystemFont, - "Segoe UI", - Roboto, - "Helvetica Neue", - Arial, - sans-serif; margin: 0; - padding: 20px; min-height: 100vh; + padding: 20px; display: flex; align-items: center; justify-content: center; + background: + radial-gradient( + circle at top left, + rgba(224, 160, 91, 0.08), + transparent 28% + ), + radial-gradient( + circle at top right, + rgba(139, 71, 137, 0.18), + transparent 30% + ), + linear-gradient(180deg, var(--bg-top) 0%, var(--bg) 100%); + color: var(--text-color); + font-family: Georgia, "Times New Roman", serif; overflow-x: hidden; } -body::after { +body::before { content: ""; position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; + inset: 0; pointer-events: none; - z-index: 0; - background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.03'/%3E%3C/svg%3E"); - opacity: 0.5; + background-image: + linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px), + linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px); + background-size: 24px 24px; + mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.55), transparent); +} + +a { + color: inherit; } .container { - background: var(--container-bg); - border-radius: 24px; - padding: 32px; - border: 1px solid var(--container-border); - border-top: 1px solid var(--container-highlight); - backdrop-filter: blur(16px); - -webkit-backdrop-filter: blur(16px); - width: 100%; - max-width: 700px; - margin: auto; - box-shadow: - 0 8px 32px 0 rgba(0, 0, 0, 0.4), - inset 0 0 0 1px rgba(255, 255, 255, 0.05); position: relative; z-index: 1; + width: 100%; + max-width: 720px; + margin: auto; + padding: 28px; + background: linear-gradient( + 180deg, + rgba(29, 21, 55, 0.96), + rgba(18, 13, 35, 0.98) + ); + border: 1px solid var(--container-border); + box-shadow: + 0 18px 45px var(--shadow), + inset 0 1px 0 var(--container-highlight); +} + +.homepage { + max-width: 760px; + background: + radial-gradient( + circle at top left, + rgba(224, 160, 91, 0.1), + transparent 34% + ), + linear-gradient(180deg, rgba(29, 21, 55, 0.96), rgba(18, 13, 35, 0.98)); } h1 { - margin: 0 0 24px 0; - font-size: clamp(2rem, 5vw, 2.5rem); - font-weight: 800; - letter-spacing: -0.02em; - color: var(--text-color); - text-shadow: 0 4px 24px rgba(0, 0, 0, 0.3); + margin: 0 0 18px; display: flex; align-items: center; justify-content: center; gap: 16px; + color: var(--text-color); + font-size: clamp(2rem, 5vw, 2.8rem); + font-weight: 700; + line-height: 1.05; + text-align: center; + letter-spacing: -0.02em; } h2 { - margin-top: 40px; - margin-bottom: 20px; - font-size: 1.5rem; + margin: 0 0 14px; color: var(--accent-color); - border-bottom: 2px solid rgba(244, 162, 97, 0.2); - padding-bottom: 10px; + font-size: 1rem; + font-family: "Courier New", Courier, monospace; + letter-spacing: 0.08em; + text-transform: uppercase; } -.icon { - width: 48px; - height: 48px; - display: flex; - align-items: center; - justify-content: center; - filter: drop-shadow(0 0 8px var(--accent-glow)); - transition: transform 0.5s ease; -} - -h1:hover .icon { - transform: rotate(15deg) scale(1.1); -} - -.icon img { - width: 100%; - height: 100%; - object-fit: contain; +h3, +h4 { + margin: 0 0 10px; + color: var(--accent-color); } p { + margin: 0 0 20px; color: var(--text-muted); - margin: 0 0 24px 0; - font-size: 1.05rem; - line-height: 1.6; + font-size: 1rem; + line-height: 1.65; text-align: center; } +ol, +ul { + margin: 0; + padding-left: 20px; +} + ul { list-style: none; - padding: 0; - margin: 32px 0 0 0; - display: flex; - flex-direction: column; - gap: 16px; + padding-left: 0; + display: grid; + gap: 10px; +} + +li { + margin: 0; } li a { display: flex; justify-content: space-between; align-items: center; - padding: 16px 24px; - border-radius: 16px; + gap: 16px; + padding: 15px 18px; color: var(--text-color); text-decoration: none; - background-color: var(--link-bg); + background: var(--link-bg); border: 1px solid var(--link-border); - transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); - position: relative; - overflow: hidden; - backdrop-filter: blur(4px); -} - -li a::after { - content: ""; - position: absolute; - top: 0; - left: -100%; - width: 50%; - height: 100%; - background: linear-gradient( - 90deg, - transparent, - rgba(255, 255, 255, 0.1), - transparent - ); - transform: skewX(-20deg); - transition: left 0.5s ease; + transition: + transform 0.2s ease, + border-color 0.2s ease, + background 0.2s ease, + box-shadow 0.2s ease; } li a:hover { - transform: translateY(-2px) scale(1.01); - background-color: var(--link-hover-bg); + transform: translateY(-2px); + background: var(--link-hover-bg); border-color: var(--link-hover-border); - box-shadow: - 0 8px 20px rgba(0, 0, 0, 0.2), - 0 0 15px var(--accent-glow); -} - -li a:hover::after { - left: 150%; - transition: left 0.7s ease; -} - -li a:active { - transform: scale(0.98); + box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22); } li a strong { + display: block; + font-size: 1.05rem; font-weight: 600; - font-size: 1.1rem; - letter-spacing: 0.01em; } li a span { - font-weight: 400; + display: block; color: var(--text-muted); - font-size: 0.9rem; - opacity: 0.8; + font-size: 0.92rem; + text-align: right; } -/* LibreCounter */ -.librecounter { - margin-top: 48px; - padding-top: 24px; - border-top: 1px solid rgba(255, 255, 255, 0.1); - display: flex; - flex-direction: column; - align-items: center; - gap: 12px; -} - -.librecounter-text { - color: var(--text-muted); - font-size: 0.85rem; -} - -.librecounter-text a { - color: var(--accent-color); - text-decoration: none; - font-weight: 500; -} - -.librecounter-text a:hover { - text-decoration: underline; - text-shadow: 0 0 8px var(--accent-glow); -} - -.librecounter img { - height: 48px; - opacity: 0.8; - transition: opacity 0.3s ease; -} - -.librecounter:hover img { - opacity: 1; -} - -/* Back to top button */ -.back-to-top { - position: fixed; - bottom: 32px; - right: 32px; +.icon { width: 56px; height: 56px; - border-radius: 50%; - background: rgba(42, 26, 94, 0.8); - border: 1px solid var(--accent-color); - color: var(--accent-color); - cursor: pointer; - display: flex; + padding: 8px; + display: inline-flex; align-items: center; justify-content: center; - opacity: 0; - visibility: hidden; - transform: translateY(20px); - transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); - z-index: 1000; - box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4); + background: rgba(0, 0, 0, 0.22); + border: 1px solid rgba(224, 160, 91, 0.45); + box-shadow: 0 0 28px rgba(224, 160, 91, 0.14); + flex-shrink: 0; } -.back-to-top.visible { - opacity: 1; - visibility: visible; - transform: translateY(0); +.icon img { + width: 100%; + height: 100%; + object-fit: contain; + display: block; } -.back-to-top:hover { - background: var(--bg-gradient-3); - color: #fff; - box-shadow: 0 0 20px var(--accent-glow); - transform: translateY(-4px); -} - -/* Animations */ -@keyframes gradientBG { - 0% { - background-position: 0% 50%; - } - 50% { - background-position: 100% 50%; - } - 100% { - background-position: 0% 50%; - } -} - -@keyframes fadeIn { - from { - opacity: 0; - } - to { - opacity: 1; - } -} - -@keyframes slideDown { - from { - opacity: 0; - transform: translateY(-30px); - } - to { - opacity: 1; - transform: translateY(0); - } -} - -@keyframes slideUp { - from { - opacity: 0; - transform: translateY(30px); - } - to { - opacity: 1; - transform: translateY(0); - } -} - -.fade-in { - animation: fadeIn 0.8s ease-out forwards; -} -.slide-down { - animation: slideDown 0.8s ease-out forwards; -} +.fade-in, +.slide-down, .slide-up { - animation: slideUp 0.8s ease-out forwards; - opacity: 0; + animation: none; + opacity: 1; } -/* Responsive adjustments */ -@media (max-width: 600px) { - .container { - padding: 24px 20px; - } - - h1 { - font-size: 1.75rem; - } - - li a { - padding: 14px 18px; - } +.homepage .icon { + box-shadow: 0 0 28px rgba(224, 160, 91, 0.15); +} + +.hero { + margin-bottom: 24px; +} + +.band { + display: grid; + grid-template-columns: 76px minmax(0, 1fr); + gap: 18px; + align-items: center; +} + +.mark { + width: 64px; + height: 64px; + margin: 0; +} + +.copy { + text-align: left; +} + +.homepage h1 { + margin-bottom: 10px; + justify-content: flex-start; + text-align: left; + font-size: clamp(2.3rem, 5vw, 3.9rem); +} + +.lead { + margin: 0; + text-align: left; + max-width: 42rem; +} + +.box { + margin-top: 18px; + padding: 14px; + border: 1px solid var(--container-border); + background: rgba(255, 255, 255, 0.02); +} + +.links { + margin: 0; + padding: 0; +} + +.links li { + margin: 0; +} + +.link { + border-color: var(--link-border); + background: var(--link-bg); +} + +.link.main { + background: + linear-gradient(135deg, rgba(224, 160, 91, 0.12), transparent 68%), + var(--link-bg); + border-color: rgba(224, 160, 91, 0.32); +} + +.foot { + margin-top: 20px; + padding-top: 18px; + border-top: 1px solid rgba(224, 160, 91, 0.22); +} + +.foot p { + text-align: left; + margin-bottom: 14px; +} + +.support, +.support-row { + display: flex; + justify-content: center; +} + +.support-row { + margin-top: 12px; +} + +.button { + display: inline-flex; + justify-content: center; + align-items: center; + min-width: 220px; + padding: 14px 22px; + color: #221433; + text-decoration: none; + font-weight: 700; + background: linear-gradient(135deg, #e0a05b, #f1ba77); + border: 1px solid rgba(255, 245, 228, 0.4); + box-shadow: + 0 10px 24px rgba(0, 0, 0, 0.25), + inset 0 1px 0 rgba(255, 255, 255, 0.35); + transition: + transform 0.2s ease, + box-shadow 0.2s ease, + filter 0.2s ease; +} + +.button:hover { + transform: translateY(-2px); + filter: brightness(1.04); + box-shadow: + 0 14px 28px rgba(0, 0, 0, 0.3), + inset 0 1px 0 rgba(255, 255, 255, 0.35); +} + +li.support-row a.button, +.support a.button { + justify-content: center; + background: linear-gradient(135deg, #e0a05b, #f1ba77) !important; + border: 1px solid rgba(255, 245, 228, 0.4) !important; + color: #221433 !important; +} + +.matrix-link { + background: + linear-gradient(135deg, rgba(143, 193, 125, 0.12), transparent 70%), + var(--link-bg) !important; + border-color: rgba(143, 193, 125, 0.35) !important; +} + +.discord-link { + background: + linear-gradient(135deg, rgba(114, 137, 218, 0.14), transparent 70%), + var(--link-bg) !important; + border-color: rgba(114, 137, 218, 0.35) !important; } -/* App Gallery Styles */ .app-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); - gap: 16px; - margin-top: 24px; + gap: 14px; + margin-top: 20px; } .app-card { - background: rgba(255, 255, 255, 0.03); - border-radius: 20px; - padding: 24px; - text-align: center; - border: 1px solid var(--link-border); - transition: all 0.3s ease; - text-decoration: none; - color: var(--text-color); display: flex; flex-direction: column; align-items: center; + padding: 20px; + text-align: center; + text-decoration: none; + color: var(--text-color); + background: var(--link-bg); + border: 1px solid var(--link-border); + transition: + transform 0.2s ease, + border-color 0.2s ease, + background 0.2s ease, + box-shadow 0.2s ease; } .app-card:hover { - transform: translateY(-5px); - background: rgba(255, 255, 255, 0.08); - border-color: var(--accent-color); - box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3); + transform: translateY(-2px); + background: var(--link-hover-bg); + border-color: var(--link-hover-border); + box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22); +} + +.app-card.highlighted { + border-color: rgba(224, 160, 91, 0.35); } .app-icon { width: 72px; height: 72px; - border-radius: 18px; + object-fit: contain; margin-bottom: 16px; - box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); -} - -.app-card h4 { - color: var(--accent-color); - margin-bottom: 8px; } .app-card p { - font-size: 0.9rem; - color: var(--text-muted); - margin-bottom: 16px; - flex-grow: 1; - line-height: 1.4; + margin: 0; + font-size: 0.92rem; } -.app-platforms { - display: flex; - flex-wrap: wrap; - gap: 8px; - justify-content: center; -} - -.app-platforms a { - background: rgba(255, 255, 255, 0.1); - border: 1px solid var(--container-border); - color: var(--text-color); - text-decoration: none; - font-size: 0.8rem; - padding: 6px 12px; - border-radius: 12px; - transition: all 0.2s ease; -} - -.app-platforms a:hover { - background: var(--accent-color); - color: #1a103c; - transform: scale(1.05); - box-shadow: 0 0 10px var(--accent-glow); -} - -.app-card.highlighted { - border-color: var(--accent-color); - box-shadow: - 0 0 20px var(--accent-glow), - inset 0 0 20px rgba(244, 162, 97, 0.1); -} - -/* --- Kreatyw Link - AI Powered --- */ -.kreatyw-link { - background: - radial-gradient( - circle at 60px 50%, - #000 0%, - #000 120px, - transparent 250px - ) - padding-box, - linear-gradient(var(--link-bg), var(--link-bg)) padding-box, - linear-gradient(45deg, #ff00ff, #00ffff, #ff00ff) border-box !important; - border: 2px solid transparent !important; - animation: borderRotate 4s linear infinite; - background-size: - 100% 100%, - 100% 100%, - 400% 400% !important; -} - -.kreatyw-link::after { - display: none !important; -} - -@keyframes borderRotate { - 0% { - background-position: - 0 0, - 0 0, - 0% 50%; - } - 50% { - background-position: - 0 0, - 0 0, - 100% 50%; - } - 100% { - background-position: - 0 0, - 0 0, - 0% 50%; - } -} - -.kreatyw-link strong { - color: #fff !important; - display: flex; - align-items: center; - gap: 12px; -} - -.kreatyw-link img { - display: block; - flex-shrink: 0; -} - -.kreatyw-link span { - color: #00ffff !important; - font-weight: 600 !important; - text-shadow: 0 0 10px rgba(0, 255, 255, 0.5); - animation: aiGlow 2s ease-in-out infinite alternate; -} - -@keyframes aiGlow { - from { - opacity: 0.7; - filter: drop-shadow(0 0 2px #00ffff); - } - to { - opacity: 1; - filter: drop-shadow(0 0 8px #00ffff); - } -} - -.kreatyw-link:hover { - animation: borderRotate 1s linear infinite !important; - box-shadow: - 0 0 25px rgba(255, 0, 255, 0.4), - 0 0 50px rgba(0, 255, 255, 0.2) !important; - border-color: transparent !important; -} - -/* --- Support Link - Shimmer Effect --- */ -.support-link { - background: linear-gradient( - 135deg, - var(--accent-color) 0%, - #ff8c42 100% - ) !important; - border: 2px solid rgba(255, 255, 255, 0.4) !important; - position: relative; - overflow: hidden; -} - -.support-link::before { - content: ""; - position: absolute; - top: 0; - left: -100%; - width: 100%; - height: 100%; - background: linear-gradient( - 90deg, - transparent, - rgba(255, 255, 255, 0.4), - transparent - ); - animation: shimmer 2.5s infinite; - z-index: 0; -} - -.support-link::after { - display: none !important; -} - -@keyframes shimmer { - 0% { - left: -100%; - } - 100% { - left: 200%; - } -} - -.support-link:hover { - transform: translateY(-3px) scale(1.01) !important; - box-shadow: 0 10px 40px rgba(244, 162, 97, 0.6) !important; - border-color: rgba(255, 255, 255, 0.6) !important; -} - -.support-link strong, -.support-link span { - color: #1a103c !important; - position: relative; - z-index: 1; -} - -.support-link strong { - font-weight: 700 !important; -} - -.support-link span { - opacity: 0.85 !important; -} - -/* --- Sharkey Link - Fediverse Theme --- */ -.sharkey-link { - background: linear-gradient( - 135deg, - rgba(244, 114, 182, 0.2) 0%, - rgba(139, 92, 246, 0.2) 100% - ) !important; - border: 2px solid rgba(244, 114, 182, 0.4) !important; - position: relative; -} - -.sharkey-link::before { - content: "🦈"; - position: absolute; - left: 20px; - font-size: 1.5rem; - opacity: 0.3; - transition: all 0.3s ease; -} - -.sharkey-link:hover::before { - opacity: 0.6; - transform: scale(1.2) rotate(10deg); -} - -.sharkey-link::after { - background: linear-gradient( - 90deg, - transparent, - rgba(244, 114, 182, 0.3), - transparent - ) !important; -} - -.sharkey-link:hover { - border-color: rgba(244, 114, 182, 0.8) !important; - box-shadow: 0 0 30px rgba(244, 114, 182, 0.4) !important; - background: linear-gradient( - 135deg, - rgba(244, 114, 182, 0.3) 0%, - rgba(139, 92, 246, 0.3) 100% - ) !important; -} - -.sharkey-link strong { - color: #fbbf24 !important; -} - -.sharkey-link span { - color: #f472b6 !important; -} - -/* --- Music Link - Audio Wave Theme --- */ -.music-link { - background: linear-gradient( - 135deg, - rgba(168, 85, 247, 0.2) 0%, - rgba(236, 72, 153, 0.2) 100% - ) !important; - border: 2px solid rgba(168, 85, 247, 0.4) !important; - position: relative; -} - -.music-link::before { - content: ""; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: linear-gradient( - 90deg, - transparent 0%, - rgba(168, 85, 247, 0.1) 25%, - transparent 50%, - rgba(236, 72, 153, 0.1) 75%, - transparent 100% - ); - background-size: 200% 100%; - animation: musicPulse 3s ease-in-out infinite; - z-index: 0; -} - -@keyframes musicPulse { - 0%, - 100% { - background-position: 0% 50%; - } - 50% { - background-position: 100% 50%; - } -} - -.music-link::after { - background: linear-gradient( - 90deg, - transparent, - rgba(168, 85, 247, 0.3), - transparent - ) !important; -} - -.music-link:hover { - border-color: rgba(168, 85, 247, 0.8) !important; - box-shadow: 0 0 30px rgba(168, 85, 247, 0.5) !important; - background: linear-gradient( - 135deg, - rgba(168, 85, 247, 0.3) 0%, - rgba(236, 72, 153, 0.3) 100% - ) !important; -} - -.music-link strong, -.music-link span { - position: relative; - z-index: 1; -} - -.music-link strong { - color: #c084fc !important; -} - -.music-link span { - color: #ec4899 !important; -} - -/* --- Discord Link - Gaming Theme --- */ -.discord-link { - background: linear-gradient( - 135deg, - rgba(88, 101, 242, 0.2) 0%, - rgba(114, 137, 218, 0.2) 100% - ) !important; - border: 2px solid rgba(88, 101, 242, 0.4) !important; - position: relative; -} - -.discord-link::before { - content: ""; - position: absolute; - top: 50%; - left: 50%; - width: 0; - height: 0; - border-radius: 50%; - background: radial-gradient( - circle, - rgba(88, 101, 242, 0.3) 0%, - transparent 70% - ); - transform: translate(-50%, -50%); - transition: all 0.5s ease; -} - -.discord-link:hover::before { - width: 300px; - height: 300px; -} - -.discord-link::after { - background: linear-gradient( - 90deg, - transparent, - rgba(114, 137, 218, 0.3), - transparent - ) !important; -} - -.discord-link:hover { - border-color: rgba(88, 101, 242, 0.8) !important; - box-shadow: 0 0 30px rgba(88, 101, 242, 0.5) !important; - background: linear-gradient( - 135deg, - rgba(88, 101, 242, 0.3) 0%, - rgba(114, 137, 218, 0.3) 100% - ) !important; -} - -.discord-link strong { - color: #7289da !important; - position: relative; - z-index: 1; -} - -/* --- Matrix Link - Highlighted Primary --- */ -.matrix-link { - background: linear-gradient( - 135deg, - rgba(76, 175, 80, 0.28) 0%, - rgba(139, 195, 74, 0.24) 100% - ) !important; - border: 2px solid rgba(139, 195, 74, 0.7) !important; - position: relative; - box-shadow: 0 0 25px rgba(139, 195, 74, 0.35) !important; -} - -.matrix-link::after { - background: linear-gradient( - 90deg, - transparent, - rgba(197, 225, 165, 0.4), - transparent - ) !important; -} - -.matrix-link:hover { - border-color: rgba(197, 225, 165, 0.95) !important; - box-shadow: 0 0 36px rgba(139, 195, 74, 0.55) !important; - background: linear-gradient( - 135deg, - rgba(76, 175, 80, 0.38) 0%, - rgba(139, 195, 74, 0.34) 100% - ) !important; -} - -.matrix-link strong { - color: #dcedc8 !important; -} - -.matrix-link span { - color: #f1f8e9 !important; - opacity: 0.95 !important; -} - -/* --- Applications Link - App Grid Theme --- */ -.applications-link { - background: linear-gradient( - 135deg, - rgba(59, 130, 246, 0.2) 0%, - rgba(16, 185, 129, 0.2) 100% - ) !important; - border: 2px solid rgba(59, 130, 246, 0.4) !important; - position: relative; -} - -.applications-link::before { - content: ""; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background-image: - linear-gradient( - 45deg, - transparent 48%, - rgba(59, 130, 246, 0.1) 49%, - rgba(59, 130, 246, 0.1) 51%, - transparent 52% - ), - linear-gradient( - -45deg, - transparent 48%, - rgba(16, 185, 129, 0.1) 49%, - rgba(16, 185, 129, 0.1) 51%, - transparent 52% - ); - background-size: 20px 20px; - opacity: 0; - transition: opacity 0.3s ease; - z-index: 0; -} - -.applications-link:hover::before { - opacity: 1; -} - -.applications-link::after { - background: linear-gradient( - 90deg, - transparent, - rgba(59, 130, 246, 0.3), - transparent - ) !important; -} - -.applications-link:hover { - border-color: rgba(59, 130, 246, 0.8) !important; - box-shadow: 0 0 30px rgba(59, 130, 246, 0.4) !important; - background: linear-gradient( - 135deg, - rgba(59, 130, 246, 0.3) 0%, - rgba(16, 185, 129, 0.3) 100% - ) !important; -} - -.applications-link strong { - color: #3b82f6 !important; - position: relative; - z-index: 1; -} - -/* --- Search Link - Deep Twilight Theme --- */ -.search-link { - background: linear-gradient( - 135deg, - rgba(244, 162, 97, 0.1) 0%, - rgba(244, 162, 97, 0.05) 100% - ) !important; - border: 2px solid rgba(244, 162, 97, 0.2) !important; - position: relative; - box-shadow: 0 0 15px rgba(244, 162, 97, 0.1) !important; -} - -.search-link::after { - background: linear-gradient( - 90deg, - transparent, - rgba(244, 162, 97, 0.2), - transparent - ) !important; -} - -.search-link:hover { - border-color: #f4a261 !important; - box-shadow: 0 4px 20px rgba(244, 162, 97, 0.4) !important; - transform: translateY(-2px) scale(1.01) !important; - background: linear-gradient( - 135deg, - rgba(244, 162, 97, 0.15) 0%, - rgba(244, 162, 97, 0.1) 100% - ) !important; -} - -.search-link strong { - color: #f4a261 !important; - position: relative; - z-index: 1; -} - -.search-link span { - color: #ffd0a0 !important; - opacity: 0.9 !important; -} - -/* Floating AI chat joke widget */ -.ai-chat { - position: fixed; - right: 24px; - bottom: calc(24px + var(--ai-chat-keyboard-offset, 0px)); - z-index: 1100; - transition: bottom 0.25s ease; - font-family: - system-ui, - -apple-system, - BlinkMacSystemFont, - "Segoe UI", - Roboto, - "Helvetica Neue", - Arial, - sans-serif; -} - -.ai-chat.ai-chat--raised { - bottom: calc(96px + var(--ai-chat-keyboard-offset, 0px)); -} - -.ai-chat__fab { - border: 1px solid var(--accent-color); - background: rgba(26, 16, 60, 0.92); - color: var(--text-color); - border-radius: 999px; - height: 52px; - min-width: 110px; - padding: 0 18px; - font-weight: 700; - cursor: pointer; - box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35); -} - -.ai-chat__fab:hover { - box-shadow: 0 0 18px var(--accent-glow); -} - -.ai-chat__panel { - position: absolute; - right: 0; - bottom: 64px; - width: min(90vw, 340px); - background: rgba(30, 20, 60, 0.92); - border: 1px solid var(--container-border); - border-radius: 16px; - backdrop-filter: blur(12px); - -webkit-backdrop-filter: blur(12px); - box-shadow: 0 12px 30px rgba(0, 0, 0, 0.4); - display: none; - overflow: hidden; -} - -.ai-chat__panel.is-open { - display: block; -} - -.ai-chat__header { - display: flex; - align-items: center; - justify-content: space-between; - padding: 12px 14px; - border-bottom: 1px solid rgba(255, 255, 255, 0.08); - color: var(--accent-color); -} - -.ai-chat__close { - border: 0; - background: transparent; - color: var(--text-muted); - cursor: pointer; - font-size: 1rem; - font-weight: 700; -} - -.ai-chat__messages { - max-height: 300px; - overflow-y: auto; - padding: 12px; +.librecounter { + margin-top: 18px; + padding-top: 12px; + border-top: 1px solid rgba(255, 255, 255, 0.08); display: flex; flex-direction: column; - gap: 8px; + align-items: center; + gap: 2px; } -.ai-chat__bubble { - margin: 0; - padding: 10px 12px; - border-radius: 12px; - background: rgba(255, 255, 255, 0.08); - color: var(--text-color); - font-size: 0.92rem; - line-height: 1.35; - text-align: left; -} - -.ai-chat__bubble--user { - background: rgba(244, 162, 97, 0.2); - border: 1px solid rgba(244, 162, 97, 0.35); -} - -.ai-chat__form { - display: flex; - gap: 8px; - padding: 12px; - border-top: 1px solid rgba(255, 255, 255, 0.08); -} - -.ai-chat__input { - flex: 1; - min-width: 0; - border-radius: 10px; - border: 1px solid rgba(255, 255, 255, 0.15); - background: rgba(255, 255, 255, 0.05); - color: var(--text-color); - padding: 10px; -} - -.ai-chat__input::placeholder { +.counter { color: var(--text-muted); + font-size: 0.86rem; } -.ai-chat__send { - border: 1px solid var(--accent-color); - background: var(--accent-color); - color: #1a103c; - border-radius: 10px; - padding: 10px 12px; - font-weight: 700; - cursor: pointer; +.counter a { + color: var(--accent-color); + text-decoration: none; } -@media (max-width: 600px) { - .ai-chat { - right: 14px; - bottom: calc(14px + var(--ai-chat-keyboard-offset, 0px)); +.counter a:hover { + text-decoration: underline; +} + +.librecounter img { + height: 44px; + opacity: 0.9; +} + +.librecounter img[width="0"] { + display: block; + width: 0; + height: 0; + opacity: 0; +} + +.back-to-top, +.ai-chat { + display: none !important; +} + +@media (max-width: 700px) { + body { + padding: 12px; } - .ai-chat.ai-chat--raised { - bottom: calc(82px + var(--ai-chat-keyboard-offset, 0px)); + .container { + padding: 20px 16px; } - .ai-chat__panel { - position: fixed; - top: 0; - right: 0; - left: 0; - bottom: var(--ai-chat-keyboard-offset, 0px); - width: 100vw; - max-width: none; - border-radius: 0; + h1 { + font-size: 1.9rem; } - .ai-chat__panel.is-open { - display: flex; - flex-direction: column; + li a, + .link { + display: grid; + justify-content: stretch; } - .ai-chat__messages { - flex: 1; - max-height: none; + li a span, + .link span { + text-align: left; + } + + .band { + grid-template-columns: 1fr; + text-align: center; + } + + .mark { + margin: 0 auto; + } + + .homepage h1, + .lead, + .foot p { + text-align: center; + justify-content: center; + } + + .app-gallery { + grid-template-columns: 1fr; } } diff --git a/thingy.html b/thingy.html deleted file mode 100644 index bfbd45c..0000000 --- a/thingy.html +++ /dev/null @@ -1,437 +0,0 @@ - - - - Krzak.org - Portal - - - - -
    -
    - - - - - - - - - -
    - - - - - - -

    Welcome to Krzak.org

    - Logged in as: Guest -
    - - -
    - - ++ WELCOME TO THE NETWORK ++ UPDATES: MINECRAFT - SERVER 1.21.10 LIVE ++ CHECK OUT THE NEW APPS - SECTION ++ - -
    - -

    - Hi, welcome to krzak.org. This is my personal corner - of the interwebs. -
    - Use the navigation on the left to explore my - services. -

    - - -
    - :: LATEST NEWS :: -
      -
    • - Added - Recommended Applications - page. -
    • -
    • - Updated Minecraft server to Fabric 1.21.10. -
    • -
    • Fixed RSS feed integration.
    • -
    -
    - - - :: QUICK LINKS :: - - - - - - -
    - -
    - PASTE
    - Opengist -
    -
    -
    - -
    - SHARE
    - FilePizza -
    -
    -
    - -
    - LINK
    - Shlink -
    -
    -
    - -
    -

    - If you want an account on any of these, want to - suggest something new or get a subdomain, just - message me. -

    - -
    - - -
    -
    - - - - -