diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..c53a523 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,12 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true +indent_style = space +indent_size = 2 + +[*.md] +trim_trailing_whitespace = false \ No newline at end of file diff --git a/88x31/index.html b/88x31/index.html index f1f0c58..d11b1fc 100644 --- a/88x31/index.html +++ b/88x31/index.html @@ -70,6 +70,7 @@ Linux Microslop Estrogen + Caramelldansen Girls Now Skirt GitGay diff --git a/assets/88x31/caramelldansen.gif b/assets/88x31/caramelldansen.gif new file mode 100644 index 0000000..a79c0a5 Binary files /dev/null and b/assets/88x31/caramelldansen.gif differ diff --git a/assets/alts/clovetwilight3.png b/assets/alts/clovetwilight3.png new file mode 100644 index 0000000..7bfe25b Binary files /dev/null and b/assets/alts/clovetwilight3.png differ diff --git a/assets/alts/estrogenhrt.png b/assets/alts/estrogenhrt.png new file mode 100644 index 0000000..2d40c20 Binary files /dev/null and b/assets/alts/estrogenhrt.png differ diff --git a/css/main.css b/css/main.css index 4de28bf..eec9b87 100644 --- a/css/main.css +++ b/css/main.css @@ -781,8 +781,8 @@ body:has(.friend-grid) { .bot-grid { margin-bottom: 1.5rem; - display: grid; - grid-template-columns: repeat(auto-fit, 96px); + display: flex; + flex-wrap: wrap; justify-content: center; gap: 2rem 1.5rem; max-width: 560px; @@ -1155,8 +1155,8 @@ body:has(.waka) { background: var(--surface-0); border: 1px solid var(--surface-1); border-radius: 16px; - padding: 1.15rem 1.25rem 1.35rem; - margin-bottom: 1.1rem; + padding: 0.85rem 1.25rem 0.95rem; + margin-bottom: 0.7rem; } .waka-section .section-title { @@ -1371,12 +1371,12 @@ body:has(.waka) { /* ---- collapsible dropdown sections (details/summary) ---- */ details.waka-section { /* keep the card padding tight when collapsed; expands via [open] below */ - padding-bottom: 1.15rem; + padding-bottom: 0.85rem; transition: padding-bottom 0.15s ease; } details.waka-section[open] { - padding-bottom: 1.35rem; + padding-bottom: 1.15rem; } /* The clickable header row */ @@ -1425,7 +1425,7 @@ summary.section-title::after { } details.waka-section[open]>summary.section-title { - margin-bottom: 1rem; + margin-bottom: 0.75rem; } details.waka-section[open]>summary.section-title::after { @@ -1690,7 +1690,6 @@ body:has(.terminal) .hub .terminal { flex-wrap: wrap; justify-content: center; gap: 0.6rem; - max-width: min(92vw, 480px); margin: 0 auto; } @@ -1700,9 +1699,8 @@ body:has(.terminal) .hub .terminal { } .button-wall img { - width: 88px; - height: 31px; - image-rendering: pixelated; + width: 132px; + height: 46px; border: 1px solid var(--surface-1); border-radius: 2px; transition: transform 0.12s ease, border-color 0.12s ease; @@ -1929,11 +1927,12 @@ body:has(.friend-grid) .hub-header { } .friend-grid { - display: grid; - /* fixed-width columns + centered: a lone card stays card-sized (not - stretched), and as many as fit sit centered as a group */ - grid-template-columns: repeat(auto-fit, 210px); + display: flex; + flex-wrap: wrap; + /* flex-wrap centres EVERY row, including a partial last row (a lone card + sits centred rather than stuck to the left as it did with CSS grid) */ justify-content: center; + align-items: flex-start; margin-bottom: 1.5rem; gap: 1.1rem; width: 100%; @@ -1965,6 +1964,7 @@ body:has(.friends-wrap) .hub { position: relative; display: flex; flex-direction: column; + width: 210px; border-radius: 14px; background: var(--surface-0); border: 1px solid var(--surface-1); @@ -1977,6 +1977,18 @@ body:has(.friends-wrap) .hub { box-shadow: 0 8px 22px -12px rgba(var(--accent-rgb), 0.5); } +/* Hovered card lifts above its neighbours and lets its text un-truncate so + long names / usernames / custom statuses expand in full instead of being + chopped off with an ellipsis. */ +.friend-card:hover { z-index: 5; } +.friend-card:hover .fc-name, +.friend-card:hover .fc-user, +.friend-card:hover .fc-custom-text { + white-space: normal; + overflow: visible; + text-overflow: clip; +} + /* banner strip — Nitro banner image / accent colour / default wash */ .fc-banner { height: 54px; @@ -2095,14 +2107,32 @@ a.fc-name:hover { color: rgb(var(--accent-rgb)); } /* custom status (Discord activity type 4) */ .fc-custom { + position: relative; + align-self: flex-start; display: inline-flex; align-items: center; - gap: 0.25rem; + gap: 0.3rem; + max-width: 100%; font-size: 0.72rem; color: var(--subtext-1); - margin-top: 0.1rem; + margin-top: 0.45rem; min-width: 0; + padding: 0.3rem 0.5rem; + background: var(--surface-1); + border-radius: 11px; + border-top-left-radius: 4px; } +/* Discord-style thought-bubble tail: two little circles rising to the name */ +.fc-custom::before, +.fc-custom::after { + content: ""; + position: absolute; + background: var(--surface-1); + border-radius: 50%; + pointer-events: none; +} +.fc-custom::before { width: 7px; height: 7px; top: -4px; left: 9px; } +.fc-custom::after { width: 4px; height: 4px; top: -8px; left: 7px; } .fc-custom[hidden] { display: none; } .fc-custom-emoji { width: 14px; height: 14px; display: block; flex: none; } .fc-custom-emoji-uni { font-size: 0.8rem; line-height: 1; flex: none; } @@ -3057,12 +3087,29 @@ a.pc-row:hover, /* custom status */ .pc-custom { - background: transparent; + position: relative; + align-self: flex-start; + background: var(--surface-1); border: none; - padding: 0.1rem 0.5rem; + padding: 0.5rem 0.7rem; gap: 0.4rem; align-items: flex-start; + border-radius: 13px; + border-top-left-radius: 4px; + margin-top: 0.3rem; } +/* Discord-style thought-bubble tail */ +.pc-custom::before, +.pc-custom::after { + content: ""; + position: absolute; + background: var(--surface-1); + border-radius: 50%; + pointer-events: none; +} +.pc-custom::before { width: 9px; height: 9px; top: -5px; left: 12px; } +.pc-custom::after { width: 5px; height: 5px; top: -11px; left: 9px; } +.pc-custom:hover { transform: none; border-color: transparent; } .pc-emoji { width: 18px; height: 18px; flex-shrink: 0; margin-top: 0.05rem; } .pc-custom-text { font-size: 0.74rem; @@ -3536,3 +3583,50 @@ body:has(.presence-stage) { .presence-stage .presence-card.has-banner-color .pc-head { margin-top: -30px; } .presence-stage .pc-name { font-size: 1.25rem; } } + +/* ===================================================================== + * lanyard.cafe keyring (webring) — embed.js injects #lc-embed with all + * styles inline, so every override here needs !important. Re-themes the + * default cream/brown look to Catppuccin and the site font, keeping the + * widget floating in the bottom-left (which is otherwise empty chrome). + * ===================================================================== */ +#lc-embed { + font-family: 'Comic Code', 'Quicksand', system-ui, sans-serif !important; + left: 1rem !important; + bottom: 1rem !important; + z-index: 5 !important; +} +#lc-embed > section { margin-bottom: 0 !important; } + +/* the card */ +#lc-embed > section > div { + background: var(--surface-0) !important; + border: 1px solid rgba(var(--accent-rgb), 0.45) !important; + border-radius: 14px !important; + box-shadow: 0 10px 26px -16px rgba(0, 0, 0, 0.7) !important; +} + +/* prev / random / next buttons */ +#lc-embed a { + background: var(--surface-1) !important; + border-radius: 10px !important; + font-weight: 600 !important; + transition: transform 0.12s ease, background 0.12s ease, color 0.12s ease !important; +} +#lc-embed a:nth-child(1), +#lc-embed a:nth-child(3) { color: rgb(var(--accent-rgb)) !important; } +#lc-embed a:nth-child(2) { color: var(--lavender) !important; } +#lc-embed a:hover { + background: var(--surface-2) !important; + transform: translateY(-2px) !important; +} + +/* the "you are at " line */ +#lc-embed p { color: var(--subtext-0) !important; } +#lc-embed p span { color: rgb(var(--accent-rgb)) !important; } + +/* tuck out of the way on small screens so it doesn't cover content */ +@media (max-width: 640px) { + #lc-embed { left: 0.5rem !important; bottom: 0.5rem !important; } + #lc-embed > section > div { min-width: 0 !important; } +} diff --git a/index.html b/index.html index cb3412e..9d92864 100644 --- a/index.html +++ b/index.html @@ -70,6 +70,8 @@ + +