diff --git a/src/app/globals.css b/src/app/globals.css index f16de78e..08872813 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -8,17 +8,38 @@ @layer base { html { scroll-behavior: smooth; + /* Prevent horizontal overflow on mobile */ + overflow-x: hidden; } body { background-attachment: fixed; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; + /* Prevent horizontal scroll */ + overflow-x: hidden; + /* Better overscroll on mobile */ + overscroll-behavior-y: contain; + /* Remove tap highlight color on mobile */ + -webkit-tap-highlight-color: transparent; + } + + /* Touch-friendly interactive elements */ + button, a, [role="button"] { + min-height: 44px; + min-width: 44px; + touch-action: manipulation; + } + + /* Exception for inline/icon elements */ + button.inline-btn { + min-height: unset; + min-width: unset; } /* Modern Scrollbar */ ::-webkit-scrollbar { - width: 6px; + width: 4px; } ::-webkit-scrollbar-track { @@ -27,9 +48,11 @@ ::-webkit-scrollbar-thumb { border-radius: 3px; + background: rgba(148, 163, 184, 0.3); } ::-webkit-scrollbar-thumb:hover { + background: rgba(148, 163, 184, 0.5); } } @@ -256,28 +279,34 @@ @layer utilities { /* Modern Spacing System */ .container-modern { - @apply max-w-7xl mx-auto px-6 sm:px-8 lg:px-12; + @apply max-w-7xl mx-auto px-4 sm:px-6 lg:px-12; } .section-modern { - @apply py-20 md:py-28 lg:py-32; + @apply py-12 md:py-20 lg:py-28; } .section-compact { - @apply py-12 md:py-16; + @apply py-8 md:py-12 lg:py-16; } /* Modern Grid Systems */ .grid-modern-2 { - @apply grid grid-cols-1 md:grid-cols-2 gap-8; + @apply grid grid-cols-1 sm:grid-cols-2 gap-4 md:gap-8; } .grid-modern-3 { - @apply grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8; + @apply grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4 md:gap-8; } .grid-modern-4 { - @apply grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6; + @apply grid grid-cols-2 md:grid-cols-4 gap-3 md:gap-6; + } + + /* Mobile-first safe area padding */ + .safe-area-x { + padding-left: max(1rem, env(safe-area-inset-left)); + padding-right: max(1rem, env(safe-area-inset-right)); } /* Modern Backgrounds */ @@ -326,6 +355,16 @@ .responsive-padding { @apply px-4 sm:px-6 md:px-8; } + + /* Mobile-optimized card */ + .card-mobile { + @apply rounded-2xl p-4 sm:p-6 md:p-8; + } + + /* Mobile table wrapper */ + .table-scroll { + @apply overflow-x-auto -mx-4 px-4; + } } /* Modern Mobile Menu */ @@ -341,3 +380,35 @@ .mobile-menu-modern.open { @apply translate-x-0 opacity-100; } + +/* Mobile Modal improvements */ +.modal-mobile { + @apply fixed inset-0 bg-black/70 flex items-end sm:items-center justify-center z-50 p-0 sm:p-4; +} + +.modal-content-mobile { + @apply bg-white rounded-t-3xl sm:rounded-2xl w-full sm:max-w-md p-6 pb-8 sm:pb-6; + @apply max-h-[90vh] overflow-y-auto; +} + +/* Tier filter scroll container */ +.filter-scroll { + @apply flex gap-2 overflow-x-auto pb-2; + scrollbar-width: none; + -ms-overflow-style: none; +} + +.filter-scroll::-webkit-scrollbar { + display: none; +} + +/* Stats grid that works better on small phones */ +@media (max-width: 360px) { + .grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + + .text-2xl { + font-size: 1.25rem; + } +} diff --git a/src/app/layout.js b/src/app/layout.js index 6b71b548..a8129eef 100644 --- a/src/app/layout.js +++ b/src/app/layout.js @@ -6,7 +6,7 @@ import ErrorBoundary from "../components/ErrorBoundary"; import Footer from "../components/Footer"; const inter = Inter({ subsets: ["latin"] }); -const montserrat = Montserrat({ +const montserrat = Montserrat({ subsets: ["latin"], display: 'swap', variable: '--font-montserrat' @@ -36,8 +36,8 @@ export const metadata = { export default function RootLayout({ children }) { return ( - -
+ +Pool Capabilities:
{message}
- Bu havuz düşük likiditeye sahip ve yüksek risk taşımaktadır. + This pool has low liquidity and carries high risk.
- Potansiyel Riskler: + Potential Risks:
- Devam etmek istediğinizden emin misiniz? + Are you sure you want to continue?