From 98ca0cdbc060ecacb876c57319272c5cbd042eb4 Mon Sep 17 00:00:00 2001 From: "N0\\A" Date: Tue, 7 Jul 2026 08:04:07 +0200 Subject: [PATCH] Old browsers --- bg_glows.png | Bin 0 -> 34727 bytes bg_gradient.png | Bin 0 -> 160 bytes btn_bg.png | Bin 0 -> 142 bytes community/index.html | 141 +++++------ contact.html | 116 ++++----- generate_bgs.py | 75 ++++++ generate_extras.py | 31 +++ grid.png | Bin 0 -> 98 bytes icon_bg.png | Bin 0 -> 394 bytes index.html | 318 +++++++++++-------------- styles.css | 549 ++++++++++++------------------------------- 11 files changed, 507 insertions(+), 723 deletions(-) create mode 100644 bg_glows.png create mode 100644 bg_gradient.png create mode 100644 btn_bg.png create mode 100644 generate_bgs.py create mode 100644 generate_extras.py create mode 100644 grid.png create mode 100644 icon_bg.png diff --git a/bg_glows.png b/bg_glows.png new file mode 100644 index 0000000000000000000000000000000000000000..1f2d3faf8dc111cf7e77e81b6b717624905d84ec GIT binary patch literal 34727 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 literal 0 HcmV?d00001 diff --git a/bg_gradient.png b/bg_gradient.png new file mode 100644 index 0000000000000000000000000000000000000000..ac5488bec632d4da2b930bb4fddfa1bdb0f7f866 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^j0_Cy7dV)Jte#DaZUL!uPZ!6KiaBquZ{%b!OyyDUpzvtdj_J>vT_o}R2#ZwJVMptNi+=9A>Yep&HEOS( zyT;aCf3@tHgY|s;cYP*peZGZR{B6mP^VVCK!^5m2tNY@@tR)^YTkg?(pyp__5@;oZ Mr>mdKI;Vst0G6mc$p8QV literal 0 HcmV?d00001 diff --git a/btn_bg.png b/btn_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..30f146b55afea79fcc5f5947f18eaf41c2fee08b GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!2~2v_?q$LVffg`$y85}Sb4q9e0D!bMiU0rr literal 0 HcmV?d00001 diff --git a/community/index.html b/community/index.html index 847b7a8..d03a205 100644 --- a/community/index.html +++ b/community/index.html @@ -1,104 +1,69 @@ - + Community | Krzak.org - - + + - - - - - - - - + + + + + + + + - - + + - - + + - + -
-

- - krzak.org - - Krzak.org -

-

Join the community on Discord or Matrix

- +
+
+
+ + + + + +
+
+ krzak.org +
+
+

Krzak.org

+
+

Join the community on Discord or Matrix

