$mobile-breakpoint: 540px; @font-face { font-family: silkscreen-wrapstodon; src: url('@/fonts/silkscreen-wrapstodon/silkscreen-regular.woff2') format('woff2'); font-weight: normal; font-display: swap; font-style: normal; } .modalWrapper { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; padding: 40px; overflow-y: auto; pointer-events: none; scrollbar-color: var(--color-text-secondary) var(--color-bg-secondary); @media (width < $mobile-breakpoint) { padding-inline: 10px; } .loading-indicator .circular-progress { color: var(--lime); } } .closeButton { --default-icon-color: var(--color-bg-primary); --default-bg-color: var(--color-text-primary); --hover-icon-color: var(--color-bg-primary); --hover-bg-color: var(--color-text-primary); --corner-distance: 18px; position: absolute; top: var(--corner-distance); right: var(--corner-distance); padding: 8px; border-radius: 100%; @media (width < $mobile-breakpoint) { --corner-distance: 16px; padding: 4px; } } .wrapper { position: relative; max-width: 600px; padding: 24px; contain: layout; flex: 0 0 auto; pointer-events: auto; color: var(--color-text-primary); background: var(--color-bg-primary); background: radial-gradient(at 40% 87%, #240c9a99 0, transparent 50%), radial-gradient(at 19% 10%, #6b0c9a99 0, transparent 50%), radial-gradient(at 90% 27%, #9a0c8299 0, transparent 50%), radial-gradient(at 16% 95%, #1e948299 0, transparent 50%), radial-gradient(at 80% 91%, #16dae499 0, transparent 50%) var(--color-bg-primary); border-radius: 40px; @media (width < $mobile-breakpoint) { padding-inline: 12px; padding-bottom: 12px; border-radius: 28px; } &::after { content: ''; position: absolute; inset: 0; z-index: -1; background: inherit; border-radius: inherit; filter: blur(20px); } } .header { margin-bottom: 18px; text-align: center; h1 { font-family: silkscreen-wrapstodon, monospace; font-size: 28px; line-height: 1; margin-bottom: 8px; padding-inline: 40px; // Prevent overlap with close button @media (width < $mobile-breakpoint) { font-size: 22px; margin-bottom: 4px; } } p { font-size: 14px; line-height: 1.5; } } .stack { --grid-spacing: 12px; display: grid; gap: var(--grid-spacing); } .box { position: relative; padding: 16px; border-radius: 16px; background: rgb(from var(--color-bg-primary) r g b / 60%); box-shadow: inset 0 0 0 1px rgb(from var(--color-text-primary) r g b / 40%); &::before, &::after { content: ''; position: absolute; inset-inline: 0; display: block; height: 1px; background-image: linear-gradient( to right, transparent, white, transparent ); } &::before { top: 0; } &::after { bottom: 0; } } .content { display: flex; flex-direction: column; justify-content: center; gap: 8px; padding: 16px; font-size: 14px; text-align: center; text-wrap: balance; &.comfortable { gap: 12px; } } .title { text-transform: uppercase; color: #c2c8ff; font-weight: 500; } .statLarge { font-size: 24px; font-weight: 500; overflow-wrap: break-word; } .statExtraLarge { font-size: 32px; font-weight: 500; line-height: 1; overflow-wrap: break-word; @media (width < $mobile-breakpoint) { font-size: 24px; } } .mostBoostedPost { padding: 0; padding-top: 8px; overflow: hidden; } .statsGrid { display: grid; gap: var(--grid-spacing); grid-template-columns: 1fr 2fr; grid-template-areas: 'followers hashtag' 'new-posts hashtag'; @media (width < $mobile-breakpoint) { grid-template-columns: 1fr 1fr; grid-template-areas: 'followers new-posts' 'hashtag hashtag'; } &:empty { display: none; } &.onlyHashtag { grid-template-columns: 1fr; grid-template-areas: 'hashtag'; } &.noHashtag { grid-template-columns: 1fr 1fr; grid-template-areas: 'followers new-posts'; } &.singleNumber { grid-template-columns: 1fr 2fr; grid-template-areas: 'number hashtag'; @media (width < $mobile-breakpoint) { grid-template-areas: 'number number' 'hashtag hashtag'; } } &.singleNumber.noHashtag { grid-template-columns: 1fr; grid-template-areas: 'number'; } } .followers { grid-area: followers; .singleNumber & { grid-area: number; } } .newPosts { grid-area: new-posts; .singleNumber & { grid-area: number; } } .mostUsedHashtag { grid-area: hashtag; padding-block: 24px; } .archetype { display: flex; flex-direction: column; align-items: center; gap: 12px; p { max-width: 460px; } } .archetypeArtboard { position: relative; display: flex; flex-direction: column; align-items: center; align-self: center; width: 180px; padding-top: 40px; } .archetypeAvatar { position: absolute; top: 7px; left: 4px; border-radius: 100%; overflow: hidden; } .archetypeIllustrationWrapper { position: relative; width: 92px; aspect-ratio: 1; overflow: hidden; border-radius: 100%; &::after { content: ''; display: block; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset -10px -4px 15px #00000080; } } .archetypeIllustration { width: 100%; } .blurredImage { filter: blur(10px); } .archetypePlanetRing { position: absolute; top: 0; left: 0; mix-blend-mode: screen; }