/* Static generated cards remain available even if scripts cannot load. */
.shelf-main{width:90%;max-width:1100px;margin:0 auto;padding:48px 0}
.shelf-heading{text-align:center;max-width:800px;margin:auto;animation:shelf-rise .5s ease-out both}
.shelf-heading h1{font-family:var(--display,'Bricolage Grotesque',Arial,sans-serif);font-size:65px;font-weight:600;line-height:1.02;letter-spacing:-3px;color:#2243ee;margin:0}
.shelf-heading>p{font-size:17px;color:#6c6b60;line-height:1.6;margin:18px 0 0}
.shelf-tools{margin-top:30px}.shelf-tools[hidden],.shelf-subcategories[hidden]{display:none}
.shelf-build-types{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1fr) minmax(0,.85fr) minmax(0,1.35fr) minmax(0,.85fr) minmax(0,.95fr);gap:10px;max-width:1100px;margin:auto}
.shelf-build-types [data-build-filter="all"]{--spark-bg:#25251f;--spark-ink:#fff9ea}
.shelf-build-types button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:62px;padding:13px 10px;border:1px solid #25251f3a;border-radius:10px;background:#fff9ea;color:#25251f;font:600 16px/1.3 var(--body);cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}
.shelf-build-types button .spark-type-icon{width:25px;height:25px}
.shelf-build-types button[aria-pressed=true]{background:var(--spark-bg);color:var(--spark-ink);border-color:#25251f;box-shadow:3px 4px 0 #25251f;transform:translateY(-2px)}
.shelf-build-types button:hover{border-color:#25251f}
.shelf-build-types [data-build-filter="starred"]{--spark-bg:#f4d357;--spark-ink:#25251f;border-color:#b4ad98;background:#fff9ea}
.shelf-build-types .spark-egg-icon{width:22px;height:22px}
.shelf-search{max-width:620px;margin:0 auto 25px}
.shelf-search-field{display:flex;align-items:center;gap:8px;border:1px solid #c7c4b7;border-radius:10px;background:#fffdf5;padding:4px 7px 4px 0}
.shelf-search-field:focus-within{outline:3px solid #2243ee;outline-offset:3px}.shelf-search input{min-width:0;flex:1;border:0;background:transparent;color:#25251f;font:400 16px/1.4 var(--body);padding:13px 16px;outline:none}
.shelf-search-clear,.shelf-search-field button{border:0;border-radius:6px;padding:8px;background:#ebe7db;color:#25251f;font:500 13px/1.4 var(--body);cursor:pointer}
.shelf-search-field button[hidden]{display:none}.shelf-empty{margin:28px auto 0;max-width:560px;color:#6c6b60;text-align:center;font:400 16px/1.6 var(--body)}.shelf-empty[hidden],.shelf-reveal[hidden]{display:none}
.shelf-reveal{text-align:center;margin-top:24px}#shelf-sentinel{height:1px}#shelf-load-more{border:1px solid #25251f;border-radius:10px;padding:13px 22px;background:#fff9ea;color:#25251f;font:600 15px/1.4 var(--body);cursor:pointer}
.shelf-filter-count{font:500 12px/1.2 var(--body);opacity:.85}
.shelf-subcategories{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:24px auto 0;min-height:38px}
.shelf-subcategories button{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:8px 13px;border:1px solid #c7c4b7;border-radius:30px;background:transparent;color:#25251f;font:500 13px/1.4 var(--body);cursor:pointer}
.shelf-subcategories button[aria-pressed=true]{background:#25251f;color:#fff9ea;border-color:#25251f}
.shelf-subcategories button:hover{border-color:#25251f}
.shelf-build-types button:focus-visible,.shelf-subcategories button:focus-visible{outline:3px solid #2243ee;outline-offset:5px}
.shelf-results{font-size:12px;line-height:1.6;color:#6c6b60;text-align:center;margin:18px 0 0}
.shelf-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:22px;align-items:stretch}
.shelf-card[hidden]{display:none}
.shelf-card{font-family:var(--body,'DM Sans',Arial,sans-serif);text-align:left;position:relative;display:flex;min-width:0;border:1px solid #25251f28;border-radius:10px;background:var(--spark-bg);color:var(--spark-ink);box-shadow:0 4px 0 #25251f0a;transition:transform .2s,box-shadow .2s;animation:shelf-rise .4s ease-out both}
.shelf-card-open{display:flex;flex-direction:column;min-width:0;width:100%;padding:24px;border:0;border-radius:inherit;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.shelf-card>.spark-star-button{position:absolute;top:18px;right:18px;z-index:1}
.shelf-card:hover{transform:translateY(-4px);box-shadow:0 8px 0 #25251f18}
.shelf-card-open:focus-visible{outline:3px solid #25251f;outline-offset:5px}.shelf-search-field button:focus-visible,#shelf-load-more:focus-visible{outline:3px solid #2243ee;outline-offset:3px}
.shelf-card-meta{display:flex;flex-direction:column;align-items:flex-start;gap:15px;margin-bottom:22px;padding-right:30px}
.shelf-card-labels{display:flex;flex-direction:column;gap:5px}
.shelf-category{font-size:12px;font-weight:700;letter-spacing:.6px;line-height:1.5;text-transform:uppercase}
.shelf-subcategory{font-size:12px;line-height:1.4;opacity:.85}
.shelf-illustration{display:grid;place-items:center;width:37px;height:37px;flex:none;border:1px solid currentColor;border-radius:9px;color:var(--spark-accent)}
.shelf-card-open>strong{font-family:var(--display,'Bricolage Grotesque',Arial,sans-serif);font-size:28px;font-weight:600;line-height:1.08;letter-spacing:-.8px;overflow-wrap:break-word}
.shelf-card-copy{font-size:15px;line-height:1.5;margin:14px 0 22px;flex:1}
.shelf-card-action{display:flex;justify-content:space-between;font-size:13px;font-weight:600;border-top:1px solid currentColor;padding-top:14px;line-height:1.5}
.shelf-bottom{text-align:center;padding-top:30px;color:#6c6b60}
.shelf-end{text-align:center;margin:30px 0 0;color:#6c6b60;font:400 14px/1.5 var(--body)}.shelf-end[hidden]{display:none}
.shelf-bottom>p{font-size:12px;line-height:1.6;margin:0}
.shelf-bottom>a{display:inline-block;font-size:14px;color:#2243ee;text-decoration:underline;text-underline-offset:5px;margin-top:14px;padding:6px}
@keyframes shelf-rise{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@media(max-width:1100px){.shelf-main{width:calc(100% - 64px)}.shelf-grid{gap:14px}.shelf-card-open{padding:22px}}
@media(max-width:850px){.shelf-main{padding-top:40px}.shelf-heading h1{font-size:55px;letter-spacing:-2.5px}.shelf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.shelf-card-open{padding:24px}.shelf-subcategories{gap:7px}.shelf-build-types{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.shelf-main{width:88%;padding:34px 0 43px}.shelf-heading h1{font-size:43px;letter-spacing:-2px;line-height:1.05}.shelf-heading>p{font-size:16px;margin-top:17px}.shelf-tools{margin-top:26px}.shelf-build-types{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.shelf-build-types button{min-height:56px;padding:12px 8px;font-size:14px;gap:6px}.shelf-build-types button .spark-type-icon{width:22px;height:22px}.shelf-subcategories{justify-content:flex-start;margin-top:22px}.shelf-results{text-align:left}.shelf-grid{gap:16px 13px;margin-top:18px}.shelf-card-open{padding:18px}.shelf-card-meta{flex-direction:column;gap:13px;margin-bottom:19px}.shelf-subcategory{font-size:11px}.shelf-card-open>strong{font-size:24px;letter-spacing:-.6px}.shelf-card-copy{font-size:14px;margin-bottom:19px}.shelf-bottom>p{max-width:300px;margin:auto}}
@media(max-width:480px){.shelf-grid{grid-template-columns:1fr}.shelf-card-meta{flex-direction:column}.shelf-card-open{padding:24px}.shelf-card-open>strong{font-size:28px}}
@media(prefers-reduced-motion:reduce){.shelf-heading,.shelf-card{animation:none;transition:none}.shelf-build-types button{transition:none}}

