.home-view { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 100%; max-width: 100%; width: 100%; padding: 1rem; gap: 1.5rem; animation: fadeInUp 0.6s ease-out; } /* Mobile optimizations */ @media (max-width: 768px) { .home-view { padding: 0.75rem; gap: 1rem; } .home-logo-wrapper { flex-direction: column; align-items: center; } .home-logo { width: min(12rem, 80vw); } .home-desc { font-size: clamp(0.9rem, 5vw, 1.125rem); max-width: 90%; text-align: center; } .home-cards { width: 100%; max-width: 100%; gap: 1rem; } .home-card { min-height: 4rem; padding: 0.75rem 1rem; gap: 0.75rem; flex-direction: row; } .home-card-icon { width: 2.5rem; height: 2.5rem; } .home-card-label { font-size: 1rem; } } /* Tablet optimizations */ @media (min-width: 769px) and (max-width: 1024px) { .home-view { padding: 1rem 0.5rem; } .home-card { min-height: 4.25rem; padding: 0.75rem 1.25rem; } .home-card-icon { width: 2.75rem; height: 2.75rem; } } /* Desktop optimizations */ @media (min-width: 1025px) { .home-view { padding: 1rem var(--margin-main); max-width: 100%; } .home-hero { text-align: left; align-items: flex-start; } .home-logo-wrapper { flex-direction: row; justify-content: flex-start; } .home-desc { font-size: 1.125rem; max-width: 30rem; text-align: left; } .home-cards { flex-direction: row; flex-wrap: wrap; gap: 1.5rem; max-width: 80rem; } .home-card { min-height: 5rem; padding: 1rem 1.5rem; flex-direction: row; } } .home-hero { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 0.75rem; } .home-logo-wrapper { display: contents; flex-direction: row; align-items: center; justify-content: center; gap: 1rem; margin-bottom: 0.5rem; } .home-logo { width: min(10rem, 50vw); height: auto; } .home-brand-name { height: 2rem; width: auto; } @media (max-height: 700px) { .home-logo { width: min(12rem, 60vw); } } @media (max-height: 600px) { .home-logo { width: min(10rem, 50vw); } } .home-desc { font-size: 1.125rem; color: var(--on-surface-variant); font-weight: 400; max-width: 20rem; line-height: 1.5; } .home-cards { display: flex; flex-direction: column; gap: var(--gutter); width: 100%; max-width: 28rem; } .home-card { display: flex; align-items: center; gap: 1.25rem; width: 100%; min-height: 5rem; padding: 1rem 1.5rem; border: none; border-radius: var(--radius-md); cursor: pointer; text-align: left; transition: transform 0.15s, box-shadow 0.15s; } .home-card:active { transform: scale(0.98); } .home-card--search { /* Make suggestion/search buttons softer and more harmonious */ background: var(--primary-container); color: var(--on-primary-container); box-shadow: 0 6px 18px rgba(13, 43, 18, 0.06); } .home-card--scan { /* Keep the scan button vivid and easy to find (intentionally prominent) */ background: #2b5bb5; /* vivid blue to stand out */ color: #ffffff; box-shadow: 0 8px 28px rgba(43, 91, 181, 0.28); transform: translateY(0); } .home-card--scan:hover { transform: translateY(-3px); } .home-card--scan:focus { outline: none; box-shadow: 0 0 0 6px rgba(43,91,181,0.12), 0 8px 28px rgba(43,91,181,0.28); } .home-card-icon { width: 3.5rem; height: 3.5rem; border-radius: var(--radius); background: rgba(255, 255, 255, 0.2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .home-card-text { flex: 1; display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; } .home-card-label { font-size: 1.25rem; font-weight: 700; line-height: 1.2; } .home-card-arrow { opacity: 0.7; flex-shrink: 0; display: flex; } @media (max-width: 400px) { .home-card { min-height: 4.25rem; padding: 0.75rem 1.25rem; } .home-card-label { font-size: 1.1rem; } } @media (max-height: 700px) { .home-view { gap: 1rem; padding: 0.5rem var(--margin-main); } .home-card { min-height: 4rem; padding: 0.625rem 1rem; } .home-card-icon { width: 2.75rem; height: 2.75rem; } .home-card-icon svg { width: 24px; height: 24px; } .home-card-label { font-size: 1.05rem; } .home-desc { font-size: 0.95rem; } } @media (max-height: 600px) { .home-view { gap: 0.5rem; padding: 0.25rem var(--margin-main); } .home-card { min-height: 3.5rem; padding: 0.5rem 0.875rem; gap: 0.75rem; } .home-card-icon { width: 2.25rem; height: 2.25rem; } .home-card-icon svg { width: 20px; height: 20px; } .home-card-label { font-size: 0.95rem; } .home-desc { font-size: 0.85rem; } }