+ +
diff --git a/contact.html b/contact.html index 5e807be..f2f21ee 100644 --- a/contact.html +++ b/contact.html @@ -1,71 +1,71 @@ - + - - Krzak.org - Contact - + + + - +
+ -
- - - Indexed by - LibreCounter - +
+ + + Indexed by + LibreCounter + +
diff --git a/generate_bgs.py b/generate_bgs.py new file mode 100644 index 0000000..56c77d0 --- /dev/null +++ b/generate_bgs.py @@ -0,0 +1,75 @@ +from PIL import Image, ImageDraw + +def hex_to_rgb(hex_code): + hex_code = hex_code.lstrip('#') + return tuple(int(hex_code[i:i+2], 16) for i in (0, 2, 4)) + +# 1. Vertical Gradient +h = 2000 +img = Image.new('RGB', (1, h)) +draw = ImageDraw.Draw(img) + +color_top = hex_to_rgb('#1a1130') +color_bottom = hex_to_rgb('#120d22') + +for y in range(h): + r = int(color_top[0] + (color_bottom[0] - color_top[0]) * (y / h)) + g = int(color_top[1] + (color_bottom[1] - color_top[1]) * (y / h)) + b = int(color_top[2] + (color_bottom[2] - color_top[2]) * (y / h)) + draw.point((0, y), fill=(r, g, b)) + +img.save('bg_gradient.png') + +# 2. Top-Left and Top-Right Glows (Large image, say 2000x800) +w_glow, h_glow = 2000, 800 +img_glow = Image.new('RGBA', (w_glow, h_glow), (0, 0, 0, 0)) +draw_glow = ImageDraw.Draw(img_glow) + +# Top left glow: #e0a05b 8% opacity, transparent at 28% +# Top right glow: #8b4789 18% opacity, transparent at 30% +# We'll just approximate it. +center_left = (0, 0) +radius_left = 600 + +center_right = (2000, 0) +radius_right = 650 + +for y in range(h_glow): + for x in range(w_glow): + # Left + dist_left = ((x - center_left[0])**2 + (y - center_left[1])**2)**0.5 + alpha_left = 0 + if dist_left < radius_left: + alpha_left = int(255 * 0.08 * (1 - dist_left / radius_left)) + + # Right + dist_right = ((x - center_right[0])**2 + (y - center_right[1])**2)**0.5 + alpha_right = 0 + if dist_right < radius_right: + alpha_right = int(255 * 0.18 * (1 - dist_right / radius_right)) + + r, g, b, a = 0, 0, 0, 0 + if alpha_left > alpha_right: + r, g, b, a = 224, 160, 91, alpha_left + elif alpha_right > 0: + r, g, b, a = 139, 71, 137, alpha_right + + if a > 0: + draw_glow.point((x, y), fill=(r, g, b, a)) + +img_glow.save('bg_glows.png') + +# 3. Button Background (since linear-gradients are not in CSS2) +# Button linear-gradient(135deg, #e0a05b, #f1ba77) +# Let's just make a small 10x100 vertical gradient for button that can be repeated horizontally +img_btn = Image.new('RGB', (1, 100)) +draw_btn = ImageDraw.Draw(img_btn) +c1 = hex_to_rgb('#e0a05b') +c2 = hex_to_rgb('#f1ba77') +for y in range(100): + r = int(c1[0] + (c2[0] - c1[0]) * (y / 100)) + g = int(c1[1] + (c2[1] - c1[1]) * (y / 100)) + b = int(c1[2] + (c2[2] - c1[2]) * (y / 100)) + draw_btn.point((0, y), fill=(r, g, b)) +img_btn.save('btn_bg.png') + diff --git a/generate_extras.py b/generate_extras.py new file mode 100644 index 0000000..e0201c9 --- /dev/null +++ b/generate_extras.py @@ -0,0 +1,31 @@ +from PIL import Image, ImageDraw + +# 1. Generate icon_bg.png (56x56) +img_icon = Image.new('RGBA', (56, 56), (0, 0, 0, 0)) +draw = ImageDraw.Draw(img_icon) + +# Fill circle +# circle bounding box: [0, 0, 55, 55] +# color: rgba(0,0,0, 0.22) => alpha = int(0.22 * 255) = 56 +draw.ellipse([0, 0, 55, 55], fill=(0, 0, 0, 56)) + +# Outline circle +# color: rgba(224, 160, 91, 0.45) => alpha = int(0.45 * 255) = 115 +draw.ellipse([0, 0, 55, 55], outline=(224, 160, 91, 115), width=1) + +img_icon.save('icon_bg.png') + +# 2. Generate grid.png (24x24) +# 1px top and left lines, rgba(255, 255, 255, 0.02) +# Wait, 0.02 is very faint (alpha = 5). Let's make it alpha=8 for visibility. +img_grid = Image.new('RGBA', (24, 24), (0, 0, 0, 0)) +draw_grid = ImageDraw.Draw(img_grid) + +line_color = (255, 255, 255, 8) +# Left line +draw_grid.line([(0, 0), (0, 23)], fill=line_color, width=1) +# Top line +draw_grid.line([(0, 0), (23, 0)], fill=line_color, width=1) + +img_grid.save('grid.png') + diff --git a/grid.png b/grid.png new file mode 100644 index 0000000000000000000000000000000000000000..67332bf1e6b0e7bb543198532062577d51346f50 GIT binary patch literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gjnw~C>Ar*6y|NQ@N&(5sNxK=k| q(b9*D#d@L)vJS3bg)%rcF);MKX0xcD%f|`S#Ng@b=d#Wzp$P!cz8rJ_ literal 0 HcmV?d00001 diff --git a/icon_bg.png b/icon_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..71ef0294bfc59f1a18689d547de03707cf2f0d71 GIT binary patch literal 394 zcmV;50d@X~P)3cWZT5_Vs)KXCPU3veMgePugK!{&fVIOxQjp0Ol^zmM ziakio;vb+iI7kT6R*Oot2caz5F(}<01Y5LWP>Vgt(V`85nxh`D)As%yv#+C9Z?FMM zPXm;m1}HrZP*Y(-8ROTff1#FHkx*0JXh`$H|iogHDk}JU6ss&?&G;O?_<{ zbb>90X7;2(X^^pn1bZzCkzz5mP7*a(J0xdUCfTC3LUI>@+A0@OK<6?ZDx`Ov5*60D o5KCM{=Snk<+NJbRYWQ2h7d}J&KhGIhS^xk507*qoM6N<$f@AWel>h($ literal 0 HcmV?d00001 diff --git a/index.html b/index.html index a664b6d..6057051 100755 --- a/index.html +++ b/index.html @@ -1,203 +1,157 @@ - + Krzak.org - - + + - - - - - - - - + + + + + + + + - - + + - - + + - + - - + + -
-
-
- - krzak.org - -
-

