From d7e7d248cbe41cd7a9ef9c2fb022b6c4831f99a3 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sun, 31 May 2026 15:22:56 +0000
Subject: [PATCH] =jakevan complete

---
 build/feed/style-index.css |  267 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 266 insertions(+), 1 deletions(-)

diff --git a/build/feed/style-index.css b/build/feed/style-index.css
index 882d833..d13fce2 100644
--- a/build/feed/style-index.css
+++ b/build/feed/style-index.css
@@ -1 +1,266 @@
-.feed-block{margin:0 auto;max-width:var(--full)}.feed-block:target{scroll-snap-margin-top:5rem;border-radius:v0;outline:0;padding:0;scroll-margin-top:5rem}.feed-block:target .feed-item{outline:double var(--pink-0)}.loading .feed-block{opacity:.7}.label{align-items:center;display:flex;font-size:.9rem;gap:.25rem}.label a:hover{color:var(--pink-0)}.feed-filters{background:var(--overlay-heavy);margin:2rem 0;padding:.25rem 3rem;position:sticky;top:3rem;z-index:15}.feed-filters details[open] summary{background-color:var(--overlay)}.feed-filters summary{justify-content:flex-start}.feed-filters summary>*{order:3}.feed-filters summary .label{order:1}.feed-filters summary .filter-label{order:2}.feed-filters summary:after{order:4}.feed-filters summary #favourites+label{margin-left:auto}.feed-filters summary #favourites+label:hover,.feed-filters summary #favourites:checked+label{background-color:var(--pink-0);border-color:var(--pink-0);color:var(--white)}.feed-filters summary #favourites:checked+label{animation:pop .4s cubic-bezier(.25,.46,.45,.94)}.feed-filters details[open],.feed-filters summary:hover{background-color:var(--overlay-heavy)}.feed-filters:has(#favourites) summary:after{margin-left:1rem}summary>*{order:3}summary .label{order:1}.filter-label{display:inline-block;height:1.3em;margin:0;order:2;padding:0;vertical-align:middle}.filter-label li{height:0;list-style:none;overflow:hidden}.filter-label li.active{height:100%}.filter-group{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.filter-group label{font-weight:100}.filter-group:has(.order-by){justify-content:space-between}.filter-group .order-by,.filter-group .order-direction{display:flex;flex:1;flex-wrap:wrap;gap:.5rem;justify-content:flex-start}.filter-group .order-by .label,.filter-group .order-direction .label{width:100%}.filter-group .order-by label:has(.label),.filter-group .order-direction label:has(.label){gap:.5rem;padding:0 .35rem}.filter-group .order-by label:has(.label) .label,.filter-group .order-direction label:has(.label) .label{font-size:1rem}.filter-group>.label{width:100%}.feed-grid{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem;padding:0 4rem;--delay:0s;--increase:.1s}.feed-empty-state{background:var(--base-100);border-radius:var(--innerRadius);grid-column:1/-1;margin:0 auto;max-width:600px;padding:2rem;text-align:center}.placeholder{align-items:center;aspect-ratio:1;background:var(--base);border:1rem solid var(--base-50);border-radius:1rem;display:flex;justify-content:center}.placeholder .icon{--w:50%;color:var(--base-200)}.placeholder .icon svg{animation:dance 2.5s ease-in-out infinite}.feed-item{background:var(--base-50);border-radius:.5rem;box-shadow:0 2px 4px rgba(0,0,0,.1);height:-moz-fit-content;height:fit-content;opacity:0;overflow:hidden;padding:0;position:relative;transition:opacity var(--transition-base) var(--delay)}.feed-item img{filter:grayscale(.5) sepia(.3) blur(7px);opacity:.7}.feed-item[data-loaded=true] img{filter:none;opacity:1}.feed-item a:after,.feed-item a:before{display:none}.feed-item details a{font-size:clamp(1rem,.9306rem + .2222vw,1.125rem)}.feed-item[data-loaded]{opacity:1}.feed-item[data-loaded]+[data-loaded]{--delay:var(--delay) + var(--increase)}.feed-item.highlighted{animation:highlight-puls 2s ease-in-out;box-shadow:0 0 0 4px #ff0080,0 8px 16px rgba(0,0,0,.1)}.feed-item:hover .handle,.feed-item[open] .handle{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:var(--overlay-pink-medium)}.feed-item summary{aspect-ratio:1;height:100%;width:calc(100% - 1rem)}.feed-item summary .handle{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:var(--overlay-light);border-radius:var(--innerRadius);bottom:0;left:0;padding:.25rem .25rem .25rem 1.1rem;position:absolute;right:0;z-index:1}.feed-item summary:after{bottom:.35rem;cursor:pointer;height:1.5rem;position:absolute;right:.7rem;width:1.5rem;z-index:11}.feed-item label{font-weight:400;text-transform:none}.feed-item label .icon{--w:1.5em}.load-more{align-items:center;background:var(--base);border:2px solid transparent;border-radius:4px;color:var(--contrast);display:flex;font-size:var(--medium);gap:.5rem;margin:1rem auto;opacity:1;padding:.75rem 1.5rem;width:66.666%}.load-more,.load-more[hidden]{transition:all var(--transition-base)}.load-more[hidden]{opacity:0}.load-more:hover{background:var(--pink-50);border-color:var(--contrast);color:var(--white)}button.favourite{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:var(--overlay-medium);border:none;border-radius:50%;box-shadow:var(--subtle);display:flex;height:2rem;justify-content:center;position:absolute;right:.5rem;top:.5rem;transition:all var(--transition-base);width:2rem;z-index:10}button.favourite:hover{background:var(--base);box-shadow:0 4px 8px rgba(0,0,0,.15);color:var(--pink-0);transform:scale(1.1)}button.favourite.favourited{animation:pop .4s cubic-bezier(.25,.46,.45,.94)}.feed-image{aspect-ratio:1;display:block;overflow:hidden}.feed-image,.feed-images{height:100%;width:100%}.feed-images.multi{display:grid;gap:4px;grid-auto-rows:1fr;grid-template-columns:repeat(3,1fr)}.feed-images.multi>a{aspect-ratio:1;height:100%;width:100%}.feed-images.multi .feed-image{grid-column:span 2;grid-row:span 2}.feed-images img{height:100%;-o-object-fit:cover;object-fit:cover;transition:transform var(--timing) var(--function);width:100%}.feed-images a:hover img{transform:scale(1.05)}.feed-item:nth-of-type(4n+2) .multi .feed-image{grid-column:2/span 2;grid-row:1/span 2}.feed-item:nth-of-type(4n+3) .multi .feed-image{grid-column:1/span 2;grid-row:2/span 2}.feed-item:nth-of-type(4n+4) .multi .feed-image{grid-column:2/span 2;grid-row:2/span 2}.item-info{border-left:1px solid var(--base-200);padding:.25rem}.item-info>div+div{margin-top:.5em;position:relative}.item-info>div+div:before{border-bottom:1px solid var(--base-200);content:"";display:block;left:-.25rem;position:absolute;top:-.3em;width:66.6%}.item-info h3{font-family:var(--body);font-size:1.1rem;font-weight:var(--bWeight);margin:0 0 .5em!important}.item-info span{align-items:center;display:flex;text-transform:uppercase}.item-info .icon{--w:1.1em;display:inline-block;margin-right:.5em;vertical-align:middle}.item-list ul{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:.5em 0}.item-list ul li{list-style:none}.item-list a{background-color:var(--pink-0);border:1px solid transparent;border-radius:4px;color:var(--light-0);line-height:.8;padding:.25em}.item-list a:visited{background-color:var(--pink-100);color:var(--white)}.item-list a:focus,.item-list a:hover,.item-list a:visited:focus,.item-list a:visited:hover{background-color:transparent;border-color:var(--contrast);color:var(--contrast)}.loading{opacity:.7}.loading-overlay{align-items:center;background-color:var(--overlay-medium);bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:fixed;right:0;top:0;transition:opacity .3s ease,visibility .3s ease;visibility:hidden;z-index:9999}.loading .loading-overlay{opacity:1;visibility:visible}.loading .loading-overlay:after{animation:shimmer 3s ease-in-out infinite;background:linear-gradient(90deg,var(--shimmer));content:"";inset:0;position:absolute;z-index:-1}.loading .loading-overlay .wrapper{align-items:center;background-color:var(--overlay-heavy);border-radius:var(--innerRadius);display:flex;height:300px;justify-content:center;max-width:90%;padding:2rem;position:relative;text-align:center;width:400px;z-index:5}.loading .loading-overlay .wrapper .spinner{--h:150px;--w:calc(var(--h)*2);animation:spin 1s var(--timing) infinite;border-radius:50%;border-top:5px solid var(--pink-0);height:var(--w);left:calc(50% - var(--h));opacity:.5;position:absolute;top:calc(50% - var(--h));width:var(--w);z-index:0}.loading .loading-overlay .wrapper div.icon{height:50px;width:50px}.loading .loading-overlay .wrapper div.icon .icon{--w:100%}.loading .loading-overlay .wrapper div.icon .icon svg{animation:dance 2s ease-in-out infinite;transition:color .3s ease}.loading .loading-overlay .wrapper .status{align-items:center;display:flex;flex-direction:column;height:200px;width:100%;z-index:5}.loading .loading-overlay .wrapper .status h3{color:var(--contrast-200);margin:1.5rem 0 .25rem!important}.loading .loading-overlay .wrapper .status .message{animation:flicker 2s infinite;color:var(--contrast-100);font-size:var(--small);margin:0;max-width:275px}@keyframes highlight{0%,to{box-shadow:none}50%{box-shadow:0 0 0 4px var(--pink-0)}}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.3)}75%{transform:scale(.9)}to{transform:scale(1)}}@keyframes bubble{50%{box-shadow:19px 0 0 3px,38px 0 0 7px,57px 0 0 3px}to{box-shadow:19px 0 0 0,38px 0 0 3px,57px 0 0 7px}}@keyframes highlight-pulse{0%,to{box-shadow:0 0 0 4px #ff0080,0 8px 16px rgba(0,0,0,.1)}50%{box-shadow:0 0 0 8px #ff0080,0 12px 24px rgba(0,0,0,.15)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes shimmer{0%{transform:translateX(-100%)}50%,to{transform:translateX(100%)}}@keyframes dance{0%,to{transform:rotate(-5deg) scale(1)}50%{transform:rotate(5deg) scale(1.1)}}@keyframes flicker{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.feed-item[tabindex="0"]{position:relative}.feed-item[tabindex="0"]:after{border:2px solid transparent;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;transition:border-color .2s ease}.feed-item[tabindex="0"]:focus:after{border-color:#ff0080}
+/*!********************************************************************************************************************************************************************************************************************************************!*\
+  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/feed/style.scss ***!
+  \********************************************************************************************************************************************************************************************************************************************/
+/***** START FRESH *****/
+.feed-block {
+  grid-column: full;
+}
+.feed-block .placeholder {
+  aspect-ratio: 1;
+  background: rgb(var(--base));
+  border: 1rem solid rgb(var(--base-50));
+  border-radius: 1rem;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  --w: 50%;
+  color: rgb(var(--base-200));
+}
+.feed-block .placeholder i.icon {
+  animation: dance 2.5s ease-in-out infinite;
+}
+.feed-block .item-grid {
+  max-width: var(--full);
+}
+.feed-block .item-grid:has([data-timeline]) {
+  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
+}
+.feed-block .item {
+  overflow: hidden;
+  background: rgb(var(--base-50));
+  box-shadow: rgba(var(--base), var(--op-2)) var(--shdw);
+  height: -moz-fit-content;
+  height: fit-content;
+  padding: 0;
+}
+.feed-block .item h3 {
+  margin: 0;
+  font-size: var(--txt-medium);
+}
+.feed-block .item details {
+  z-index: var(--z-2);
+  width: 100%;
+  position: relative;
+  padding: 0;
+}
+.feed-block .item details summary {
+  position: absolute;
+  top: calc(var(--chip_) * -1);
+  left: 0;
+  width: 100%;
+  background-color: rgba(var(--base), var(--op-2));
+  backdrop-filter: blur(5px);
+}
+.feed-block .item details summary:hover {
+  background-color: rgba(var(--action-0), var(--op-45));
+}
+.feed-block .item details[open] {
+  padding: 0.25rem 0.5rem;
+}
+.feed-block .item img:hover {
+  opacity: 0.8;
+}
+.feed-block .item[data-timeline] .images {
+  aspect-ratio: 3/2;
+  padding: 0 0 1rem;
+}
+.feed-block .item[data-timeline] .images span {
+  width: 50%;
+  position: absolute;
+  background-color: rgb(var(--action-0));
+  color: rgb(var(--action-contrast));
+  padding: 0.25rem 0.5rem;
+}
+.feed-block .item[data-timeline] .images span:first-of-type {
+  bottom: 0;
+  right: 50%;
+  text-align: right;
+}
+.feed-block .item[data-timeline] .images span:last-of-type {
+  top: 0;
+  left: 50%;
+}
+.feed-block .item[data-timeline] .images img {
+  width: 50%;
+}
+.feed-block .item[data-timeline] .images img:first-of-type {
+  border-right: 2px solid rgb(var(--action-0));
+}
+.feed-block .item a::before, .feed-block .item a::after {
+  display: none;
+}
+.feed-block .item label {
+  font-weight: normal;
+  text-transform: none;
+  --w: 1.5em;
+}
+.feed-block .all-filters summary {
+  display: flex;
+  justify-content: space-between;
+}
+.all-filters {
+  font-size: var(--txt-x-small);
+}
+.all-filters[open] {
+  border: 2px solid rgb(var(--action-0));
+  padding: 0;
+  border-radius: 0 0 var(--radius-outer) var(--radius-outer);
+}
+.all-filters summary {
+  width: 100%;
+}
+.all-filters[open] summary,
+.all-filters summary:hover {
+  background-color: rgb(var(--action-0));
+  color: rgb(var(--action-contrast));
+}
+.all-filters[open] summary::after,
+.all-filters summary:hover::after {
+  background-color: rgb(var(--action-contrast));
+}
+.all-filters > .row.row {
+  padding: 0 0.75rem 2rem;
+  width: var(--content);
+}
+.all-filters > .row.row.search {
+  padding-bottom: 0;
+}
+.all-filters > .row.row {
+  position: relative;
+}
+.all-filters > .row.row > .label,
+.all-filters > .row.row > .row > .label {
+  font-family: var(--heading);
+  font-weight: var(--fw-h-bold);
+  text-transform: uppercase;
+}
+.all-filters > .row.row > .label {
+  width: 20%;
+}
+.all-filters > .row.row > .row > .label {
+  white-space: nowrap;
+}
+.all-filters button,
+.all-filters .btn + label {
+  width: var(--chipchip);
+  min-height: var(--chipchip);
+  padding: 0;
+}
+.all-filters button .label,
+.all-filters .row:has(> .btn:not(:checked) + label:hover) :checked + label .label,
+.all-filters .btn + label .label {
+  position: absolute;
+  bottom: -2rem;
+  width: -moz-max-content;
+  width: max-content;
+  white-space: nowrap;
+  opacity: 0;
+  z-index: var(--z-4);
+}
+.all-filters button:hover .label,
+.all-filters .btn:checked + label .label,
+.all-filters .btn + label:hover .label {
+  opacity: 1;
+}
+.all-filters .search.row,
+.all-filters .view.row {
+  display: none;
+}
+.all-filters .ordering {
+  padding: 2rem 0 0.75rem 0;
+}
+.all-filters .ordering > .row label {
+  position: unset;
+}
+.all-filters .ordering .row .label {
+  top: -1rem;
+  color: rgb(var(--contrast));
+}
+.all-filters .ordering .row.orderby .label {
+  left: 0;
+}
+.all-filters .ordering .row.order-direction .label {
+  right: 0;
+}
+.search-container:not(.open) input[type=search],
+.search-container:not(.open) .clear-search {
+  transform: scaleX(0);
+  transform-origin: left;
+  width: 0;
+  padding: 0;
+  transition: transform var(--trans-base), width var(--trans-base), padding var(--trans-base);
+}
+.search-container button {
+  padding: 0.5rem;
+}
+.search-container .icon {
+  --w: 1.5rem;
+}
+.search-container.open input[type=search],
+.search-container.open .clear-search {
+  transform: scaleX(1);
+  transform-origin: left;
+  transition: transform var(--trans-base), width var(--trans-base), padding var(--trans-base);
+}
+.all-filters > .search,
+input[type=search],
+.search-container {
+  width: 100%;
+}
+.toggle-text input + label {
+  font-weight: normal;
+  color: var(--contrast) !important;
+  text-transform: none;
+  cursor: pointer;
+  position: relative;
+  padding: 0.25rem 0.5rem;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  user-select: none;
+  border: 1px dashed transparent;
+}
+.toggle-text input + label::before, .toggle-text input + label::after {
+  display: none !important;
+}
+.toggle-text input + label .text {
+  position: relative;
+  margin: 0;
+  --gap: 0;
+  font-weight: bold;
+  width: -moz-fit-content;
+  width: fit-content;
+  padding: 2px 4px;
+  border: 1px solid rgb(var(--action-50));
+  border-radius: var(--radius);
+  color: rgb(var(--action-50));
+}
+.toggle-text input + label .off {
+  --mid: -100%;
+}
+.toggle-text input + label .on {
+  --mid: 100%;
+}
+.toggle-text input + label .off,
+.toggle-text input + label .on {
+  transition: var(--trans-transform), opacity var(--trans-base);
+}
+.toggle-text input + label .off, .toggle-text input:checked + label .on {
+  opacity: 1;
+  max-width: 100%;
+  transform: translate3d(0, 0, 0);
+}
+.toggle-text input + label .on, .toggle-text input:checked + label .off {
+  opacity: 0;
+  max-width: 0;
+  transform: translate3d(0, var(--mid), 0);
+}
+.toggle-text:hover label {
+  border-color: rgb(var(--action-200));
+}
+.toggle-text:hover .text {
+  background-color: rgb(var(--action-50));
+  color: rgb(var(--action-contrast));
+  border-color: rgb(var(--action-50));
+}
+
+/*# sourceMappingURL=style-index.css.map*/
\ No newline at end of file

--
Gitblit v1.10.0