.demos-header{background:var(--birch);color:var(--trailhead);padding:32px 24px;text-align:center}.demos-header h1{font-family:var(--font-display);font-size:28px;font-weight:700;margin-bottom:8px}.demos-header p{font-size:15px;color:var(--timber);max-width:600px;margin:0 auto;line-height:1.6}.demos-header .accent{color:var(--campfire)}.demos-search{position:relative;max-width:480px;margin:20px auto 0;text-align:left}.search-input{width:100%;box-sizing:border-box;padding:12px 16px;border:1px solid var(--sand);border-radius:10px;font-family:var(--font-body);font-size:15px;color:var(--charcoal);background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.search-input:focus{outline:none;border-color:var(--moss);box-shadow:0 0 0 3px #3d6b3d1f}.search-input::placeholder{color:var(--lichen)}.search-results{display:none;position:absolute;top:100%;left:0;right:0;margin-top:4px;max-height:320px;overflow-y:auto;background:#fff;border:1px solid var(--sand);border-radius:10px;box-shadow:0 8px 24px #0000001a;z-index:60}.search-results.open{display:block}.search-result{padding:10px 16px;cursor:pointer;font-size:14px;color:var(--charcoal);border-bottom:1px solid var(--birch)}.search-result:last-child{border-bottom:none}.search-result.active,.search-result:hover{background:var(--birch)}.search-result .sr-site{font-weight:600;color:var(--trailhead)}.search-result .sr-where{color:var(--timber)}.search-empty{padding:12px 16px;font-size:13px;color:var(--lichen)}.refresh-btn{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:10px 24px;background:var(--campfire);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;font-family:var(--font-body);transition:background .15s ease,transform .15s ease}.refresh-btn:hover{background:var(--ember);transform:scale(1.03)}.refresh-btn:active{transform:scale(.97)}.refresh-btn:disabled{opacity:.6;cursor:default;transform:none}.refresh-btn svg{transition:transform .4s ease}.refresh-btn.spinning svg{transform:rotate(360deg)}.demos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;padding:32px 24px;max-width:1400px;margin:0 auto}@media(max-width:640px){.demos-grid{grid-template-columns:1fr;gap:16px;padding:16px}.demos-header{padding:24px 16px}.demos-header h1{font-size:22px}.demos-header p{font-size:14px}.site-card{border-radius:8px}}.site-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px #0000000f;transition:transform .2s ease,box-shadow .2s ease}.site-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.preview-container{position:relative;width:100%;aspect-ratio:4/3;background:var(--stone);isolation:isolate;contain:content;background-size:cover;background-position:center}.preview-container:after{content:"";position:absolute;inset:0;z-index:5;background:#ffffffb3;pointer-events:none}.preview-container img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;opacity:0}.site-card.visible .preview-container img{animation:layerFade .3s ease-out forwards}@keyframes layerFade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.preview-container img{animation:none;opacity:1;transform:none}}.site-info{padding:16px;overflow:hidden}.site-name{font-family:var(--font-display);font-weight:600;font-size:16px;color:var(--trailhead);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-area{font-size:13px;color:var(--lichen);margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badges{display:flex;flex-wrap:wrap;gap:4px}.badge{display:inline-block;padding:3px 8px;border-radius:6px;font-size:10px;font-weight:600;letter-spacing:.3px}.badge-green{background:#6aaa3a1f;color:#4a7a2a;border:1px solid rgba(106,170,58,.2)}.badge-amber{background:#d4763a17;color:var(--campfire);border:1px solid rgba(212,118,58,.19)}.badge-blue{background:#4a90a41a;color:#3a7a8a;border:1px solid rgba(74,144,164,.2)}.demos-loading{text-align:center;padding:48px 24px;color:var(--lichen);font-size:15px;font-family:var(--font-body)}.site-distance{font-size:12px;color:var(--lichen);margin-top:8px;display:flex;align-items:center;gap:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-distance svg{flex-shrink:0}.site-distance span{overflow:hidden;text-overflow:ellipsis}.demos-cta{text-align:center;padding:8px 24px 48px}.demos-cta-btn{display:inline-block;padding:14px 32px;font-size:15px;text-decoration:none}