Krzak.org

-

Hi, welcome to krzak.org

+
+
+
+
+ + + + + +
+
+ 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 +

+
-
-
-

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 -

-
- - Support Krzak.org - +
+ + + Indexed by + LibreCounter +
-
- -
- - - Indexed by - LibreCounter -
diff --git a/styles.css b/styles.css index 973cd77..dd63680 100644 --- a/styles.css +++ b/styles.css @@ -1,67 +1,37 @@ -:root { - --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-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); -} +/* CSS 2 styles for Krzak.org */ * { - box-sizing: border-box; + margin: 0; + padding: 0; } -html { - scroll-behavior: smooth; +html, body { + height: 100%; } body { - margin: 0; - 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); + background-color: #120d22; + background-image: url('bg_gradient.png'); + background-repeat: repeat-x; + background-attachment: fixed; + color: #f7ecd6; font-family: Georgia, "Times New Roman", serif; - overflow-x: hidden; + font-size: 16px; } -body::before { - content: ""; - position: fixed; - inset: 0; - pointer-events: none; - 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); +.bg-glow { + min-height: 100%; + background-image: url('bg_glows.png'); + background-repeat: no-repeat; + background-position: top center; + background-attachment: fixed; +} + +.bg-grid { + min-height: 100%; + padding: 20px 0; + background-image: url('grid.png'); + background-repeat: repeat; } a { @@ -69,222 +39,146 @@ a { } .container { + max-width: 664px; /* Total 720 with padding */ + margin: 0 auto; + padding: 28px; + background-color: #1a1130; + border: 1px solid #4a3875; 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)); +/* Header layout using tables */ +table.header-table { + width: 100%; + margin-bottom: 24px; + border-collapse: collapse; +} + +table.header-table td { + vertical-align: middle; +} + +td.mark-cell { + width: 76px; +} + +.icon { + display: block; + padding: 0; + margin: 0; + background: transparent; + border: none; +} + +.icon img { + height: 56px; + width: auto; + border: 0; + display: block; +} + +td.copy { + text-align: left; + padding-left: 18px; } h1 { - 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); + margin: 0 0 10px; + color: #f7ecd6; + font-size: 2.8em; font-weight: 700; line-height: 1.05; - text-align: center; + text-align: left; letter-spacing: -0.02em; } h2 { margin: 0 0 14px; - color: var(--accent-color); - font-size: 1rem; + color: #e0a05b; + font-size: 1em; font-family: "Courier New", Courier, monospace; letter-spacing: 0.08em; text-transform: uppercase; } -h3, -h4 { - margin: 0 0 10px; - color: var(--accent-color); -} - p { margin: 0 0 20px; - color: var(--text-muted); - font-size: 1rem; + color: #c9bc9b; + font-size: 1em; line-height: 1.65; text-align: center; } -ol, -ul { - margin: 0; - padding-left: 20px; -} - -ul { - list-style: none; - padding-left: 0; - display: grid; - gap: 10px; -} - -li { - margin: 0; -} - -li a { - display: flex; - justify-content: space-between; - align-items: center; - gap: 16px; - padding: 15px 18px; - color: var(--text-color); - text-decoration: none; - 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; -} - -li a:hover { - 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); -} - -li a strong { - display: block; - font-size: 1.05rem; - font-weight: 600; -} - -li a span { - display: block; - color: var(--text-muted); - font-size: 0.92rem; - text-align: right; -} - -.icon { - width: 56px; - height: 56px; - padding: 8px; - display: inline-flex; - align-items: center; - justify-content: center; - 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; -} - -.icon img { - width: 100%; - height: 100%; - object-fit: contain; - display: block; -} - -.fade-in, -.slide-down, -.slide-up { - animation: none; - opacity: 1; -} - -.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); + border: 1px solid #4a3875; + background-color: #1c1435; } -.links { +ul.links { + list-style: none; margin: 0; padding: 0; } -.links li { - margin: 0; +ul.links li { + margin: 0 0 10px 0; + padding: 0; } -.link { - border-color: var(--link-border); - background: var(--link-bg); +a.link { + display: block; + padding: 15px 18px; + color: #f7ecd6; + text-decoration: none; + background-color: #20173d; + border: 1px solid #4a3875; } -.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); +a.link:hover { + background-color: #271a3d; + border-color: #70502e; } +a.link.main { + background-color: #2e1d32; + border-color: #70502e; +} + +a.link strong { + font-size: 1.05em; + font-weight: bold; +} + +a.link span { + float: right; + color: #c9bc9b; + font-size: 0.92em; + margin-top: 2px; +} + +.clearfix:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} + +/* * html hack for IE6 clearfix */ +* html .clearfix { height: 1%; } + .foot { margin-top: 20px; padding-top: 18px; - border-top: 1px solid rgba(224, 160, 91, 0.22); + border-top: 1px solid #4a3875; } .foot p { @@ -292,130 +186,43 @@ li a span { 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 { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); - gap: 14px; - margin-top: 20px; -} - -.app-card { - display: flex; - flex-direction: column; - align-items: center; - padding: 20px; +.support { text-align: center; +} + +a.button { + display: inline-block; + padding: 14px 22px; + color: #221433 !important; 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; + font-weight: bold; + background-image: url('btn_bg.png'); + background-repeat: repeat-x; + background-color: #e0a05b; + border: 1px solid #fff5e4; } -.app-card:hover { - 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; - object-fit: contain; - margin-bottom: 16px; -} - -.app-card p { - margin: 0; - font-size: 0.92rem; +a.button:hover { + background-color: #f1ba77; + background-position: 0 -10px; } .librecounter { margin-top: 18px; padding-top: 12px; - border-top: 1px solid rgba(255, 255, 255, 0.08); - display: flex; - flex-direction: column; - align-items: center; - gap: 2px; + border-top: 1px solid #33264d; + text-align: center; } .counter { - color: var(--text-muted); - font-size: 0.86rem; + color: #c9bc9b; + font-size: 0.86em; + display: block; + margin-top: 5px; } .counter a { - color: var(--accent-color); + color: #e0a05b; text-decoration: none; } @@ -423,75 +230,27 @@ li.support-row a.button, text-decoration: underline; } -.experimental { - display: inline-block; +a.link span.experimental { font-size: 0.7em; - font-weight: 600; - letter-spacing: 0.05em; + font-weight: bold; text-transform: uppercase; - color: var(--accent-color); - vertical-align: middle; + color: #e0a05b; margin-left: 4px; + float: none; + margin-top: 0; +} + +.matrix-link { + background-color: #19271c !important; + border-color: #3b5032 !important; +} + +.discord-link { + background-color: #191c30 !important; + border-color: #2d3655 !important; } .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; - } - - .container { - padding: 20px 16px; - } - - h1 { - font-size: 1.9rem; - } - - li a, - .link { - display: grid; - justify-content: stretch; - } - - 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; - } + border: 0; }