.home-page{--home-text-color:var(--text);--home-button-color:var(--primary);--home-accent-bg:var(--bg);--home-accent-border:var(--border);--home-accent-soft:var(--primary-light);background:var(--home-accent-bg);color:var(--home-text-color);padding-bottom:24px}.home-mobile-brand{align-items:center;min-width:0;padding:18px 16px 10px;display:flex}.home-mobile-brand-logo{width:min(132px,34vw);height:auto;display:block}@media (width<=640px){.home-mobile-brand-logo{width:min(112px,30vw)}}@media (width>=768px){.home-mobile-brand{display:none}}.home-topbar{z-index:50;background:var(--home-accent-bg);border-bottom:1px solid var(--home-accent-border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex;position:sticky;top:0}.home-topbar-left{align-items:center;gap:10px;display:flex}.home-topbar-logo{background:var(--home-button-color);border-radius:var(--radius-sm);color:#fff;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:800;display:flex}.home-topbar-title{color:var(--home-text-color);letter-spacing:-.3px;font-size:18px;font-weight:800}@media (width>=768px){.home-topbar-logo,.home-topbar-title{display:none}.home-topbar{padding:16px 24px}}.home-topbar-actions{align-items:center;gap:4px;display:flex}.topbar-btn{border-radius:var(--radius-full);width:40px;height:40px;color:var(--home-button-color);cursor:pointer;transition:background var(--transition);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:relative}.topbar-btn:hover{background:var(--home-accent-soft)}.topbar-btn .badge{min-width:18px;height:18px;font-size:10px;position:absolute;top:4px;right:4px}.welcome-banner{background:var(--gradient-brand);border-radius:var(--radius-md);color:#fff;margin:16px 16px 0;padding:20px}.welcome-banner h2{margin-bottom:4px;font-size:20px;font-weight:700}.welcome-banner p{opacity:.85;margin-bottom:12px;font-size:14px}.welcome-banner .btn{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff3;border:1px solid #ffffff4d;padding:8px 16px;font-size:14px}.welcome-banner .btn:hover{background:#ffffff4d}@media (width>=768px){.welcome-banner{justify-content:space-between;align-items:center;gap:24px;margin:24px 24px 0;padding:32px 40px;display:flex}.welcome-banner h2{font-size:26px}.welcome-banner p{margin-bottom:0;font-size:16px}.welcome-banner .btn{flex-shrink:0}}.category-scroll{padding:16px 0 8px}.category-scroll-inner{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:12px;padding:0 16px;display:flex;overflow-x:auto}.category-scroll-inner::-webkit-scrollbar{display:none}@media (width>=768px){.category-scroll{padding:20px 0 12px}.category-scroll-inner{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:16px;padding:0 24px;display:grid;overflow-x:visible}}.category-quick-item{scroll-snap-align:start;cursor:pointer;transition:transform var(--transition);flex-direction:column;flex-shrink:0;align-items:center;gap:6px;display:flex}.category-quick-item:active{transform:scale(.95)}.category-quick-icon{background:var(--home-accent-soft);border-radius:var(--radius-md);width:52px;height:52px;color:var(--home-button-color);transition:background var(--transition);justify-content:center;align-items:center;font-size:22px;display:flex}.category-quick-item:hover .category-quick-icon{background:var(--home-button-color);color:#fff}.category-quick-label{color:var(--home-text-color);white-space:nowrap;font-size:12px;font-weight:500}.pull-refresh{color:var(--home-text-color);justify-content:center;align-items:center;gap:8px;padding:12px;font-size:13px;display:flex}.listing-grid,.home-grid{grid-template-columns:repeat(2,1fr);gap:12px;padding:0 16px;display:grid}@media (width>=768px){.listing-grid,.home-grid{grid-template-columns:repeat(3,1fr);gap:16px;padding:0 24px}}@media (width>=1024px){.listing-grid,.home-grid{grid-template-columns:repeat(4,1fr);gap:20px}}.home-section{padding:16px 0 0}.home-section--feed{padding-top:14px}.home-section .section-header,.home-section-header{color:var(--home-text-color);justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;padding:0 16px;font-size:18px;font-weight:700;display:flex}.home-section-header-left{align-items:center;gap:8px;display:flex}.home-section-header-left h3{font-size:18px;font-weight:700}.home-section-header-left svg{color:var(--home-button-color);flex-shrink:0}@media (width>=768px){.home-section{padding:24px 0 0}.home-section .section-header,.home-section-header{margin-bottom:16px;padding:0 24px}}.home-sort-dropdown-wrapper{flex-shrink:0;position:relative}.home-sort-btn{border:1.5px solid var(--home-accent-border);color:var(--home-text-color);cursor:pointer;white-space:nowrap;transition:all var(--transition);background:#ffffff80;border-radius:999px;align-items:center;gap:5px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.home-sort-btn:hover{border-color:var(--home-button-color);color:var(--home-button-color);background:var(--home-accent-soft)}.home-sort-chevron{transition:transform .2s}.home-sort-chevron--open{transform:rotate(180deg)}.home-sort-dropdown{z-index:50;background:#fffffff7;border:1px solid #94a3b824;border-radius:18px;min-width:180px;padding:6px;animation:.15s home-sort-dropdown-in;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 40px #0f172a1f}@keyframes home-sort-dropdown-in{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.home-sort-option{color:#334155;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:8px;width:100%;padding:9px 12px;font-size:13px;font-weight:500;transition:background .15s,color .15s;display:flex}.home-sort-option:hover{color:var(--home-button-color);background:#ffeaf3}.home-sort-option--active{color:var(--home-button-color);background:#ffeaf3;font-weight:700}.home-sort-option svg{flex-shrink:0}.home-content{padding-bottom:16px}.home-feed{border:1px solid var(--home-accent-border);background:#ffffff2e;border-radius:28px;flex-direction:column;gap:8px;margin:0 16px;padding:8px;display:flex;box-shadow:0 20px 40px #0f172a0d}.home-header{justify-content:space-between;align-items:center;padding:16px 16px 0;display:flex}.home-search-icon-btn{border:1px solid var(--home-accent-border);border-radius:var(--radius-full);color:#fff;background:#ffffff59;background:var(--home-button-color);border:1px solid var(--home-button-color);cursor:pointer;width:44px;height:44px;transition:background var(--transition), color var(--transition), box-shadow var(--transition);box-shadow:var(--shadow-sm);flex-shrink:0;justify-content:center;align-items:center;display:flex}.home-search-icon-btn:hover{color:#fff;box-shadow:var(--shadow-md);background:#b83f73}@media (width>=768px){.home-header{padding:20px 24px 0}.home-search-icon-btn{width:48px;height:48px}}.home-searchbar-wrap{padding:16px 16px 0}.home-searchbar{border:1px solid var(--home-accent-border);width:100%;min-height:50px;color:var(--home-text-color);cursor:pointer;transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);background:#ffffff59;border-radius:999px;align-items:center;gap:10px;padding:0 16px;display:inline-flex;box-shadow:0 10px 24px #0f172a0d}.home-searchbar:hover{border-color:var(--home-button-color);transform:translateY(-1px);box-shadow:0 14px 28px #0f172a14}.home-searchbar svg{color:var(--home-button-color);flex-shrink:0}.home-searchbar-text{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:500;overflow:hidden}.home-impact-banner{color:var(--home-text-color);border:1px solid var(--home-accent-border);background:#ffffff47;border-radius:12px;align-items:flex-start;gap:10px;margin:12px 16px 0;padding:12px 14px;font-size:13px;line-height:1.45;display:flex}.home-impact-icon{color:var(--warning);flex-shrink:0;margin-top:1px}@media (width>=768px){.home-impact-banner{margin-left:24px;margin-right:24px}.home-searchbar-wrap{padding:20px 24px 0}.home-feed{margin:0 24px;padding:10px}}.home-banner{background:var(--gradient-brand);border-radius:var(--radius-md);color:#fff;margin:16px 16px 0;padding:20px}.home-banner-text{color:#fff;margin:0;font-size:20px;font-weight:700}.home-banner-subtitle{opacity:.85;margin-top:4px;font-size:14px}@media (width>=768px){.home-banner{margin:24px 24px 0;padding:32px 40px}.home-banner-text{font-size:26px}}.home-categories-scroll{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:12px;padding:16px 16px 8px;display:flex;overflow-x:auto}.home-categories-scroll::-webkit-scrollbar{display:none}@media (width>=768px){.home-categories-scroll{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:16px;padding:20px 24px 12px;display:grid;overflow-x:visible}}.home-category-chip{scroll-snap-align:start;cursor:pointer;transition:transform var(--transition);background:0 0;border:none;flex-direction:column;flex-shrink:0;align-items:center;gap:6px;padding:4px;display:flex}.home-category-chip:active{transform:scale(.95)}.home-category-icon{background:var(--home-accent-soft);border-radius:var(--radius-md);width:52px;height:52px;color:var(--home-button-color);transition:background var(--transition), color var(--transition);justify-content:center;align-items:center;display:flex}.home-category-chip:hover .home-category-icon{background:var(--home-button-color);color:#fff}.home-category-label{color:var(--home-text-color);white-space:nowrap;font-size:12px;font-weight:500}.home-horizontal-scroll{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:12px;padding:0 16px 8px;display:flex;overflow-x:auto}.home-horizontal-scroll::-webkit-scrollbar{display:none}.home-scroll-item{scroll-snap-align:start;flex-shrink:0;width:180px}@media (width>=768px){.home-horizontal-scroll{gap:16px;padding:0 24px 8px}.home-scroll-item{width:220px}}.home-loading{padding:16px}.home-skeleton{background:linear-gradient(90deg, var(--border) 25%, #f3f4f6 50%, var(--border) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.home-skeleton-banner{border-radius:var(--radius-md);height:100px;margin-bottom:16px}.home-skeleton-row{height:60px;margin-bottom:16px}.home-skeleton-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (width>=768px){.home-skeleton-grid{grid-template-columns:repeat(4,1fr)}}.home-skeleton-card{aspect-ratio:1;border-radius:var(--radius-md)}
