.appstore-widget{background:linear-gradient(135deg,#f8f9fa 0%,#ffffff 100%);border:1px solid #e9ecef;border-radius:16px;padding:24px;margin:32px 0;box-shadow:0 4px 12px #00000014}.appstore-widget.loading{display:flex;justify-content:center;align-items:center;min-height:200px}.loading-spinner{width:40px;height:40px;border:4px solid #e9ecef;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.widget-header{display:flex;gap:20px;margin-bottom:20px}.app-icon{width:120px;height:120px;border-radius:24px;box-shadow:0 4px 12px #00000026;flex-shrink:0}.app-info{flex:1;display:flex;flex-direction:column;gap:8px}.app-name{font-size:24px;font-weight:700;color:#1a1a1a;margin:0}.app-category{font-size:14px;color:#667eea;margin:0;font-weight:600}.app-rating{display:flex;align-items:center;gap:12px;margin-top:4px}.stars{display:flex;gap:2px}.star{font-size:18px}.star.filled{color:orange}.star.half{color:orange;opacity:.5}.star.empty{color:#d1d5db}.rating-text{font-size:14px;color:#4a4a4a}.app-price{font-size:18px;font-weight:700;color:#1a1a1a;margin:4px 0 0}.app-description{font-size:15px;line-height:1.6;color:#4a4a4a;margin:16px 0;max-height:150px;overflow-y:auto;padding-right:8px;white-space:pre-wrap}.app-description::-webkit-scrollbar{width:6px}.app-description::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.app-description::-webkit-scrollbar-thumb{background:#667eea;border-radius:3px}.screenshots{display:flex;gap:12px;overflow-x:auto;padding:4px 0;scrollbar-width:thin}.screenshots::-webkit-scrollbar{height:6px}.screenshots::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.screenshots::-webkit-scrollbar-thumb{background:#667eea;border-radius:3px}.screenshot{height:200px;width:auto;border-radius:12px;box-shadow:0 2px 8px #0000001a;flex-shrink:0}@media only screen and (max-width: 730px){.appstore-widget{padding:16px;margin:24px 0}.widget-header{flex-direction:column;align-items:center;text-align:center}.app-icon{width:100px;height:100px}.app-name{font-size:20px}.app-rating{justify-content:center}.screenshot{height:150px}}.lightbox-overlay{position:fixed;inset:0;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;z-index:9999;cursor:pointer;animation:fadeIn .2s ease}.lightbox-close{position:absolute;top:20px;right:20px;background:rgba(255,255,255,.2);border:none;color:#fff;font-size:32px;width:50px;height:50px;border-radius:50%;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px);padding:0;line-height:1}.lightbox-close:hover{background:rgba(255,255,255,.3);transform:scale(1.1)}.lightbox-image{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 20px 60px #00000080;animation:zoomIn .2s ease}@keyframes zoomIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.gallery-section{margin-bottom:40px}.section-title{font-size:24px;font-weight:700;margin-bottom:20px;color:#1a1a1a}.gallery-container{display:flex;overflow-x:auto;gap:20px;padding-bottom:20px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.gallery-image{flex:0 0 auto;max-width:700px;border-radius:12px;box-shadow:0 4px 20px #0000001a;scroll-snap-align:center;align-self:flex-start;transition:transform .2s ease,box-shadow .2s ease}.gallery-image:hover{transform:scale(1.02);box-shadow:0 8px 30px #00000026}.gallery-lightbox-overlay{position:fixed;inset:0;background:rgba(0,0,0,.95);display:flex;align-items:center;justify-content:center;z-index:9999;padding:40px;animation:fadeIn .2s ease;overflow:auto}.gallery-lightbox-overlay.zoomed{align-items:flex-start;justify-content:flex-start}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.gallery-lightbox-image{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:8px;transition:all .3s ease}.gallery-lightbox-image.zoomed{max-width:none;max-height:none;width:200%;transform:none;cursor:grab}.gallery-lightbox-image.zoomed:active{cursor:grabbing}.gallery-lightbox-close{position:absolute;top:20px;right:20px;background:rgba(255,255,255,.2);border:none;color:#fff;font-size:32px;width:50px;height:50px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease;backdrop-filter:blur(10px)}.gallery-lightbox-close:hover{background:rgba(255,255,255,.3)}.detail-container:where(.astro-AW55SNA3){max-width:900px;margin:0 auto;padding:40px 20px}.project-title:where(.astro-AW55SNA3){margin:0 0 20px;font-size:42px;font-weight:700;color:#1a1a1a}.tech-badges:where(.astro-AW55SNA3){display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}.tech-badge:where(.astro-AW55SNA3){background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:600}.case-study-grid:where(.astro-AW55SNA3){display:grid;grid-template-columns:1fr 2fr;gap:32px;margin-bottom:40px;background:#f8fafc;padding:24px;border-radius:16px;border:1px solid #e2e8f0}.case-study-item:where(.astro-AW55SNA3) h3:where(.astro-AW55SNA3){font-size:14px;text-transform:uppercase;letter-spacing:1px;color:#64748b;margin-bottom:8px}.case-study-item:where(.astro-AW55SNA3) p:where(.astro-AW55SNA3){font-size:16px;color:#1e293b;line-height:1.6;margin:0}.project-text:where(.astro-AW55SNA3){font-size:18px;line-height:1.8;color:#4a4a4a;margin-bottom:40px}.project-links:where(.astro-AW55SNA3){display:flex;gap:16px;margin-bottom:32px;flex-wrap:wrap}.link-button:where(.astro-AW55SNA3){display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;text-decoration:none;transition:all .3s ease}.button-icon:where(.astro-AW55SNA3){font-size:20px}.github-button:where(.astro-AW55SNA3){background:#24292e;color:#fff}.github-button:where(.astro-AW55SNA3):hover{background:#1a1e22;transform:translateY(-2px);box-shadow:0 4px 12px #24292e4d}.demo-button:where(.astro-AW55SNA3){background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.demo-button:where(.astro-AW55SNA3):hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.appstore-button:where(.astro-AW55SNA3){background:linear-gradient(180deg,#1d8cf8 0%,#3358f4 100%);color:#fff}.appstore-button:where(.astro-AW55SNA3):hover{background:linear-gradient(180deg,#1a7dd9 0%,#2d4dd4 100%);transform:translateY(-2px);box-shadow:0 4px 12px #1d8cf866}.archive-button:where(.astro-AW55SNA3){background:#475569;color:#fff}.archive-button:where(.astro-AW55SNA3):hover{background:#334155;transform:translateY(-2px);box-shadow:0 4px 12px #4755694d}.figma-container:where(.astro-AW55SNA3){margin:40px 0}.figma-title:where(.astro-AW55SNA3){font-size:24px;font-weight:600;color:#1a1a1a;margin-bottom:20px}.figma-embed:where(.astro-AW55SNA3){width:100%;height:600px;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 10px 30px #0000001a}@media only screen and (max-width: 730px){.detail-container:where(.astro-AW55SNA3){padding:20px}.project-title:where(.astro-AW55SNA3){font-size:28px}.case-study-grid:where(.astro-AW55SNA3){grid-template-columns:1fr;gap:24px}.project-text:where(.astro-AW55SNA3){font-size:16px}.tech-badge:where(.astro-AW55SNA3){font-size:12px;padding:6px 12px}.link-button:where(.astro-AW55SNA3){width:100%;justify-content:center}.figma-title:where(.astro-AW55SNA3){font-size:20px}.figma-embed:where(.astro-AW55SNA3){height:450px}.gallery-image:where(.astro-AW55SNA3){width:90%}}
