@charset "UTF-8";:root{--bg:#ffffff !important;--bgLight:#f0f0f0!important;--text:#141414 !important;--textLight:#494949;--accent1:#2e1ee1e0;--accent1-t:#2e1ee170;--accent2:#4cc03fe5;--accent3:#e74c3c;--link:#0066cc;--border:#dddddd;--code-bg:#f7f7f7!important;--font-heading:Montserrat, sans-serif;--font-body:Nunito, sans-serif}[data-theme=dark]{--bg:#1a1a1a !important;--bgLight:#2c2c2c!important;--text:#f0f0f0 !important;--textLight:#cccccc;--accent1:#75e70baf;--accent1-2:#5c55aa;--accent2:#4cc03f7c;--accent3:#e95e50;--link:#6699cc;--border:#444444}:root{--title-color:#0066cc}[data-theme=dark]{--title-color:#4db8ff}.site-header{border-bottom:2px solid #000;padding:20px 0;text-align:center}.page-title{font-size:3rem;font-weight:700;padding-top:2rem;padding-bottom:1rem;text-transform:capitalize}@media(max-width:768px){.page-title{font-size:1.5rem;padding-top:0;padding-bottom:0}}.footer{padding:20px 0;text-align:center;margin-top:40px;border-top:1px solid var(--border);background-color:var(--bg);color:var(--text)}@media(max-width:768px){.footer{margin-top:0}}.footer a{color:var(--accent1);text-decoration:none}.footer a:hover{color:var(--text);text-decoration:underline}.footer .socials{display:flex;justify-content:center;gap:1rem;margin-top:1rem}.footer .socials a{font-size:1.5rem;color:var(--text);transition:color .3s ease}.footer .socials a:hover{color:var(--text);color:var(--accent1)}.affiliate-disclosure{font-size:.9rem;color:var(--textLight);margin-top:1rem;text-align:center;font-family:var(--font-body)}.navbar{border-bottom:1px solid var(--border);padding:10px 0}.navbar-container{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 20px;position:relative}.logo{font-family:righteous,cursive,sans-serif;font-size:2rem;font-weight:400;text-decoration:none;position:absolute;left:20px;top:50%;transform:translateY(-50%);transition:color .3s ease;color:var(--accent1)!important}.logo:hover{text-decoration:none;color:var(--random-color)!important}.nav-center{display:flex;gap:20px;margin:0 auto}.nav-center a{color:var(--text);text-decoration:none;transition:color .3s ease}.nav-center a:hover{color:var(--accent1)}.nav-right{display:flex;gap:10px;position:absolute;right:20px;top:50%;transform:translateY(-50%)}.nav-right button{background:0 0;border:none;font-size:1.5rem;cursor:pointer;color:var(--text);transition:color .3s ease}.nav-right button:hover{color:var(--accent1)}@media(max-width:900px){.navbar{padding:10px 0}.navbar-container{flex-direction:column;gap:12px;padding:0 10px}.logo{position:static;transform:none;margin:0;text-align:center}.nav-right{position:static;transform:none;justify-content:center;width:100%;gap:20px}.nav-right button{font-size:1.2rem}.nav-right .cart-count{display:none}.nav-center{width:100%;justify-content:center;gap:15px;padding:5px 0}.nav-center a{font-size:.9rem}}.single{display:flex;gap:2rem}.single-content{flex:1;max-width:800px;margin:0 auto;padding:0 1rem}@media(max-width:768px){.single-content{padding:0;max-width:100%}}.single-content p,.single-content li{font-size:1rem;line-height:1.5;color:var(--text)}@media(max-width:768px){.single-content p,.single-content li{font-size:1rem;line-height:1.6}}.single-content p{margin-bottom:1.5rem}@media(max-width:768px){.single-content p{margin-bottom:1rem}}.single-content h1,.single-content h2,.single-content h3,.single-content h4,.single-content h5,.single-content h6{font-family:var(--font-heading);color:var(--text);margin:2.5rem 0 1.2rem;line-height:1.3}@media(max-width:768px){.single-content h1,.single-content h2,.single-content h3,.single-content h4,.single-content h5,.single-content h6{margin:1.5rem 0 .75rem}}.single-content h1{font-size:2.5rem}.single-content h2{font-size:2rem}.single-content h3{font-size:1.75rem}.single-content h4{font-size:1.5rem}.single-content h5{font-size:1.25rem}.single-content h6{font-size:1.1rem}@media(max-width:768px){.single-content h1{font-size:2rem}.single-content h2{font-size:1.75rem}.single-content h3{font-size:1.5rem}.single-content h4{font-size:1.25rem}.single-content h5{font-size:1.1rem}.single-content h6{font-size:1rem}}.single-content ul,.single-content ol{margin-bottom:1.5rem;padding-left:1.5rem}.single-content ul li,.single-content ol li{margin-bottom:.5rem}@media(max-width:768px){.single-content ul li,.single-content ol li{margin-bottom:.3rem}}.single-content img{max-width:100%;height:auto;border-radius:4px;margin:.25rem auto;display:block}@media(max-width:768px){.single-content img{margin:1.25rem auto}}.single-content img+em{display:block;text-align:center;font-size:.9rem;color:var(--textLight);margin:-1.5rem auto 2rem}@media(max-width:768px){.single-content img+em{margin:-1rem auto 1.25rem}}.single-content pre{margin:1.5rem 0;padding:1rem;background-color:var(--bgLight);border-radius:4px;overflow-x:auto;font-size:.9rem}.single-content pre code{display:block;line-height:1.5}@media(max-width:768px){.single-content pre{margin:1rem 0}}.single-content code{background-color:var(--bgLight);padding:.2rem .4rem;border-radius:3px;font-size:.9em}.single-content blockquote{margin:2rem 0;padding:1rem 1.5rem;border-left:4px solid var(--accent1);background-color:var(--bgLight);font-style:italic}.single-content blockquote p{margin:0;color:var(--textLight)}@media(max-width:768px){.single-content blockquote{margin:1.25rem 0;padding:.75rem 1rem}}.single-content hr{border:none;border-top:2px solid var(--border);margin:2rem auto}@media(max-width:768px){.single-content hr{margin:1.5rem auto;width:85%}}.single-content table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95rem}@media(max-width:768px){.single-content table{display:block;overflow-x:auto}}.single-content table th,.single-content table td{padding:.75rem 1rem;border-bottom:1px solid var(--border);color:var(--text);text-align:left}.single-content table th{font-family:var(--font-heading);background-color:var(--bgLight)}.single-content table tr:last-child td{border-bottom:none}.single-content img.zoomable{cursor:zoom-in}.image-zoom-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:2vmin;background:rgba(0,0,0,.88);cursor:zoom-out;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.image-zoom-overlay.open{opacity:1;visibility:visible}.image-zoom-overlay img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:8px;margin:0}body.image-zoom-active{overflow:hidden}.placeholder{border:2px dashed var(--accent3);border-radius:8px;background-color:var(--bgLight);color:var(--text);padding:1rem 1.25rem;margin:1.25rem 0}.placeholder strong{color:var(--accent3)}.placeholder-photo{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;text-align:center}.placeholder-photo i{font-size:2rem;color:var(--accent3)}.toc{background-color:var(--bgLight);padding:1.5rem;border-radius:8px;margin-bottom:2rem}@media(max-width:768px){.toc{margin:1rem -1rem;border-radius:0}}.toc ul{list-style-type:none;padding-left:0}.toc ul ul{padding-left:1.5rem}.toc a{color:var(--text);text-decoration:none;display:block;padding:.3rem 0}.toc a:hover{color:var(--accent1)}.full-width-image,.image-pair-container{margin:2rem auto}.full-width-image img,.image-pair-container img{border-radius:8px}@media(max-width:768px){.full-width-image,.image-pair-container{margin:1.25rem -1rem}.full-width-image img,.image-pair-container img{border-radius:0}}.text-image-container{display:flex;gap:2rem;margin:2rem 0;align-items:center}.text-image-container .text-content,.text-image-container .image-content{flex:1}.text-image-container img{margin:0;border-radius:8px}@media(max-width:768px){.text-image-container{flex-direction:column;gap:.75rem;margin:1.25rem 0}.text-image-container .text-content,.text-image-container .image-content{width:100%}}.affiliate-notice{display:flex;align-items:center;gap:.75rem;background-color:var(--bgLight);border-left:3px solid var(--accent1);padding:.75rem .25rem;margin-top:1rem;border-radius:0 4px 4px 0;font-size:.9rem;color:var(--textLight);transition:all .3s ease}.affiliate-notice i{color:var(--accent1);font-size:1rem}.affiliate-notice span{line-height:1.4}@media(max-width:768px){.affiliate-notice{margin:0;padding:.6rem .75rem}}.listCardContainer{display:flex;flex-direction:column;gap:20px;margin-top:20px}.listItem{display:flex;border:1px solid var(--border);background-color:var(--bg);border-radius:4px;overflow:hidden}.listItem .listItemImage{flex:0 0 300px;position:relative;padding-top:250px}.listItem .listItemImage img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:4px}.listItem .listItemContent{flex:1;display:flex;flex-direction:column;padding:15px;min-width:0}.listItem .listItemTitle{font-family:var(--font-heading);font-size:1.4rem;margin-bottom:10px}.listItem .listItemTitle a{color:var(--accent1);font-weight:700;text-decoration:none;transition:color .3s ease}.listItem .listItemTitle a:hover{text-decoration:underline;color:var(--text)}.listItem .listItemDesc{flex-grow:1;color:var(--textLight);font-size:.9rem;margin-bottom:10px;overflow:hidden;text-overflow:ellipsis}.listItem .listItemMeta{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--textLight)}.listItem .category-bubble{color:var(--accent1)}@media(max-width:768px){.listItem{flex-direction:column}.listItem .listItemImage{margin:15px;border-radius:4px;flex:0 0 100px;padding-top:180px}.listItem .listItemContent{padding-top:0}.listItem .listItemTitle{margin-top:0;margin-bottom:0;padding-bottom:0;padding-top:0}.listItem .listItemDesc{margin-top:5px;margin-bottom:30px}}.home-container{max-width:1200px;margin:0 auto;padding:1rem}@media(max-width:768px){.home-container{padding:.5rem}}.bordered-section{border:1px solid var(--border);background-color:var(--bg);border-radius:4px;overflow:hidden;margin-bottom:2rem}.workshop-showcase{display:flex;align-items:center;gap:2rem;padding:2rem}@media(max-width:768px){.workshop-showcase{padding:1rem;gap:1rem}.workshop-showcase .workshop-content h1{font-size:1.8rem;margin-bottom:.5rem}.workshop-showcase .workshop-content p{font-size:.9rem;margin-bottom:1rem}.workshop-showcase .workshop-content .button{font-size:1rem;padding:.5rem 1rem;width:100%}}.workshop-showcase .workshop-image{flex:0 0 400px;max-height:300px;display:flex;align-items:center;justify-content:center}.workshop-showcase .workshop-image img{max-width:100%;max-height:100%;border-radius:4px}.featured-project{padding-top:2rem;padding-bottom:2rem}.featured-project .project-showcase{display:flex;align-items:center;gap:2rem;padding:2rem}.featured-project .project-showcase .project-content{flex:1}.featured-project .project-showcase .project-content h1{font-family:var(--font-heading);font-size:2rem;margin-bottom:1rem;color:var(--text)}.featured-project .project-showcase .project-content p{color:var(--textLight);font-size:1rem;margin-bottom:1.5rem}.featured-project .project-showcase .project-content .button{display:inline-block}.featured-project .project-showcase .project-image{flex:0 0 400px;max-height:300px;display:flex;align-items:center;justify-content:center}.featured-project .project-showcase .project-image img{max-width:100%;max-height:100%;border-radius:4px}@media(max-width:768px){.featured-project{padding:1rem}.featured-project .project-showcase{flex-direction:column;gap:1rem;padding:1rem}.featured-project .project-showcase .project-image{order:-1;flex:none;max-height:180px;width:100%}.featured-project .project-showcase .project-image img{max-height:180px;width:auto;object-fit:contain;margin:0 auto}.featured-project .project-showcase .project-content{text-align:center}.featured-project .project-showcase .project-content h1{font-size:1.8rem;margin-bottom:.75rem}.featured-project .project-showcase .project-content p{font-size:.9rem;margin-bottom:1rem}.featured-project .project-showcase .project-content .button{max-width:fit-content;min-width:120px;margin:0 auto;display:block;font-size:1rem;padding:.75rem 1.5rem}}.recent-projects{padding:1.5rem}.recent-projects h2{font-family:var(--font-heading);font-size:1.8rem;margin-bottom:1.5rem;color:var(--text)}.recent-projects .project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:3rem;justify-items:center}@media(max-width:768px){.recent-projects .project-grid{grid-template-columns:1fr;gap:1rem;margin-bottom:2rem}}.recent-projects .project-card{position:relative;transition:transform .2s ease,box-shadow .2s ease;border:1px solid var(--border);background-color:var(--bg);border-radius:4px;overflow:hidden;padding:1rem;display:flex;flex-direction:column;height:100%;max-width:300px;min-height:400px;margin:0 auto}.recent-projects .project-card img{width:100%;height:200px;object-fit:cover;border-radius:4px;margin-bottom:1rem}@media(max-width:768px){.recent-projects .project-card img{height:180px}}.recent-projects .project-card:hover{transform:translateY(-3px);box-shadow:0 5px 15px rgba(0,0,0,.1)}.recent-projects .project-card h3{font-family:var(--font-heading);font-size:1.1rem;margin-bottom:.75rem;color:var(--accent1)}@media(max-width:768px){.recent-projects .project-card h3{font-size:1.1rem}}.recent-projects .project-card p{color:var(--textLight);font-size:.9rem;line-height:1.6;flex-grow:1}@media(max-width:768px){.recent-projects .project-card p{font-size:.9rem}}.recent-projects .project-card .card-link{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}@media(max-width:768px){.recent-projects .project-card{min-height:auto;padding:1rem}}.bordered-card{border:1px solid var(--border)}.button{display:inline-block;padding:.5rem 1rem;background-color:var(--accent1);color:var(--bg);text-decoration:none;border:none;cursor:pointer;text-align:center;font-size:.9rem;border-radius:4px;transition:background-color .3s ease,color .3s ease}.button:hover{background-color:var(--text)}.center-button{text-align:center;margin-top:2rem}.center-button .button{font-size:1rem;padding:.75rem 1.5rem}.recent-projects .center-button{margin-top:3rem}@media(max-width:768px){.workshop-showcase,.featured-project .project-showcase{flex-direction:column}.workshop-showcase .workshop-image,.workshop-showcase .project-image,.featured-project .project-showcase .workshop-image,.featured-project .project-showcase .project-image{flex:none;width:100%;max-height:none}.workshop-showcase .workshop-content h1{font-size:2rem}.workshop-showcase .workshop-content p{font-size:1rem}}.kickstarter-showcase{display:flex;align-items:center;gap:2rem;padding:2rem;margin-bottom:2rem;background:linear-gradient(45deg,var(--bg),var(--bgDark))}.kickstarter-showcase .kickstarter-content{flex:1}.kickstarter-showcase .kickstarter-content h2{font-family:var(--font-heading);font-size:2.5rem;margin-bottom:1rem;color:var(--text)}.kickstarter-showcase .kickstarter-content p{color:var(--textLight);font-size:1.2rem;margin-bottom:1.5rem}.kickstarter-showcase .kickstarter-content .kickstarter-stats{display:flex;gap:2rem;margin-bottom:1.5rem}.kickstarter-showcase .kickstarter-content .kickstarter-stats .stat{display:flex;flex-direction:column;align-items:center}.kickstarter-showcase .kickstarter-content .kickstarter-stats .stat .stat-value{font-size:2rem;font-weight:700;color:var(--accent1)}.kickstarter-showcase .kickstarter-content .kickstarter-stats .stat .stat-label{color:var(--textLight)}.kickstarter-showcase .kickstarter-content .kickstarter-button{background-color:#05ce78;color:#000;font-weight:700;padding:16px 32px;border-radius:4px;transition:background-color .3s ease}.kickstarter-showcase .kickstarter-content .kickstarter-button:hover{background-color:#00b167}.kickstarter-showcase .kickstarter-content .kickstarter-button:focus{outline:2px solid #fff;outline-offset:2px}@media(forced-colors:active){.kickstarter-showcase .kickstarter-content .kickstarter-button{border:2px solid}}.kickstarter-showcase .kickstarter-image{flex:0 0 400px;max-height:300px;display:flex;align-items:center;justify-content:center}.kickstarter-showcase .kickstarter-image img{max-width:100%;max-height:100%;border-radius:4px}@media(max-width:768px){.kickstarter-showcase{flex-direction:column}.kickstarter-showcase .kickstarter-image{flex:none;width:100%;max-height:none}.kickstarter-showcase .kickstarter-content h2{font-size:2rem}.kickstarter-showcase .kickstarter-content p{font-size:1rem}}@media(max-width:768px){.kickstarter-showcase{padding:1rem;gap:1rem;margin-bottom:1rem}.kickstarter-showcase .kickstarter-content h2{font-size:1.8rem;margin-bottom:.75rem;text-align:center}.kickstarter-showcase .kickstarter-content p{font-size:.9rem;margin-bottom:1rem;text-align:center}.kickstarter-showcase .kickstarter-content .kickstarter-stats{gap:1rem;flex-wrap:wrap;justify-content:center;margin-bottom:1rem}.kickstarter-showcase .kickstarter-content .kickstarter-stats .stat{flex:0 0 calc(50% - .5rem)}.kickstarter-showcase .kickstarter-content .kickstarter-stats .stat .stat-value{font-size:1.5rem}.kickstarter-showcase .kickstarter-content .kickstarter-button{max-width:200px;margin:0 auto;display:block;font-size:1rem;padding:.75rem 1rem;text-align:center}.kickstarter-showcase .kickstarter-image{max-height:180px}.kickstarter-showcase .kickstarter-image img{max-height:180px;object-fit:contain;margin:0 auto}}@media(max-width:768px){.workshop-showcase .workshop-image{max-height:300px}.workshop-showcase .workshop-image img{max-height:300px;width:100%;object-fit:cover}.workshop-showcase .button{max-width:200px;margin:0 auto}}@media(max-width:768px){.featured-project .project-content .button{max-width:200px;margin:0 auto}}@media(max-width:768px){.recent-projects .project-card .button{max-width:200px;margin:0 auto}}@media(max-width:768px){.kickstarter-showcase .kickstarter-content .kickstarter-button{max-width:200px;margin:0 auto}.kickstarter-showcase .kickstarter-image{max-height:300px}.kickstarter-showcase .kickstarter-image img{max-height:300px;width:100%;object-fit:cover;margin:0 auto}}@media(max-width:768px){.workshop-showcase{padding:1rem;gap:1rem}.workshop-showcase .workshop-content{text-align:center}.workshop-showcase .workshop-content h1{font-size:1.8rem;margin-bottom:.75rem}.workshop-showcase .workshop-content p{font-size:.9rem;margin-bottom:1rem}.workshop-showcase .workshop-content .button{max-width:200px;margin:0 auto;display:block;font-size:1rem;padding:.75rem 1rem}.workshop-showcase .workshop-image{max-height:180px;width:100%}.workshop-showcase .workshop-image img{max-height:180px;width:auto;object-fit:contain;margin:0 auto}.home-container{padding:.5rem}.home-container .bordered-section{margin-bottom:1rem}}.kickstarter-image a:not(.button),.workshop-image a:not(.button),.project-image a:not(.button),.project-card a:not(.button){display:block}.kickstarter-image a:not(.button) img,.workshop-image a:not(.button) img,.project-image a:not(.button) img,.project-card a:not(.button) img{transition:transform .3s ease}.kickstarter-image a:not(.button) img:hover,.workshop-image a:not(.button) img:hover,.project-image a:not(.button) img:hover,.project-card a:not(.button) img:hover{transform:scale(1.02)}.kickstarter-image a .light-image,.kickstarter-image a .dark-image{transition:transform .3s ease}.kickstarter-image a .light-image:hover,.kickstarter-image a .dark-image:hover{transform:scale(1.02)}.kickstarter-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 200px);padding:2rem}.kickstarter-page .kickstarter-card{background:linear-gradient(45deg,var(--bg),var(--bgDark));border:1px solid var(--border);border-radius:8px;padding:3rem;max-width:1200px;width:100%;display:flex;align-items:center;gap:3rem}.kickstarter-page .kickstarter-card .kickstarter-content{flex:1}.kickstarter-page .kickstarter-card .kickstarter-content h1{font-family:var(--font-heading);font-size:3.5rem;margin-bottom:1.5rem;color:var(--text)}.kickstarter-page .kickstarter-card .kickstarter-content p{color:var(--textLight);font-size:1.4rem;margin-bottom:2rem;line-height:1.6}.kickstarter-page .kickstarter-card .kickstarter-content .kickstarter-button{background-color:#05ce78;color:#000;font-weight:700;padding:20px 40px;font-size:1.2rem;border-radius:4px;transition:background-color .3s ease;display:inline-flex;align-items:center;gap:.5rem}.kickstarter-page .kickstarter-card .kickstarter-content .kickstarter-button:hover{background-color:#00b167}.kickstarter-page .kickstarter-card .kickstarter-content .kickstarter-button i{font-size:1.4rem}.kickstarter-page .kickstarter-card .kickstarter-image{flex:0 0 500px}.kickstarter-page .kickstarter-card .kickstarter-image img{width:100%;height:auto;max-height:400px;object-fit:contain}@media(max-width:1024px){.kickstarter-page{padding:1rem}.kickstarter-page .kickstarter-card{padding:2rem;gap:2rem}.kickstarter-page .kickstarter-card .kickstarter-content h1{font-size:2.5rem}.kickstarter-page .kickstarter-card .kickstarter-content p{font-size:1.2rem}.kickstarter-page .kickstarter-card .kickstarter-image{flex:0 0 400px}}@media(max-width:768px){.kickstarter-page .kickstarter-card{flex-direction:column;text-align:center;padding:1.5rem}.kickstarter-page .kickstarter-card .kickstarter-content h1{font-size:2rem}.kickstarter-page .kickstarter-card .kickstarter-content p{font-size:1rem}.kickstarter-page .kickstarter-card .kickstarter-content .kickstarter-button{padding:15px 30px;font-size:1rem}.kickstarter-page .kickstarter-card .kickstarter-image{flex:none;width:100%;max-width:300px;margin:0 auto}}.project-card{display:flex;flex-direction:column;height:100%}.project-card .card-image-container{position:relative;width:100%;padding-top:75%;overflow:hidden}.project-card .card-image-container img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.project-card .card-content{padding:1rem;flex-grow:1;display:flex;flex-direction:column;gap:.5rem}.project-card .card-content h3{margin:0;font-size:1.25rem}.project-card .card-content .truncate-text{margin:0;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;max-height:4.5em;line-height:1.5em}@supports not (-webkit-line-clamp:3){.project-card .card-content .truncate-text{position:relative}.project-card .card-content .truncate-text::after{content:"...";position:absolute;right:0;bottom:0;background:var(--bg);padding-left:4px}}[data-theme=dark] #snipcart{--color-default:hsl(0, 0%, 90%);--color-alt:hsl(0, 0%, 50%);--color-icon:hsl(200, 90%, 40%);--color-success:hsl(144, 50%, 55%);--color-error:hsl(6, 55%, 60%);--color-link:hsl(220, 70%, 55%);--color-link-hover:hsl(220, 70%, 65%);--color-link-active:var(--color-link);--color-link-focus:var(--color-link);--color-input:var(--color-default);--color-input-hover:var(--color-input);--color-input-focus:var(--color-input);--color-input-checked:var(--color-input);--color-input-disabled:var(--color-alt);--color-input-error:var(--color-error);--color-inputLabel:var(--color-default);--color-inputLabel-hover:var(--color-inputLabel);--color-inputLabel-focus:var(--color-inputLabel);--color-inputIcon:var(--color-alt);--color-inputIcon-hover:var(--color-default);--color-inputIcon-focus:var(--color-inputIcon);--color-inputIcon-checked:var(--color-default);--color-inputIcon-error:var(--color-error);--color-inputPlaceholder:var(--color-alt);--color-buttonPrimary:var(--color-default);--color-buttonPrimary-hover:hsl(0, 0%, 100%);--color-buttonPrimary-active:var(--color-buttonPrimary);--color-buttonPrimary-focus:var(--color-buttonPrimary);--color-buttonPrimary-disabled:var(--color-alt);--color-buttonPrimary-success:var(--color-buttonPrimary);--color-buttonPrimary-error:var(--color-buttonPrimary);--color-buttonSecondary:var(--color-icon);--color-buttonSecondary-hover:hsl(200, 90%, 50%);--color-buttonSecondary-active:var(--color-buttonSecondary);--color-buttonSecondary-focus:var(--color-buttonSecondary);--color-buttonSecondary-disabled:hsl(210, 10%, 25%);--color-buttonSecondary-success:var(--color-success);--color-buttonSecondary-error:var(--color-error);--color-buttonDanger:var(--color-error);--color-buttonDanger-hover:hsl(6, 55%, 70%);--color-buttonDanger-active:var(--color-buttonDanger);--color-buttonDanger-focus:var(--color-buttonDanger);--color-buttonDanger-disabled:hsl(210, 10%, 25%);--color-buttonDanger-success:var(--color-default);--color-buttonDanger-error:var(--color-default);--color-badge:var(--color-link);--color-badge-active:var(--color-link);--color-badge-disabled:var(--color-alt);--borderColor-default:hsla(0, 0%, 100%, 10%);--borderColor-error:hsl(6, 55%, 30%);--borderColor-link:currentColor;--borderColor-link-hover:currentColor;--borderColor-link-active:currentColor;--borderColor-link-focus:currentColor;--borderColor-input:hsla(0, 0%, 100%, 10%);--borderColor-input-hover:hsl(200, 90%, 40%);--borderColor-input-focus:var(--borderColor-input-hover);--borderColor-input-checked:var(--borderColor-input-hover);--borderColor-input-disabled:hsl(210, 10%, 20%);--borderColor-input-error:var(--borderColor-error);--borderColor-buttonPrimary:transparent;--borderColor-buttonPrimary-hover:transparent;--borderColor-buttonPrimary-focus:transparent;--borderColor-buttonPrimary-disabled:transparent;--borderColor-buttonPrimary-success:transparent;--borderColor-buttonPrimary-error:transparent;--borderColor-buttonSecondary:transparent;--borderColor-buttonSecondary-hover:transparent;--borderColor-buttonSecondary-focus:transparent;--borderColor-buttonSecondary-disabled:transparent;--borderColor-buttonSecondary-success:transparent;--borderColor-buttonSecondary-error:transparent;--borderColor-badge:transparent;--borderColor-badge-active:transparent;--borderColor-badge-disabled:transparent;--bgColor-default:hsl(210, 10%, 11%);--bgColor-alt:hsl(210, 10%, 9%);--bgColor-success:hsl(144, 70%, 15%);--bgColor-error:hsl(6, 50%, 15%);--bgColor-info:hsl(210, 55%, 15%);--bgColor-modal:hsl(210, 10%, 7%);--bgColor-modalVeil:hsla(210, 10%, 7%, .75);--bgColor-link:none;--bgColor-link-hover:none;--bgColor-link-active:none;--bgColor-link-focus:hsl(210, 55%, 10%);--bgColor-input:hsl(210, 10%, 10%);--bgColor-input-hover:var(--bgColor-input);--bgColor-input-focus:var(--bgColor-input);--bgColor-input-checked:var(--borderColor-input-hover);--bgColor-input-disabled:hsl(210, 10%, 14%);--bgColor-input-error:var(--bgColor-input);--bgColor-input-autofill:hsl(210, 60%, 15%);--bgColor-buttonPrimary:hsl(220, 70%, 22%);--bgColor-buttonPrimary-hover:hsl(220, 70%, 30%);--bgColor-buttonPrimary-active:var(--bgColor-buttonPrimary);--bgColor-buttonPrimary-focus:var(--bgColor-buttonPrimary);--bgColor-buttonPrimary-disabled:hsl(210, 10%, 25%);--bgColor-buttonPrimary-success:hsl(144, 66%, 30%);--bgColor-buttonPrimary-error:hsl(6, 60%, 35%);--bgColor-buttonSecondary:var(--bgColor-info);--bgColor-buttonSecondary-hover:hsl(210, 60%, 18%);--bgColor-buttonSecondary-active:var(--bgColor-buttonSecondary);--bgColor-buttonSecondary-focus:var(--bgColor-buttonSecondary);--bgColor-buttonSecondary-disabled:hsl(210, 10%, 9%);--bgColor-buttonSecondary-success:var(--bgColor-success);--bgColor-buttonSecondary-error:var(--bgColor-error);--bgColor-buttonDanger:var(--bgColor-error);--bgColor-buttonDanger-hover:hsl(6, 50%, 18%);--bgColor-buttonDanger-active:var(--bgColor-buttonDanger);--bgColor-buttonDanger-focus:var(--bgColor-buttonDanger);--bgColor-buttonDanger-disabled:hsl(210, 10%, 9%);--bgColor-buttonDanger-success:hsl(144, 66%, 30%);--bgColor-buttonDanger-error:hsl(6, 60%, 35%);--bgColor-badge:hsl(210, 55%, 10%);--bgColor-badge-active:hsl(210, 60%, 15%);--bgColor-badge-disabled:hsl(210, 10%, 11%);--shadow-default:0px 20px 24px -20px hsla(0, 0%, 0%, .5);--shadow-tooltip:0px 8px 16px hsla(220, 70%, 22%, .5);--shadow-link-focus:0px 6px 4px -3px hsla(200, 90%, 40%, .5);--shadow-input-hover:none;--shadow-input-focus:0px 5px 10px -3px hsla(200, 90%, 40%, .3);--shadow-input-checked:none;--shadow-buttonPrimary-hover:0px 10px 4px -8px hsla(0, 0%, 0%, .5);--shadow-buttonPrimary-active:none;--shadow-buttonPrimary-focus:0px 0px 6px 2px hsl(200, 90%, 40%);--shadow-buttonSecondary-hover:0px 10px 4px -8px hsla(0, 0%, 0%, .2);--shadow-buttonSecondary-active:none;--shadow-buttonSecondary-focus:0px 0px 6px 2px hsla(200, 90%, 40%, .8);--shadow-buttonDanger-hover:0px 10px 4px -8px hsla(0, 0%, 0%, .25);--shadow-buttonDanger-active:none;--shadow-buttonDanger-focus:0px 0px 6px 2px hsla(6, 55%, 60%)}.snipcart-cart-header__icon path{fill:var(--accent1)}.cart-button,.snipcart-checkout{display:flex;align-items:center;background-color:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:.5rem;font-size:1rem;cursor:pointer;transition:background-color .3s ease}.cart-button i,.snipcart-checkout i{margin-right:.5rem;font-size:1.1rem}.cart-button .cart-count,.snipcart-checkout .cart-count{font-size:.9rem}.cart-button:hover,.snipcart-checkout:hover{background-color:var(--bgLight)}.product-single{display:flex;flex-direction:column;gap:2rem;padding:2rem 0}.product-single-top{display:flex;flex-direction:row;gap:2rem}.product-single-info{flex:1;max-width:50%}.product-single-image{flex:1;max-width:50%;display:flex;flex-direction:column;gap:1rem}#mainProductImage{width:100%;height:auto;border-radius:4px}.thumbnailContainer{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem}.thumbnail{width:80px;height:80px;object-fit:cover;border-radius:4px;cursor:pointer;border:2px solid transparent;transition:border-color .3s ease}.thumbnail.active{border-color:var(--accent1)}.thumbnail:hover{border-color:var(--textLight)}.product-single-title{font-size:2.5rem;margin-bottom:1.25rem;margin-top:0;font-family:var(--font-heading);color:var(--text)}.product-single-description{font-size:1rem;color:var(--textLight);margin-bottom:1rem}.product-single-price{font-size:2rem;font-weight:700;color:var(--text);margin-bottom:1rem;font-family:var(--font-heading)}.product-single-add-to-cart{font-size:1.1rem;padding:.75rem 1.5rem;background-color:var(--accent1);color:var(--bg);border:none;border-radius:4px;cursor:pointer;transition:background-color .3s ease;font-family:var(--titleFont);font-weight:700;max-width:200px;width:100%}.product-single-add-to-cart:hover{background-color:var(--text)}.product-single-details{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border)}.product-single-details h3{font-family:var(--titleFont);color:var(--text);margin-bottom:1rem}.product-single-details p{margin-bottom:.5rem}.product-single-content{width:100%;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border)}@media(max-width:768px){.product-single-top{flex-direction:column}.product-single-info,.product-single-image{max-width:100%}}.shop-container{max-width:1100px;margin:0 auto;padding:0}.product-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.5rem}.product-card{border:1px solid var(--border);border-radius:4px;overflow:hidden;background-color:var(--bg);transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;max-width:250px}.product-card:hover{box-shadow:0 5px 15px rgba(0,0,0,.1)}.product-card .price{margin-bottom:10px}.product-card .add-to-cart{margin-top:0}.product-image-link{display:flex;justify-content:center;align-items:center;padding:9px 4px;height:200px;background-color:var(--bgLight)}.product-image{opacity:0;transition:opacity .3s ease;min-height:100px;background:var(--bgLight)}.product-image.loaded{opacity:1}.product-image:not([src]){visibility:hidden}.image-skeleton{position:relative;overflow:hidden;background:var(--bgLight)}.image-skeleton::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);animation:loading 1.5s infinite}@keyframes loading{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}.product-info{padding-left:.9rem;padding-bottom:.9rem;padding-right:.9rem;display:flex;flex-direction:column;justify-content:space-between;flex-grow:1}.product-title,.product-description,.product-price{width:100%;text-align:left}.product-title{font-size:1.4em;margin-top:0;font-family:var(--font-heading);height:3.24em;font-weight:500;overflow:hidden}.product-title a{color:var(--accent1);text-decoration:none}.product-title a:hover{color:var(--text)}.product-description{display:none}.product-price{font-size:1.62rem;font-weight:900;color:var(--text);margin-top:0;margin-bottom:.45rem;font-family:var(--font-heading)}.snipcart-add-item{width:100%;margin-top:auto;margin-bottom:0;background-color:var(--accent1);color:var(--bg);border:none;padding:.75rem 1rem;border-radius:4px;cursor:pointer;transition:background-color .3s ease;font-size:1rem;text-align:center;font-family:var(--font-heading);font-weight:600}.snipcart-add-item:hover{background-color:var(--text)}.coming-soon-container{text-align:center;padding-top:10rem;padding-bottom:10rem;display:flex;font-size:2rem;justify-content:center;align-items:center}.newsletter-signup{background-color:var(--bgLight);border:1px solid var(--border);border-radius:8px;padding:2rem;margin:2rem auto;max-width:600px;text-align:center}.newsletter-signup .newsletter-content h2{font-family:var(--font-heading);font-size:1.8rem;margin-bottom:.5rem;color:var(--text)}.newsletter-signup .newsletter-content p{color:var(--textLight);margin-bottom:1.5rem}.newsletter-signup #mc_embed_signup form{padding:0}.newsletter-signup #mc_embed_signup .mc-field-group{margin-bottom:1rem}.newsletter-signup #mc_embed_signup .mc-field-group input{width:100%;max-width:400px;padding:.75rem;border:1px solid var(--border);border-radius:4px;font-size:1rem;background:var(--bg);color:var(--text)}.newsletter-signup #mc_embed_signup .mc-field-group input:focus{outline:none;border-color:var(--accent1)}.newsletter-signup #mc_embed_signup .button{background-color:var(--accent1);color:var(--bg);border:none;border-radius:4px;padding:.75rem 2rem;font-size:1rem;cursor:pointer;font-weight:600;transition:background-color .3s ease}.newsletter-signup #mc_embed_signup .button:hover{background-color:var(--text)}@media(max-width:768px){.newsletter-signup{padding:1.5rem;margin:1.5rem auto;max-width:90%}.newsletter-signup .newsletter-content h2{font-size:1.5rem}.newsletter-signup #mc_embed_signup .mc-field-group{display:flex;justify-content:center}.newsletter-signup #mc_embed_signup .mc-field-group input{width:90%;max-width:none;margin:0 auto}}@media(max-width:480px){.newsletter-signup{max-width:85%}.newsletter-signup #mc_embed_signup .mc-field-group input{width:85%}}.newsletter-signup.slim{background-color:var(--bgLight);border:1px solid var(--border);border-radius:8px;padding:.75rem;margin:1rem 0;max-width:100%;position:relative;min-height:60px}.newsletter-signup.slim .newsletter-content{display:flex;align-items:center;justify-content:center;gap:1rem}.newsletter-signup.slim .newsletter-content .text-content{text-align:left;min-width:200px}.newsletter-signup.slim .newsletter-content .text-content h2{font-family:var(--font-heading);font-size:1.1rem;margin:0;color:var(--text)}.newsletter-signup.slim .newsletter-content .text-content p{font-size:.8rem;color:var(--textLight);margin:0;margin-top:.1rem}.newsletter-signup.slim #mc_embed_signup{flex:1;max-width:500px;margin:0;position:relative}.newsletter-signup.slim #mc_embed_signup form{display:flex;align-items:center;gap:.5rem;margin:0;padding:0}.newsletter-signup.slim #mc_embed_signup .mc-field-group{flex:1;margin:0}.newsletter-signup.slim #mc_embed_signup .mc-field-group input{width:100%;height:32px;padding:0 .75rem;border:1px solid var(--border);border-radius:4px;font-size:.9rem;background:var(--bg);color:var(--text);box-sizing:border-box}.newsletter-signup.slim #mc_embed_signup .mc-field-group input:focus{outline:none;border-color:var(--accent1)}.newsletter-signup.slim #mc_embed_signup .button{height:32px;padding:0 1rem;background-color:var(--accent1);color:var(--bg);border:none;border-radius:4px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color .3s ease;display:flex;align-items:center;gap:.5rem;margin:0;white-space:nowrap}.newsletter-signup.slim #mc_embed_signup .button:hover{background-color:var(--text)}.newsletter-signup.slim #mc_embed_signup .button .fa-spinner{font-size:.8rem}.newsletter-signup.slim #mc_embed_signup #mce-responses{margin-top:.5rem;text-align:center}.newsletter-signup.slim #mc_embed_signup #mce-responses .response{color:var(--accent1);font-size:.9rem;font-weight:500}@media(max-width:900px){.newsletter-signup.slim .newsletter-content{flex-direction:column;gap:.5rem}.newsletter-signup.slim .newsletter-content .text-content{text-align:center;min-width:0}.newsletter-signup.slim #mc_embed_signup form{flex-direction:column;gap:.5rem;width:100%}.newsletter-signup.slim .button{width:100%}}@media(max-width:768px){.newsletter-signup.slim{padding:.5rem}}.single{display:flex;gap:2rem}.single-content{flex:1;max-width:70%}.toc-container{width:30%;max-width:300px}.toc-sticky{position:sticky;top:2rem;max-height:calc(100vh - 4rem);overflow-y:auto}.toc{margin-top:3rem;background-color:var(--bg);padding:1rem;border-radius:4px;font-size:.9rem}.toc ul{font-weight:500;list-style-type:none;padding-left:0;margin:0}.toc ul ul{display:none;font-size:.8rem;font-weight:400;padding-left:1rem}.toc a{color:var(--text);text-decoration:none;padding-left:1rem}.toc a:hover{color:var(--accent1)}.toc>ul>li>a{padding-left:0}.toc>ul>li>a::before{display:none}@media(max-width:768px){.single{flex-direction:column}.single-content{flex:1;max-width:100%;margin:0 auto}.toc-container{width:100%;max-width:100%;margin:2rem 0 0;order:-1}.toc-sticky{position:relative;top:0;max-height:none;background:0 0;box-shadow:none;border:none;overflow-y:auto}.toc{margin:0;padding:0;margin-bottom:1rem}.toc .toc-toggle{width:100%;padding:.75rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--accent1);font-size:.9rem;font-weight:600;cursor:pointer;text-align:left;margin-bottom:.25rem;box-shadow:0 2px 10px rgba(0,0,0,.1);transition:all .2s ease}.toc .toc-toggle::before{content:"Table Of Contents";margin-right:.5rem}.toc .toc-toggle::after{content:"▼";float:right;font-size:.8rem;transition:transform .2s ease}.toc .toc-toggle:hover{background:var(--bgLight)}.toc ul{display:none;padding:1rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;margin-top:.5rem;box-shadow:0 2px 10px rgba(0,0,0,.1)}.toc ul.expanded{display:block}.toc ul ul{display:none!important}}:root{--code-bg:var(--bgDark) !important;--code-color:var(--text) !important;--code-border:#e0e0e0}[data-theme=dark]{--code-bg:var(--bgDark) !important;--code-color:var(--textLight) !important;--code-border:#4a4a4a}.highlight,pre{background-color:var(--code-bg)!important;color:var(--code-color)!important;border-radius:.5rem;padding:1rem;overflow-x:auto;border:1px solid var(--code-border)!important;margin:1rem 0}.highlight pre{border:none!important;margin:0;padding:0}code{background-color:var(--code-bg)!important;color:var(--code-color)!important;padding:.2rem .4rem;border-radius:.3rem;font-family:monospace;font-size:1em}.project-filter{padding:1rem 0;margin-bottom:0;margin-top:2rem;margin-bottom:1.5rem}.project-filter .search-container{display:flex;justify-content:center;margin-bottom:1rem}.project-filter .search-container input{font-family:var(--font-body);width:100%;max-width:300px;padding:.5rem;border:1px solid var(--border);border-radius:4px 0 0 4px;font-size:1rem}.project-filter .search-container button{background-color:var(--accent1);color:var(--bg);border:none;padding:.5rem 1rem;font-size:1rem;cursor:pointer;border-radius:0 4px 4px 0}.project-filter ul{list-style-type:none;padding:0;margin:0;display:flex;justify-content:center;flex-wrap:wrap}.project-filter li{padding-bottom:5px;margin:0 .5rem}.project-filter a{color:var(--accent1);padding-right:2px;padding-left:2px;text-decoration:none}.project-filter a:hover,.project-filter a.active{text-decoration:underline;color:var(--text)}.category-spacer{height:1px;background-color:var(--border);width:100%;max-width:1200px;margin-left:auto;margin-right:auto}.category-bubble{padding-left:3px;padding-right:3px;color:var(--accent1)}.category-bubble:hover{color:var(--bg);background-color:var(--accent1);border-color:var(--accent1)}.allTags{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;padding:2rem;background-color:var(--bg);max-width:1200px;margin:0 auto}.tag{display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:600;text-align:center;text-decoration:none;border-radius:8px;padding:.75rem 1rem;min-width:120px;max-width:200px;height:60px;cursor:pointer;transition:all .3s ease;background-color:var(--bg);color:var(--text);border:2px solid var(--accent1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:0;transform:translateY(20px);animation:fadeInUp .5s ease forwards}.tag:hover{background-color:var(--accent1);color:var(--bg)}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.tag:nth-child(1){animation-delay:.03s}.tag:nth-child(2){animation-delay:.06s}.tag:nth-child(3){animation-delay:.09s}.tag:nth-child(4){animation-delay:.12s}.tag:nth-child(5){animation-delay:.15s}.tag:nth-child(6){animation-delay:.18s}.tag:nth-child(7){animation-delay:.21s}.tag:nth-child(8){animation-delay:.24s}.tag:nth-child(9){animation-delay:.27s}.tag:nth-child(10){animation-delay:.3s}.tag:nth-child(11){animation-delay:.33s}.tag:nth-child(12){animation-delay:.36s}.tag:nth-child(13){animation-delay:.39s}.tag:nth-child(14){animation-delay:.42s}.tag:nth-child(15){animation-delay:.45s}.tag:nth-child(16){animation-delay:.48s}.tag:nth-child(17){animation-delay:.51s}.tag:nth-child(18){animation-delay:.54s}.tag:nth-child(19){animation-delay:.57s}.tag:nth-child(20){animation-delay:.6s}.tag:nth-child(21){animation-delay:.63s}.tag:nth-child(22){animation-delay:.66s}.tag:nth-child(23){animation-delay:.69s}.tag:nth-child(24){animation-delay:.72s}.tag:nth-child(25){animation-delay:.75s}.tag:nth-child(26){animation-delay:.78s}.tag:nth-child(27){animation-delay:.81s}.tag:nth-child(28){animation-delay:.84s}.tag:nth-child(29){animation-delay:.87s}.tag:nth-child(30){animation-delay:.9s}.tag:nth-child(31){animation-delay:.93s}.tag:nth-child(32){animation-delay:.96s}.tag:nth-child(33){animation-delay:.99s}.tag:nth-child(34){animation-delay:1.02s}.tag:nth-child(35){animation-delay:1.05s}.tag:nth-child(36){animation-delay:1.08s}.tag:nth-child(37){animation-delay:1.11s}.tag:nth-child(38){animation-delay:1.14s}.tag:nth-child(39){animation-delay:1.17s}.tag:nth-child(40){animation-delay:1.2s}.tag:nth-child(41){animation-delay:1.23s}.tag:nth-child(42){animation-delay:1.26s}.tag:nth-child(43){animation-delay:1.29s}.tag:nth-child(44){animation-delay:1.32s}.tag:nth-child(45){animation-delay:1.35s}.tag:nth-child(46){animation-delay:1.38s}.tag:nth-child(47){animation-delay:1.41s}.tag:nth-child(48){animation-delay:1.44s}.tag:nth-child(49){animation-delay:1.47s}.tag:nth-child(50){animation-delay:1.5s}.tag:nth-child(3n){min-width:140px;height:65px;border-color:#07853b}.tag:nth-child(3n):hover{background-color:#07853b}.tag:nth-child(5n){min-width:160px;height:70px;font-size:1.2rem;border-color:#e74c3c}.tag:nth-child(5n):hover{background-color:#e74c3c}.tag:nth-child(7n){min-width:130px;height:55px;font-size:1rem}@media(max-width:768px){.tag{font-size:1rem;min-width:100px;max-width:150px;height:50px;padding:.5rem .75rem}.tag:nth-child(3n),.tag:nth-child(5n),.tag:nth-child(7n){min-width:120px;height:55px;font-size:1rem}}.lazy-image-container{overflow:hidden;position:relative;width:100%;margin:2.5rem 0}@media(max-width:768px){.lazy-image-container{margin:1.5rem 0}}.lazy-image-container img{width:100%;height:auto;display:block;border-radius:4px;transition:filter .3s ease-out}.lazy-image-container figcaption{display:block;text-align:center;margin-top:.6rem;font-size:.9rem;color:var(--textLight)}.lazy-image-container.half-width{max-width:50%;margin-left:auto;margin-right:auto}@media(max-width:768px){.lazy-image-container.half-width{max-width:100%}}.text-image-container{display:flex;gap:2rem;margin:2.5rem 0;align-items:flex-start}.text-image-container .text-content,.text-image-container .image-content{flex:1;min-width:0}.text-image-container .image-content img{max-width:100%;height:auto;border-radius:4px;display:block}@media(max-width:768px){.text-image-container{flex-direction:column;gap:1.5rem;margin:1.5rem 0}.text-image-container .text-content,.text-image-container .image-content{width:100%}}.text-image-container.wrap{display:block!important;overflow:visible}.text-image-container.wrap::after{content:"";display:table;clear:both}.text-image-container.wrap .image-content{float:right;margin:0 0 1rem 1.5rem;max-width:48%}.text-image-container.wrap .image-content img{width:100%;height:auto;display:block}.text-image-container.wrap .text-content{display:block;overflow-wrap:break-word}@media(max-width:768px){.text-image-container.wrap .image-content{float:none;width:100%!important;max-width:100%;margin:0 0 1rem}}.image-quad-container{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:.5rem;aspect-ratio:1;width:100%;margin:2rem auto}.image-quad-container .image-quad-item{aspect-ratio:1;overflow:hidden;border-radius:4px;background:0 0}.image-quad-container .image-quad-item img{width:100%;height:100%;object-fit:contain;display:block}@media(max-width:768px){.image-quad-container{margin:1.5rem 0;gap:.35rem}}.image-triple-container{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;align-items:center;width:100%;margin:2rem auto;overflow:visible}.image-triple-container .image-triple-item{margin:0;text-align:center;overflow:visible}.image-triple-container .image-triple-item img{width:100%;height:auto;object-fit:contain;display:block;border-radius:4px;transform:scale(var(--triple-scale,1));transform-origin:center}.image-triple-container .image-triple-item figcaption{margin-top:.6rem;font-size:.9rem;color:var(--textLight)}@media(max-width:768px){.image-triple-container{grid-template-columns:1fr;gap:1.25rem;margin:1.5rem 0}}.image-pair-container{display:flex;justify-content:space-between;gap:1.5rem;margin:1.5rem 0}.image-pair-container.align-center{align-items:center}.image-pair-container.align-bottom{align-items:flex-end}.image-pair-container.size-small{justify-content:center;gap:2rem}.image-pair-container.size-small .image-pair-item{flex:0 1 220px;max-width:240px}.image-pair-container.size-small .image-wrapper img{width:100%;max-height:420px;object-fit:contain}.image-pair-container.layout-stack{flex-direction:column;align-items:center}.image-pair-container.layout-stack .image-pair-item{flex:none;width:100%;max-width:900px}.image-pair-container.fit-height{align-items:stretch}.image-pair-container.fit-height .image-pair-item{display:flex;align-items:center}.image-pair-container.fit-height .image-wrapper,.image-pair-container.fit-height .image-wrapper picture{width:100%;display:flex;align-items:center;justify-content:center}.image-pair-container.fit-height .image-wrapper img{width:100%;height:360px;object-fit:contain}.image-pair-container .image-pair-item{flex:1}.image-pair-container .image-wrapper{position:relative;width:100%}.image-pair-container .image-wrapper img{width:100%;height:auto;border-radius:4px;display:block}@media(max-width:768px){.image-pair-container{flex-direction:column;gap:1.5rem;margin:1.5rem 0}.image-pair-container .image-pair-item{width:100%}}.light-image{display:block}.dark-image{display:none}[data-theme=dark] .light-image{display:none}[data-theme=dark] .dark-image{display:block}.lazy-image{opacity:0;transition:opacity .3s ease}.lazy-image.loaded{opacity:1}.gif-container{display:flex;justify-content:center;width:50%;margin:0 auto}.gif-container.gif-card{flex-direction:column;box-sizing:border-box;width:100%;max-width:720px;margin:1.5rem auto;padding:18px 18px 14px;background:#f7f7f7;border:2px solid #ddd;border-radius:16px}.gif-container.gif-card .gif-frame{overflow:hidden;border-radius:10px;border:1px solid #e1e1e1;background:#000}.gif-container.gif-card .gif-image{display:block;width:100%;height:100%;margin:0;border-radius:0}.gif-container.gif-card.crop-letterbox .gif-frame{aspect-ratio:480/268}.gif-container.gif-card.crop-letterbox .gif-frame .gif-image{object-fit:cover}.gif-container.gif-card .gif-caption{display:flex;flex-direction:column;gap:.15rem;padding:.7rem .2rem 0;color:var(--text)}.gif-container.gif-card .gif-caption strong{font-size:1.05rem}.gif-container.gif-card .gif-caption span{font-size:.9rem;color:var(--textLight)}[data-theme=dark] .gif-container.gif-card{background:#2c2c2c;border-color:#444}[data-theme=dark] .gif-container.gif-card .gif-frame{border-color:#464646}a{color:var(--link);text-decoration:none;transition:text-decoration .3s ease}a:hover{text-decoration:underline}body{font-family:var(--font-body);line-height:1.6;color:var(--text);background-color:var(--bg)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading)}.container{max-width:1200px;margin:0 auto;padding:20px}a{color:#2f1ee1;text-decoration:underline}.theme-transition,.theme-transition *,.theme-transition *:before,.theme-transition *:after{transition:all .3s ease!important;transition-delay:0!important}#scrollToTopBtn{position:fixed;bottom:30px;right:30px;background-color:var(--bgLight);color:var(--textLight);border:none;border-radius:50%;width:60px;height:60px;font-size:24px;cursor:pointer;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;z-index:1000;box-shadow:0 3px 8px rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center}#scrollToTopBtn:hover{background-color:var(--textLight);color:var(--bg);transform:scale(1.05);transition:all .2s ease}#scrollToTopBtn.show{opacity:.9;visibility:visible;display:flex}@media(max-width:768px){#scrollToTopBtn{width:45px;height:45px;font-size:18px;bottom:15px;right:15px;padding:0}}.pagination{display:flex;justify-content:center;align-items:center;margin-top:2rem;margin-bottom:2rem}.pagination-item{margin:0 .25rem;padding:.5rem .75rem;border:1px solid var(--border);color:var(--text);text-decoration:none;border-radius:4px;transition:background-color .3s ease}.pagination-item:hover{text-decoration:underline}.pagination-current{background-color:var(--accent1);color:var(--bg);border-color:var(--accent1)}.pagination-disabled{color:var(--textLight);border-color:var(--textLight);cursor:not-allowed}.product-link{color:var(--accent1);font-weight:600;display:inline-flex;align-items:center;gap:.3rem;text-decoration:none}.product-link span{text-decoration:underline}.product-link i{font-size:.8em;opacity:.8;text-decoration:none}.product-link:hover{color:var(--text)}.product-link:hover span{text-decoration:underline}.product-link:hover i{opacity:1}