diff options
| author | sillylaird <sillylaird@fastmail.ca> | 2026-02-03 21:27:57 -0500 |
|---|---|---|
| committer | sillylaird <sillylaird@fastmail.ca> | 2026-02-03 21:27:57 -0500 |
| commit | 720d752748b793a2f5cf3cc14cb75ad86e8919c0 (patch) | |
| tree | 29120103307cb17e7d6c283cc198ec2484f934cd /assets/css | |
First commit
Diffstat (limited to 'assets/css')
31 files changed, 1823 insertions, 0 deletions
diff --git a/assets/css/inline-attrs.css b/assets/css/inline-attrs.css new file mode 100644 index 0000000..2dce580 --- /dev/null +++ b/assets/css/inline-attrs.css @@ -0,0 +1,31 @@ +.s1da9facb4d{margin:0;} +.s6e250fe32e{border:none;border-top:1px solid #caa;margin:1rem 0;} +.s2a2536eebb{margin: 15px 0;} +.sd078564312{border:1px solid #ffd; display:block; margin-bottom:6px;} +.sd82634530e{background: transparent; + border:1px solid transparent; + color:#3a2a00; + padding:10px; + width:100%; + border-radius:4px;} +.sefd85b92cb{display: flex; flex-direction: column; gap: 20px;} +.s0b3fba4969{border: 1px solid var(--border); border-radius: var(--r);} +.see3e7269f8{height:700px; border: 1px solid var(--border); border-radius: var(--r);} +.s9572e08b37{width:150px;opacity:0.7;} +.se7f7a3d62d{border:1px solid var(--border);border-radius:var(--r);padding:var(--space-md);background:var(--bg);overflow:auto;} +.s06eeebc88f{max-width: 100%; height: auto;} +.s386d82bd1c{height:1100px;} +.s7e8ca45906{font-size: 50px;} +.s0667eb5585{max-width:160px;border:1px solid var(--border);border-radius:var(--r);background:var(--bg);} +.sed328f664c{min-height:360px;} +.s63501a3337{border:1px solid var(--border);border-radius:var(--r);background:var(--bg);} +.saf481e1471{width:100%;max-width:560px;height:315px;border:1px solid var(--border);border-radius:var(--r);} +.sb83d4c5326{max-width:720px;margin:0 auto;border:1px solid var(--border);border-radius:var(--r);background:var(--bg);} +.sd1a2ffa0b4{text-align:center;margin-top:var(--space-md);} +.sdac4fe6c9b{text-align:center;} +.sfed215d685{max-width:420px;margin:0 auto;border:1px solid var(--border);border-radius:var(--r);background:var(--bg);} +.s16a8a8b00c{overflow:auto;} +.s473e6bbfeb{width:100%;border-collapse:collapse;} +.sf2e940dbbf{text-align:left;border-bottom:1px solid var(--border);padding:8px;} +.s6f279abaab{padding:8px;border-bottom:1px dotted var(--border);} +.s44cd1236df{padding:8px;} diff --git a/assets/css/pages/404.css b/assets/css/pages/404.css new file mode 100644 index 0000000..7939cc1 --- /dev/null +++ b/assets/css/pages/404.css @@ -0,0 +1,12 @@ +/* Minimal fallback if CSS fails to load */ + body{margin:0;background:#ffd;color:#000;font-family:system-ui,Segoe UI,Arial,sans-serif;line-height:1.6;} + .wrap{max-width:960px;margin:0 auto;padding:1.35rem 1rem 2.5rem;} + .card{border:1px solid #caa;border-radius:6px;padding:1rem;background:#ffd;} + .top{display:flex;gap:12px;align-items:center;margin-bottom:1rem;} + .top img{width:48px;height:48px;border:2px solid #000;border-radius:6px;} + .top a:hover img{border-color:#d22;} + a{color:#d22;text-decoration:none;transition:0.1s;} + a:hover{background:#d22;color:#000 !important;} + .muted{color:#333;font-size:.9rem;} + .links{margin:1rem 0 0 0;} + .links a{display:inline-block;margin:0 .25rem .5rem 0;padding:2px 4px;border-radius:4px;} diff --git a/assets/css/pages/50x.css b/assets/css/pages/50x.css new file mode 100644 index 0000000..cc573de --- /dev/null +++ b/assets/css/pages/50x.css @@ -0,0 +1,9 @@ +body{margin:0;background:#ffd;color:#000;font-family:system-ui,Segoe UI,Arial,sans-serif;line-height:1.6;} + .wrap{max-width:960px;margin:0 auto;padding:1.35rem 1rem 2.5rem;} + .card{border:1px solid #caa;border-radius:6px;padding:1rem;background:#ffd;} + .top{display:flex;gap:12px;align-items:center;margin-bottom:1rem;} + .top img{width:48px;height:48px;border:2px solid #000;border-radius:6px;} + .top a:hover img{border-color:#d22;} + a{color:#d22;text-decoration:none;transition:0.1s;} + a:hover{background:#d22;color:#000 !important;} + .muted{color:#333;font-size:.9rem;} diff --git a/assets/css/pages/articles-2023-04-10.css b/assets/css/pages/articles-2023-04-10.css new file mode 100644 index 0000000..1818de4 --- /dev/null +++ b/assets/css/pages/articles-2023-04-10.css @@ -0,0 +1 @@ +kbd{ border:1px solid var(--border); border-radius:4px; padding:0 6px; background: #fff; } diff --git a/assets/css/pages/articles-2023-04-10_jp.css b/assets/css/pages/articles-2023-04-10_jp.css new file mode 100644 index 0000000..1818de4 --- /dev/null +++ b/assets/css/pages/articles-2023-04-10_jp.css @@ -0,0 +1 @@ +kbd{ border:1px solid var(--border); border-radius:4px; padding:0 6px; background: #fff; } diff --git a/assets/css/pages/articles-2023-04-10_zh.css b/assets/css/pages/articles-2023-04-10_zh.css new file mode 100644 index 0000000..1818de4 --- /dev/null +++ b/assets/css/pages/articles-2023-04-10_zh.css @@ -0,0 +1 @@ +kbd{ border:1px solid var(--border); border-radius:4px; padding:0 6px; background: #fff; } diff --git a/assets/css/pages/articles-runescape.css b/assets/css/pages/articles-runescape.css new file mode 100644 index 0000000..1818de4 --- /dev/null +++ b/assets/css/pages/articles-runescape.css @@ -0,0 +1 @@ +kbd{ border:1px solid var(--border); border-radius:4px; padding:0 6px; background: #fff; } diff --git a/assets/css/pages/articles-runescape_jp.css b/assets/css/pages/articles-runescape_jp.css new file mode 100644 index 0000000..1818de4 --- /dev/null +++ b/assets/css/pages/articles-runescape_jp.css @@ -0,0 +1 @@ +kbd{ border:1px solid var(--border); border-radius:4px; padding:0 6px; background: #fff; } diff --git a/assets/css/pages/articles-runescape_zh.css b/assets/css/pages/articles-runescape_zh.css new file mode 100644 index 0000000..1818de4 --- /dev/null +++ b/assets/css/pages/articles-runescape_zh.css @@ -0,0 +1 @@ +kbd{ border:1px solid var(--border); border-radius:4px; padding:0 6px; background: #fff; } diff --git a/assets/css/pages/bookmarks.css b/assets/css/pages/bookmarks.css new file mode 100644 index 0000000..945b771 --- /dev/null +++ b/assets/css/pages/bookmarks.css @@ -0,0 +1,61 @@ +.bookmarks-title{ + margin-bottom: var(--space-md); +} + +.tree{ list-style-type: none; padding-left: 0; margin: 0; } + +.tree ul{ list-style-type: none; padding-left: 28px; margin: 5px 0; } + +.tree li{ margin: 4px 0; position: relative; } + +.tree summary{ + display: flex; + align-items: center; + cursor: pointer; + padding: 8px 12px; + transition: background-color 0.2s ease; + font-weight: 600; + outline: none; + user-select: none; + background: var(--bg); + border: 1px solid var(--border); + border-radius: var(--r); +} + +.tree summary:hover{ background-color: #fdd; border-color: var(--accent); } + +.tree summary::-webkit-details-marker{ display: none; } + +.tree summary::before{ + content: ">"; + color: var(--ink); + margin-right: 10px; + font-size: 1rem; + transition: all 0.2s ease; + width: 20px; + text-align: left; + font-weight: 700; +} + +.tree details[open] > summary::before{ content: ">"; transform: rotate(90deg); } + +.tree a{ + color: var(--ink); + text-decoration: none; + display: inline-flex; + align-items: center; + padding: 6px 6px; + border-radius: 4px; +} + +.tree a:hover{ background: var(--accent); color: #000 !important; } + + +.tree .navbar-file a{ color: var(--muted); } + +.tree .navbar-file a::before{ + content: "->"; + color: var(--muted); + margin-right: 10px; + font-size: 0.9rem; +} diff --git a/assets/css/pages/changelog.css b/assets/css/pages/changelog.css new file mode 100644 index 0000000..78b2ff4 --- /dev/null +++ b/assets/css/pages/changelog.css @@ -0,0 +1,19 @@ +.changelog-list{ list-style: none; padding: 0; margin: 0; } + +.changelog-entry{ + display: grid; + grid-template-columns: 12ch 1fr; + gap: var(--space-lg); + padding: var(--space-md) 0; + border-bottom: 1px dotted rgba(0,0,0,.25); +} + +.changelog-entry:last-child{ border-bottom: none; } + +.changelog-entry time{ font-weight: 700; color: var(--ink); white-space: nowrap; } + +.changelog-entry .text{ color: var(--muted); } + +@media (max-width: 560px){ + .changelog-entry{ grid-template-columns: 1fr; } +} diff --git a/assets/css/pages/computers.css b/assets/css/pages/computers.css new file mode 100644 index 0000000..ec7d01f --- /dev/null +++ b/assets/css/pages/computers.css @@ -0,0 +1,29 @@ +.machine{ + border: 1px solid var(--ink); + padding: var(--space-md); + margin-top: var(--space-md); + background: var(--bg); + display: grid; + grid-template-columns: 150px auto 150px; + gap: var(--space-md); + align-items: start; +} + +.machine img{ + width: 100%; + height: auto; + border: 1px solid var(--ink); +} + +.machine-info{ font-size: var(--fs-base); } + +.machine-title{ + color: var(--gold); + font-weight: 700; + font-size: var(--fs-lg); + margin-bottom: var(--space-xs); +} + +@media (max-width: 720px){ + .machine{ grid-template-columns: 1fr; } +} diff --git a/assets/css/pages/guestbook-form.css b/assets/css/pages/guestbook-form.css new file mode 100644 index 0000000..b45feaa --- /dev/null +++ b/assets/css/pages/guestbook-form.css @@ -0,0 +1,51 @@ +/* Pure light theme — NO container, NO black */ +body { + background: transparent; + margin: 0; + padding: 10px; + font-family: "Source Code Pro", monospace; + color: #3a2a00; + overflow-y: auto; + overflow-x: hidden; + /* Hide scrollbar for Chrome, Safari and Opera */ + -ms-overflow-style: none; /* IE and Edge */ + scrollbar-width: none; /* Firefox */ +} +body::-webkit-scrollbar { + width: 0; + height: 0; +} + +/* Remove all container styling */ +form { + max-width: 900px; + margin: 0 auto; +} + +/* Slight spacing between form and messages */ +form { + margin-bottom: 20px; +} + +input[type="text"], textarea { + border: 1px solid transparent; + background: transparent; + color: #3a2a00; + font: inherit; + box-sizing: border-box; /* Include padding in width */ + margin-bottom: 10px; +} + +textarea { + resize: vertical; +} + +button { + background: transparent; + border: 1px solid transparent; + padding: 10px 20px; + border-radius: 4px; + cursor: pointer; + font: inherit; + color: #3a2a00; +} diff --git a/assets/css/pages/guestbook_jp.css b/assets/css/pages/guestbook_jp.css new file mode 100644 index 0000000..bd71cb5 --- /dev/null +++ b/assets/css/pages/guestbook_jp.css @@ -0,0 +1,29 @@ +.anonymous { color: #0a0; } + .error { color: var(--accent); } + .captcha { font-weight: 700; font-size: 20px; } + form { display: grid; gap: var(--space-sm); max-width: 640px; } + label { font-weight: 600; } + input[type="text"], textarea { + width: 100%; + padding: 10px; + border: 1px solid var(--border); + border-radius: var(--r); + background: var(--bg); + color: var(--ink); + font: inherit; + } + textarea { min-height: 120px; resize: vertical; } + .btn-row { display: flex; gap: var(--space-sm); flex-wrap: wrap; } + button { + border: 1px solid var(--border); + border-radius: var(--r); + background: var(--bg); + padding: 8px 12px; + cursor: pointer; + font: inherit; + } + button:hover { background: #fdd; border-color: var(--accent); } + .entry { border-top: 1px dotted rgba(0,0,0,.25); padding-top: var(--space-md); margin-top: var(--space-md); } + .entry h4 { margin: 0 0 var(--space-xs) 0; } + .entry p { margin: 0; color: var(--muted); } + #captcha-canvas { border: 1px solid var(--border); border-radius: var(--r); background: #fff; } diff --git a/assets/css/pages/guestbook_zh.css b/assets/css/pages/guestbook_zh.css new file mode 100644 index 0000000..bd71cb5 --- /dev/null +++ b/assets/css/pages/guestbook_zh.css @@ -0,0 +1,29 @@ +.anonymous { color: #0a0; } + .error { color: var(--accent); } + .captcha { font-weight: 700; font-size: 20px; } + form { display: grid; gap: var(--space-sm); max-width: 640px; } + label { font-weight: 600; } + input[type="text"], textarea { + width: 100%; + padding: 10px; + border: 1px solid var(--border); + border-radius: var(--r); + background: var(--bg); + color: var(--ink); + font: inherit; + } + textarea { min-height: 120px; resize: vertical; } + .btn-row { display: flex; gap: var(--space-sm); flex-wrap: wrap; } + button { + border: 1px solid var(--border); + border-radius: var(--r); + background: var(--bg); + padding: 8px 12px; + cursor: pointer; + font: inherit; + } + button:hover { background: #fdd; border-color: var(--accent); } + .entry { border-top: 1px dotted rgba(0,0,0,.25); padding-top: var(--space-md); margin-top: var(--space-md); } + .entry h4 { margin: 0 0 var(--space-xs) 0; } + .entry p { margin: 0; color: var(--muted); } + #captcha-canvas { border: 1px solid var(--border); border-radius: var(--r); background: #fff; } diff --git a/assets/css/pages/hitcounter.css b/assets/css/pages/hitcounter.css new file mode 100644 index 0000000..1c52da1 --- /dev/null +++ b/assets/css/pages/hitcounter.css @@ -0,0 +1,7 @@ +.counter { + display: grid; + gap: var(--space-sm); + justify-items: center; + text-align: center; + } + .big { font-size: 3rem; font-weight: 800; color: var(--gold); } diff --git a/assets/css/pages/hitcounter_jp.css b/assets/css/pages/hitcounter_jp.css new file mode 100644 index 0000000..1c52da1 --- /dev/null +++ b/assets/css/pages/hitcounter_jp.css @@ -0,0 +1,7 @@ +.counter { + display: grid; + gap: var(--space-sm); + justify-items: center; + text-align: center; + } + .big { font-size: 3rem; font-weight: 800; color: var(--gold); } diff --git a/assets/css/pages/hitcounter_zh.css b/assets/css/pages/hitcounter_zh.css new file mode 100644 index 0000000..1c52da1 --- /dev/null +++ b/assets/css/pages/hitcounter_zh.css @@ -0,0 +1,7 @@ +.counter { + display: grid; + gap: var(--space-sm); + justify-items: center; + text-align: center; + } + .big { font-size: 3rem; font-weight: 800; color: var(--gold); } diff --git a/assets/css/pages/journal-index.css b/assets/css/pages/journal-index.css new file mode 100644 index 0000000..02e8c42 --- /dev/null +++ b/assets/css/pages/journal-index.css @@ -0,0 +1,3 @@ +.entry { margin: var(--space-md) 0; } + .entry time { font-weight: 700; color: var(--ink); } + .entry p { margin: var(--space-xs) 0 0 0; color: var(--muted); } diff --git a/assets/css/pages/journal-index_jp.css b/assets/css/pages/journal-index_jp.css new file mode 100644 index 0000000..02e8c42 --- /dev/null +++ b/assets/css/pages/journal-index_jp.css @@ -0,0 +1,3 @@ +.entry { margin: var(--space-md) 0; } + .entry time { font-weight: 700; color: var(--ink); } + .entry p { margin: var(--space-xs) 0 0 0; color: var(--muted); } diff --git a/assets/css/pages/journal-index_zh.css b/assets/css/pages/journal-index_zh.css new file mode 100644 index 0000000..02e8c42 --- /dev/null +++ b/assets/css/pages/journal-index_zh.css @@ -0,0 +1,3 @@ +.entry { margin: var(--space-md) 0; } + .entry time { font-weight: 700; color: var(--ink); } + .entry p { margin: var(--space-xs) 0 0 0; color: var(--muted); } diff --git a/assets/css/pages/links.css b/assets/css/pages/links.css new file mode 100644 index 0000000..fbb3700 --- /dev/null +++ b/assets/css/pages/links.css @@ -0,0 +1,3 @@ +.buttons img { image-rendering: auto; } + .buttons a { padding: 0; background: transparent; } + .buttons a:hover { background: transparent; } diff --git a/assets/css/pages/links_jp.css b/assets/css/pages/links_jp.css new file mode 100644 index 0000000..fbb3700 --- /dev/null +++ b/assets/css/pages/links_jp.css @@ -0,0 +1,3 @@ +.buttons img { image-rendering: auto; } + .buttons a { padding: 0; background: transparent; } + .buttons a:hover { background: transparent; } diff --git a/assets/css/pages/links_zh.css b/assets/css/pages/links_zh.css new file mode 100644 index 0000000..fbb3700 --- /dev/null +++ b/assets/css/pages/links_zh.css @@ -0,0 +1,3 @@ +.buttons img { image-rendering: auto; } + .buttons a { padding: 0; background: transparent; } + .buttons a:hover { background: transparent; } diff --git a/assets/css/pages/mstartpage-index.css b/assets/css/pages/mstartpage-index.css new file mode 100644 index 0000000..67eac23 --- /dev/null +++ b/assets/css/pages/mstartpage-index.css @@ -0,0 +1,361 @@ +:root { + --main-text-color: #ddd; + --border-color: #C8A977; + --search-input-color: black; + --link-color: #FF0000; + --background-color: #111; + --menu-background: #222; + } + + * { + box-sizing: border-box; + } + + html, body { + margin: 0; + padding: 0; + height: 100%; + background-color: var(--background-color); + font-family: 'Source Code Pro', "MS Gothic", IPAMonaGothic, IPAGothic, "BIZ UDGothic", HGGothicM, "Noto Sans Mono CJK JP", "Noto Sans Mono", monospace; + font-size: 14px; + color: var(--main-text-color); + text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7); + overflow-x: hidden; + } + + a { + color: var(--link-color); + background-color: transparent; + text-decoration: none; + text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); + } + + a:hover { + text-decoration: underline; + } + + /* Header and menu */ + .header { + position: sticky; + top: 0; + z-index: 100; + background-color: var(--background-color); + padding: 10px; + border-bottom: 1px solid var(--border-color); + } + + .menu-toggle { + display: block; + width: 100%; + padding: 12px; + background-color: black; + color: var(--link-color); + border: 1px solid var(--link-color); + border-radius: 4px; + text-align: center; + font-weight: bold; + margin-bottom: 10px; + cursor: pointer; + } + + .main-menu { + display: none; + flex-direction: column; + background-color: var(--menu-background); + border: 1px solid var(--link-color); + border-radius: 4px; + padding: 10px; + margin-bottom: 15px; + } + + .main-menu.show { + display: flex; + } + + .main-menu a { + padding: 10px; + border-bottom: 1px solid #333; + } + + .main-menu a:last-child { + border-bottom: none; + } + + /* Search box */ + .search-container { + width: 100%; + padding: 10px; + background-color: var(--background-color); + margin-bottom: 15px; + } + + .search-form { + display: flex; + flex-direction: column; + } + + .search-input { + color: var(--link-color); + background-color: #3A3A3A; + border: 1px solid var(--link-color); + padding: 12px; + margin-bottom: 10px; + text-align: center; + border-radius: 4px; + font-size: 16px; /* Larger for touch */ + } + + input[type="submit"] { + color: var(--link-color); + background-color: black; + padding: 12px; + border: 1px solid var(--link-color); + cursor: pointer; + border-radius: 4px; + font-weight: bold; + font-size: 16px; + } + + /* Content sections */ + .content-section { + margin-bottom: 20px; + padding: 0 10px; + } + + .section-title { + color: var(--link-color); + font-size: 1.2em; + border-bottom: 1px solid var(--border-color); + padding-bottom: 5px; + margin-bottom: 10px; + } + + .link-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); + gap: 10px; + } + + .link-item { + padding: 10px; + background-color: #1a1a1a; + border: 1px solid #333; + border-radius: 4px; + text-align: center; + } + + /* Gallery items for mobile */ + .gallery-container { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); + gap: 15px; + padding: 10px; + } + + .gallery-item { + border: 2px ridge var(--border-color); + border-radius: 4px; + overflow: hidden; + } + + .gallery-item:hover { + border: 2px ridge var(--link-color); + } + + .gallery-item img { + width: 100%; + height: auto; + display: block; + } + + .gallery-desc { + padding: 8px; + text-align: center; + font-size: 0.9em; + color: var(--link-color); + background-color: #1a1a1a; + } + + /* Date and time */ + .datetime { + padding: 10px; + text-align: center; + margin: 15px 0; + } + + #realtime-date, #realtime-clock { + color: var(--link-color); + text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); + margin: 5px 0; + } + + /* Footer */ + .footer { + padding: 15px; + text-align: center; + border-top: 1px solid #333; + margin-top: 20px; + } + + .footer-links { + display: flex; + flex-wrap: wrap; + justify-content: center; + gap: 10px; + } + + .footer-links a { + padding: 5px; + } + + /* Collapsible sections */ + .collapsible { + background-color: #1a1a1a; + color: var(--link-color); + cursor: pointer; + padding: 12px; + width: 100%; + border: 1px solid var(--border-color); + text-align: left; + outline: none; + font-size: 1em; + font-weight: bold; + margin-bottom: 5px; + border-radius: 4px; + } + + .active, .collapsible:hover { + background-color: #222; + } + + .collapsible-content { + padding: 0 10px; + display: none; + overflow: hidden; + background-color: #1a1a1a; + margin-bottom: 10px; + border-radius: 0 0 4px 4px; + } + + /* XXX Verification Modal */ + .xxx-modal { + display: none; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, 0.9); + z-index: 1000; + justify-content: center; + align-items: center; + } + + .xxx-modal-content { + background-color: var(--menu-background); + padding: 20px; + border-radius: 8px; + border: 2px solid var(--link-color); + text-align: center; + max-width: 90%; + width: 350px; + } + + .xxx-logo { + width: 80px; + height: 80px; + margin: 0 auto 15px; + background-color: #333; + border-radius: 50%; + display: flex; + justify-content: center; + align-items: center; + font-size: 24px; + color: var(--link-color); + border: 2px solid var(--link-color); + } + + .xxx-buttons { + display: flex; + justify-content: space-between; + margin-top: 20px; + } + + .xxx-button { + padding: 10px 20px; + border: none; + border-radius: 4px; + cursor: pointer; + font-weight: bold; + } + + .xxx-confirm { + background-color: #4CAF50; + color: white; + } + + .xxx-deny { + background-color: #f44336; + color: white; + } + + /* XXX Section */ + .xxx-section { + margin: 20px 0; + text-align: center; + } + + .xxx-toggle { + padding: 12px 20px; + background-color: #333; + color: var(--link-color); + border: 1px solid var(--link-color); + border-radius: 4px; + cursor: pointer; + font-weight: bold; + margin-bottom: 15px; + } + + .xxx-list { + position: fixed; + bottom: 20px; + right: 20px; + background-color: var(--menu-background); + border: 1px solid var(--link-color); + border-radius: 8px; + padding: 10px; + max-width: 200px; + display: none; + z-index: 999; + } + + .xxx-list-title { + color: var(--link-color); + font-weight: bold; + margin-bottom: 8px; + text-align: center; + border-bottom: 1px solid #444; + padding-bottom: 5px; + } + + .xxx-list-item { + margin: 5px 0; + text-align: center; + } + + /* Responsive adjustments */ + @media (min-width: 768px) { + body { + font-size: 16px; + max-width: 800px; + margin: 0 auto; + } + + .link-grid { + grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); + } + + .gallery-container { + grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); + } + } diff --git a/assets/css/pages/startpage-test.css b/assets/css/pages/startpage-test.css new file mode 100644 index 0000000..14996cb --- /dev/null +++ b/assets/css/pages/startpage-test.css @@ -0,0 +1,86 @@ +body { + font-family: 'Inter', sans-serif; /* Using Inter font */ + margin: 0; /* Remove default body margin */ + padding: 20px; + background-color: #f0f0f0; + display: flex; + flex-direction: column; /* Arrange content vertically */ + justify-content: center; + align-items: center; + min-height: 100vh; + } + + h1 { + text-align: center; + color: #333; + margin-bottom: 20px; + font-size: 2em; /* Larger heading */ + } + + .responsive-container { + width: 95%; /* Make it wider to accommodate the full page embed */ + max-width: 1200px; /* Max width for larger screens to prevent it from getting too wide */ + padding: 10px; + box-sizing: border-box; + border: 1px solid #ccc; + border-radius: 12px; /* Slightly larger rounded corners */ + box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15); /* More prominent shadow */ + background-color: white; + margin-bottom: 20px; + overflow: hidden; /* Ensure content stays within rounded corners */ + } + + .iframe-wrapper { + position: relative; + /* Maintain an aspect ratio that suits a full webpage, e.g., 16:9 or taller */ + /* A good starting point for a full webpage, adjust as needed for optimal viewing */ + padding-bottom: 120%; /* Height will be 120% of the width, making it taller */ + height: 0; + overflow: hidden; + border-radius: 8px; /* Slightly smaller rounded corners for inner frame */ + } + + .iframe-wrapper iframe { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + border: none; + border-radius: 8px; + } + + .desc { + padding: 15px; + text-align: center; + font-size: 1.1em; + color: #555; + line-height: 1.6; + } + + .desc a { + color: #007bff; + text-decoration: none; + font-weight: bold; + transition: color 0.3s ease; /* Smooth transition for hover effect */ + } + + .desc a:hover { + text-decoration: underline; + color: #0056b3; /* Darker blue on hover */ + } + + /* Responsive adjustments for the container */ + @media only screen and (max-width: 768px) { + .responsive-container { + width: 100%; /* Full width on smaller screens */ + padding: 5px; + border-radius: 0; /* No rounded corners on very small screens for edge-to-edge */ + } + .iframe-wrapper { + padding-bottom: 150%; /* Make it even taller on mobile if needed */ + } + body { + padding: 10px; + } + } diff --git a/assets/css/pages/test.css b/assets/css/pages/test.css new file mode 100644 index 0000000..4eacfa4 --- /dev/null +++ b/assets/css/pages/test.css @@ -0,0 +1,52 @@ +html, body { margin: 0; padding: 0; } + table.layout { border-collapse: collapse; width: 100%; } + td.content { padding: 0; } + .logo { float: left; margin-right: 1rem; } + + a { + text-decoration: none; + background-color: transparent; + transition: background-color 0.2s, color 0.2s; + padding: 4px; + border-radius: 4px; + } + a:hover { background-color: red; color: white; } + a.no-hover-box:hover { background-color: transparent; color: red; } + + .sidebar { + position: fixed; + top: 0; + right: 0; + width: 250px; + max-height: 100vh; + overflow-y: auto; + background-color: #ffd; + transform: translateX(100%); + transition: transform 0.3s ease-in-out; + } + .sidebar.visible { transform: translateX(0); } + + .links-container { + display: flex; + flex-wrap: wrap; + gap: 1.5rem; + margin-bottom: 1rem; + } + .links-container ul { + flex: 1 1 200px; + list-style: none; + margin: 0; padding: 0; + } + .links-container ul li { margin-bottom: 0.75rem; word-wrap: break-word; } + .links-container ul li a { + display: inline-block; + max-width: 100%; + word-wrap: break-word; + color: #0366d6; + transition: color 0.3s ease; + } + .links-container ul li a:hover { color: #023e8a; text-decoration: underline; } + + @media (max-width: 600px) { + .links-container { flex-direction: column; } + } diff --git a/assets/css/pages/test_jp.css b/assets/css/pages/test_jp.css new file mode 100644 index 0000000..4eacfa4 --- /dev/null +++ b/assets/css/pages/test_jp.css @@ -0,0 +1,52 @@ +html, body { margin: 0; padding: 0; } + table.layout { border-collapse: collapse; width: 100%; } + td.content { padding: 0; } + .logo { float: left; margin-right: 1rem; } + + a { + text-decoration: none; + background-color: transparent; + transition: background-color 0.2s, color 0.2s; + padding: 4px; + border-radius: 4px; + } + a:hover { background-color: red; color: white; } + a.no-hover-box:hover { background-color: transparent; color: red; } + + .sidebar { + position: fixed; + top: 0; + right: 0; + width: 250px; + max-height: 100vh; + overflow-y: auto; + background-color: #ffd; + transform: translateX(100%); + transition: transform 0.3s ease-in-out; + } + .sidebar.visible { transform: translateX(0); } + + .links-container { + display: flex; + flex-wrap: wrap; + gap: 1.5rem; + margin-bottom: 1rem; + } + .links-container ul { + flex: 1 1 200px; + list-style: none; + margin: 0; padding: 0; + } + .links-container ul li { margin-bottom: 0.75rem; word-wrap: break-word; } + .links-container ul li a { + display: inline-block; + max-width: 100%; + word-wrap: break-word; + color: #0366d6; + transition: color 0.3s ease; + } + .links-container ul li a:hover { color: #023e8a; text-decoration: underline; } + + @media (max-width: 600px) { + .links-container { flex-direction: column; } + } diff --git a/assets/css/pages/test_zh.css b/assets/css/pages/test_zh.css new file mode 100644 index 0000000..4eacfa4 --- /dev/null +++ b/assets/css/pages/test_zh.css @@ -0,0 +1,52 @@ +html, body { margin: 0; padding: 0; } + table.layout { border-collapse: collapse; width: 100%; } + td.content { padding: 0; } + .logo { float: left; margin-right: 1rem; } + + a { + text-decoration: none; + background-color: transparent; + transition: background-color 0.2s, color 0.2s; + padding: 4px; + border-radius: 4px; + } + a:hover { background-color: red; color: white; } + a.no-hover-box:hover { background-color: transparent; color: red; } + + .sidebar { + position: fixed; + top: 0; + right: 0; + width: 250px; + max-height: 100vh; + overflow-y: auto; + background-color: #ffd; + transform: translateX(100%); + transition: transform 0.3s ease-in-out; + } + .sidebar.visible { transform: translateX(0); } + + .links-container { + display: flex; + flex-wrap: wrap; + gap: 1.5rem; + margin-bottom: 1rem; + } + .links-container ul { + flex: 1 1 200px; + list-style: none; + margin: 0; padding: 0; + } + .links-container ul li { margin-bottom: 0.75rem; word-wrap: break-word; } + .links-container ul li a { + display: inline-block; + max-width: 100%; + word-wrap: break-word; + color: #0366d6; + transition: color 0.3s ease; + } + .links-container ul li a:hover { color: #023e8a; text-decoration: underline; } + + @media (max-width: 600px) { + .links-container { flex-direction: column; } + } diff --git a/assets/css/pages/vinyls.css b/assets/css/pages/vinyls.css new file mode 100644 index 0000000..ecf8b4b --- /dev/null +++ b/assets/css/pages/vinyls.css @@ -0,0 +1,14 @@ +.vinyl-grid{ + display: grid; + grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); + gap: var(--space-md); + margin-top: var(--space-md); +} + +.vinyl-grid img{ + width: 100%; + height: auto; + border: 1px solid var(--border); + border-radius: var(--r); + background: var(--bg); +} diff --git a/assets/css/site.css b/assets/css/site.css new file mode 100644 index 0000000..4434b60 --- /dev/null +++ b/assets/css/site.css @@ -0,0 +1,891 @@ +/* cyrillic-ext */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url(/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url(/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url(/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url(/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url(/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url(/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url(/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + +:root{ + --bg: #ffd; + --ink: #000; + --muted: #333; + --accent: #d22; + --gold: #c69214; + --border: #caa; + --shadow: rgba(0,0,0,.10); + + --wrap: 960px; + --r: 6px; + + /* Unified spacing scale */ + --space-xs: 0.25rem; + --space-sm: 0.5rem; + --space-md: 0.75rem; + --space-lg: 1rem; + --space-xl: 1.35rem; + --space-2xl: 1.75rem; + --space-3xl: 2.5rem; + + /* Typography scale */ + --fs-xs: 0.85rem; + --fs-sm: 0.9rem; + --fs-base: 1rem; + --fs-lg: 1.05rem; + --fs-xl: 1.15rem; + --fs-2xl: 1.5rem; + --fs-3xl: 1.8rem; +} + +/* --- UNIFIED HEADER BUTTONS STYLE --- */ +.header-button { + font-size: var(--fs-sm); + border: 1px solid var(--border); + padding: 4px 8px; + border-radius: var(--r); + color: var(--ink); + text-decoration: none; + background: var(--bg); + cursor: pointer; + font-family: inherit; + display: inline-flex; + align-items: center; + justify-content: center; + transition: background .15s, color .15s, border-color .15s; +} + +.header-button:hover { + background: var(--accent); + color: #000; + border-color: var(--accent); +} + +/* Reset */ +*, *::before, *::after { box-sizing: border-box; } +html, body { height: 100%; } +body { margin: 0; } + +body{ + font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; + line-height: 1.6; + background: var(--bg); + color: var(--ink); + font-size: var(--fs-base); + /* Prevent horizontal scrollbar when menu icon rotates */ + overflow-x: hidden; +} + +/* Typography */ +p{ + margin: var(--space-sm) 0; + line-height: 1.6; +} +p:first-child{ margin-top: 0; } +p:last-child{ margin-bottom: 0; } + +img{ max-width: 100%; height: auto; display: block; } +video{ display: block; } + +/* Accessibility helpers */ +.skip-link{ + position: absolute; + left: -999px; + top: 0; + background: var(--bg); + border: 1px solid var(--border); + padding: .5rem .75rem; + border-radius: var(--r); + z-index: 2000; +} +.skip-link:focus{ left: 1rem; top: 1rem; } + +:focus-visible{ + outline: 2px solid var(--accent); + outline-offset: 2px; +} + +/* Layout */ +.wrap{ + max-width: var(--wrap); + margin: 0 auto; + padding: var(--space-xl) var(--space-lg) var(--space-3xl); +} + +/* Utilities */ +.stack{ + display: flex; + flex-direction: column; + gap: var(--space-xl); +} + +header.site-header, footer.site-footer{ + background: var(--bg); + border-bottom: 1px solid var(--border); +} + +header.site-header{ + position: sticky; + top: 0; + z-index: 1000; +} + +.header-inner{ + max-width: var(--wrap); + margin: 0 auto; + padding: var(--space-md) var(--space-lg); + display: flex; + align-items: center; + justify-content: space-between; + gap: var(--space-lg); + flex-wrap: wrap; +} + +.brand{ + display: flex; + align-items: center; + gap: var(--space-md); + min-width: 240px; +} + +.logo{ + display: inline-flex; + align-items: center; + justify-content: center; + border-radius: var(--r); +} +.logo img{ + height: 48px; + width: 48px; + object-fit: contain; + border: 2px solid #000; + border-radius: var(--r); +} + +header.site-header .logo:hover img, +header.site-header .logo:focus-visible img{ + border-color: var(--accent); +} + +.brand-text{ + display: flex; + flex-direction: column; + line-height: 1.2; +} +.brand-text strong{ + font-size: var(--fs-lg); + color: var(--gold); + letter-spacing: .2px; +} +.brand-text span{ + font-size: var(--fs-sm); + color: var(--muted); +} + +.header-controls{ + display: flex; + align-items: center; + gap: var(--space-md); +} + +/* Links (match startpage hover) */ +a{ + color: var(--accent); + text-decoration: none; + transition: 0.1s; +} +a:hover{ + background: var(--accent); + color: #000 !important; +} + +/* Menu */ +.menu-wrapper{ position: relative; } + +#menu-toggle{ + width: 44px; + height: 44px; + display: inline-flex; + align-items: center; + justify-content: center; + font-size: 22px; + line-height: 1; + transition: transform .25s ease; + border: 1px solid #000; + border-radius: var(--r); + background: var(--bg); + color: var(--ink); + padding: 0; +} + +#menu-toggle:hover { + background: var(--accent); + color: #000; + border-color: #000; +} + +#menu-toggle.active{ + transform: rotate(90deg); + background: var(--bg); + color: var(--ink); + border-color: #000; +} + +#menu-toggle.active:hover{ + background: var(--accent); + color: #000; + border-color: #000; +} + +nav.site-nav{ + position: absolute; + right: 0; + top: calc(100% + var(--space-xs)); + background: var(--bg); + border: 1px solid var(--ink); + border-radius: var(--r); + padding: var(--space-md) var(--space-md); + min-width: 200px; + box-shadow: 0 10px 22px var(--shadow); + z-index: 1200; +} +nav.site-nav ul{ list-style: none; margin: 0; padding: 0; } +nav.site-nav li{ margin: var(--space-sm) 0; } +nav.site-nav a{ + display: block; + padding: var(--space-xs) var(--space-xs); + transition: background .15s, color .15s; + color: var(--ink); +} +nav.site-nav a:hover{ background: var(--accent); color: #000; } + +/* Nav sections */ +nav.site-nav .nav-section{ margin-bottom: var(--space-md); } +nav.site-nav .nav-section:last-child{ margin-bottom: 0; } +nav.site-nav .nav-section + .nav-section{ + border-top: 1px solid var(--border); + padding-top: var(--space-md); +} +nav.site-nav .nav-label{ + font-size: var(--fs-xs); + font-weight: 600; + color: var(--muted); + text-transform: uppercase; + letter-spacing: 0.5px; + margin-bottom: var(--space-xs); + padding: var(--space-xs); +} + +/* Language dropdown */ +.lang{ position: relative; } + +.lang-toggle-wrapper{ display: inline-block; } + +.lang-menu{ + position: absolute; + right: 0; + top: calc(100% + var(--space-xs)); + background: var(--bg); + border: 1px solid var(--border); + border-radius: var(--r); + box-shadow: 0 10px 22px var(--shadow); + min-width: 160px; + padding: var(--space-sm); + z-index: 1200; +} +.lang-menu a{ + display: block; + padding: var(--space-sm) var(--space-sm); + color: var(--ink); + transition: background .15s; +} +.lang-menu a:hover{ background: var(--accent); color: #000; } + +/* Sections / cards */ +section{ + margin: var(--space-xl) 0; + border: 1px solid var(--border); + border-radius: var(--r); + padding: var(--space-lg); + background: var(--bg); +} + +h1{ + margin: 0 0 var(--space-md) 0; + color: var(--gold); + font-weight: 700; + font-size: var(--fs-2xl); + letter-spacing: .2px; + line-height: 1.2; +} + +h2{ + margin: 0 0 var(--space-md) 0; + color: var(--gold); + font-size: var(--fs-xl); + font-weight: 700; + letter-spacing: .1px; + line-height: 1.3; +} + +/* CHANGELOG SPECIFIC STYLES */ +.changelog-title{ + color: var(--gold) !important; + margin-bottom: var(--space-sm) !important; +} + +.changelog-date{ + font-size: var(--fs-3xl) !important; + font-weight: 700; + color: var(--muted); + margin: var(--space-sm) 0 var(--space-lg) 0; + line-height: 1.1; +} + +.muted{ color: var(--muted); font-size: var(--fs-sm); } + +/* Video */ +.video-wrap{ margin: var(--space-md) 0 0 0; } +.video-wrap video{ + width: 100%; + height: auto; + max-height: 80vh; + background: #000; + border: 1px solid var(--border); + border-radius: var(--r); +} + +/* Lists */ +.contact-list{ + list-style: none; + padding: 0; + margin: var(--space-md) 0 0 0; +} +.contact-list li{ margin: var(--space-sm) 0; line-height: 1.6; } +.contact-address{ font-style: normal; } + +blockquote{ + margin: var(--space-md) 0 0 0; + padding-left: var(--space-md); + border-left: 3px solid var(--border); + color: var(--muted); + font-style: italic; + font-size: var(--fs-sm); + line-height: 1.6; +} + +/* Iframe loading overlay */ +.iframe-clip{ position: relative; } +.iframe-clip iframe{ position: relative; z-index: 1; } +.iframe-clip.is-loading::before{ + content: "Loading..."; + position: absolute; + inset: 0; + display: flex; + align-items: center; + justify-content: center; + background: rgba(255, 255, 221, 0.92); + color: var(--ink); + font-size: var(--fs-sm); + z-index: 2; +} +.iframe-clip.is-loading::after{ + content: ""; + position: absolute; + width: 22px; + height: 22px; + border: 2px solid var(--border); + border-top-color: var(--accent); + border-radius: 50%; + top: calc(50% + 16px); + left: 50%; + transform: translateX(-50%); + animation: iframe-spin 0.8s linear infinite; + z-index: 3; +} +@keyframes iframe-spin{ + to { transform: translateX(-50%) rotate(360deg); } +} + +/* Friends grid */ +.friends-list{ + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: var(--space-md); + margin: var(--space-md) 0 0 0; + padding: 0; + list-style: none; +} +.friends-list a{ + display: flex; + align-items: center; + justify-content: center; + height: 42px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + + background: var(--bg); + border: 1px solid var(--border); + border-radius: var(--r); + padding: var(--space-sm) var(--space-sm); + color: var(--accent); + transition: background .15s, color .15s, border-color .15s, box-shadow .15s; +} +.friends-list a:hover{ + background: var(--accent); + color: #000; + border-color: var(--accent); + box-shadow: 0 1px 0 var(--accent) inset; +} + +/* Tiles */ +.tile-grid{ + display: grid; + grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); + gap: var(--space-md); + list-style: none; + padding: 0; + margin: var(--space-md) 0 0 0; +} +.tile-grid a{ + display: flex; + align-items: center; + justify-content: center; + height: 64px; + background: var(--bg); + border: 1px solid var(--border); + border-radius: var(--r); + padding: var(--space-sm); + transition: background .15s, border-color .15s, box-shadow .15s; +} +.tile-grid a:hover{ + background: var(--accent); + border-color: var(--accent); + box-shadow: 0 1px 0 var(--accent) inset; +} +.tile-grid img{ width: 100%; height: 100%; object-fit: contain; } + +/* Embeds */ +.embed-frame{ + display: block; + width: 100%; + border: 1px solid var(--border); + border-radius: var(--r); + background: var(--bg); + margin: var(--space-md) 0 0 0; +} +.guestbook-form-frame{ + height: 350px; + min-height: 350px; +} +.iframe-clip{ + --sb: 18px; + overflow: hidden; + border-radius: var(--r); + border: 1px solid var(--border); +} +.iframe-clip > iframe{ + width: calc(100% + var(--sb)); + height: calc(100% + var(--sb)); + border: 0; +} +.guestbook-frame{ min-height: 90vh; } + +#guestbook-comments-iframe { + min-height: 600px; /* Adjusted to show more comments */ +} + +.changelog-frame{ min-height: 360px; } + +/* Audio */ +.audio-wrap{ margin: var(--space-md) 0 0 0; } +audio{ width: 100%; max-width: 400px; } + +/* Blog + changelog lists */ +#blog-list, +#changelog-list{ margin: var(--space-md) 0 0 0; } +#blog-list > div:first-child, +#changelog-list > div:first-child{ margin-bottom: var(--space-md); } +#blog-list ol, +#changelog-list ol{ margin: var(--space-md) 0 0 0; padding-left: var(--space-xl); } +#blog-list li, +#changelog-list li{ margin: 0 0 var(--space-md) 0; line-height: 1.6; } +#blog-list .muted, +#changelog-list .muted{ font-size: var(--fs-sm); margin-top: var(--space-xs); } +#blog-list .blog-more{ margin-top: var(--space-xs); } +#changelog-list .changelog-body{ margin-top: var(--space-xs); white-space: pre-line; } +#changelog-list time{ color: var(--accent); } + +/* Footer */ +footer.site-footer{ border-top: 1px solid var(--border); border-bottom: none; } +.footer-inner{ + max-width: var(--wrap); + margin: 0 auto; + padding: var(--space-lg) var(--space-lg) var(--space-2xl); + color: var(--muted); + font-size: var(--fs-sm); + line-height: 1.6; +} +.badge{ + display: inline-flex; + margin-top: var(--space-sm); + border-radius: var(--r); + padding: var(--space-xs); + border: 1px solid var(--border); + background: var(--bg); + transition: border-color .15s; +} +.badge:hover{ border-color: var(--accent); } + +/* Reset Button */ +.reset-button{ + font-size: var(--fs-sm); + border: 1px solid #000; /* Black border */ + padding: 4px 8px; + border-radius: var(--r); + color: #000; /* Black text */ + background: #ffd; /* Light yellow background */ + cursor: pointer; + font-family: inherit; + display: inline-flex; + align-items: center; + justify-content: center; + transition: background .15s, color .15s, border-color .15s; +} + +.reset-button:hover { + background: var(--accent); /* Dark red on hover */ + color: #000; /* Black text on hover */ + border-color: #000; /* Black border on hover */ +} + +@media (max-width: 600px){ + .tile-grid{ + display: flex; + flex-direction: column; + align-items: center; + } + .tile-grid li{ + margin-bottom: 1rem; + text-align: center; + } + .contact-list{ + padding-left: 20px; + } + .friends-list{ + display: flex; + flex-direction: column; + gap: 10px; + } +} + +@media (max-width: 520px){ + header.site-header{ position: sticky; } + .header-inner{ position: relative; } + nav.site-nav{ + min-width: 200px; + max-width: calc(100vw - 2 * var(--space-lg)); + } + .lang-menu{ + right: auto; + left: 0; + max-width: calc(100vw - 32px); + } + #menu-toggle{ display: inline-flex; transition: transform .25s ease; } + #menu-toggle.active{ transform: rotate(90deg); } +} + +@media (prefers-reduced-motion: reduce){ + *{ transition: none !important; scroll-behavior: auto !important; } + #menu-toggle.active{ transform: none; } +} + +/* From style.css */ +h1 { + font-family: 'Comic Sans MS', 'Chalkboard SE', 'Comic Neue', sans-serif; + font-size: 1.875rem; /* 30px / 16px (base font size) */ + padding-left: 40px; +} + +pre { + font-family: 'Comic Sans MS', 'Chalkboard SE', 'Comic Neue', sans-serif; + font-size: 12px; + padding-left: 40px; +} + +.button1 { + background-color: black; + font-family: Comic Sans MS; + font-weight: 300; +} + +.member { + float: left; + width: calc(20% - 2%); /* Adjust width to account for margins */ + margin: 1% 1% 45px 1%; +} + +.name { + bottom: 0px; +} + +.member img { + width: 50%; + display: block; +} + +ul.flowxl { + display: flex; + flex-wrap: wrap; + padding: 0; +} + +ul.flowxl > li { + list-style-type: none; + text-align: center; + width: var(--xiconsize); + min-width: var(--xiconsize); + max-width: var(--xiconsize); + max-height: calc(var(--xiconsize) + 60px); + padding: 2px; + margin: 0.125rem; /* Use rem for margin */ + overflow: hidden; + font-size: 1rem; + line-height: 1; +} + +ul.flowxl > li > a { + display: block; + line-height: 1; + font-size: 1.2rem; +} + +ul.flowxl li > a > img, +ul.flowxl li > img { + display: block; + border-radius: 9px; + width: auto; + max-width: var(--xiconsize); + max-height: var(--xiconsize); + overflow: hidden; + margin-left: auto; + margin-right: auto; +} + +ul.flowxl li > a > img[src$=".svg"] { + max-width: 170px; + max-height: 170px; +} + +.country-img { + height: 12.5rem; /* Use rem units for height */ + width: 250px; /* Desired width */ + object-fit: contain; /* Scales image to fit within the box while maintaining aspect ratio */ + max-width: 100%; /* Ensures responsiveness */ +} + +.countries { + flex-wrap: wrap; /* Ensures images wrap if they exceed container width */ + gap: 10px; /* Adds spacing between images */ + justify-content: center; /* Centers the images horizontally */ +} + +.vpn-logo { + width: 200px; /* Set max-width for scaling */ + max-width: 100%; /* Responsive width */ + height: auto; /* Maintain aspect ratio */ + object-fit: contain; /* Handle scaling gracefully */ +} + +.toesu-logo { + width: 200px; /* Set the default width */ + max-width: 100%; /* Ensure image scales on smaller screens */ + height: auto; /* Maintain original aspect ratio */ + object-fit: contain; /* Gracefully handle image scaling */ +} + +@import url('https://fonts.googleapis.com/css2?family=Anonymous+Pro:ital,wght@0,400;0,700;1,400;1,700&display=swap'); + + |
